PR testsuite/35165
* obj-c++.dg/stubify-2.mm: Restrict to ilp32 targets. Require
Darwin8/OSX10.4 - compatible code generation.
Use scan-rtl-dump.
* obj-c++.dg/stubify-1.mm: Ditto.
* lib/objc-torture.exp: Do not require link success for
"trivial.m" in the runtime checks when dowhat = 'compile'.
* lib/dg-pch.exp: (dg-flags-pch): New Proc.
* objc.dg/stubify-1.m: Restrict to ilp32 targets. Require
Darwin8/OSX10.4 - compatible code generation.
* objc.dg/stubify-2.m: Ditto.
* objc.dg/symtab-1.m: Match '.quad' for m64 code.
* objc.dg/next-runtime-1.m: Ditto.
* objc.dg/stret-2.m: Restrict to ilp32 targets.
* objc.dg/pch/pch.exp: Apply tests to both Gnu and NeXT
runtimes on Darwin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158752
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-04-26 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
+
+ PR testsuite/35165
+ * obj-c++.dg/stubify-2.mm: Restrict to ilp32 targets. Require
+ Darwin8/OSX10.4 - compatible code generation.
+ Use scan-rtl-dump.
+ * obj-c++.dg/stubify-1.mm: Ditto.
+ * lib/objc-torture.exp: Do not require link success for
+ "trivial.m" in the runtime checks when dowhat = 'compile'.
+ * lib/dg-pch.exp: (dg-flags-pch): New Proc.
+ * objc.dg/stubify-1.m: Restrict to ilp32 targets. Require
+ Darwin8/OSX10.4 - compatible code generation.
+ * objc.dg/stubify-2.m: Ditto.
+ * objc.dg/symtab-1.m: Match '.quad' for m64 code.
+ * objc.dg/next-runtime-1.m: Ditto.
+ * objc.dg/stret-2.m: Restrict to ilp32 targets.
+ * objc.dg/pch/pch.exp: Apply tests to both Gnu and NeXT
+ runtimes on Darwin.
+
2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
PR 43715
lappend options $args
}
verbose "options $options"
- set test_obj "trivial.exe"
- set comp_output [objc_target_compile \
- "$srcdir/$subdir/trivial.m" $test_obj executable $options]
-
- # If we get any error, then we failed.
- if ![string match "" $comp_output] then {
- remote_file build delete $test_obj
- continue;
- }
if [info exists dowhat] {
- if { $dowhat == "execute" } {
- set result [objc_load "$tmpdir/$test_obj" "" ""]
- set status [lindex $result 0]
- set output [lindex $result 1]
- if { $status != "pass" } {
- remote_file build delete $test_obj
- verbose -log "trivial execute failed with $status $output"
- continue;
- }
+ switch $dowhat {
+ "compile" {
+ set compile_type "assembly"
+ set output_file "trivial.s"
+ set comp_output [objc_target_compile \
+ "$srcdir/$subdir/trivial.m" "$output_file" "$compile_type" $options]
+
+ remote_file build delete $output_file
+ # If we get any error, then we failed.
+ if ![string match "" $comp_output] then {
+ continue;
+ }
+ }
+ "execute" {
+ set test_obj "trivial.exe"
+ set comp_output [objc_target_compile \
+ "$srcdir/$subdir/trivial.m" $test_obj "executable" $options]
+
+ # If we get any error, then we failed.
+ if ![string match "" $comp_output] then {
+ remote_file build delete $test_obj
+ continue;
+ }
+ set result [objc_load "$tmpdir/$test_obj" "" ""]
+ set status [lindex $result 0]
+ set output [lindex $result 1]
+ remote_file build delete $test_obj
+ if { $status != "pass" } {
+ verbose -log "trivial execute failed with $status $output"
+ continue;
+ }
+ }
+ default {
+ perror "$dowhat: not a valid objc-torture action"
+ return ""
}
+ }
+ } else {
+ set test_obj "trivial.exe"
+ set comp_output [objc_target_compile \
+ "$srcdir/$subdir/trivial.m" $test_obj executable $options]
+
+ # If we get any error, then we failed.
+ remote_file build delete $test_obj
+ if ![string match "" $comp_output] then {
+ continue;
+ }
}
- remote_file build delete $test_obj
lappend OBJC_RUNTIME_OPTIONS $type
}
/* Testcase extracted from TextEdit:Document.m. */
/* { dg-do compile { target *-*-darwin* } } */
-/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump" } */
+/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump -mmacosx-version-min=10.4" } */
typedef struct objc_object { } *id ;
int x = 41 ;
@end
/* 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-file-not stubify-2.mm.147r.jump "symbol_ref.*\"objc_msgSend\"" } } */
+ for "objc_msgSend" in quotes, without the $stub suffix. */
+/* { dg-final { scan-rtl-dump-not "symbol_ref.*\"objc_msgSend\"" "jump" } } */
/* Contributed by Ziemowit Laski <zlaski@apple.com>. */
/* { dg-do compile { target *-*-darwin* } } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
#include "../objc-obj-c++-shared/Object1.h"
/* { dg-do compile { target *-*-darwin* } } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
-/* { dg-options "-Os -mdynamic-no-pic" } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-Os -mdynamic-no-pic -mmacosx-version-min=10.4" } */
typedef struct objc_object { } *id ;
int x = 41 ;
-/* All calls must be properly stubified. */
+/* All calls must be properly stubified, m32 only. */
/* Testcase extracted from TextEdit:Document.m. */
-/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-do compile { target powerpc*-*-darwin* } } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
-/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump" } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-mdynamic-no-pic -fdump-rtl-jump -mmacosx-version-min=10.4" } */
typedef struct objc_object { } *id ;
int x = 41 ;