Commit 5c240f4d by David Malcolm Committed by David Malcolm

PR c/69993: improvements to wording of -Wmisleading-indentation

gcc/c-family/ChangeLog:
	PR c/69993
	* c-indentation.c (warn_for_misleading_indentation): Rewrite the
	diagnostic text, reversing the order of the warning and note so
	that they appear in source order.

gcc/testsuite/ChangeLog:
	PR c/69993
	* c-c++-common/Wmisleading-indentation-3.c: New test, based on
	Wmisleading-indentation.c.
	* c-c++-common/Wmisleading-indentation.c: Update thoughout to
	reflect change to diagnostic text and order of messages.
	* gcc.dg/plugin/location-overflow-test-2.c: Likewise.

From-SVN: r234403
parent 80f6631b
2016-03-22 David Malcolm <dmalcolm@redhat.com>
PR c/69993
* c-indentation.c (warn_for_misleading_indentation): Rewrite the
diagnostic text, reversing the order of the warning and note so
that they appear in source order.
2016-03-17 Marek Polacek <polacek@redhat.com> 2016-03-17 Marek Polacek <polacek@redhat.com>
PR c/69407 PR c/69407
......
...@@ -602,10 +602,12 @@ warn_for_misleading_indentation (const token_indent_info &guard_tinfo, ...@@ -602,10 +602,12 @@ warn_for_misleading_indentation (const token_indent_info &guard_tinfo,
body_tinfo, body_tinfo,
next_tinfo)) next_tinfo))
{ {
if (warning_at (next_tinfo.location, OPT_Wmisleading_indentation, if (warning_at (guard_tinfo.location, OPT_Wmisleading_indentation,
"statement is indented as if it were guarded by...")) "this %qs clause does not guard...",
inform (guard_tinfo.location, guard_tinfo_to_string (guard_tinfo)))
"...this %qs clause, but it is not", inform (next_tinfo.location,
("...this statement, but the latter is misleadingly indented"
" as if it is guarded by the %qs"),
guard_tinfo_to_string (guard_tinfo)); guard_tinfo_to_string (guard_tinfo));
} }
} }
2016-03-22 David Malcolm <dmalcolm@redhat.com>
PR c/69993
* c-c++-common/Wmisleading-indentation-3.c: New test, based on
Wmisleading-indentation.c.
* c-c++-common/Wmisleading-indentation.c: Update thoughout to
reflect change to diagnostic text and order of messages.
* gcc.dg/plugin/location-overflow-test-2.c: Likewise.
2016-03-22 David Edelsohn <dje.gcc@gmail.com> 2016-03-22 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/ext/java-3.C: Don't compile on AIX. * g++.dg/ext/java-3.C: Don't compile on AIX.
......
/* Verify -Wmisleading-indentation with source-printing.
This is a subset of Wmisleading-indentation.c. */
/* { dg-options "-Wmisleading-indentation -fdiagnostics-show-caret" } */
/* { dg-do compile } */
extern int foo (int);
extern int bar (int, int);
extern int flagA;
extern int flagB;
extern int flagC;
extern int flagD;
void
fn_5 (double *a, double *b, double *sum, double *prod)
{
int i = 0;
for (i = 0; i < 10; i++) /* { dg-warning "3: this 'for' clause does not guard..." } */
sum[i] = a[i] * b[i];
prod[i] = a[i] * b[i]; /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
/* { dg-begin-multiline-output "" }
for (i = 0; i < 10; i++)
^~~
{ dg-end-multiline-output "" } */
/* { dg-begin-multiline-output "" }
prod[i] = a[i] * b[i];
^~~~
{ dg-end-multiline-output "" } */
}
/* Based on CVE-2014-1266 aka "goto fail" */
int fn_6 (int a, int b, int c)
{
int err;
/* ... */
if ((err = foo (a)) != 0)
goto fail;
if ((err = foo (b)) != 0) /* { dg-message "2: this 'if' clause does not guard..." } */
goto fail;
goto fail; /* { dg-message "3: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
if ((err = foo (c)) != 0)
goto fail;
/* ... */
/* { dg-begin-multiline-output "" }
if ((err = foo (b)) != 0)
^~
{ dg-end-multiline-output "" } */
/* { dg-begin-multiline-output "" }
goto fail;
^~~~
{ dg-end-multiline-output "" } */
fail:
return err;
}
#define FOR_EACH(VAR, START, STOP) \
for ((VAR) = (START); (VAR) < (STOP); (VAR++)) /* { dg-warning "3: this 'for' clause does not guard..." } */
void fn_14 (void)
{
int i;
FOR_EACH (i, 0, 10) /* { dg-message "in expansion of macro .FOR_EACH." } */
foo (i);
bar (i, i); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
/* { dg-begin-multiline-output "" }
for ((VAR) = (START); (VAR) < (STOP); (VAR++))
^
{ dg-end-multiline-output "" } */
/* { dg-begin-multiline-output "" }
FOR_EACH (i, 0, 10)
^~~~~~~~
{ dg-end-multiline-output "" } */
/* { dg-begin-multiline-output "" }
bar (i, i);
^~~
{ dg-end-multiline-output "" } */
}
#undef FOR_EACH
...@@ -12,17 +12,17 @@ int ...@@ -12,17 +12,17 @@ int
fn_1 (int flag) fn_1 (int flag)
{ {
int x = 4, y = 5; int x = 4, y = 5;
if (flag) /* { dg-message "3: ...this 'if' clause, but it is not" } */ if (flag) /* { dg-warning "3: this 'if' clause does not guard..." } */
x = 3; x = 3;
y = 2; /* { dg-warning "statement is indented as if it were guarded by..." } */ y = 2; /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
return x * y; return x * y;
} }
int int
fn_2 (int flag, int x, int y) fn_2 (int flag, int x, int y)
{ {
if (flag) /* { dg-message "3: ...this 'if' clause, but it is not" } */ if (flag) /* { dg-warning "3: this 'if' clause does not guard..." } */
x++; y++; /* { dg-warning "statement is indented as if it were guarded by..." } */ x++; y++; /* { dg-message "10: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
return x * y; return x * y;
} }
...@@ -33,9 +33,9 @@ fn_3 (int flag) ...@@ -33,9 +33,9 @@ fn_3 (int flag)
int x = 4, y = 5; int x = 4, y = 5;
if (flag) if (flag)
x = 3; x = 3;
else /* { dg-message "3: ...this 'else' clause, but it is not" } */ else /* { dg-warning "3: this 'else' clause does not guard..." } */
x = 2; x = 2;
y = 2; /* { dg-warning "statement is indented as if it were guarded by..." } */ y = 2; /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'" } */
return x * y; return x * y;
} }
...@@ -43,18 +43,18 @@ void ...@@ -43,18 +43,18 @@ void
fn_4 (double *a, double *b, double *c) fn_4 (double *a, double *b, double *c)
{ {
int i = 0; int i = 0;
while (i < 10) /* { dg-message "3: ...this 'while' clause, but it is not" } */ while (i < 10) /* { dg-warning "3: this 'while' clause does not guard..." } */
a[i] = b[i] * c[i]; a[i] = b[i] * c[i];
i++; /* { dg-warning "statement is indented as if it were guarded by..." } */ i++; /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'" } */
} }
void void
fn_5 (double *a, double *b, double *sum, double *prod) fn_5 (double *a, double *b, double *sum, double *prod)
{ {
int i = 0; int i = 0;
for (i = 0; i < 10; i++) /* { dg-output "3: ...this 'for' clause, but it is not" } */ for (i = 0; i < 10; i++) /* { dg-warning "3: this 'for' clause does not guard..." } */
sum[i] = a[i] * b[i]; sum[i] = a[i] * b[i];
prod[i] = a[i] * b[i]; /* { dg-warning "statement is indented as if it were guarded by..." } */ prod[i] = a[i] * b[i]; /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
} }
/* Based on CVE-2014-1266 aka "goto fail" */ /* Based on CVE-2014-1266 aka "goto fail" */
...@@ -65,9 +65,9 @@ int fn_6 (int a, int b, int c) ...@@ -65,9 +65,9 @@ int fn_6 (int a, int b, int c)
/* ... */ /* ... */
if ((err = foo (a)) != 0) if ((err = foo (a)) != 0)
goto fail; goto fail;
if ((err = foo (b)) != 0) /* { dg-message "2: ...this 'if' clause, but it is not" } */ if ((err = foo (b)) != 0) /* { dg-message "2: this 'if' clause does not guard..." } */
goto fail; goto fail;
goto fail; /* { dg-warning "statement is indented as if it were guarded by..." } */ goto fail; /* { dg-message "3: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
if ((err = foo (c)) != 0) if ((err = foo (c)) != 0)
goto fail; goto fail;
/* ... */ /* ... */
...@@ -80,8 +80,8 @@ int fn_7 (int p, int q, int r, int s, int t) ...@@ -80,8 +80,8 @@ int fn_7 (int p, int q, int r, int s, int t)
{ {
if (bar (p, q)) if (bar (p, q))
{ {
if (p) /* { dg-message "7: ...this 'if' clause, but it is not" } */ if (p) /* { dg-message "7: this 'if' clause does not guard..." } */
q++; r++; /* { dg-warning "statement is indented as if it were guarded by..." } */ q++; r++; /* { dg-message "14: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
t++; t++;
} }
return p + q + r + s + t; return p + q + r + s + t;
...@@ -95,20 +95,20 @@ int fn_8 (int a, int b, int c) ...@@ -95,20 +95,20 @@ int fn_8 (int a, int b, int c)
void fn_9 (int flag) void fn_9 (int flag)
{ {
if (flag) /* { dg-message "3: ...this 'if' clause, but it is not" } */ if (flag) /* { dg-warning "3: this 'if' clause does not guard..." } */
foo (0); foo (0);
foo (1); /* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
} }
void fn_10 (int flag) void fn_10 (int flag)
{ {
if (flag) /* { dg-message "3: ...this 'if' clause, but it is not" } */ if (flag) /* { dg-warning "3: this 'if' clause does not guard..." } */
if (flag / 2) if (flag / 2)
{ {
foo (0); foo (0);
foo (1); foo (1);
} }
foo (2); /* { dg-warning "statement is indented as if it were guarded by..." } */ foo (2); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
foo (3); foo (3);
} }
...@@ -116,48 +116,48 @@ void fn_11 (void) ...@@ -116,48 +116,48 @@ void fn_11 (void)
{ {
if (flagA) if (flagA)
if (flagB) if (flagB)
if (flagC) /* { dg-message "7: ...this 'if' clause, but it is not" } */ if (flagC) /* { dg-message "7: this 'if' clause does not guard..." } */
foo (0); foo (0);
bar (1, 2); /* { dg-warning "statement is indented as if it were guarded by..." } */ bar (1, 2); /* { dg-message "9: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
} }
void fn_12 (void) void fn_12 (void)
{ {
if (flagA) if (flagA)
if (flagB) /* { dg-message "5: ...this 'if' clause, but it is not" } */ if (flagB) /* { dg-message "5: this 'if' clause does not guard..." } */
if (flagC) if (flagC)
foo (0); foo (0);
bar (1, 2); /* { dg-warning "statement is indented as if it were guarded by..." } */ bar (1, 2); /* { dg-message "7: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
} }
void fn_13 (void) void fn_13 (void)
{ {
if (flagA) /* { dg-message "3: ...this 'if' clause, but it is not" } */ if (flagA) /* { dg-warning "3: this 'if' clause does not guard..." } */
if (flagB) if (flagB)
if (flagC) if (flagC)
foo (0); foo (0);
bar (1, 2); /* { dg-warning "statement is indented as if it were guarded by..." } */ bar (1, 2); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
} }
#define FOR_EACH(VAR, START, STOP) \ #define FOR_EACH(VAR, START, STOP) \
for ((VAR) = (START); (VAR) < (STOP); (VAR++)) /* { dg-message "3: ...this 'for' clause, but it is not" } */ for ((VAR) = (START); (VAR) < (STOP); (VAR++)) /* { dg-warning "3: this 'for' clause does not guard..." } */
void fn_14 (void) void fn_14 (void)
{ {
int i; int i;
FOR_EACH (i, 0, 10) /* { dg-message "3: in expansion of macro" } */ FOR_EACH (i, 0, 10) /* { dg-message "in expansion of macro .FOR_EACH." } */
foo (i); foo (i);
bar (i, i); /* { dg-warning "statement is indented as if it were guarded by..." } */ bar (i, i); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
} }
#undef FOR_EACH #undef FOR_EACH
#define FOR_EACH(VAR, START, STOP) for ((VAR) = (START); (VAR) < (STOP); (VAR++)) /* { dg-message "36: ...this 'for' clause, but it is not" } */ #define FOR_EACH(VAR, START, STOP) for ((VAR) = (START); (VAR) < (STOP); (VAR++)) /* { dg-message "36: this 'for' clause does not guard..." } */
void fn_15 (void) void fn_15 (void)
{ {
int i; int i;
FOR_EACH (i, 0, 10) /* { dg-message "3: in expansion of macro" } */ FOR_EACH (i, 0, 10) /* { dg-message "in expansion of macro .FOR_EACH." } */
foo (i); foo (i);
bar (i, i); /* { dg-warning "statement is indented as if it were guarded by..." } */ bar (i, i); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
} }
#undef FOR_EACH #undef FOR_EACH
...@@ -166,9 +166,9 @@ void fn_16_spaces (void) ...@@ -166,9 +166,9 @@ void fn_16_spaces (void)
int i; int i;
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
while (flagA) while (flagA)
if (flagB) /* { dg-message "7: ...this 'if' clause, but it is not" } */ if (flagB) /* { dg-message "7: this 'if' clause does not guard..." } */
foo (0); foo (0);
foo (1); /* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1); /* { dg-message "9: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
} }
void fn_16_tabs (void) void fn_16_tabs (void)
...@@ -176,49 +176,49 @@ void fn_16_tabs (void) ...@@ -176,49 +176,49 @@ void fn_16_tabs (void)
int i; int i;
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
while (flagA) while (flagA)
if (flagB) /* { dg-message "7: ...this 'if' clause, but it is not" } */ if (flagB) /* { dg-message "7: this 'if' clause does not guard..." } */
foo (0); foo (0);
foo (1);/* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1);/* { dg-message "2: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
} }
void fn_17_spaces (void) void fn_17_spaces (void)
{ {
int i; int i;
for (i = 0; i < 10; i++) /* { dg-message "3: ...this 'for' clause, but it is not" } */ for (i = 0; i < 10; i++) /* { dg-warning "3: this 'for' clause does not guard..." } */
while (flagA) while (flagA)
if (flagB) if (flagB)
foo (0); foo (0);
foo (1);/* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1);/* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
} }
void fn_17_tabs (void) void fn_17_tabs (void)
{ {
int i; int i;
for (i = 0; i < 10; i++) /* { dg-message "3: ...this 'for' clause, but it is not" } */ for (i = 0; i < 10; i++) /* { dg-warning "3: this 'for' clause does not guard..." } */
while (flagA) while (flagA)
if (flagB) if (flagB)
foo (0); foo (0);
foo (1);/* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1);/* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'" } */
} }
void fn_18_spaces (void) void fn_18_spaces (void)
{ {
int i; int i;
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
while (flagA) /* { dg-message "5: ...this 'while' clause, but it is not" } */ while (flagA) /* { dg-message "5: this 'while' clause does not guard..." } */
if (flagB) if (flagB)
foo (0); foo (0);
foo (1);/* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1);/* { dg-message "7: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'" } */
} }
void fn_18_tabs (void) void fn_18_tabs (void)
{ {
int i; int i;
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
while (flagA) /* { dg-message "5: ...this 'while' clause, but it is not" } */ while (flagA) /* { dg-message "5: this 'while' clause does not guard..." } */
if (flagB) if (flagB)
foo (0); foo (0);
foo (1);/* { dg-warning "statement is indented as if it were guarded by..." } */ foo (1);/* { dg-message "7: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'" } */
} }
/* This shouldn't lead to a warning. */ /* This shouldn't lead to a warning. */
...@@ -701,108 +701,108 @@ fn_37 (void) ...@@ -701,108 +701,108 @@ fn_37 (void)
int i; int i;
#define EMPTY #define EMPTY
#define FOR_EACH(VAR, START, STOP) for (VAR = START; VAR < STOP; VAR++) #define FOR_EACH(VAR, START, STOP) for (VAR = START; VAR < STOP; VAR++) /* { dg-warning "this 'for' clause" } */
while (flagA); /* { dg-message "3: ...this 'while' clause" } */ while (flagA); /* { dg-warning "3: this 'while' clause" } */
foo (0); /* { dg-warning "statement is indented as if" } */ foo (0); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'" } */
if (flagA) if (flagA)
; ;
else if (flagB); /* { dg-message "8: ...this 'if' clause" } */ else if (flagB); /* { dg-warning "8: this 'if' clause" } */
foo (0); /* { dg-warning "statement is indented as if" } */ foo (0); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
while (flagA) /* { dg-message "3: ...this 'while' clause" } */ while (flagA) /* { dg-warning "3: this 'while' clause" } */
/* blah */; /* blah */;
foo (0); /* { dg-warning "statement is indented as if" } */ foo (0); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'" } */
if (flagA) if (flagA)
; ;
else if (flagB) /* { dg-message "8: ...this 'if' clause" } */ else if (flagB) /* { dg-warning "8: this 'if' clause" } */
foo (1); foo (1);
foo (2); /* { dg-warning "statement is indented as if" } */ foo (2); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
if (flagA) if (flagA)
foo (1); foo (1);
else if (flagB) /* { dg-message "8: ...this 'if' clause" } */ else if (flagB) /* { dg-warning "8: this 'if' clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented as if" } */ foo (3); /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
if (flagB) /* { dg-message "3: ...this 'if' clause" } */ if (flagB) /* { dg-warning "3: this 'if' clause" } */
/* blah */; /* blah */;
{ /* { dg-warning "statement is indented as if" } */ { /* { dg-message "5: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
foo (0); foo (0);
} }
if (flagB) /* { dg-message "3: ...this 'if' clause" } */ if (flagB) /* { dg-warning "3: this 'if' clause" } */
/* blah */; /* blah */;
{ /* { dg-warning "statement is indented as if" } */ { /* { dg-message "4: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'" } */
foo (0); foo (0);
} }
if (flagB) if (flagB)
; ;
else; foo (0); /* { dg-warning "statement is indented as if" } */ else; foo (0); /* { dg-warning "3: this 'else' clause" } */
if (flagC); foo (2); /* { dg-warning "statement is indented as if" } */ if (flagC); foo (2); /* { dg-warning "3: this 'if' clause" } */
if (flagA) if (flagA) /* { dg-warning "3: this 'if' clause" } */
; /* blah */ { /* { dg-warning "statement is indented as if" } */ ; /* blah */ { /* { dg-message "18: ...this statement" } */
foo (1); foo (1);
} }
if (flagB) ; /* { dg-message "3: ...this 'if' clause" } */ if (flagB) ; /* { dg-warning "3: this 'if' clause" } */
return; /* { dg-warning "statement is indented as if" } */ return; /* { dg-message "5: ...this statement" } */
if (flagB) EMPTY; /* { dg-message "3: ...this 'if' clause" } */ if (flagB) EMPTY; /* { dg-warning "3: this 'if' clause" } */
foo (1); /* { dg-warning "statement is indented as if" } */ foo (1); /* { dg-message "5: ...this statement" } */
for (i = 0; i < 10; i++); /* { dg-message "3: ...this 'for' clause" } */ for (i = 0; i < 10; i++); /* { dg-warning "3: this 'for' clause" } */
foo (2); /* { dg-warning "statement is indented as if" } */ foo (2); /* { dg-message "5: ...this statement" } */
FOR_EACH (i, 0, 10); FOR_EACH (i, 0, 10); /* { dg-message "3: in expansion of macro .FOR_EACH." } */
foo (2); /* { dg-warning "statement is indented as if" } */ foo (2); /* { dg-message "5: ...this statement" } */
FOR_EACH (i, 0, 10); FOR_EACH (i, 0, 10); /* { dg-message "3: in expansion of macro .FOR_EACH." } */
{ /* { dg-warning "statement is indented as if" } */ { /* { dg-message "5: ...this statement" } */
foo (3); foo (3);
} }
FOR_EACH (i, 0, 10); FOR_EACH (i, 0, 10); /* { dg-message "3: in expansion of macro .FOR_EACH." } */
{ /* { dg-warning "statement is indented as if" } */ { /* { dg-message "3: ...this statement" } */
foo (3); foo (3);
} }
while (i++); { /* { dg-warning "statement is indented as if" } */ while (i++); { /* { dg-warning "3: this 'while' clause" } */
foo (3); foo (3);
} }
if (i++); { /* { dg-warning "statement is indented as if" } */ if (i++); { /* { dg-warning "3: this 'if' clause" } */
foo (3); foo (3);
} }
if (flagA) { if (flagA) {
foo (1); foo (1);
} else /* { dg-message "5: ...this 'else' clause" } */ } else /* { dg-warning "5: this 'else' clause" } */
if (flagB) if (flagB)
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented as if" } */ foo (3); /* { dg-message "5: ...this statement" } */
if (flagA) if (flagA)
foo (1); foo (1);
else if (flagB); /* { dg-message "8: ...this 'if' clause" } */ else if (flagB); /* { dg-warning "8: this 'if' clause" } */
foo (2); /* { dg-warning "statement is indented as if" } */ foo (2); /* { dg-message "5: ...this statement" } */
for (i = 0; /* { dg-message "3: ...this 'for' clause" } */ for (i = 0; /* { dg-warning "3: this 'for' clause" } */
i < 10; i < 10;
i++); i++);
foo (i); /* { dg-warning "statement is indented as if" } */ foo (i); /* { dg-message "5: ...this statement" } */
if (flagA) if (flagA)
{ {
foo (1); foo (1);
} }
else if (flagB); /* { dg-message "8: ...this 'if' clause" } */ else if (flagB); /* { dg-warning "8: this 'if' clause" } */
{ /* { dg-warning "statement is indented as if" } */ { /* { dg-message "3: ...this statement" } */
foo (2); foo (2);
} }
...@@ -1025,10 +1025,10 @@ fn_42_b (int locked) ...@@ -1025,10 +1025,10 @@ fn_42_b (int locked)
if (locked) if (locked)
i = foo (0); i = foo (0);
else /* { dg-message "...this .else. clause" } */ else /* { dg-warning "this .else. clause" } */
i = foo (1); i = foo (1);
engine_ref_debug(e, 0, -1) engine_ref_debug(e, 0, -1)
if (i > 0) /* { dg-warning "statement is indented" } */ if (i > 0) /* { dg-message "...this statement" } */
return 1; return 1;
return 0; return 0;
#undef engine_ref_debug #undef engine_ref_debug
...@@ -1117,7 +1117,7 @@ test43_c (void) ...@@ -1117,7 +1117,7 @@ test43_c (void)
foo (1); foo (1);
} else if (flagB) /* { dg-message "...this .if. clause" } */ } else if (flagB) /* { dg-message "...this .if. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Aligned with the "else". Likewise, we should warn. */ /* Aligned with the "else". Likewise, we should warn. */
...@@ -1129,7 +1129,7 @@ test43_d (void) ...@@ -1129,7 +1129,7 @@ test43_d (void)
foo (1); foo (1);
} else if (flagB) /* { dg-message "...this .if. clause" } */ } else if (flagB) /* { dg-message "...this .if. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Indented between the "else" and the "if". Likewise, we should warn. */ /* Indented between the "else" and the "if". Likewise, we should warn. */
...@@ -1141,7 +1141,7 @@ test43_e (void) ...@@ -1141,7 +1141,7 @@ test43_e (void)
foo (1); foo (1);
} else if (flagB) /* { dg-message "...this .if. clause" } */ } else if (flagB) /* { dg-message "...this .if. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Aligned with the "if". Likewise, we should warn. */ /* Aligned with the "if". Likewise, we should warn. */
...@@ -1151,9 +1151,9 @@ test43_f (void) ...@@ -1151,9 +1151,9 @@ test43_f (void)
{ {
if (flagA) { if (flagA) {
foo (1); foo (1);
} else if (flagB) /* { dg-message "...this .else. clause" } */ } else if (flagB) /* { dg-warning "this .else. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Indented more than the "if". Likewise, we should warn. */ /* Indented more than the "if". Likewise, we should warn. */
...@@ -1165,7 +1165,7 @@ test43_g (void) ...@@ -1165,7 +1165,7 @@ test43_g (void)
foo (1); foo (1);
} else if (flagB) /* { dg-message "...this .if. clause" } */ } else if (flagB) /* { dg-message "...this .if. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Again, but without the 2nd "if". */ /* Again, but without the 2nd "if". */
...@@ -1210,9 +1210,9 @@ test44_c (void) ...@@ -1210,9 +1210,9 @@ test44_c (void)
{ {
if (flagA) { if (flagA) {
foo (1); foo (1);
} else /* { dg-message "...this .else. clause" } */ } else /* { dg-warning "this .else. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Aligned with the "else". Likewise, we should warn. */ /* Aligned with the "else". Likewise, we should warn. */
...@@ -1222,9 +1222,9 @@ test44_d (void) ...@@ -1222,9 +1222,9 @@ test44_d (void)
{ {
if (flagA) { if (flagA) {
foo (1); foo (1);
} else /* { dg-message "...this .else. clause" } */ } else /* { dg-warning "this .else. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
/* Indented more than the "else". Likewise, we should warn. */ /* Indented more than the "else". Likewise, we should warn. */
...@@ -1234,7 +1234,7 @@ test44_e (void) ...@@ -1234,7 +1234,7 @@ test44_e (void)
{ {
if (flagA) { if (flagA) {
foo (1); foo (1);
} else /* { dg-message "...this .else. clause" } */ } else /* { dg-warning "this .else. clause" } */
foo (2); foo (2);
foo (3); /* { dg-warning "statement is indented" } */ foo (3); /* { dg-message "...this statement" } */
} }
...@@ -20,7 +20,7 @@ int ...@@ -20,7 +20,7 @@ int
fn_1 (int flag) fn_1 (int flag)
{ {
int foo = 4, bar = 5; int foo = 4, bar = 5;
if (flag) foo = 3; bar = 2; /* { dg-warning "indented" } */ if (flag) foo = 3; bar = 2; /* { dg-warning "this .if." } */
return foo * bar; return foo * bar;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment