diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-05-12 15:24:31 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-05-12 15:24:31 +0000 |
commit | dc7c7ad6bcf9ba652c350f7c27f6a1181440d9eb (patch) | |
tree | d07457d6426d0ceba9a993232a4c4ca2a381c7cc /gcc | |
parent | 212e2065867d845834a01284aa2526828f7fd7b2 (diff) | |
download | gcc-dc7c7ad6bcf9ba652c350f7c27f6a1181440d9eb.zip gcc-dc7c7ad6bcf9ba652c350f7c27f6a1181440d9eb.tar.gz gcc-dc7c7ad6bcf9ba652c350f7c27f6a1181440d9eb.tar.bz2 |
g++.exp: Tweak handling of additional source files.
* lib/g++.exp: Tweak handling of additional source files.
* g++.dg/special/conpr-2.C: Use dg-gpp-additional-sources.
* g++.dg/special/conpr-2a.C: Rename to ...
* g++.dg/special/conpr-2a.cc: ... this.
* g++.dg/special/conpr-3.C: Use dg-gpp-additional-sources.
* g++.dg/special/conpr-3a.C: Rename to ...
* g++.dg/special/conpr-3a.cc: This.
* g++.dg/special/conpr-3b.C: Rename to ...
* g++.dg/special/conpr-3b.cc: This.
* g++.dg/special/conpr-4.C: New test.
* g++.dg/special/ecos.exp: Rewrite to use ordinary dg driver.
From-SVN: r66721
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.dg/special/conpr-2.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/special/conpr-2a.cc (renamed from gcc/testsuite/g++.dg/special/conpr-2a.C) | 0 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/special/conpr-3.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/special/conpr-3a.cc (renamed from gcc/testsuite/g++.dg/special/conpr-3a.C) | 0 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/special/conpr-3b.cc (renamed from gcc/testsuite/g++.dg/special/conpr-3b.C) | 0 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/special/conpr-4.C | 23 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/special/ecos.exp | 86 | ||||
-rw-r--r-- | gcc/testsuite/lib/g++.exp | 2 |
8 files changed, 37 insertions, 76 deletions
diff --git a/gcc/testsuite/g++.dg/special/conpr-2.C b/gcc/testsuite/g++.dg/special/conpr-2.C index 2deeb01..9c482b9 100644 --- a/gcc/testsuite/g++.dg/special/conpr-2.C +++ b/gcc/testsuite/g++.dg/special/conpr-2.C @@ -1,5 +1,6 @@ /* This doesn't work on solaris2 for reasons described in PR 6482. */ /* { dg-do run { xfail *-*-solaris2* } } */ +/* { dg-gpp-additional-sources "conpr-2a.cc" } */ #include <stdlib.h> diff --git a/gcc/testsuite/g++.dg/special/conpr-2a.C b/gcc/testsuite/g++.dg/special/conpr-2a.cc index 69fb7d6..69fb7d6 100644 --- a/gcc/testsuite/g++.dg/special/conpr-2a.C +++ b/gcc/testsuite/g++.dg/special/conpr-2a.cc diff --git a/gcc/testsuite/g++.dg/special/conpr-3.C b/gcc/testsuite/g++.dg/special/conpr-3.C index c5fc235..3fe5741 100644 --- a/gcc/testsuite/g++.dg/special/conpr-3.C +++ b/gcc/testsuite/g++.dg/special/conpr-3.C @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-gpp-additional-sources "conpr-3a.cc conpr-3b.cc" } */ #include <stdlib.h> diff --git a/gcc/testsuite/g++.dg/special/conpr-3a.C b/gcc/testsuite/g++.dg/special/conpr-3a.cc index b237bb5..b237bb5 100644 --- a/gcc/testsuite/g++.dg/special/conpr-3a.C +++ b/gcc/testsuite/g++.dg/special/conpr-3a.cc diff --git a/gcc/testsuite/g++.dg/special/conpr-3b.C b/gcc/testsuite/g++.dg/special/conpr-3b.cc index b5efa0c..b5efa0c 100644 --- a/gcc/testsuite/g++.dg/special/conpr-3b.C +++ b/gcc/testsuite/g++.dg/special/conpr-3b.cc diff --git a/gcc/testsuite/g++.dg/special/conpr-4.C b/gcc/testsuite/g++.dg/special/conpr-4.C new file mode 100644 index 0000000..68ac543 --- /dev/null +++ b/gcc/testsuite/g++.dg/special/conpr-4.C @@ -0,0 +1,23 @@ +/* { dg-do run } */ +/* { dg-gpp-additional-sources "conpr-3b.cc conpr-3a.cc" } */ + +#include <stdlib.h> + +class foo_t { + int x; + static int count; +public: + foo_t(void) { x=++count; } + int get(void) { return x; } +}; + +int foo_t::count; + +extern foo_t foo1, foo2; + +int main(void) { + + if ( (foo1.get() != 2) || (foo2.get() != 1) ) + abort(); + exit(0); +} diff --git a/gcc/testsuite/g++.dg/special/ecos.exp b/gcc/testsuite/g++.dg/special/ecos.exp index 0a9eff9..dc34ff8 100644 --- a/gcc/testsuite/g++.dg/special/ecos.exp +++ b/gcc/testsuite/g++.dg/special/ecos.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,85 +24,21 @@ # Load support procs. load_lib g++-dg.exp -########### -# conpr-1.C -########### +# Test for whether or not __attribute__((init_priority)) is supported +# by the platform. -dg-init -set lines [g++_target_compile "$srcdir/$subdir/conpr-1.C" "$objdir/conpr-1.exe" executable ""] -if [string match "*init_priority*" $lines] then { - xfail "conpr-1.C" - file delete $objdir/conpr-1.exe -} elseif ![string match "" $lines] then { - fail "conpr-1.C" -} else { - dg-runtest "$srcdir/$subdir/conpr-1.C" "" "" - file delete $objdir/conpr-1.exe +set comp_output [g++_target_compile \ + "$srcdir/$subdir/initp1.C" "initp1.S" assembly ""] +if { [string match "*init_priority*" $comp_output] } { + return 0 } -dg-finish - - -########### -# conpr-2.C -########### +# Initialize 'dg'. dg-init -set lines [g++_target_compile "$srcdir/$subdir/conpr-2a.C" "conpr-2a.o" object ""] -if [string match "*init_priority*" $lines] then { - xfail "conpr-2a.o" -} elseif ![string match "" $lines] then { - fail "conpr-2a.o" -} else { - dg-runtest "$srcdir/$subdir/conpr-2.C" "conpr-2a.o" "" - file delete conpr-2a.o -} -dg-finish - +# Main loop. +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C]] "" "" -########### -# conpr-3.C -########### - -dg-init - -set lines [g++_target_compile "$srcdir/$subdir/conpr-3a.C" "conpr-3a.o" object ""] -if [string match "*init_priority*" $lines] then { - xfail "conpr-3a.o" -} elseif ![string match "" $lines] then { - fail "conpr-3a.o" -} else { - set lines [g++_target_compile "$srcdir/$subdir/conpr-3b.C" "conpr-3b.o" object ""] - if ![string match "" $lines] then { - fail "conpr-3b.o" - } else { - # run it with objects both ways around! - # This doesn't work on solaris2 for reasons described in PR 6482. - if { ![regexp ".*-solaris2.*" $target_triplet] } { - dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3a.o conpr-3b.o" "" - dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3b.o conpr-3a.o" "" - } - file delete conpr-3a.o conpr-3b.o - } -} -dg-finish - -########### -# initp1.C -########### - -dg-init -set lines [g++_target_compile "$srcdir/$subdir/initp1.C" "$objdir/initp1.exe" executable ""] -if [string match "*init_priority*" $lines] then { - xfail "initp1.C" - file delete $objdir/initp1.exe -} elseif ![string match "" $lines] then { - fail "initp1.C" -} else { - dg-runtest "$srcdir/$subdir/initp1.C" "" "" - file delete $objdir/initp1.exe -} +# All done. dg-finish - -### EOF ecos.exp diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp index 63808f8..68b4d16 100644 --- a/gcc/testsuite/lib/g++.exp +++ b/gcc/testsuite/lib/g++.exp @@ -313,7 +313,7 @@ proc g++_target_compile { source dest type options } { if [is_remote host] { lappend options "additional_flags=$additional_sources" } - regsub -all " " $additional_sources " [file dirname $source]/" additional_sources + regsub -all "^| " $additional_sources " [file dirname $source]/" additional_sources if ![is_remote host] { lappend options "additional_flags=$additional_sources" } |