diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/const2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/const2.C | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/const2.C b/gcc/testsuite/g++.old-deja/g++.pt/const2.C new file mode 100644 index 000000000..3ca4a532b --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/const2.C @@ -0,0 +1,14 @@ +// { dg-do link } +// This test should get a linker error for the reference to A<int>::i. +// { dg-prune-output "ld: symbol" } +// { dg-message "i" "" { target *-*-* } 0 } + +template <class T> struct B { static const int i = 3; }; +template <class T> struct A { static const int i = B<T>::i; }; +const int *p = &A<int>::i; + +int main () +{ + // Examine p to prevent optimising linkers from discarding it. + return (p != 0); +} |