Commit 17fc8d6f by Aldy Hernandez Committed by Aldy Hernandez

re PR tree-optimization/59149 (diagnose_tm_1 calls flags_from_decl_or_type on an ADDR_EXPR)

	PR tree-optimization/59149
	* calls.c (flags_from_decl_or_type): Fail on non decl or type.
	* trans-mem.c (diagnose_tm_1): Do not call flags_from_decl_or_type
	if no type or decl.

From-SVN: r205967
parent 1904eff1
2013-12-13 Aldy Hernandez <aldyh@redhat.com>
PR tree-optimization/59149
* calls.c (flags_from_decl_or_type): Fail on non decl or type.
* trans-mem.c (diagnose_tm_1): Do not call flags_from_decl_or_type
if no type or decl.
2013-12-13 Kenneth Zadeck <zadeck@naturalbridge.com> 2013-12-13 Kenneth Zadeck <zadeck@naturalbridge.com>
* config/arc/arc.h (BITS_PER_UNIT): Removed. * config/arc/arc.h (BITS_PER_UNIT): Removed.
...@@ -769,6 +769,8 @@ flags_from_decl_or_type (const_tree exp) ...@@ -769,6 +769,8 @@ flags_from_decl_or_type (const_tree exp)
|| lookup_attribute ("transaction_pure", TYPE_ATTRIBUTES (exp)))) || lookup_attribute ("transaction_pure", TYPE_ATTRIBUTES (exp))))
flags |= ECF_TM_PURE; flags |= ECF_TM_PURE;
} }
else
gcc_unreachable ();
if (TREE_THIS_VOLATILE (exp)) if (TREE_THIS_VOLATILE (exp))
{ {
......
...@@ -677,7 +677,8 @@ diagnose_tm_1 (gimple_stmt_iterator *gsi, bool *handled_ops_p, ...@@ -677,7 +677,8 @@ diagnose_tm_1 (gimple_stmt_iterator *gsi, bool *handled_ops_p,
} }
else if (direct_call_p) else if (direct_call_p)
{ {
if (flags_from_decl_or_type (fn) & ECF_TM_BUILTIN) if (IS_TYPE_OR_DECL_P (fn)
&& flags_from_decl_or_type (fn) & ECF_TM_BUILTIN)
is_safe = true; is_safe = true;
else if (replacement) else if (replacement)
{ {
......
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