2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Apr 2012 08:49:23 +0000 (08:49 +0000)
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Apr 2012 08:49:23 +0000 (08:49 +0000)
* c-typeck.c (pop_init_level): Improve diagnostics.
testsuite/
* gcc.dg/m-un-2.c: Update.
* gcc.dg/20011021-1.c: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186807 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20011021-1.c
gcc/testsuite/gcc.dg/m-un-2.c

index c7d8eac..a592863 100644 (file)
@@ -1,3 +1,7 @@
+2012-04-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * c-typeck.c (pop_init_level): Improve diagnostics.
+
 2012-04-25  Uros Bizjak  <ubizjak@gmail.com>
 
        * compare-elim.c (try_eliminate_compare): Also handle operands with
index fcf751f..4e5ffbf 100644 (file)
@@ -7060,10 +7060,12 @@ pop_init_level (int implicit, struct obstack * braced_init_obstack)
            /* Do not warn about initializing with ` = {0}'.  */
            && !constructor_zeroinit)
          {
-           push_member_name (constructor_unfilled_fields);
-           warning_init (OPT_Wmissing_field_initializers,
-                          "missing initializer");
-           RESTORE_SPELLING_DEPTH (constructor_depth);
+           if (warning_at (input_location, OPT_Wmissing_field_initializers,
+                           "missing initializer for field %qD of %qT",
+                           constructor_unfilled_fields,
+                           constructor_type))
+             inform (DECL_SOURCE_LOCATION (constructor_unfilled_fields),
+                     "%qT declared here", constructor_unfilled_fields);
          }
     }
 
index 52ab438..cce98fa 100644 (file)
@@ -1,3 +1,8 @@
+2012-04-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * gcc.dg/m-un-2.c: Update.
+       * gcc.dg/20011021-1.c: Update.
+
 2012-04-25  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/52196
index dc998c8..90165c0 100644 (file)
@@ -42,4 +42,4 @@ struct multilevel M =
   { .n = 9 },                  /* { dg-bogus "initialization of union" } */
   /* "string here" */
 };                             /* { dg-warning "missing init" } */
-/* { dg-warning "near init" "near init" { target *-*-* } 44 } */
+/* { dg-message "declared here" "near init" { target *-*-* } 27 } */
index 0d280bb..0b96628 100644 (file)
@@ -16,7 +16,7 @@ struct vtable mtable = {
   malloc,
   free
 }; /* { dg-warning "missing initializer" "warning regression" { target *-*-* } {18} } */
-   /* { dg-warning "initialization for 'mtable._realloc'" "warning regression 2" { target *-*-* } {18} } */
+   /* { dg-message "declared here" "warning regression 2" { target *-*-* } {12} } */
 
 /* With designated initializers, we assume you meant to leave out the
    initialization of any blank fields.  */