summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2013-10-26 06:12:44 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2013-10-26 06:12:44 +0000
commit6bedcfa79f3adbb398fbc2c8813ba17a5d48f11d (patch)
treee9305a72c68fac642d4a55301401e3260ad38533 /clang/lib
parent3ae0bfa244b1733eadeef6ee707b516061c71157 (diff)
downloadbcm5719-llvm-6bedcfa79f3adbb398fbc2c8813ba17a5d48f11d.tar.gz
bcm5719-llvm-6bedcfa79f3adbb398fbc2c8813ba17a5d48f11d.zip
Sema: Emit a nicer diagnostic when IndirectFieldDecls show up inappropriately in non-type template arguments
llvm-svn: 193462
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaTemplate.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 198b479ba14..795774657c7 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -4361,9 +4361,9 @@ CheckTemplateArgumentAddressOfObjectOrFunction(Sema &S,
ValueDecl *Entity = DRE->getDecl();
// Cannot refer to non-static data members
- if (FieldDecl *Field = dyn_cast<FieldDecl>(Entity)) {
+ if (isa<FieldDecl>(Entity) || isa<IndirectFieldDecl>(Entity)) {
S.Diag(Arg->getLocStart(), diag::err_template_arg_field)
- << Field << Arg->getSourceRange();
+ << Entity << Arg->getSourceRange();
S.Diag(Param->getLocation(), diag::note_template_param_here);
return true;
}
OpenPOWER on IntegriCloud