diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2012-04-25 08:49:23 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2012-04-25 08:49:23 +0000 |
commit | 32397f22f0adc823b4df39b3381424ba7855828f (patch) | |
tree | 674dbe8764a9c55be91cd5e7b89d06f328af74d0 /gcc | |
parent | f1fb11f1e8322a94b90ea8c1a1cbae79c5f1bab5 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/c-typeck.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20011021-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/m-un-2.c | 2 |
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. */ |