Skip to content

Commit

Permalink
Downgrade the warning about the use of typedefs for class template
Browse files Browse the repository at this point in the history
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
  • Loading branch information
DougGregor committed Jun 7, 2011
1 parent 3054358 commit 5b01b83
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion include/clang/Basic/DiagnosticSemaKinds.td
Expand Up @@ -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<
Expand Down
4 changes: 2 additions & 2 deletions test/CXX/temp/temp.spec/temp.explicit/p2.cpp
@@ -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() { } };
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit 5b01b83

Please sign in to comment.