[objective-c/c++, testsuite] Fix stubify tests for -fnext-runtime.
These tests were broken in the first place, and more broken following the change to drop pic symbol stubs unless the linker needs them. Fixed to work for x86 as well as powerpc and amended the options to force pic symbol stubs on. gcc/testsuite/ 2019-06-20 Iain Sandoe <iain@sandoe.co.uk> * obj-c++.dg/stubify-1.mm: Adjust options and scan-asm checks. * obj-c++.dg/stubify-2.mm: Likewise. * objc.dg/stubify-1.m: Likewise. * objc.dg/stubify-2.m: Likewise. From-SVN: r272518
This commit is contained in:
parent
91bed1a15a
commit
b7a0332ccd
5 changed files with 36 additions and 17 deletions
|
@ -1,3 +1,10 @@
|
|||
2019-06-20 Iain Sandoe <iain@sandoe.co.uk>
|
||||
|
||||
* obj-c++.dg/stubify-1.mm: Adjust options and scan-asm checks.
|
||||
* obj-c++.dg/stubify-2.mm: Likewise.
|
||||
* objc.dg/stubify-1.m: Likewise.
|
||||
* objc.dg/stubify-2.m: Likewise.
|
||||
|
||||
2019-06-20 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/87512
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* { dg-do compile { target *-*-darwin* } } */
|
||||
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
|
||||
/* { dg-require-effective-target ilp32 } */
|
||||
/* { dg-options "-Os -mdynamic-no-pic -fno-exceptions -mmacosx-version-min=10.4" } */
|
||||
/* { dg-options "-Os -mdynamic-no-pic -fno-exceptions -mmacosx-version-min=10.4 -mpic-symbol-stubs" } */
|
||||
|
||||
typedef struct objc_object { } *id ;
|
||||
int x = 41 ;
|
||||
|
@ -32,8 +32,8 @@ extern "C" {
|
|||
}
|
||||
@end
|
||||
|
||||
/* { dg-final { scan-assembler-not "\(bl|call\)\[ \t\]+_objc_msgSend\n" } } */
|
||||
/* { dg-final { scan-assembler "\(bl|call\)\[ \t\]+L_objc_msgSend\\\$stub\n" } } */
|
||||
/* { dg-final { scan-assembler-not "\(bl|call\)\[ \t\]+_bogonic\n" } } */
|
||||
/* { dg-final { scan-assembler "\(bl|call\)\[ \t\]+L_bogonic\\\$stub\n" } } */
|
||||
/* { dg-final { scan-assembler-not "\\\$non_lazy_ptr" } } */
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_objc_msgSend\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_objc_msgSend\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_bogonic\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_bogonic\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {\$non_lazy_ptr} } } */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* { dg-do compile { target *-*-darwin* } } */
|
||||
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
|
||||
/* { dg-require-effective-target ilp32 } */
|
||||
/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump -mmacosx-version-min=10.4" } */
|
||||
/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump -mmacosx-version-min=10.4 -mpic-symbol-stubs" } */
|
||||
|
||||
typedef struct objc_object { } *id ;
|
||||
int x = 41 ;
|
||||
|
@ -30,4 +30,10 @@ extern int bogonic (int, int, int) ;
|
|||
|
||||
/* Any symbol_ref of an un-stubified objc_msgSend is an error; look
|
||||
for "objc_msgSend" in quotes, without the $stub suffix. */
|
||||
/* { dg-final { scan-rtl-dump-not "symbol_ref.*\"objc_msgSend\"" "jump" } } */
|
||||
/* { dg-final { scan-rtl-dump-not {symbol_ref.*"objc_msgSend"} "jump" { target powerpc*-*-darwin* } } } */
|
||||
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_objc_msgSend\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_objc_msgSend\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_Z7bogoniciii\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L__Z7bogoniciii\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {\$non_lazy_ptr} } } */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* { dg-do compile { target *-*-darwin* } } */
|
||||
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
|
||||
/* { dg-require-effective-target ilp32 } */
|
||||
/* { dg-options "-Os -mdynamic-no-pic -mmacosx-version-min=10.4" } */
|
||||
/* { dg-options "-Os -mdynamic-no-pic -mmacosx-version-min=10.4 -mpic-symbol-stubs" } */
|
||||
|
||||
typedef struct objc_object { } *id ;
|
||||
int x = 41 ;
|
||||
|
@ -28,8 +28,8 @@ extern int bogonic (int, int, int) ;
|
|||
}
|
||||
@end
|
||||
|
||||
/* { dg-final { scan-assembler-not "\(bl|call\)\[ \t\]+_objc_msgSend\n" } } */
|
||||
/* { dg-final { scan-assembler "\(bl|call\)\[ \t\]+L_objc_msgSend\\\$stub\n" } } */
|
||||
/* { dg-final { scan-assembler-not "\(bl|call\)\[ \t\]+_bogonic\n" } } */
|
||||
/* { dg-final { scan-assembler "\(bl|call\)\[ \t\]+L_bogonic\\\$stub\n" } } */
|
||||
/* { dg-final { scan-assembler-not "\\\$non_lazy_ptr" } } */
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_objc_msgSend\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_objc_msgSend\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_bogonic\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_bogonic\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {\$non_lazy_ptr} } } */
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/* All calls must be properly stubified, m32 only. */
|
||||
/* Testcase extracted from TextEdit:Document.m. */
|
||||
|
||||
/* { dg-do compile { target powerpc*-*-darwin* } } */
|
||||
/* { dg-do compile { target *-*-darwin* } } */
|
||||
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
|
||||
/* { dg-require-effective-target ilp32 } */
|
||||
/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump -mmacosx-version-min=10.4" } */
|
||||
/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump -mmacosx-version-min=10.4 -mpic-symbol-stubs" } */
|
||||
|
||||
typedef struct objc_object { } *id ;
|
||||
int x = 41 ;
|
||||
|
@ -30,4 +30,10 @@ extern int bogonic (int, int, int) ;
|
|||
|
||||
/* Any symbol_ref of an un-stubified objc_msgSend is an error; look
|
||||
for "objc_msgSend" in quotes, without the $stub suffix. */
|
||||
/* { dg-final { scan-rtl-dump-not "symbol_ref.*\"objc_msgSend\"" "jump" } } */
|
||||
/* { dg-final { scan-rtl-dump-not {symbol_ref.*"objc_msgSend"} "jump" { target powerpc*-*-darwin* } } } */
|
||||
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_objc_msgSend\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_objc_msgSend\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {(bl|call)[ \t]+_bogonic\n} } } */
|
||||
/* { dg-final { scan-assembler {(bl|call)[ \t]+L_bogonic\$stub\n} } } */
|
||||
/* { dg-final { scan-assembler-not {\$non_lazy_ptr} } } */
|
||||
|
|
Loading…
Add table
Reference in a new issue