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} ) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits