aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-11-24 15:57:03 +0100
committerRichard Biener <rguenther@suse.de>2021-11-29 11:17:22 +0100
commit16507dea753527d073f1cfb7200c6612a7fa44aa (patch)
treef13e89465f67d80f55fb179f6b576feda3c95ba0 /gcc
parent11d0a2af33910c6d243e7265fb7ea04d2bc89b25 (diff)
downloadgcc-16507dea753527d073f1cfb7200c6612a7fa44aa.zip
gcc-16507dea753527d073f1cfb7200c6612a7fa44aa.tar.gz
gcc-16507dea753527d073f1cfb7200c6612a7fa44aa.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-family/c-opts.c5
-rw-r--r--gcc/c-family/c-pragma.c10
-rw-r--r--gcc/c/c-parser.c1
-rw-r--r--gcc/c/c-typeck.c2
-rw-r--r--gcc/ccmp.c2
-rw-r--r--gcc/df-scan.c1
-rw-r--r--gcc/dwarf2out.c3
-rw-r--r--gcc/fixed-value.c1
-rw-r--r--gcc/gimple-fold.c1
-rw-r--r--gcc/gimple-ssa-strength-reduction.c1
-rw-r--r--gcc/graphite-isl-ast-to-gimple.c4
-rw-r--r--gcc/ipa-fnsummary.c1
-rw-r--r--gcc/lto-streamer-in.c7
-rw-r--r--gcc/vec.c10
14 files changed, 10 insertions, 39 deletions
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index 2030eb1..93845d5 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -1109,10 +1109,7 @@ c_common_post_options (const char **pfilename)
out_stream = fopen (out_fname, "w");
if (out_stream == NULL)
- {
- fatal_error (input_location, "opening output file %s: %m", out_fname);
- return false;
- }
+ fatal_error (input_location, "opening output file %s: %m", out_fname);
init_pp_output (out_stream);
}
diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
index 3663eb1..c4ed420 100644
--- a/gcc/c-family/c-pragma.c
+++ b/gcc/c-family/c-pragma.c
@@ -916,10 +916,7 @@ handle_pragma_target(cpp_reader *ARG_UNUSED(dummy))
}
if (token != CPP_STRING)
- {
- GCC_BAD_AT (loc, "%<#pragma GCC option%> is not a string");
- return;
- }
+ GCC_BAD_AT (loc, "%<#pragma GCC option%> is not a string");
/* Strings are user options. */
else
@@ -991,10 +988,7 @@ handle_pragma_optimize (cpp_reader *ARG_UNUSED(dummy))
}
if (token != CPP_STRING && token != CPP_NUMBER)
- {
- GCC_BAD ("%<#pragma GCC optimize%> is not a string or number");
- return;
- }
+ GCC_BAD ("%<#pragma GCC optimize%> is not a string or number");
/* Strings/numbers are user options. */
else
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index f312630..af2bb5b 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -1132,7 +1132,6 @@ get_matching_symbol (enum cpp_ttype type)
{
default:
gcc_unreachable ();
- return "";
case CPP_CLOSE_PAREN:
return "(";
case CPP_CLOSE_BRACE:
diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c
index b71358e..7524304 100644
--- a/gcc/c/c-typeck.c
+++ b/gcc/c/c-typeck.c
@@ -15984,8 +15984,6 @@ c_tree_equal (tree t1, tree t2)
default:
gcc_unreachable ();
}
- /* We can get here with --disable-checking. */
- return false;
}
/* Returns true when the function declaration FNDECL is implicit,
diff --git a/gcc/ccmp.c b/gcc/ccmp.c
index d581cfa..616fe03 100644
--- a/gcc/ccmp.c
+++ b/gcc/ccmp.c
@@ -273,8 +273,6 @@ expand_ccmp_expr_1 (gimple *g, rtx_insn **prep_seq, rtx_insn **gen_seq)
return NULL_RTX;
return expand_ccmp_next (op1, code, tmp, prep_seq, gen_seq);
}
-
- return NULL_RTX;
}
/* Main entry to expand conditional compare statement G.
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 3dbda7a..1baa6e7 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -2059,7 +2059,6 @@ df_ref_equal_p (df_ref ref1, df_ref ref2)
default:
gcc_unreachable ();
}
- return false;
}
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index e1d6a79..1677923 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -13359,8 +13359,6 @@ is_base_type (tree type)
return 0;
gcc_unreachable ();
}
-
- return 0;
}
/* Given a pointer to a tree node, assumed to be some kind of a ..._TYPE
@@ -20240,7 +20238,6 @@ add_const_value_attribute (dw_die_ref die, machine_mode mode, rtx rtl)
/* No other kinds of rtx should be possible here. */
gcc_unreachable ();
}
- return false;
}
/* Determine whether the evaluation of EXPR references any variables
diff --git a/gcc/fixed-value.c b/gcc/fixed-value.c
index 78134bc..fdfb700 100644
--- a/gcc/fixed-value.c
+++ b/gcc/fixed-value.c
@@ -756,7 +756,6 @@ fixed_arithmetic (FIXED_VALUE_TYPE *f, int icode, const FIXED_VALUE_TYPE *op0,
default:
gcc_unreachable ();
}
- return false;
}
/* Compare fixed-point values by tree_code.
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 73f090b..1f54219 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -2993,7 +2993,6 @@ gimple_fold_builtin_fputs (gimple_stmt_iterator *gsi,
default:
gcc_unreachable ();
}
- return false;
}
/* Fold a call to the __mem{cpy,pcpy,move,set}_chk builtin.
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index a92cf03..8943c57 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -763,7 +763,6 @@ stmt_cost (gimple *gs, bool speed)
}
gcc_unreachable ();
- return 0;
}
/* Look up the defining statement for BASE_IN and return a pointer
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 1ad68a1..8c5cd33 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -526,8 +526,6 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
default:
gcc_unreachable ();
}
-
- return NULL_TREE;
}
/* Converts an isl AST expression E back to a GCC expression tree of
@@ -557,8 +555,6 @@ gcc_expression_from_isl_expression (tree type, __isl_take isl_ast_expr *expr,
default:
gcc_unreachable ();
}
-
- return NULL_TREE;
}
/* Creates a new LOOP corresponding to isl_ast_node_for. Inserts an
diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c
index cb13d2e..6c1cdf1 100644
--- a/gcc/ipa-fnsummary.c
+++ b/gcc/ipa-fnsummary.c
@@ -2042,7 +2042,6 @@ will_be_nonconstant_expr_predicate (ipa_func_body_info *fbi,
debug_tree (expr);
gcc_unreachable ();
}
- return false;
}
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index eb8a7dc..536de3a 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -1963,11 +1963,8 @@ lto_input_mode_table (struct lto_file_decl_data *file_data)
const char *data
= lto_get_summary_section_data (file_data, LTO_section_mode_table, &len);
if (! data)
- {
- internal_error ("cannot read LTO mode table from %s",
- file_data->file_name);
- return;
- }
+ internal_error ("cannot read LTO mode table from %s",
+ file_data->file_name);
unsigned char *table = ggc_cleared_vec_alloc<unsigned char> (1 << 8);
file_data->mode_table = table;
diff --git a/gcc/vec.c b/gcc/vec.c
index 6d767cc..bdbd1ad 100644
--- a/gcc/vec.c
+++ b/gcc/vec.c
@@ -229,23 +229,23 @@ qsort_chk (void *base, size_t n, size_t size, sort_r_cmp_fn *cmp, void *data)
if (CMP (i1, i2))
break;
else if (CMP (i2, i1))
- return ERR2 (i1, i2);
+ ERR2 (i1, i2);
size_t lim1 = LIM (i2 - i1), lim2 = LIM (n - i2);
/* Verify that other pairs within current span compare equal. */
for (i = i1 + 1; i + 1 < i2; i++)
for (j = i + 1; j < i1 + lim1; j++)
if (CMP (i, j))
- return ERR3 (i, i1, j);
+ ERR3 (i, i1, j);
else if (CMP (j, i))
- return ERR2 (i, j);
+ ERR2 (i, j);
/* Verify that elements within this span compare less than
elements beyond the span. */
for (i = i1; i < i2; i++)
for (j = i2; j < i2 + lim2; j++)
if (CMP (i, j) >= 0)
- return ERR3 (i, i1, j);
+ ERR3 (i, i1, j);
else if (CMP (j, i) <= 0)
- return ERR2 (i, j);
+ ERR2 (i, j);
}
#undef ERR3
#undef ERR2