diff options
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 44ca495cb15..d65ba117dc8 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -513,35 +513,30 @@ static bool isTagTypeWithMissingTag(Sema &SemaRef, LookupResult &Result, LookupResult R(SemaRef, Name, NameLoc, Sema::LookupTagName); SemaRef.LookupParsedName(R, S, &SS); if (TagDecl *Tag = R.getAsSingle<TagDecl>()) { - const char *TagName = 0; - const char *FixItTagName = 0; + StringRef FixItTagName; switch (Tag->getTagKind()) { case TTK_Class: - TagName = "class"; FixItTagName = "class "; break; case TTK_Enum: - TagName = "enum"; FixItTagName = "enum "; break; case TTK_Struct: - TagName = "struct"; FixItTagName = "struct "; break; case TTK_Interface: - TagName = "__interface"; FixItTagName = "__interface "; break; case TTK_Union: - TagName = "union"; FixItTagName = "union "; break; } + StringRef TagName = FixItTagName.drop_back(); SemaRef.Diag(NameLoc, diag::err_use_of_tag_name_without_tag) << Name << TagName << SemaRef.getLangOpts().CPlusPlus << FixItHint::CreateInsertion(NameLoc, FixItTagName); |