Merge from mainline (163495:164578).
[official-gcc/graphite-test-results.git] / gcc / testsuite / gcc.dg / attr-ifunc-2.c
blobf717315f3d49c7f687141df97b27b0e955cb39d7
1 /* { dg-require-ifunc "" } */
3 static void *resolver ()
5 return 0;
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")));
13 extern int spell (void) /* { dg-message "previous definition" } */
15 return 0;
17 extern int spell (void) /* { dg-error "redefinition" "" } */
18 __attribute__ ((ifunc ("resolver")));
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")));
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));