[Lldb-commits] [lldb] r320071 - Disable warnings related to anonymous types in the ObjC plugin
Vedant Kumar via lldb-commits
lldb-commits at lists.llvm.org
Thu Dec 7 10:57:10 PST 2017
Author: vedantk
Date: Thu Dec 7 10:57:09 2017
New Revision: 320071
URL: http://llvm.org/viewvc/llvm-project?rev=320071&view=rev
Log:
Disable warnings related to anonymous types in the ObjC plugin
This part of lldb make use of anonymous structs and unions. The usage is
idiomatic and doesn't deserve a warning. Logic in the NSDictionary and NSSet
plugins use anonymous structs in a manner consistent with the relevant Apple
frameworks.
Differential Revision: https://reviews.llvm.org/D40757
Modified:
lldb/trunk/cmake/modules/AddLLDB.cmake
lldb/trunk/cmake/modules/LLDBConfig.cmake
lldb/trunk/source/Plugins/Language/ObjC/CMakeLists.txt
Modified: lldb/trunk/cmake/modules/AddLLDB.cmake
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/AddLLDB.cmake?rev=320071&r1=320070&r2=320071&view=diff
==============================================================================
--- lldb/trunk/cmake/modules/AddLLDB.cmake (original)
+++ lldb/trunk/cmake/modules/AddLLDB.cmake Thu Dec 7 10:57:09 2017
@@ -4,7 +4,7 @@ function(add_lldb_library name)
cmake_parse_arguments(PARAM
"MODULE;SHARED;STATIC;OBJECT;PLUGIN"
""
- "DEPENDS;LINK_LIBS;LINK_COMPONENTS"
+ "EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS"
${ARGN})
llvm_process_sources(srcs ${PARAM_UNPARSED_ARGUMENTS})
list(APPEND LLVM_LINK_COMPONENTS ${PARAM_LINK_COMPONENTS})
@@ -35,6 +35,8 @@ function(add_lldb_library name)
endif()
#PIC not needed on Win
+ # FIXME: Setting CMAKE_CXX_FLAGS here is a no-op, use target_compile_options
+ # or omit this logic instead.
if (NOT WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
endif()
@@ -78,6 +80,9 @@ function(add_lldb_library name)
# headers without negatively impacting much of anything.
add_dependencies(${name} clang-tablegen-targets)
+ # Add in any extra C++ compilation flags for this library.
+ target_compile_options(${name} PRIVATE ${PARAM_EXTRA_CXXFLAGS})
+
set_target_properties(${name} PROPERTIES FOLDER "lldb libraries")
endfunction(add_lldb_library)
Modified: lldb/trunk/cmake/modules/LLDBConfig.cmake
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/LLDBConfig.cmake?rev=320071&r1=320070&r2=320071&view=diff
==============================================================================
--- lldb/trunk/cmake/modules/LLDBConfig.cmake (original)
+++ lldb/trunk/cmake/modules/LLDBConfig.cmake Thu Dec 7 10:57:09 2017
@@ -231,6 +231,12 @@ if (CXX_SUPPORTS_NO_VLA_EXTENSION)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-vla-extension")
endif ()
+check_cxx_compiler_flag("-Wno-gnu-anonymous-struct"
+ CXX_SUPPORTS_NO_GNU_ANONYMOUS_STRUCT)
+
+check_cxx_compiler_flag("-Wno-nested-anon-types"
+ CXX_SUPPORTS_NO_NESTED_ANON_TYPES)
+
# Disable MSVC warnings
if( MSVC )
add_definitions(
Modified: lldb/trunk/source/Plugins/Language/ObjC/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Language/ObjC/CMakeLists.txt?rev=320071&r1=320070&r2=320071&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Language/ObjC/CMakeLists.txt (original)
+++ lldb/trunk/source/Plugins/Language/ObjC/CMakeLists.txt Thu Dec 7 10:57:09 2017
@@ -1,3 +1,13 @@
+set(EXTRA_CXXFLAGS "")
+
+if (CXX_SUPPORTS_NO_GNU_ANONYMOUS_STRUCT)
+ set(EXTRA_CXXFLAGS ${EXTRA_CXXFLAGS} -Wno-gnu-anonymous-struct)
+endif ()
+
+if (CXX_SUPPORTS_NO_NESTED_ANON_TYPES)
+ set(EXTRA_CXXFLAGS ${EXTRA_CXXFLAGS} -Wno-nested-anon-types)
+endif ()
+
add_lldb_library(lldbPluginObjCLanguage PLUGIN
ObjCLanguage.cpp
CF.cpp
@@ -21,4 +31,6 @@ add_lldb_library(lldbPluginObjCLanguage
lldbTarget
lldbUtility
lldbPluginAppleObjCRuntime
+
+ EXTRA_CXXFLAGS ${EXTRA_CXXFLAGS}
)
More information about the lldb-commits
mailing list