diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2013-11-25 18:50:49 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2013-11-25 18:50:49 +0000 |
commit | 90f8c6fb310158d58ad359c68962f7aa95503b19 (patch) | |
tree | ed30a525c79bced4f7d4cca1be4272076a216550 /clang/lib/Sema/SemaDeclAttr.cpp | |
parent | 458eb55e550aeb27076d7a62498c170001ff8c3d (diff) | |
download | bcm5719-llvm-90f8c6fb310158d58ad359c68962f7aa95503b19.tar.gz bcm5719-llvm-90f8c6fb310158d58ad359c68962f7aa95503b19.zip |
Making type_tag_for_datatype consistent with its declared subject from Attr.td. Also updated the related testcase.
Reviewed by Dmitri Gribenko.
llvm-svn: 195675
Diffstat (limited to 'clang/lib/Sema/SemaDeclAttr.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 15ec5857a95..75674b08ef5 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -4089,6 +4089,12 @@ static void handleTypeTagForDatatypeAttr(Sema &S, Decl *D, if (!checkAttributeNumArgs(S, Attr, 1)) return; + if (!isa<VarDecl>(D)) { + S.Diag(Attr.getLoc(), diag::err_attribute_wrong_decl_type) + << Attr.getName() << ExpectedVariable; + return; + } + IdentifierInfo *PointerKind = Attr.getArgAsIdent(0)->Ident; TypeSourceInfo *MatchingCTypeLoc = 0; S.GetTypeFromParser(Attr.getMatchingCType(), &MatchingCTypeLoc); |