1 /* Functional tests for the "target" attribute and pragma. */
3 /* { dg-do compile } */
4 /* { dg-require-effective-target target_attribute } */
5 /* { dg-options "-mno-packed-stack" } */
9 #pragma GCC target("packed-stack")
15 #pragma GCC reset_options
17 #pragma GCC target("no-packed-stack")
28 #pragma GCC reset_options
30 __attribute__ ((target("packed-stack")))
37 __attribute__ ((target("packed-stack")))
44 __attribute__ ((target("packed-stack")))
51 __attribute__ ((target("packed-stack")))
58 __attribute__ ((target("no-packed-stack")))
65 __attribute__ ((target("no-packed-stack")))
72 __attribute__ ((target("no-packed-stack")))
79 __attribute__ ((target("no-packed-stack")))
86 __attribute__ ((target("no-packed-stack")))
93 __attribute__ ((target("no-packed-stack")))
100 __attribute__ ((target("no-packed-stack")))
107 __attribute__ ((target("no-packed-stack")))
114 /* { dg-final { scan-assembler-times "\t.cfi_offset 15, -40" 10 { target { lp64 } } } } */
115 /* { dg-final { scan-assembler-times "\t.cfi_offset 15, -8" 5 { target { lp64 } } } } */
116 /* { dg-final { scan-assembler-times "\t.cfi_offset 15, -36" 10 { target { ! lp64 } } } } */
117 /* { dg-final { scan-assembler-times "\t.cfi_offset 15, -4" 5 { target { ! lp64 } } } } */