Darwin, c++, testsuite - adjust alignas4.C for Darwin's asm syntax.
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 6 Jun 2019 19:16:31 +0000 (19:16 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Thu, 6 Jun 2019 19:16:31 +0000 (19:16 +0000)
Darwin produces aligned zerofill directives for the objects represented.
We can scan for these using "lp64" and "ilp32" to catch operation on both
X86 and PowerPC ports (the test is for the alignment which is the trailing
value in the zerofill directive, as a power of two).

gcc/testsuite/ChangeLog:

2019-06-06  Iain Sandoe  <iain@sandoe.co.uk>

* g++.dg/cpp0x/alignas4.C: Amend test to check for zerofill syntax
on Darwin.

From-SVN: r272018

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/alignas4.C

index d2f25fc4df328e4f88c444fa843d02973c0ac8ad..b348a5097d23a1e88c8123c3fded883f9af8e62b 100644 (file)
@@ -1,3 +1,8 @@
+2019-06-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/cpp0x/alignas4.C: Amend test to check for zerofill syntax
+       on Darwin.
+
 2019-06-06  Martin Jambor  <mjambor@suse.cz>
 
        * gcc.dg/tree-ssa/alias-access-path-1.c: Remove -fno-tree-sra option.
index b66fa651bc2ce915cb7af97fdc0f6855ef207aea..1ef48707586844c90d337581722a37a58c29ba01 100644 (file)
@@ -1,7 +1,13 @@
 // PR c++/59012
 // { dg-do compile { target c++11 } }
 // { dg-final { scan-assembler "align 8" { target { { i?86-*-* x86_64-*-* } && { { ! ia32 } && { ! *-*-darwin* } } } } } }
-// { dg-final { scan-assembler "align 4" { target ia32 } } }
+// { dg-final { scan-assembler "align 4" { target { ia32 && { ! *-*-darwin* } } } } }
+
+// Darwin produces aligned .zerofill directives for these.
+// { dg-final { scan-assembler {zerofill[^\n\r]+_a,4,2} { target { ilp32 && *-*-darwin* } } } }
+// { dg-final { scan-assembler {zerofill[^\n\r]+_a,8,3} { target { lp64 && *-*-darwin* } } } }
+// { dg-final { scan-assembler {zerofill[^\n\r]+_a2,4,2} { target { ilp32 && *-*-darwin* } } } }
+// { dg-final { scan-assembler {zerofill[^\n\r]+_a2,8,3} { target { lp64 && *-*-darwin* } } } }
 
 template <class... T>
 struct A