Commit c291690e by Ilya Enkovich Committed by Ilya Enkovich

re PR middle-end/64805 (Specific use of __attribute ((always_inline)) breaks MPX…

re PR middle-end/64805 (Specific use of __attribute ((always_inline)) breaks MPX functionality with -fcheck-pointer-bounds -mmpx)

gcc/

	PR middle-end/64805
	* ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
	to avoid error in cgraph node verification.

gcc/testsuite/

	PR middle-end/64805
	* gcc.target/i386/pr64805.c: New.

From-SVN: r220240
parent 2b6969cd
2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/64805
* ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
to avoid error in cgraph node verification.
2015-01-29 Marek Polacek <polacek@redhat.com>
* doc/standards.texi: Reflect that the default for C is gnu11.
......
......@@ -2506,6 +2506,13 @@ early_inliner (function *fun)
#endif
node->remove_all_references ();
/* Rebuild this reference because it dosn't depend on
function's body and it's required to pass cgraph_node
verification. */
if (node->instrumented_version
&& !node->instrumentation_clone)
node->create_reference (node->instrumented_version, IPA_REF_CHKP, NULL);
/* Even when not optimizing or not inlining inline always-inline
functions. */
inlined = inline_always_inline_functions (node);
......
2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/64805
* gcc.target/i386/pr64805.c: New.
2015-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/guality/guality.h (main): Add argv[0] to
......
/* { dg-do compile } */
/* { dg-require-effective-target mpx } */
/* { dg-options "-fcheck-pointer-bounds -mmpx" } */
#include <stdio.h>
static inline void __attribute ((always_inline)) functionA(void)
{
return;
}
static inline void __attribute ((always_inline)) functionB(void)
{
functionA();
}
int test(void)
{
functionB();
return 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