Skip to content
Snippets Groups Projects
Commit 65791f42 authored by Jakub Jelinek's avatar Jakub Jelinek Committed by Jakub Jelinek
Browse files

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
parent 5ac4b056
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment