aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@gcc.gnu.org>2015-09-24 01:55:59 +0000
committerPatrick Palka <ppalka@gcc.gnu.org>2015-09-24 01:55:59 +0000
commit6b95d7cc2d5ba73f698a4f0439cdff2145583df2 (patch)
tree81efc45344b5a09e6935be720cf7c69891d47ab4 /gcc
parent3d5cda1290ec317a868fe7462e1f67f130cbac69 (diff)
downloadgcc-6b95d7cc2d5ba73f698a4f0439cdff2145583df2.zip
gcc-6b95d7cc2d5ba73f698a4f0439cdff2145583df2.tar.gz
gcc-6b95d7cc2d5ba73f698a4f0439cdff2145583df2.tar.bz2
Fix a -Wmisleading-indentation false-negative
gcc/c-family/ChangeLog: * c-indentation.c (should_warn_for_misleading_indentation): Compare next_stmt_vis_column with guard_line_first_nws instead of with guard_line_vis_column. gcc/testsuite/ChangeLog: * c-c++-common/Wmisleading-indentation.c: Augment test. From-SVN: r228071
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-family/ChangeLog6
-rw-r--r--gcc/c-family/c-indentation.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/c-c++-common/Wmisleading-indentation.c9
4 files changed, 20 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 8d4df76..e409150 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * c-indentation.c (should_warn_for_misleading_indentation):
+ Compare next_stmt_vis_column with guard_line_first_nws instead
+ of with guard_line_vis_column.
+
2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/49654
diff --git a/gcc/c-family/c-indentation.c b/gcc/c-family/c-indentation.c
index 5316316..5b119f7 100644
--- a/gcc/c-family/c-indentation.c
+++ b/gcc/c-family/c-indentation.c
@@ -464,7 +464,7 @@ should_warn_for_misleading_indentation (const token_indent_info &guard_tinfo,
{
if (next_stmt_vis_column > guard_line_first_nws
|| (next_tok_type == CPP_OPEN_BRACE
- && next_stmt_vis_column == guard_vis_column))
+ && next_stmt_vis_column == guard_line_first_nws))
return true;
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fa93d62..f6f8e0e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * c-c++-common/Wmisleading-indentation.c: Augment test.
+
2015-09-23 Ville Voutilainen <ville.voutilainen@gmail.com>
Fix small typos in the coding rule enforcement warnings.
diff --git a/gcc/testsuite/c-c++-common/Wmisleading-indentation.c b/gcc/testsuite/c-c++-common/Wmisleading-indentation.c
index f61c182..00c0a50 100644
--- a/gcc/testsuite/c-c++-common/Wmisleading-indentation.c
+++ b/gcc/testsuite/c-c++-common/Wmisleading-indentation.c
@@ -797,6 +797,15 @@ fn_37 (void)
i++);
foo (i); /* { dg-warning "statement is indented as if" } */
+ if (flagA)
+ {
+ foo (1);
+ }
+ else if (flagB); /* { dg-message "8: ...this 'if' clause" } */
+ { /* { dg-warning "statement is indented as if" } */
+ foo (2);
+ }
+
#undef EMPTY
#undef FOR_EACH
}