28 lines
460 B
C
28 lines
460 B
C
|
#include <bfd_stdint.h>
|
||
|
|
||
|
extern void bar (void);
|
||
|
extern void foo (void);
|
||
|
extern void foo_alias (void);
|
||
|
extern void check_ptr_eq (void *, void *);
|
||
|
|
||
|
#if defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__) >= 4005
|
||
|
__attribute__ ((noinline, noclone))
|
||
|
#else
|
||
|
__attribute__ ((noinline))
|
||
|
#endif
|
||
|
int
|
||
|
foo_p (void)
|
||
|
{
|
||
|
return (intptr_t) &foo == 0x12345678 ? 1 : 0;
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main (void)
|
||
|
{
|
||
|
foo ();
|
||
|
foo_p ();
|
||
|
bar ();
|
||
|
check_ptr_eq (&foo, &foo_alias);
|
||
|
return 0;
|
||
|
}
|