[PATCH] Turn off missing field initializer warnings for gcc

David Blaikie dblaikie at gmail.com
Thu Jan 31 09:46:09 PST 2013


+Chandler, CMake owner

Not sure if we need to do the flag support check (ala
-Wcovered-switch-default) when adding -Wmissing-field-initializers (in
case we're dealing with non-Clang non-GCC compilers (that are still
GCC compatible?)?)

On Thu, Jan 31, 2013 at 6:51 AM, Edwin Vane <edwin.vane at intel.com> wrote:
> Hi gribozavr, dblaikie,
>
> 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.
>
> http://llvm-reviews.chandlerc.com/D358
>
> Files:
>   cmake/modules/HandleLLVMOptions.cmake
>
> Index: cmake/modules/HandleLLVMOptions.cmake
> ===================================================================
> --- cmake/modules/HandleLLVMOptions.cmake
> +++ cmake/modules/HandleLLVMOptions.cmake
> @@ -178,6 +178,14 @@
>  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).
> +    if (CMAKE_COMPILER_IS_GNUCXX)
> +      add_llvm_definitions( -Wno-missing-field-initializers )
> +    else()
> +      add_llvm_definitions( -Wmissing-field-initializers )
> +    endif()
>      if (LLVM_ENABLE_PEDANTIC)
>        add_llvm_definitions( -pedantic -Wno-long-long )
>      endif (LLVM_ENABLE_PEDANTIC)



More information about the cfe-commits mailing list