aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/match.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-12-01 09:17:06 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-12-01 09:17:06 +0100
commit65791f426fc950b0af4e6e2ef675c213e623b16f (patch)
treeac4410022984e739592923e1b337810b9569c9aa /gcc/fortran/match.c
parent5ac4b05631a3e93ab8630f82cf7e4763a46b8e69 (diff)
downloadgcc-65791f426fc950b0af4e6e2ef675c213e623b16f.zip
gcc-65791f426fc950b0af4e6e2ef675c213e623b16f.tar.gz
gcc-65791f426fc950b0af4e6e2ef675c213e623b16f.tar.bz2
re PR c/79153 (-Wimplicit-fallthrough missed warning)
PR c/79153 * tree.h (SWITCH_BREAK_LABEL_P): Define. * gimplify.c (collect_fallthrough_labels): Handle GIMPLE_BIND starting with a GIMPLE_SWITCH and ending with GIMPLE_LABEL with SWITCH_BREAK_LABEL_P set on the label. (gimplify_switch_expr): Set SWITCH_BREAK_LABEL_P on the label added for default case if it was missing and not all cases covered. Wrap GIMPLE_SWITCH and the switch_body_seq into a GIMPLE_BIND if switch_body_seq ends with a GIMPLE_LABEL with SWITCH_BREAK_LABEL_P set on the label. * tree-chrec.c (evolution_function_is_univariate_p): Add return true; to avoid -Wimplicit-fallthrough warning. * config/i386/i386.c (ix86_expand_special_args_builtin): Add FALLTHRU comment to avoid -Wimplicit-fallthrough warning. c/ * c-parser.c: Include tree-iterator.h. (c_parser_switch_statement): Emit LABEL_EXPR for the break label into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P on it. cp/ * cp-gimplify.c (genericize_switch_stmt): Emit LABEL_EXPR for the break label into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P on it. * parser.c (cp_parser_objc_expression): Add FALLTHRU comment to avoid -Wimplicit-fallthrough warning. fortran/ * match.c (gfc_match): Add FALLTHRU comment to avoid -Wimplicit-fallthrough warning. testsuite/ * c-c++-common/Wimplicit-fallthrough-7.c: Adjust expected warning line. * c-c++-common/Wimplicit-fallthrough-36.c: New test. From-SVN: r255298
Diffstat (limited to 'gcc/fortran/match.c')
-rw-r--r--gcc/fortran/match.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index dcabe26..c437c85 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -1240,6 +1240,7 @@ loop:
default:
gfc_internal_error ("gfc_match(): Bad match code %c", c);
}
+ /* FALLTHRU */
default: