]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[X86, Darwin] Backport fix for pr82920 (part 4).
authorIain Sandoe <iain@sandoe.co.uk>
Sat, 28 Sep 2019 20:05:38 +0000 (20:05 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Sat, 28 Sep 2019 20:05:38 +0000 (20:05 +0000)
As part of the backport for pr82920, the following three testcases
that are only present on the 7 and 8 branch, also needed amendment.

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

PR target/82920
* gcc.target/i386/indirect-thunk-bnd-1.c: Adjust scan-asms for Darwin,
do not use -fno-pic on Darwin.
* gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
* gcc.target/i386/ret-thunk-25.c: Skip for Darwin, which has a
different ABI for returning this category of complex value.

From-SVN: r276259

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
gcc/testsuite/gcc.target/i386/ret-thunk-25.c

index 8f18d59a3b616ea5fd8de23e631e93d2cb56f272..7a748e6406a1da3aa43629b1a35c8fc27e02dd67 100644 (file)
@@ -1,3 +1,12 @@
+2019-09-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/82920
+       * gcc.target/i386/indirect-thunk-bnd-1.c: Adjust scan-asms for Darwin,
+       do not use -fno-pic on Darwin.
+       * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+       * gcc.target/i386/ret-thunk-25.c: Skip for Darwin, which has a
+       different ABI for returning this category of complex value.
+
 2019-09-28  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline.
index 73d16baddc7e743caafdac2e74305dbc03933ab0..6dce9045812843aaaad3a4a8cea94149b396fded 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile { target { ! x32 } } } */
-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx" } */
+/* { dg-additional-options "-fno-pic" { target { ! *-*-darwin* } } } */
 
 void (*dispatch) (char *);
 char buf[10];
@@ -11,8 +12,8 @@ foo (void)
 }
 
 /* { dg-final { scan-assembler "mov(?:l|q)\[ \t\]*_?dispatch" { target *-*-linux* } } } */
-/* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd_rax" { target lp64 } } } */
-/* { dg-final { scan-assembler "bnd call\[ \t\]*__x86_indirect_thunk_bnd_eax" { target ia32 } } } */
+/* { dg-final { scan-assembler "bnd jmp\[ \t\]*_?__x86_indirect_thunk_bnd_rax" { target lp64 } } } */
+/* { dg-final { scan-assembler "bnd call\[ \t\]*_?__x86_indirect_thunk_bnd_eax" { target ia32 } } } */
 /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */
 /* { dg-final { scan-assembler "bnd ret" } } */
index 856751ac2241aa57306aac9f8897b0d5046a1975..20091c852d77cd00524601170bb6e6d1b799d57c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile { target { ! x32 } } } */
-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx" } */
+/* { dg-additional-options "-fno-pic" { target { ! *-*-darwin* } } } */
 
 void (*dispatch) (char *);
 char buf[10];
@@ -12,8 +13,8 @@ foo (void)
 }
 
 /* { dg-final { scan-assembler "mov(?:l|q)\[ \t\]*_?dispatch" { target *-*-linux* } } } */
-/* { dg-final { scan-assembler "bnd call\[ \t\]*__x86_indirect_thunk_bnd_(r|e)ax" } } */
-/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */
+/* { dg-final { scan-assembler "bnd call\[ \t\]*_?__x86_indirect_thunk_bnd_(r|e)ax" } } */
+/* { dg-final { scan-assembler "bnd call\[ \t\]*\.?LIND" } } */
 /* { dg-final { scan-assembler "bnd ret" } } */
 /* { dg-final { scan-assembler {\tpause} } } */
 /* { dg-final { scan-assembler {\tlfence} } } */
index f73553c9a9f8087dcc27fff3d2c42006230f9cb6..c0fd9bab257b3dcc565a7d2752ef99199c864eb6 100644 (file)
@@ -1,5 +1,6 @@
 /* PR target/r84530 */
 /* { dg-do compile { target ia32 } } */
+/* { dg-skip-if "ABI differs for return complex value" { *-*-darwin* } } */
 /* { dg-options "-O2 -mfunction-return=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
 
 struct s { _Complex unsigned short x; };