1 /* { dg-do compile } */
2 /* { dg-skip-if "non-ELF target" { *-*-darwin* } } */
3 /* { dg-options "-Wall -Wno-infinite-recursion -O2" } */
5 struct dtv_slotinfo_list
7 struct dtv_slotinfo_list
*next
;
10 extern struct dtv_slotinfo_list
*list
;
12 static int __attribute__ ((used
, section ("__libc_freeres_fn")))
13 free_slotinfo (struct dtv_slotinfo_list
**elemp
)
15 if (!free_slotinfo (&(*elemp
)->next
))
20 __attribute__ ((section ("__libc_freeres_fn")))
21 static void free_mem (void)
22 /* { dg-warning "defined but not used" "" { target *-*-* } .-1 } */
24 free_slotinfo (&list
);
27 /* { dg-final { scan-assembler-not "__libc_freeres_fn\n" } } */
28 /* { dg-final { scan-assembler "__libc_freeres_fn,\"ax\"" { target R_flag_in_section } } } */
29 /* { dg-final { scan-assembler-not "__libc_freeres_fn,\"axR\"" { target R_flag_in_section } } } */