re PR c/31673 ("`for' loop initial declaration used outside C99 mode" is confusing)
2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c/31673 * c-decl.c (check_for_loop_decls): Improve error message. Give hint. testsuite/ * gcc.dg/c90-fordecl-1.c: Update. From-SVN: r139681
This commit is contained in:
parent
4ccd12e5aa
commit
e9527cfd96
4 changed files with 21 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/31673
|
||||
* c-decl.c (check_for_loop_decls): Improve error message. Give
|
||||
hint.
|
||||
|
||||
2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/37186
|
||||
|
|
10
gcc/c-decl.c
10
gcc/c-decl.c
|
@ -6796,13 +6796,19 @@ check_for_loop_decls (void)
|
|||
tree one_decl = NULL_TREE;
|
||||
int n_decls = 0;
|
||||
|
||||
|
||||
if (!flag_isoc99)
|
||||
{
|
||||
static bool hint = true;
|
||||
/* If we get here, declarations have been used in a for loop without
|
||||
the C99 for loop scope. This doesn't make much sense, so don't
|
||||
allow it. */
|
||||
error ("%<for%> loop initial declaration used outside C99 mode");
|
||||
error ("%<for%> loop initial declarations are only allowed in C99 mode");
|
||||
if (hint)
|
||||
{
|
||||
inform (input_location,
|
||||
"use option -std=c99 or -std=gnu99 to compile your code");
|
||||
hint = false;
|
||||
}
|
||||
return NULL_TREE;
|
||||
}
|
||||
/* C99 subclause 6.8.5 paragraph 3:
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/31673
|
||||
* gcc.dg/c90-fordecl-1.c: Update.
|
||||
|
||||
2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/37186
|
||||
|
|
|
@ -9,5 +9,6 @@ foo (void)
|
|||
int j = 0;
|
||||
for (int i = 1; i <= 10; i++) /* { dg-bogus "warning" "warning in place of error" } */
|
||||
j += i;
|
||||
/* { dg-error "parse|decl" "declaration in for loop" { target *-*-* } 10 } */
|
||||
/* { dg-error "'for' loop initial declarations are only allowed in C99 mode" "declaration in for loop" { target *-*-* } 10 } */
|
||||
/* { dg-message "note: use option -std=c99 or -std=gnu99 to compile your code" "note" { target *-*-* } 10 }} */
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue