From: Edwin Vane Date: Thu, 31 Jan 2013 18:05:54 +0000 (+0000) Subject: Turn off missing field initializer warnings for gcc X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=adc4af6a5b70c31110559bdeb2f3f52646600b90;p=oota-llvm.git Turn off missing field initializer warnings for gcc gcc produces false positives for empty braces so turning the warning off. Instead, turning the warning on for clang so proper warnings aren't missed. Reviewers: dblaikie, chandlerc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174073 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 4e616cbad6d..bb1085c0143 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -178,6 +178,19 @@ if( MSVC ) elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE ) if (LLVM_ENABLE_WARNINGS) add_llvm_definitions( -Wall -W -Wno-unused-parameter -Wwrite-strings ) + + # Turn off missing field initializer warnings for gcc to avoid noise from + # false positives with empty {}. Turn them on otherwise (they're off by + # default for clang). + check_cxx_compiler_flag("-Wmissing-field-initializers" CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG) + if (CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG) + if (CMAKE_COMPILER_IS_GNUCXX) + add_llvm_definitions( -Wno-missing-field-initializers ) + else() + add_llvm_definitions( -Wmissing-field-initializers ) + endif() + endif() + if (LLVM_ENABLE_PEDANTIC) add_llvm_definitions( -pedantic -Wno-long-long ) endif (LLVM_ENABLE_PEDANTIC)