gcc/ * ipa.c (symbol_table::remove_unreachable_nodes): Don't remove instumentation thunks calling reachable functions. * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. * lto/lto-partition.c (privatize_symbol_name_1): New. (privatize_symbol_name): Privatize both decl and orig_decl names for instrumented functions. * cgraph.c (cgraph_node::verify_node): Add transparent alias chain check for instrumented node. gcc/testsuite/ * gcc.dg/lto/chkp-privatize-1_0.c: New. * gcc.dg/lto/chkp-privatize-1_1.c: New. * gcc.dg/lto/chkp-privatize-2_0.c: New. * gcc.dg/lto/chkp-privatize-2_1.c: New. From-SVN: r224063
18 lines
331 B
C
18 lines
331 B
C
/* { dg-lto-do link } */
|
|
/* { dg-require-effective-target mpx } */
|
|
/* { dg-lto-options { { -Ofast -flto -fcheck-pointer-bounds -mmpx } } } */
|
|
|
|
extern int __attribute__((noinline)) f1 (int i);
|
|
|
|
static int __attribute__((noinline))
|
|
f2 (int i)
|
|
{
|
|
return i + 6;
|
|
}
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
return f1 (argc) + f2 (argc);
|
|
}
|