diff options
author | Alexandre Oliva <oliva@gcc.gnu.org> | 1998-10-12 09:25:50 +0000 |
---|---|---|
committer | Alexandre Oliva <oliva@gcc.gnu.org> | 1998-10-12 09:25:50 +0000 |
commit | a5703c818f8a771986a60632a73f09e37c9f5ce0 (patch) | |
tree | 247e1a27cf5fbf91830f11a968a7f6ac5c58f3ee /gcc | |
parent | ba5494e3bcd0fa65e05d49fc88bcd23c52f8811c (diff) | |
download | gcc-a5703c818f8a771986a60632a73f09e37c9f5ce0.zip gcc-a5703c818f8a771986a60632a73f09e37c9f5ce0.tar.gz gcc-a5703c818f8a771986a60632a73f09e37c9f5ce0.tar.bz2 |
instantiate5.C: New test.
* g++.old-deja/g++.pt/instantiate5.C: New test. `global
constructors' name is not unique
* g++.old-deja/g++.pt/instantiate5.cc: ditto
* g++.old-deja/g++.pt/instantiate5-main.cc: ditto
From-SVN: r23007
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc | 5 |
3 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc new file mode 100644 index 0000000..be64bdb --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc @@ -0,0 +1,3 @@ +// this file is part of testcase instantiate5.C + +int main() {} diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C new file mode 100644 index 0000000..a2812cf --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C @@ -0,0 +1,16 @@ +// Build don't run: + +// Additional sources: instantiate5.cc instantiate5-main.cc + +// excess errors test - XFAIL *-*-* + +// `global constructors' are given the same name, based on foo(), on +// both translation units, which is wrong, because it must be possible +// to define template functions in multiple translation units, as long +// as they're given the same definition + +// simplified from test case submitted by Daniel X. Pape <dpape@canis.uiuc.edu> + +template <class T> void foo() { } +inline int bar() { foo<void>(); return 1; } +static int i = bar(); diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc new file mode 100644 index 0000000..fc86e0f --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc @@ -0,0 +1,5 @@ +// this file is part of testcase instantiate5.C + +template <class T> void foo() { } +inline int bar() { foo<void>(); return 1; } +static int i = bar(); |