cmake: disable GCC warnings about universal zero initializer {0}
This commit is contained in:
parent
6ca001201b
commit
99e1d9aefa
@ -211,8 +211,21 @@ if(CMAKE_C_COMPILER_IS_GCC_COMPATIBLE)
|
|||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wlogical-op-parentheses")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wlogical-op-parentheses")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# TODO: disable these warnings with GCC < 4.9
|
# Disable warnings -Wno-missing-braces -Wno-missing-field-initializers
|
||||||
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-braces -Wno-missing-field-initializers")
|
# in case GCC wrongly warns about universal zero initializer {0}
|
||||||
|
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
|
||||||
|
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} -Werror=missing-braces")
|
||||||
|
check_c_source_compiles(
|
||||||
|
"struct data { char array[128]; };
|
||||||
|
int main() {
|
||||||
|
struct data d = {0};
|
||||||
|
return d.array[0];
|
||||||
|
}"
|
||||||
|
GMIO_GCC_DOESNT_WARN_UNIVERSAL_0_INITIALIZER)
|
||||||
|
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS}") # Restore CMAKE_REQUIRED_FLAGS
|
||||||
|
if (NOT GMIO_GCC_DOESNT_WARN_UNIVERSAL_0_INITIALIZER)
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-braces -Wno-missing-field-initializers")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Force PIC for GCC
|
# Force PIC for GCC
|
||||||
# See https://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3
|
# See https://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3
|
||||||
|
@ -66,7 +66,7 @@ const char* test_platform__global_h()
|
|||||||
|
|
||||||
const char* test_platform__compiler()
|
const char* test_platform__compiler()
|
||||||
{
|
{
|
||||||
/* Check that initialization with {0} works as expected
|
/* Check that universal zero initializer {0} works as expected
|
||||||
*
|
*
|
||||||
* See http://www.ex-parrot.com/~chris/random/initialise.html
|
* See http://www.ex-parrot.com/~chris/random/initialise.html
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user