diff options
| author | Alexandre Oliva <aoliva@redhat.com> | 2001-04-03 08:38:45 +0000 | 
|---|---|---|
| committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-04-03 08:38:45 +0000 | 
| commit | 41dc48164709a719eb1ee4191afa302fe557163c (patch) | |
| tree | d088936a3a6c025b49454fa9411ddc35bcc178bb /gcc | |
| parent | 47a15d4fd6222ae1ecadd9ae822c4d41eff57e84 (diff) | |
| download | gcc-41dc48164709a719eb1ee4191afa302fe557163c.zip gcc-41dc48164709a719eb1ee4191afa302fe557163c.tar.gz gcc-41dc48164709a719eb1ee4191afa302fe557163c.tar.bz2 | |
instantiate1.C: Adjust to accommodate peculiarities of the SH.
* g++.old-deja/g++.ext/instantiate1.C: Adjust to accommodate
peculiarities of the SH.
* g++.old-deja/g++.ext/instantiate2.C: Likewise.
From-SVN: r41045
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ext/instantiate1.C | 22 | ||||
| -rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ext/instantiate2.C | 15 | 
3 files changed, 33 insertions, 11 deletions
| diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bd6039f..c72d2de 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2001-04-03  Alexandre Oliva  <aoliva@redhat.com> + +	* g++.old-deja/g++.ext/instantiate1.C: Adjust to accommodate +	peculiarities of the SH. +	* g++.old-deja/g++.ext/instantiate2.C: Likewise. +  2001-04-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>  	* gcc.c-torture/execute/ieee/fp-cmp-1.c: Renamed nan to dnan. @@ -210,7 +216,6 @@  	* g++.old-deja/g++.pt/overload15.C: New test to stress overloaded  	templatized constructors. ->>>>>>> 1.1119  2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>  	* gcc.c-torture/execute/20010224-1.c: New test. diff --git a/gcc/testsuite/g++.old-deja/g++.ext/instantiate1.C b/gcc/testsuite/g++.old-deja/g++.ext/instantiate1.C index 8d5457f..8e0fbe0 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/instantiate1.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/instantiate1.C @@ -13,12 +13,22 @@ template <class T> struct A {  template <class T> void A<T>::f () { }  extern template struct A<int>; +// These functions must be defined in a single line, so that, even if +// constants or pointers are placed in the code section (for example, +// on the SH), we still get the same line numbers. + +void test_f_int () { f(42); } // ERROR - not instantiated + +void test_A_int_f () { A<int> a; a.f (); } // ERROR - not instantiated + +void test_f_double () { f (2.0); } // gets bogus error + +void test_A_double_f () { A<double> b; b.f (); } // gets bogus error +  int main ()  { -  f (42);			// ERROR - not instantiated -  A<int> a; -  a.f ();			// ERROR - not instantiated -  f (2.0);			// gets bogus error -  A<double> b; -  b.f ();			// gets bogus error +  test_f_int (); +  test_A_int_f (); +  test_f_double (); +  test_A_double_f ();  } diff --git a/gcc/testsuite/g++.old-deja/g++.ext/instantiate2.C b/gcc/testsuite/g++.old-deja/g++.ext/instantiate2.C index 0b3dc24..9a783a1 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/instantiate2.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/instantiate2.C @@ -10,10 +10,17 @@ template <class T> struct A {  template <class T> T A<T>::t = 0;  static template struct A<int>; +// These functions must be defined in a single line, so that, even if +// constants or pointers are placed in the code section (for example, +// on the SH), we still get the same line numbers. + +void test_int() { A<int>::t = 42; } // gets bogus error + +void test_char() { A<char>::t = 42; } // ERROR - not instantiated XFAIL *-*-irix* +// Irix's default linker does not produce line numbers so XFAIL it. +  int main ()  { -  A<int>::t = 42;		// gets bogus error -  A<char>::t = 42;		// ERROR - not instantiated XFAIL mips*-*-* -				// Irix's default linker does not -				// produce line numbers so XFAIL it. +  test_int (); +  test_char ();  } | 
