Commit 9058a2c5 by Jeff Law Committed by Jeff Law

re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)

	PR tree-optimization/80374
	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
	record anything if we can not convert integer_zero_node to the
	desired type.

	PR tree-optimization/80374
	* g++.dg/pr80374.c: New test.

From-SVN: r246819
parent bd8f8642
2017-04-10 Jeff Law <law@redhat.com>
PR tree-optimization/80374
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
record anything if we can not convert integer_zero_node to the
desired type.
2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> 2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/80108 PR target/80108
......
2017-04-10 Jeff Law <law@redhat.com>
PR tree-optimization/80374
* g++.dg/pr80374.c: New test.
2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> 2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/80108 PR target/80108
......
void a (const char *, const char *, int, const char *)
__attribute__ ((__noreturn__));
template <typename b, int>
void
c () try
{
throw;
}
catch (b d)
{
if (d)
a ("", "", 2, __PRETTY_FUNCTION__);
}
main ()
{
using e = decltype (nullptr);
c<volatile e, true> ();
}
...@@ -701,7 +701,8 @@ derive_equivalences_from_bit_ior (tree name, ...@@ -701,7 +701,8 @@ derive_equivalences_from_bit_ior (tree name,
const_and_copies *const_and_copies, const_and_copies *const_and_copies,
int recursion_limit) int recursion_limit)
{ {
if (recursion_limit == 0) if (recursion_limit == 0
|| !fold_convertible_p (TREE_TYPE (name), integer_zero_node))
return; return;
if (TREE_CODE (name) == SSA_NAME) if (TREE_CODE (name) == SSA_NAME)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment