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:
Andrew Pinski 2005-08-13 21:16:04 +00:00 committed by Andrew Pinski
parent 0ffb94cd68
commit 4179a4142c
3 changed files with 48 additions and 12 deletions

View File

@ -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.

View File

@ -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 option $TORTURE_OPTIONS { foreach objc_option $OBJC_RUNTIME_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
# #

View File

@ -0,0 +1,6 @@
#import <objc/Object.h>
int main(void)
{
[Object class];
}