aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>1998-06-19 22:27:35 +0000
committerJeff Law <law@gcc.gnu.org>1998-06-19 16:27:35 -0600
commit9dfcc8db5bd8abeee65a1a5a81e93fed3b49c08e (patch)
tree7ca26a8314e88a2a3301583201094e656a35dfdc
parentb152601696e40c7fa65e1d07aaf16690c1ee6729 (diff)
downloadgcc-9dfcc8db5bd8abeee65a1a5a81e93fed3b49c08e.zip
gcc-9dfcc8db5bd8abeee65a1a5a81e93fed3b49c08e.tar.gz
gcc-9dfcc8db5bd8abeee65a1a5a81e93fed3b49c08e.tar.bz2
c-typeck.c (pop_init_level): Warn about implicit zero initialization of struct members.
* c-typeck.c (pop_init_level): Warn about implicit zero initialization of struct members. From-SVN: r20614
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-typeck.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b93e2d1..376f35a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
+
+ * c-typeck.c (pop_init_level): Warn about implicit zero initialization
+ of struct members.
+
Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
* varasm.c (assemble_start_function): Add weak_global_object_name.
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index ea2fea8..4ccc1a3 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -5619,6 +5619,17 @@ pop_init_level (implicit)
if (constructor_type != 0)
size = int_size_in_bytes (constructor_type);
+ /* Warn when some struct elements are implicitly initialized to zero. */
+ if (extra_warnings
+ && constructor_type
+ && TREE_CODE (constructor_type) == RECORD_TYPE
+ && constructor_unfilled_fields)
+ {
+ push_member_name (constructor_unfilled_fields);
+ warning_init ("missing initializer%s", " for `%s'", NULL);
+ RESTORE_SPELLING_DEPTH (constructor_depth);
+ }
+
/* Now output all pending elements. */
output_pending_init_elements (1);