diff options
author | David Majnemer <david.majnemer@gmail.com> | 2013-10-26 06:12:44 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2013-10-26 06:12:44 +0000 |
commit | 6bedcfa79f3adbb398fbc2c8813ba17a5d48f11d (patch) | |
tree | e9305a72c68fac642d4a55301401e3260ad38533 /clang/lib/Sema | |
parent | 3ae0bfa244b1733eadeef6ee707b516061c71157 (diff) | |
download | bcm5719-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/Sema')
-rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 4 |
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; } |