gcc/ * ipa-chkp.h (chkp_wrap_function): New. * ipa-chkp.c (chkp_wrap_function): Remove 'static'. (chkp_wrap_function_name): New. (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name to get wrapper name. * lto-cgraph.c: Include ipa-chkp.h. (input_cgraph_1): Avoid alias chain for wrappers. gcc/testsuite/ * gcc.dg/lto/chkp-wrap-asm-name_0.c: New. From-SVN: r223216
21 lines
520 B
C
21 lines
520 B
C
/* { dg-lto-do link } */
|
|
/* { dg-require-effective-target mpx } */
|
|
/* { dg-lto-options { { -O2 -flto -fcheck-pointer-bounds -mmpx } } } */
|
|
|
|
typedef long unsigned int size_t;
|
|
|
|
extern size_t strlen (const char *);
|
|
extern __typeof (strlen) strlen __asm__ ("" "__hidden_strlen") __attribute__ ((visibility ("hidden")));
|
|
|
|
size_t
|
|
test1 (const char *p) { return strlen (p); }
|
|
|
|
size_t
|
|
test2 (const char *p) { return __builtin_strlen (p); }
|
|
|
|
int
|
|
main (int argc, const char **argv)
|
|
{
|
|
return test1 (argv[0]) - test2 (argv[0]);
|
|
}
|