lemo created this revision.
Herald added a subscriber: mgorny.

Neither LLDB_CONFIGURATION_DEBUG nor LLDB_CONFIGURATION_RELEASE were ever set 
in the CMake LLDB project.

Also cleaned up a questionable #ifdef in SharingPtr.h, removing all the 
references to LLDB_CONFIGURATION_BUILD_AND_INTEGRATION in the process.


https://reviews.llvm.org/D38552

Files:
  CMakeLists.txt
  include/lldb/Utility/SharingPtr.h


Index: include/lldb/Utility/SharingPtr.h
===================================================================
--- include/lldb/Utility/SharingPtr.h
+++ include/lldb/Utility/SharingPtr.h
@@ -529,16 +529,7 @@
 
   ~IntrusiveSharingPtr() {
     release_shared();
-#if defined(LLDB_CONFIGURATION_DEBUG) || defined(LLDB_CONFIGURATION_RELEASE)
-    // NULL out the pointer in objects which can help with leaks detection.
-    // We don't enable this for LLDB_CONFIGURATION_BUILD_AND_INTEGRATION or
-    // when none of the LLDB_CONFIGURATION_XXX macros are defined since
-    // those would be builds for release. But for debug and release builds
-    // that are for development, we NULL out the pointers to catch potential
-    // issues.
     ptr_ = nullptr;
-#endif // #if defined (LLDB_CONFIGURATION_DEBUG) || defined
-       // (LLDB_CONFIGURATION_RELEASE)
   }
 
   T &operator*() const { return *ptr_; }
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -11,6 +11,13 @@
 include(LLDBConfig)
 include(AddLLDB)
 
+# Define the LLDB_CONFIGURATION_xxx matching the build type
+if( uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )
+  add_definitions( -DLLDB_CONFIGURATION_DEBUG )
+else()
+  add_definitions( -DLLDB_CONFIGURATION_RELEASE )
+endif()
+
 if (CMAKE_SYSTEM_NAME MATCHES "Windows|Android")
   set(LLDB_DEFAULT_DISABLE_LIBEDIT 1)
 else()


Index: include/lldb/Utility/SharingPtr.h
===================================================================
--- include/lldb/Utility/SharingPtr.h
+++ include/lldb/Utility/SharingPtr.h
@@ -529,16 +529,7 @@
 
   ~IntrusiveSharingPtr() {
     release_shared();
-#if defined(LLDB_CONFIGURATION_DEBUG) || defined(LLDB_CONFIGURATION_RELEASE)
-    // NULL out the pointer in objects which can help with leaks detection.
-    // We don't enable this for LLDB_CONFIGURATION_BUILD_AND_INTEGRATION or
-    // when none of the LLDB_CONFIGURATION_XXX macros are defined since
-    // those would be builds for release. But for debug and release builds
-    // that are for development, we NULL out the pointers to catch potential
-    // issues.
     ptr_ = nullptr;
-#endif // #if defined (LLDB_CONFIGURATION_DEBUG) || defined
-       // (LLDB_CONFIGURATION_RELEASE)
   }
 
   T &operator*() const { return *ptr_; }
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -11,6 +11,13 @@
 include(LLDBConfig)
 include(AddLLDB)
 
+# Define the LLDB_CONFIGURATION_xxx matching the build type
+if( uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )
+  add_definitions( -DLLDB_CONFIGURATION_DEBUG )
+else()
+  add_definitions( -DLLDB_CONFIGURATION_RELEASE )
+endif()
+
 if (CMAKE_SYSTEM_NAME MATCHES "Windows|Android")
   set(LLDB_DEFAULT_DISABLE_LIBEDIT 1)
 else()
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to