Исходный код
Используется версия 1.7.0, т.к. в более поздних обнаружились проблемы.
| Версия | Проблема | 
| 1.8.0 | Утечка памяти | 
| r1928 | Утечка памяти | 
| 1.10.0 | Утечка памяти (исправлено в копии репозитория) | 
- Заметки
- Утечка памяти появляется только в тестовом проекте Alicorn (в отдельном проекте воспроизвести не удалось) при вызове функции testing::InitGoogleTest(&argc, argv); 
Утечка памяти
В версии 1.8.0+ появились утечки памяти, из-за чего пришлось создать зеркало репозитория, в которое внесены следующие правки:
- В файле gtest-port.h закомментирован деструктор класса ThreadLocal.
- В файле gtest-port.cc в функции GetThreadLocalsMapLocked() заменено создание объекта на static auto map = ::std::make_shared<ThreadIdToThreadLocals>(); return map.get(); 
- В файле gtest-port.cc в функции StartWatcherThreadFor() заменено: static ::std::map<DWORD, ::std::shared_ptr<ThreadIdAndHandle>> ThreadHandles; ThreadHandles[thread_id] =   ::std::make_shared<ThreadIdAndHandle>(thread_id, thread);      HANDLE watcher_thread = ::CreateThread(   nullptr,     0,           &ThreadLocalRegistryImpl::WatcherThreadFunc,      ThreadHandles[thread_id].get(),   CREATE_SUSPENDED, &watcher_thread_id);