summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaTemplate.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index f6863fb2799..a7a6bb4f0cf 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -7282,12 +7282,9 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
//
// C++98 has the same restriction, just worded differently.
//
- // C++1y If the explicit instantiation is for a variable, the
- // unqualified-id in the declaration shall be a template-id.
- if (!ScopeSpecifierHasTemplateId(D.getCXXScopeSpec()) &&
- (!PrevTemplate ||
- (D.getName().getKind() != UnqualifiedId::IK_TemplateId &&
- D.getCXXScopeSpec().isSet())))
+ // This does not apply to variable template specializations, where the
+ // template-id is in the unqualified-id instead.
+ if (!ScopeSpecifierHasTemplateId(D.getCXXScopeSpec()) && !PrevTemplate)
Diag(D.getIdentifierLoc(),
diag::ext_explicit_instantiation_without_qualified_id)
<< Prev << D.getCXXScopeSpec().getRange();
OpenPOWER on IntegriCloud