/* Verify that valid alignment on either a function declaration or a definition has the expected effect and overrides -Os. { dg-do compile } { dg-options "-Os" } */ #define ALIGN(n) __attribute__ ((aligned (n))) /* No alignment specified (to cause the subsequent instruction to be at an odd boundary due to -Os). */ void f (void) { } void f4 (void); ALIGN (4) void f4 (void) { } /* { dg-final { scan-assembler ".align 4\n\t.globl\tf4" { target { ! *-*-darwin* } } } } */ /* { dg-final { scan-assembler {.align[ \t]2,0x90\n\t.globl[ \t]_f4} { target *-*-darwin* } } } */ void g (void) { } ALIGN (4) void g4 (void); void g4 (void) { }