Remove unreachable returns
authorRichard Biener <rguenther@suse.de>
Wed, 24 Nov 2021 14:57:03 +0000 (15:57 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 29 Nov 2021 10:17:22 +0000 (11:17 +0100)
commit16507dea753527d073f1cfb7200c6612a7fa44aa
treef13e89465f67d80f55fb179f6b576feda3c95ba0
parent11d0a2af33910c6d243e7265fb7ea04d2bc89b25
Remove unreachable returns

This removes unreachable return statements as diagnosed by
the -Wunreachable-code patch.  Some cases are more obviously
an improvement than others - in fact some may get you the idea
to replace them with gcc_unreachable () instead, leading to
cases of the 'Remove unreachable gcc_unreachable () at the end
of functions' patch.

2021-11-25  Richard Biener  <rguenther@suse.de>

* vec.c (qsort_chk): Do not return the void return value
from the noreturn qsort_chk_error.
* ccmp.c (expand_ccmp_expr_1): Remove unreachable return.
* df-scan.c (df_ref_equal_p): Likewise.
* dwarf2out.c (is_base_type): Likewise.
(add_const_value_attribute): Likewise.
* fixed-value.c (fixed_arithmetic): Likewise.
* gimple-fold.c (gimple_fold_builtin_fputs): Likewise.
* gimple-ssa-strength-reduction.c (stmt_cost): Likewise.
* graphite-isl-ast-to-gimple.c
(gcc_expression_from_isl_expr_op): Likewise.
(gcc_expression_from_isl_expression): Likewise.
* ipa-fnsummary.c (will_be_nonconstant_expr_predicate):
Likewise.
* lto-streamer-in.c (lto_input_mode_table): Likewise.

gcc/c-family/
* c-opts.c (c_common_post_options): Remove unreachable return.
* c-pragma.c (handle_pragma_target): Likewise.
(handle_pragma_optimize): Likewise.

gcc/c/
* c-typeck.c (c_tree_equal): Remove unreachable return.
* c-parser.c (get_matching_symbol): Likewise.

libgomp/
* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
return.
15 files changed:
gcc/c-family/c-opts.c
gcc/c-family/c-pragma.c
gcc/c/c-parser.c
gcc/c/c-typeck.c
gcc/ccmp.c
gcc/df-scan.c
gcc/dwarf2out.c
gcc/fixed-value.c
gcc/gimple-fold.c
gcc/gimple-ssa-strength-reduction.c
gcc/graphite-isl-ast-to-gimple.c
gcc/ipa-fnsummary.c
gcc/lto-streamer-in.c
gcc/vec.c
libgomp/oacc-plugin.c