diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-20 08:24:25 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-20 08:24:25 +0000 |
commit | fc8e1a4f52ae3eb86594f023483edaeb29ed9ec4 (patch) | |
tree | 04d54115d071571be138f07255600c9293bd69db /gcc/testsuite | |
parent | 23d29b52dba4fe271a6f3d6d9adade51d35b0e6c (diff) | |
download | gcc-fc8e1a4f52ae3eb86594f023483edaeb29ed9ec4.tar.gz |
* g++.old-deja/g++.other/comdat2.C: New test.
* g++.old-deja/g++.other/comdat2-aux.cc: Auxiliary source for it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41449 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/comdat2-aux.cc | 17 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/comdat2.C | 31 |
3 files changed, 53 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2a97b4e6832..8ba71f84b8e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2001-04-20 Jakub Jelinek <jakub@redhat.com> + * g++.old-deja/g++.other/comdat2.C: New test. + * g++.old-deja/g++.other/comdat2-aux.cc: Auxiliary source for it. + +2001-04-20 Jakub Jelinek <jakub@redhat.com> + * g++.old-deja/g++.other/overload14.C: New test. 2001-04-20 Jakub Jelinek <jakub@redhat.com> diff --git a/gcc/testsuite/g++.old-deja/g++.other/comdat2-aux.cc b/gcc/testsuite/g++.old-deja/g++.other/comdat2-aux.cc new file mode 100644 index 00000000000..283e4e092bd --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/comdat2-aux.cc @@ -0,0 +1,17 @@ +template <class T> +struct S { + static int f () + { + static int i; + return ++i; + } + S () {}; + ~S () {}; +}; + +typedef S<int> a; + +int g () +{ + return a::f(); +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/comdat2.C b/gcc/testsuite/g++.old-deja/g++.other/comdat2.C new file mode 100644 index 00000000000..73c1da0083a --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/comdat2.C @@ -0,0 +1,31 @@ +// Test that statics in inline functions are unified between +// translation units. Currently we handle this by just suppressing +// inling and relying on unification of the function itself. + +// Special g++ Options: -O + +// Additional sources: comdat2-aux.cc + +template <class T> +struct S { + static int f () + { + static int i; + return ++i; + } + S () {}; + ~S () {}; +}; + +typedef S<int> a; + +int g (); + +int main () +{ + if (a::f() != 1 + || g() != 2 + || a::f() != 3) + return 1; + return 0; +} |