Remove old_crtdbg_flag_ member if not required
This commit is contained in:
parent
8b6d3f9c4a
commit
c3ac2655f7
|
@ -380,6 +380,7 @@ void Mutex::AssertHeld() {
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
// Use the RAII idiom to flag mem allocs that are intentionally never
|
// Use the RAII idiom to flag mem allocs that are intentionally never
|
||||||
// deallocated. The motivation is to silence the false positive mem leaks
|
// deallocated. The motivation is to silence the false positive mem leaks
|
||||||
// that are reported by the debug version of MS's CRT which can only detect
|
// that are reported by the debug version of MS's CRT which can only detect
|
||||||
|
@ -392,19 +393,15 @@ class MemoryIsNotDeallocated
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MemoryIsNotDeallocated() : old_crtdbg_flag_(0) {
|
MemoryIsNotDeallocated() : old_crtdbg_flag_(0) {
|
||||||
#ifdef _MSC_VER
|
|
||||||
old_crtdbg_flag_ = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
|
old_crtdbg_flag_ = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
|
||||||
// Set heap allocation block type to _IGNORE_BLOCK so that MS debug CRT
|
// Set heap allocation block type to _IGNORE_BLOCK so that MS debug CRT
|
||||||
// doesn't report mem leak if there's no matching deallocation.
|
// doesn't report mem leak if there's no matching deallocation.
|
||||||
_CrtSetDbgFlag(old_crtdbg_flag_ & ~_CRTDBG_ALLOC_MEM_DF);
|
_CrtSetDbgFlag(old_crtdbg_flag_ & ~_CRTDBG_ALLOC_MEM_DF);
|
||||||
#endif // _MSC_VER
|
|
||||||
}
|
}
|
||||||
|
|
||||||
~MemoryIsNotDeallocated() {
|
~MemoryIsNotDeallocated() {
|
||||||
#ifdef _MSC_VER
|
|
||||||
// Restore the original _CRTDBG_ALLOC_MEM_DF flag
|
// Restore the original _CRTDBG_ALLOC_MEM_DF flag
|
||||||
_CrtSetDbgFlag(old_crtdbg_flag_);
|
_CrtSetDbgFlag(old_crtdbg_flag_);
|
||||||
#endif // _MSC_VER
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -412,6 +409,7 @@ class MemoryIsNotDeallocated
|
||||||
|
|
||||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(MemoryIsNotDeallocated);
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(MemoryIsNotDeallocated);
|
||||||
};
|
};
|
||||||
|
#endif // _MSC_VER
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -427,7 +425,9 @@ void Mutex::ThreadSafeLazyInit() {
|
||||||
owner_thread_id_ = 0;
|
owner_thread_id_ = 0;
|
||||||
{
|
{
|
||||||
// Use RAII to flag that following mem alloc is never deallocated.
|
// Use RAII to flag that following mem alloc is never deallocated.
|
||||||
|
#ifdef _MSC_VER
|
||||||
MemoryIsNotDeallocated memory_is_not_deallocated;
|
MemoryIsNotDeallocated memory_is_not_deallocated;
|
||||||
|
#endif // _MSC_VER
|
||||||
critical_section_ = new CRITICAL_SECTION;
|
critical_section_ = new CRITICAL_SECTION;
|
||||||
}
|
}
|
||||||
::InitializeCriticalSection(critical_section_);
|
::InitializeCriticalSection(critical_section_);
|
||||||
|
@ -670,7 +670,9 @@ class ThreadLocalRegistryImpl {
|
||||||
// Returns map of thread local instances.
|
// Returns map of thread local instances.
|
||||||
static ThreadIdToThreadLocals* GetThreadLocalsMapLocked() {
|
static ThreadIdToThreadLocals* GetThreadLocalsMapLocked() {
|
||||||
mutex_.AssertHeld();
|
mutex_.AssertHeld();
|
||||||
|
#ifdef _MSC_VER
|
||||||
MemoryIsNotDeallocated memory_is_not_deallocated;
|
MemoryIsNotDeallocated memory_is_not_deallocated;
|
||||||
|
#endif // _MSC_VER
|
||||||
static ThreadIdToThreadLocals* map = new ThreadIdToThreadLocals();
|
static ThreadIdToThreadLocals* map = new ThreadIdToThreadLocals();
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user