summaryrefslogtreecommitdiffstats
path: root/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp')
-rw-r--r--test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp b/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
index 3b5b5af..88cfc5d 100644
--- a/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
+++ b/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
@@ -18,7 +18,18 @@ namespace test1 {
};
typedef A<int> AA;
- template <> int AA::foo = 0; // expected-error {{cannot use typedef}}
- int AA::bar = 1; // expected-error {{cannot use typedef}} expected-error {{template specialization requires 'template<>'}}
+ template <> int AA::foo = 0;
+ int AA::bar = 1; // expected-error {{template specialization requires 'template<>'}}
int A<float>::bar = 2; // expected-error {{template specialization requires 'template<>'}}
+
+ template <> class A<double> {
+ public:
+ static int foo; // expected-note{{attempt to specialize}}
+ static int bar;
+ };
+
+ typedef A<double> AB;
+ template <> int AB::foo = 0; // expected-error{{extraneous 'template<>'}} \
+ // expected-error{{does not specialize}}
+ int AB::bar = 1;
}
OpenPOWER on IntegriCloud