aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2012-04-25 08:49:23 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2012-04-25 08:49:23 +0000
commit32397f22f0adc823b4df39b3381424ba7855828f (patch)
tree674dbe8764a9c55be91cd5e7b89d06f328af74d0
parentf1fb11f1e8322a94b90ea8c1a1cbae79c5f1bab5 (diff)
downloadgcc-32397f22f0adc823b4df39b3381424ba7855828f.zip
gcc-32397f22f0adc823b4df39b3381424ba7855828f.tar.gz
gcc-32397f22f0adc823b4df39b3381424ba7855828f.tar.bz2
c-typeck.c (pop_init_level): Improve diagnostics.
2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org> * c-typeck.c (pop_init_level): Improve diagnostics. testsuite/ * gcc.dg/m-un-2.c: Update. * gcc.dg/20011021-1.c: Update. From-SVN: r186807
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-typeck.c10
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/20011021-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/m-un-2.c2
5 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7d8eac..a592863 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index fcf751f..4e5ffbf 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -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);
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 52ab438..cce98fa 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gcc.dg/20011021-1.c b/gcc/testsuite/gcc.dg/20011021-1.c
index dc998c8..90165c0 100644
--- a/gcc/testsuite/gcc.dg/20011021-1.c
+++ b/gcc/testsuite/gcc.dg/20011021-1.c
@@ -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 } */
diff --git a/gcc/testsuite/gcc.dg/m-un-2.c b/gcc/testsuite/gcc.dg/m-un-2.c
index 0d280bb..0b96628 100644
--- a/gcc/testsuite/gcc.dg/m-un-2.c
+++ b/gcc/testsuite/gcc.dg/m-un-2.c
@@ -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. */