]> granicus.if.org Git - clang/commitdiff
Downgrade the warning about the use of typedefs for class template
authorDouglas Gregor <dgregor@apple.com>
Tue, 7 Jun 2011 02:21:18 +0000 (02:21 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 7 Jun 2011 02:21:18 +0000 (02:21 +0000)
specializations within an explicit instantiation to default to off
(enabled by -pedantic). Nobody else seem to implement C++
[temp.explicit]p3. Fixes PR10093.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132704 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
test/CXX/temp/temp.spec/temp.explicit/p2.cpp

index 54a094f68d5bfe3c198989eab2147071e408cf24..53372bb627396619882349e0b682120d9a902872 100644 (file)
@@ -2047,7 +2047,7 @@ def note_explicit_instantiation_candidate : Note<
   "explicit instantiation candidate function template here %0">;
 def err_explicit_instantiation_inline : Error<
   "explicit instantiation cannot be 'inline'">;
-def ext_explicit_instantiation_without_qualified_id : ExtWarn<
+def ext_explicit_instantiation_without_qualified_id : Extension<
   "qualifier in explicit instantiation of %q0 requires a template-id "
   "(a typedef is not permitted)">;
 def err_explicit_instantiation_unqualified_wrong_namespace : Error<
index 70d338b9f64546c7b15c9c2350bdd54bdf7b9d06..822f881712120c88d2bd71324023135774ea57a8 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -fsyntax-only -verify -pedantic %s
 
 // Example from the standard
 template<class T> class Array { void mf() { } }; 
@@ -35,7 +35,7 @@ namespace N {
   };
   
   template<typename T>
-  void f1(T) {}; // expected-note{{explicit instantiation refers here}}
+  void f1(T) {} // expected-note{{explicit instantiation refers here}}
 }
 using namespace N;