Commit 275792f2 by Ilya Enkovich Committed by Ilya Enkovich

re PR ipa/71624 ([CHKP] internal compiler error: in duplicate_thunk_for_node)

gcc/

	PR ipa/71624
	* ipa-inline-analysis.c (compute_inline_parameters): Set
	local.can_change_signature to false for intrumentation
	thunk callees.

gcc/testsuite/

	PR ipa/71624
	* g++.dg/pr71624.C: New test.

From-SVN: r238086
parent 33427b46
2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com>
PR ipa/71624
* ipa-inline-analysis.c (compute_inline_parameters): Set
local.can_change_signature to false for intrumentation
thunk callees.
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
......
......@@ -3017,6 +3017,16 @@ compute_inline_parameters (struct cgraph_node *node, bool early)
node->local.can_change_signature = !e;
}
}
/* Functions called by instrumentation thunk can't change signature
because instrumentation thunk modification is not supported. */
if (node->local.can_change_signature)
for (e = node->callers; e; e = e->next_caller)
if (e->caller->thunk.thunk_p
&& e->caller->thunk.add_pointer_bounds_args)
{
node->local.can_change_signature = false;
break;
}
estimate_function_body_sizes (node, early);
pop_cfun ();
}
......
2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com>
PR ipa/71624
* g++.dg/pr71624.C: New test.
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and
......
/* PR71624 */
// { dg-do compile { target i?86-*-* x86_64-*-* } }
/* { dg-options "-fcheck-pointer-bounds -mmpx -O2" } */
class c1
{
public:
virtual int fn1 () const;
int fn2 (const int *) const;
};
class c2
{
int fn1 ();
c1 obj;
};
int
c1::fn1 () const
{
return 0;
}
int
c1::fn2 (const int *) const
{
return this->fn1 ();
}
int
c2::fn1 ()
{
return obj.fn2 (0);
}
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