testsuite: Skip analyzer tests on AIX.
[official-gcc.git] / gcc / testsuite / c-c++-common / attr-retain-9.c
blobab9bf4a7a3f167cec92ec2d982018c40d4f122a3
1 /* { dg-do compile { target R_flag_in_section } } */
2 /* { dg-skip-if "non-ELF target" { *-*-darwin* powerpc*-*-aix* } } */
3 /* { dg-options "-Wall -O2" } */
5 struct dtv_slotinfo_list
7 struct dtv_slotinfo_list *next;
8 };
10 extern struct dtv_slotinfo_list *list;
12 static int __attribute__ ((used, retain, section ("__libc_freeres_fn")))
13 free_slotinfo (struct dtv_slotinfo_list **elemp)
15 if (!free_slotinfo (&(*elemp)->next))
16 return 0;
17 return 1;
20 /* Prune out the valid warning for the function above:
21 { dg-prune-output "-Winfinite-recursion" } */
23 __attribute__ ((section ("__libc_freeres_fn")))
24 static void free_mem (void)
25 /* { dg-warning "defined but not used" "" { target *-*-* } .-1 } */
27 free_slotinfo (&list);
30 /* { dg-final { scan-assembler-not "__libc_freeres_fn\n" } } */
31 /* { dg-final { scan-assembler-not "__libc_freeres_fn,\"ax\"" { target R_flag_in_section } } } */
32 /* { dg-final { scan-assembler "__libc_freeres_fn,\"axR\"" { target R_flag_in_section } } } */