summaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Attributes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Basic/Attributes.cpp')
-rw-r--r--clang/lib/Basic/Attributes.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Basic/Attributes.cpp b/clang/lib/Basic/Attributes.cpp
index 81b186f844b8..5878a4e3f83a 100644
--- a/clang/lib/Basic/Attributes.cpp
+++ b/clang/lib/Basic/Attributes.cpp
@@ -189,7 +189,12 @@ AttributeCommonInfo::Kind
AttributeCommonInfo::getParsedKind(const IdentifierInfo *Name,
const IdentifierInfo *ScopeName,
Syntax SyntaxUsed) {
- return ::getAttrKind(normalizeName(Name, ScopeName, SyntaxUsed), SyntaxUsed);
+ AttributeCommonInfo::Kind Kind =
+ ::getAttrKind(normalizeName(Name, ScopeName, SyntaxUsed), SyntaxUsed);
+ if (SyntaxUsed == AS_HLSLAnnotation &&
+ Kind == AttributeCommonInfo::Kind::UnknownAttribute)
+ return AttributeCommonInfo::Kind::AT_HLSLUnparsedSemantic;
+ return Kind;
}
AttributeCommonInfo::AttrArgsInfo