summaryrefslogtreecommitdiffstats
path: root/gcc/c-typeck.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-typeck.c')
-rw-r--r--gcc/c-typeck.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 49227ff82c5..002d4e704fe 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -6394,7 +6394,8 @@ process_init_element (value)
code appears conditioned on e.g. __STDC__ to avoid
"missing initializer" warnings and relies on default
initialization to zero in the traditional C case. */
- if (warn_traditional && !in_system_header && !integer_zerop (value))
+ if (warn_traditional && !in_system_header
+ && !(value && (integer_zerop (value) || real_zerop (value))))
warning ("traditional C rejects initialization of unions");
/* Accept a string constant to initialize a subarray. */
OpenPOWER on IntegriCloud