aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2016-08-18 10:28:03 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2016-08-18 10:28:03 +0000
commit9c62c8735891bd29be0bc379b51b295f2838019a (patch)
treedb24bfe1b22f4718c813c9284791aba188561a2a /gcc
parentf9d97e407ff87e930c40d27f37e666fa4db79643 (diff)
downloadgcc-9c62c8735891bd29be0bc379b51b295f2838019a.zip
gcc-9c62c8735891bd29be0bc379b51b295f2838019a.tar.gz
gcc-9c62c8735891bd29be0bc379b51b295f2838019a.tar.bz2
re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652 gcc/cp/ * call.c (add_builtin_candidate): Add gcc_fallthrough. * cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise. * parser.c (cp_parser_skip_to_end_of_statement): Likewise. (cp_parser_cache_defarg): Likewise. libcpp/ * pch.c (write_macdef): Add CPP_FALLTHRU. From-SVN: r239566
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog8
-rw-r--r--gcc/cp/call.c2
-rw-r--r--gcc/cp/cxx-pretty-print.c2
-rw-r--r--gcc/cp/parser.c4
4 files changed, 16 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 52965b8..705a034 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,11 @@
+2016-08-18 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * call.c (add_builtin_candidate): Add gcc_fallthrough.
+ * cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.
+ * parser.c (cp_parser_skip_to_end_of_statement): Likewise.
+ (cp_parser_cache_defarg): Likewise.
+
2016-08-12 Marek Polacek <polacek@redhat.com>
PR c/7652
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 0203cd1..05f0431 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -2544,6 +2544,8 @@ add_builtin_candidate (struct z_candidate **candidates, enum tree_code code,
type2 = ptrdiff_type_node;
break;
}
+ /* XXX Really fallthru? */
+ /* FALLTHRU */
case MULT_EXPR:
case TRUNC_DIV_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c
index 370476c..f4d2a2e 100644
--- a/gcc/cp/cxx-pretty-print.c
+++ b/gcc/cp/cxx-pretty-print.c
@@ -142,6 +142,8 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t)
case OVERLOAD:
t = OVL_CURRENT (t);
+ /* XXX Really fallthru? */
+ /* FALLTHRU */
case VAR_DECL:
case PARM_DECL:
case CONST_DECL:
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 48510d0..690e928 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -3490,6 +3490,8 @@ cp_parser_skip_to_end_of_statement (cp_parser* parser)
cp_lexer_consume_token (parser->lexer);
return;
}
+ /* XXX Really fallthru? */
+ /* FALLTHRU */
case CPP_OPEN_BRACE:
++nesting_depth;
@@ -27669,6 +27671,8 @@ cp_parser_cache_defarg (cp_parser *parser, bool nsdmi)
parser->in_template_argument_list_p = saved_italp;
break;
}
+ /* XXX Really fallthru? */
+ /* FALLTHRU */
case CPP_CLOSE_PAREN:
case CPP_ELLIPSIS:
/* If we run into a non-nested `;', `}', or `]',