From 463084746c84205b40c855f1612fcee978d25a4f Mon Sep 17 00:00:00 2001 From: Luis Felipe Strano Moraes Date: Mon, 27 Jul 2015 22:26:34 +0000 Subject: [PATCH] c-decl.c (get_parm_info): Remove static var. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit gcc/c/ChangeLog 2015-07-28 Luis Felipe Strano Moraes Manuel López-Ibáñez * c-decl.c (get_parm_info): Remove static var. Update warning message. gcc/testsuite/ChangeLog 2015-07-28 Luis Felipe Strano Moraes Manuel López-Ibáñez * gcc.dg/parm-incomplete-1.c: Update. * gcc.dg/pr18809-1.c: Update. * gcc.dg/pr27953.c: Update. * gcc.dg/vla-11.c: Update. Co-Authored-By: Manuel López-Ibáñez From-SVN: r226274 --- gcc/c/ChangeLog | 6 ++++++ gcc/c/c-decl.c | 20 ++++++++------------ gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/gcc.dg/parm-incomplete-1.c | 1 - gcc/testsuite/gcc.dg/pr18809-1.c | 1 - gcc/testsuite/gcc.dg/pr27953.c | 1 - gcc/testsuite/gcc.dg/vla-11.c | 1 - 7 files changed, 22 insertions(+), 16 deletions(-) diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 08d62460768..708d3bf69be 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2015-07-28 Luis Felipe Strano Moraes + Manuel López-Ibáñez + + * c-decl.c (get_parm_info): Remove static var. Update warning + message. + 2015-07-27 Marek Polacek PR c++/66555 diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c index 8b02877c722..2669764cc0a 100644 --- a/gcc/c/c-decl.c +++ b/gcc/c/c-decl.c @@ -6897,7 +6897,6 @@ get_parm_info (bool ellipsis, tree expr) tree types = 0; tree others = 0; - static bool explained_incomplete_types = false; bool gave_void_only_once_err = false; arg_info->had_vla_unspec = current_scope->had_vla_unspec; @@ -7000,19 +6999,16 @@ get_parm_info (bool ellipsis, tree expr) { if (b->id) /* The %s will be one of 'struct', 'union', or 'enum'. */ - warning (0, "%<%s %E%> declared inside parameter list", - keyword, b->id); + warning_at (input_location, 0, + "%<%s %E%> declared inside parameter list" + " will not be visible outside of this definition or" + " declaration", keyword, b->id); else /* The %s will be one of 'struct', 'union', or 'enum'. */ - warning (0, "anonymous %s declared inside parameter list", - keyword); - - if (!explained_incomplete_types) - { - warning (0, "its scope is only this definition or declaration," - " which is probably not what you want"); - explained_incomplete_types = true; - } + warning_at (input_location, 0, + "anonymous %s declared inside parameter list" + " will not be visible outside of this definition or" + " declaration", keyword); } tag.id = b->id; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d8095407230..fcf7a549f22 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-07-28 Luis Felipe Strano Moraes + Manuel López-Ibáñez + + * gcc.dg/parm-incomplete-1.c: Update. + * gcc.dg/pr18809-1.c: Update. + * gcc.dg/pr27953.c: Update. + * gcc.dg/vla-11.c: Update. + 2015-07-27 Marek Polacek * c-c++-common/Wtautological-compare-2.c: Remove unused line. diff --git a/gcc/testsuite/gcc.dg/parm-incomplete-1.c b/gcc/testsuite/gcc.dg/parm-incomplete-1.c index 83dca8253fc..02d97b933f4 100644 --- a/gcc/testsuite/gcc.dg/parm-incomplete-1.c +++ b/gcc/testsuite/gcc.dg/parm-incomplete-1.c @@ -17,7 +17,6 @@ struct s { int b; }; void h (struct s x) { } void j(struct t2); /* { dg-warning "'struct t2' declared inside parameter list" } */ -/* { dg-warning "its scope is only" "explanation" { target *-*-* } 19 } */ union u; diff --git a/gcc/testsuite/gcc.dg/pr18809-1.c b/gcc/testsuite/gcc.dg/pr18809-1.c index 3b6e8cc1852..a1f552b9f38 100644 --- a/gcc/testsuite/gcc.dg/pr18809-1.c +++ b/gcc/testsuite/gcc.dg/pr18809-1.c @@ -5,6 +5,5 @@ void foo(enum E e) {} /* { dg-error "forward ref" "forward" } */ /* { dg-warning "declared" "declared" { target *-*-* } 6 } */ - /* { dg-warning "scope" "scope" { target *-*-* } 6 } */ /* { dg-error "incomplete" "incomplete" { target *-*-* } 6 } */ void bar() { foo(0); } diff --git a/gcc/testsuite/gcc.dg/pr27953.c b/gcc/testsuite/gcc.dg/pr27953.c index 8da92c1d3e2..d4d559e54f7 100644 --- a/gcc/testsuite/gcc.dg/pr27953.c +++ b/gcc/testsuite/gcc.dg/pr27953.c @@ -1,7 +1,6 @@ /* PR c/27953 */ void foo(struct A a) {} /* { dg-warning "declared inside parameter list" "inside" } */ -/* { dg-warning "its scope is only" "scope" { target *-*-* } 3 } */ /* { dg-error "incomplete type" "incomplete" { target *-*-* } 3 } */ void foo() {} /* { dg-error "redefinition" "redef" } */ diff --git a/gcc/testsuite/gcc.dg/vla-11.c b/gcc/testsuite/gcc.dg/vla-11.c index 9c23e860a53..7db34421ea0 100644 --- a/gcc/testsuite/gcc.dg/vla-11.c +++ b/gcc/testsuite/gcc.dg/vla-11.c @@ -10,4 +10,3 @@ void foo11a(int x[sizeof(int *(*)[*])]); /* { dg-warning "not in a declaration" void foo11b(__SIZE_TYPE__ x, int y[(__UINTPTR_TYPE__)(int (*)[*])x]); /* { dg-warning "not in a declaration" } */ void foo11c(struct s { int (*x)[*]; } *y); /* { dg-error "a member of a structure or union cannot have a variably modified type" "variably modified" } */ /* { dg-warning "'struct s' declared inside parameter list" "struct decl" { target *-*-* } 11 } */ -/* { dg-warning "its scope is only this definition or declaration" "struct scope" { target *-*-* } 11 } */ -- 2.30.2