diff options
author | Martin Sebor <msebor@redhat.com> | 2017-01-11 21:02:46 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2017-01-11 14:02:46 -0700 |
commit | 3594adc7b02ebd2a6f66d3b5db9f6ebbd1bc6547 (patch) | |
tree | 9832fc5ed512100c0621333f325a13d0a6275067 /gcc | |
parent | 01bfd25762bea829b0ad271bc6daeddb7fcac22f (diff) | |
download | gcc-3594adc7b02ebd2a6f66d3b5db9f6ebbd1bc6547.zip gcc-3594adc7b02ebd2a6f66d3b5db9f6ebbd1bc6547.tar.gz gcc-3594adc7b02ebd2a6f66d3b5db9f6ebbd1bc6547.tar.bz2 |
PR c++/24511 - [DR 470] explicit instantiation/extern template unsats
PR c++/24511 - [DR 470] explicit instantiation/extern template unsats
// on symbols defined later
gcc/testsuite/ChangeLog:
* g++.dg/template/explicit9.C: New test.
From-SVN: r244337
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/explicit9.C | 24 |
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4f281cb..98fd949 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-01-11 Martin Sebor <msebor@redhat.com> + + PR c++/24511 + * g++.dg/template/explicit9.C: New test. + 2017-01-11 Nathan Sidwell <nathan@acm.org> PR c++/77812 diff --git a/gcc/testsuite/g++.dg/template/explicit9.C b/gcc/testsuite/g++.dg/template/explicit9.C new file mode 100644 index 0000000..e4f7d88 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/explicit9.C @@ -0,0 +1,24 @@ +// PR c++/24511 - [DR 470] explicit instantiation/extern template unsats +// on symbols defined later +// { dg-do compile } + +template <class T> struct S { T foo (); T bar (); }; +template <class T> T S<T>::foo () { return T (); } + +#ifndef MAIN + +// This part is being tested by the dg-final directive. +template struct S<int>; +#else + +// This part is not being tested. +extern template struct S<int>; +int main () +{ + return S<int>().foo () + S<int>().bar (); +} +#endif + +template <class T> T S<T>::bar () { return T (); } + +// { dg-final { scan-assembler-not "\\\*UND\\\*\[^\n]*_Z1fIiEvPT_" } } |