forked from OSchip/llvm-project
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 llvm-svn: 320071
This commit is contained in:
parent
f9f2abe7bd
commit
9df6e0a5ea
|
@ -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)
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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 PLUGIN
|
|||
lldbTarget
|
||||
lldbUtility
|
||||
lldbPluginAppleObjCRuntime
|
||||
|
||||
EXTRA_CXXFLAGS ${EXTRA_CXXFLAGS}
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue