From a5703c818f8a771986a60632a73f09e37c9f5ce0 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 12 Oct 1998 09:25:50 +0000 Subject: [PATCH] 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 --- gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc | 3 +++ gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C | 16 ++++++++++++++++ gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc | 5 +++++ 3 files changed, 24 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc create mode 100644 gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C create mode 100644 gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc 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 + +template void foo() { } +inline int bar() { foo(); 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 void foo() { } +inline int bar() { foo(); return 1; } +static int i = bar(); -- 2.7.4