aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-11-29 13:19:57 +0100
committerRichard Biener <rguenther@suse.de>2021-11-30 15:05:12 +0100
commitfa01e206c87581186f64f4500f926cdb70549de0 (patch)
tree1ca5e06b83180b7212f871d99686a4f2b666c55a /gcc
parent0194d92c35ca8b3aa850b805d9becb4491cf6bec (diff)
downloadgcc-fa01e206c87581186f64f4500f926cdb70549de0.zip
gcc-fa01e206c87581186f64f4500f926cdb70549de0.tar.gz
gcc-fa01e206c87581186f64f4500f926cdb70549de0.tar.bz2
Remove more stray returns and gcc_unreachable ()s
This removes more cases that appear when bootstrap with -Wunreachable-code-return progresses. 2021-11-29 Richard Biener <rguenther@suse.de> * config/i386/i386.c (ix86_shift_rotate_cost): Remove unreachable return. * tree-chrec.c (evolution_function_is_invariant_rec_p): Likewise. * tree-if-conv.c (if_convertible_stmt_p): Likewise. * tree-ssa-pre.c (fully_constant_expression): Likewise. * tree-vrp.c (operand_less_p): Likewise. * reload.c (reg_overlap_mentioned_for_reload_p): Remove unreachable gcc_unreachable (). * sel-sched-ir.h (bb_next_bb): Likewise. * varasm.c (compare_constant): Likewise. gcc/cp/ * logic.cc (cnf_size_r): Remove unreachable and inconsistently placed gcc_unreachable ()s. * pt.c (iterative_hash_template_arg): Remove unreachable gcc_unreachable and return. gcc/fortran/ * target-memory.c (gfc_element_size): Remove unreachable return. gcc/objc/ * objc-act.c (objc_build_setter_call): Remove unreachable return. libcpp/ * charset.c (convert_escape): Remove unreachable break.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.c1
-rw-r--r--gcc/cp/logic.cc2
-rw-r--r--gcc/cp/pt.c3
-rw-r--r--gcc/fortran/target-memory.c1
-rw-r--r--gcc/objc/objc-act.c3
-rw-r--r--gcc/reload.c7
-rw-r--r--gcc/sel-sched-ir.h2
-rw-r--r--gcc/tree-chrec.c2
-rw-r--r--gcc/tree-if-conv.c2
-rw-r--r--gcc/tree-ssa-pre.c1
-rw-r--r--gcc/tree-vrp.c2
-rw-r--r--gcc/varasm.c2
12 files changed, 3 insertions, 25 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 0e6bf3e..80fee62 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -20366,7 +20366,6 @@ ix86_shift_rotate_cost (const struct processor_costs *cost,
else
return cost->shift_var;
}
- return cost->shift_const;
}
/* Compute a (partial) cost for rtx X. Return true if the complete
diff --git a/gcc/cp/logic.cc b/gcc/cp/logic.cc
index 9d892b1..f31ae8c 100644
--- a/gcc/cp/logic.cc
+++ b/gcc/cp/logic.cc
@@ -495,7 +495,6 @@ cnf_size_r (tree t)
else
/* Neither LHS nor RHS is a conjunction. */
return std::make_pair (0, false);
- gcc_unreachable ();
}
if (conjunction_p (lhs))
{
@@ -536,7 +535,6 @@ cnf_size_r (tree t)
else
/* Neither LHS nor RHS is a conjunction. */
return std::make_pair (2, false);
- gcc_unreachable ();
}
if (conjunction_p (lhs))
{
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 6e25a38..f4b9d96 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -1969,9 +1969,6 @@ iterative_hash_template_arg (tree arg, hashval_t val)
val = iterative_hash_template_arg (TREE_OPERAND (arg, i), val);
return val;
}
-
- gcc_unreachable ();
- return 0;
}
/* Unregister the specialization SPEC as a specialization of TMPL.
diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c
index 7b21a9e..ab4665c 100644
--- a/gcc/fortran/target-memory.c
+++ b/gcc/fortran/target-memory.c
@@ -138,7 +138,6 @@ gfc_element_size (gfc_expr *e, size_t *siz)
*siz = 0;
return false;
}
- return true;
}
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 9baa46d..89f4629 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1904,9 +1904,6 @@ objc_build_setter_call (tree lhs, tree rhs)
setter_argument, NULL);
return setter;
}
-
- /* Unreachable, but the compiler may not realize. */
- return error_mark_node;
}
/* This hook routine is called when a MODIFY_EXPR is being built. We
diff --git a/gcc/reload.c b/gcc/reload.c
index 190db6a..9ee3439 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -6602,11 +6602,10 @@ reg_overlap_mentioned_for_reload_p (rtx x, rtx in)
return (rtx_equal_p (x, in)
|| reg_overlap_mentioned_for_reload_p (x, XEXP (in, 0))
|| reg_overlap_mentioned_for_reload_p (x, XEXP (in, 1)));
- else return (reg_overlap_mentioned_for_reload_p (XEXP (x, 0), in)
- || reg_overlap_mentioned_for_reload_p (XEXP (x, 1), in));
+ else
+ return (reg_overlap_mentioned_for_reload_p (XEXP (x, 0), in)
+ || reg_overlap_mentioned_for_reload_p (XEXP (x, 1), in));
}
-
- gcc_unreachable ();
}
/* Return nonzero if anything in X contains a MEM. Look also for pseudo
diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h
index 8ee0529..18e03c4 100644
--- a/gcc/sel-sched-ir.h
+++ b/gcc/sel-sched-ir.h
@@ -1493,8 +1493,6 @@ bb_next_bb (basic_block bb)
default:
return bb->next_bb;
}
-
- gcc_unreachable ();
}
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c
index eeb67de..ad6f981 100644
--- a/gcc/tree-chrec.c
+++ b/gcc/tree-chrec.c
@@ -1148,8 +1148,6 @@ evolution_function_is_invariant_rec_p (tree chrec, int loopnum)
default:
return false;
}
-
- return false;
}
/* Return true if CHREC is invariant in loop LOOPNUM, false otherwise. */
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index d0ca046..1cc2016 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -1110,8 +1110,6 @@ if_convertible_stmt_p (gimple *stmt, vec<data_reference_p> refs)
}
return false;
}
-
- return true;
}
/* Assumes that BB has more than 1 predecessors.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 0669aaa..a49f87f 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1234,7 +1234,6 @@ fully_constant_expression (pre_expr e)
default:
return e;
}
- return e;
}
/* Translate the VUSE backwards through phi nodes in E->dest, so that
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index dd77236..b3adc26 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -330,8 +330,6 @@ operand_less_p (tree val, tree val2)
else
return -2;
}
-
- return 0;
}
/* Compare two values VAL1 and VAL2. Return
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 8c7aba2..d6031d6 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3415,8 +3415,6 @@ compare_constant (const tree t1, const tree t2)
default:
return 0;
}
-
- gcc_unreachable ();
}
/* Return the section into which constant EXP should be placed. */