/* { dg-do compile } */ /* Check that, when strub is not supported (so no dg-required-effective-target strub above), we report when strub functions are defined, and when they're called in ways that would require changes. */ void __attribute__ ((__strub__)) f (void) {} /* { dg-message "not eligible|requested" "" { target { ! strub } } } */ void __attribute__ ((__strub__ ("internal"))) g (void) {} /* { dg-message "not eligible|requested" "" { target { ! strub } } } */ /* This only gets an error when called, see strub-unsupported-2.c. */ void __attribute__ ((__strub__ ("at-calls"))) (*p) (void); /* These too, see strub-unsupported-3.c. */ extern void __attribute__ ((__strub__)) s (void); extern void __attribute__ ((__strub__ ("internal"))) t (void);