OSDN Git Service

* gcc.dg/simulate-thread/simulate-thread.gdb: Call
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / attr-ifunc-2.c
1 /* { dg-require-ifunc "" } */
2
3 static void *resolver ()
4 {
5   return 0;
6 }
7
8 extern int magic (void)  /* { dg-message "previous definition" } */
9      __attribute__ ((ifunc ("resolver")));
10 extern int magic (void)  /* { dg-error "redefinition" "" } */
11      __attribute__ ((alias ("resolver")));
12
13 extern int spell (void)  /* { dg-message "previous definition" } */
14 {
15   return 0;
16 }
17 extern int spell (void)  /* { dg-error "redefinition" "" } */
18      __attribute__ ((ifunc ("resolver")));
19
20 extern int mantra (void)  /* { dg-message "previous definition" } */
21      __attribute__ ((alias ("resolver")));
22 extern int mantra (void)  /* { dg-error "redefinition" "" } */
23      __attribute__ ((ifunc ("resolver")));
24
25 extern int saying (void)  /* { dg-error "weak .* cannot be defined" "" } */
26      __attribute__ ((weak,ifunc ("resolver")));
27 extern int maxim (void) /* { dg-error "indirect function .* cannot be declared weak" "" } */
28      __attribute__ ((ifunc ("resolver"),weak));