part of PR testsuite/23348
2005-08-13 Andrew Pinski <pinskia@physics.uc.edu> part of PR testsuite/23348 * lib/objc-torture.exp: Add -fgnu-runtime and/or -fnext-runtime to each of the torture options. * objc/compile/trivial.m: New test. From-SVN: r103061
This commit is contained in:
parent
0ffb94cd68
commit
4179a4142c
|
@ -1,3 +1,10 @@
|
||||||
|
2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
|
part of PR testsuite/23348
|
||||||
|
* lib/objc-torture.exp: Add -fgnu-runtime and/or -fnext-runtime to each
|
||||||
|
of the torture options.
|
||||||
|
* objc/compile/trivial.m: New test.
|
||||||
|
|
||||||
2005-08-12 Thomas Koenig <Thomas.Koenig@online.de>
|
2005-08-12 Thomas Koenig <Thomas.Koenig@online.de>
|
||||||
|
|
||||||
* gfortran.dg/eoshift.f90: Correct format.
|
* gfortran.dg/eoshift.f90: Correct format.
|
||||||
|
|
|
@ -21,6 +21,24 @@ load_lib file-format.exp
|
||||||
# The default option list can be overridden by
|
# The default option list can be overridden by
|
||||||
# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
|
# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
|
||||||
|
|
||||||
|
if ![info exists OBJC_RUNTIME_OPTIONS] {
|
||||||
|
set OBJC_RUNTIME_OPTIONS ""
|
||||||
|
foreach type {-fgnu-runtime -fnext-runtime} {
|
||||||
|
global srcdir subdir
|
||||||
|
|
||||||
|
set comp_output [objc_target_compile \
|
||||||
|
"$srcdir/$subdir/trivial.m" "trivial.exe" executable "additional_flags=$type"]
|
||||||
|
|
||||||
|
# If we get any error, then we failed
|
||||||
|
if ![string match "" $comp_output] then {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
lappend OBJC_RUNTIME_OPTIONS $type
|
||||||
|
}
|
||||||
|
}
|
||||||
|
verbose -log "Using the following runtimes: $OBJC_RUNTIME_OPTIONS"
|
||||||
|
|
||||||
|
|
||||||
if ![info exists TORTURE_OPTIONS] {
|
if ![info exists TORTURE_OPTIONS] {
|
||||||
# It is theoretically beneficial to group all of the O2/O3 options together,
|
# It is theoretically beneficial to group all of the O2/O3 options together,
|
||||||
# as in many cases the compiler will generate identical executables for
|
# as in many cases the compiler will generate identical executables for
|
||||||
|
@ -30,28 +48,33 @@ if ![info exists TORTURE_OPTIONS] {
|
||||||
# items below, even though -O3 is also specified, because some ports may
|
# items below, even though -O3 is also specified, because some ports may
|
||||||
# choose to disable inlining functions by default, even when optimizing.
|
# choose to disable inlining functions by default, even when optimizing.
|
||||||
set TORTURE_OPTIONS [list \
|
set TORTURE_OPTIONS [list \
|
||||||
{ -O0 } \
|
" -O0 " \
|
||||||
{ -O1 } \
|
" -O1 " \
|
||||||
{ -O2 } \
|
" -O2 " \
|
||||||
{ -O3 -fomit-frame-pointer } \
|
" -O3 -fomit-frame-pointer " \
|
||||||
{ -O3 -fomit-frame-pointer -funroll-loops } \
|
" -O3 -fomit-frame-pointer -funroll-loops " \
|
||||||
{ -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } \
|
" -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions " \
|
||||||
{ -O3 -g } \
|
" -O3 -g " \
|
||||||
{ -Os } ]
|
" -Os " ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
|
# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
|
||||||
# one for testcases without loops.
|
# one for testcases without loops. Add in the objc runtime options also.
|
||||||
|
|
||||||
set torture_with_loops $TORTURE_OPTIONS
|
set torture_with_loops ""
|
||||||
set torture_without_loops ""
|
set torture_without_loops ""
|
||||||
|
foreach objc_option $OBJC_RUNTIME_OPTIONS {
|
||||||
foreach option $TORTURE_OPTIONS {
|
foreach option $TORTURE_OPTIONS {
|
||||||
|
|
||||||
if ![string match "*loop*" $option] {
|
if ![string match "*loop*" $option] {
|
||||||
lappend torture_without_loops $option
|
lappend torture_without_loops "$option $objc_option"
|
||||||
|
}
|
||||||
|
lappend torture_with_loops "$option $objc_option"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# objc-torture-compile -- runs the Tege OBJC-torture test
|
# objc-torture-compile -- runs the Tege OBJC-torture test
|
||||||
#
|
#
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
#import <objc/Object.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
[Object class];
|
||||||
|
}
|
Loading…
Reference in New Issue