From 1cb27131cc0df5f4662abc22dc31a982bbd516c5 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Thu, 26 Dec 2013 17:30:44 +0000 Subject: [PATCH] Removed a string literal for an attribute name, which means the attribute name will be quoted in the diagnostic. Manually added some quotes to a diagnostic for consistency. Updated the test cases as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198054 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaDecl.cpp | 2 +- lib/Sema/SemaDeclAttr.cpp | 2 +- test/Sema/attr-used.c | 8 ++++---- test/SemaCXX/attr-used.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 30ec0c4e4b..9ed9510a65 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -8934,7 +8934,7 @@ Sema::FinalizeDeclaration(Decl *ThisDecl) { if (UsedAttr *Attr = VD->getAttr()) { if (!Attr->isInherited() && !VD->isThisDeclarationADefinition()) { - Diag(Attr->getLocation(), diag::warn_attribute_ignored) << "used"; + Diag(Attr->getLocation(), diag::warn_attribute_ignored) << "'used'"; VD->dropAttr(); } } diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp index 66fce3410a..26988b2326 100644 --- a/lib/Sema/SemaDeclAttr.cpp +++ b/lib/Sema/SemaDeclAttr.cpp @@ -1622,7 +1622,7 @@ static void handleUnusedAttr(Sema &S, Decl *D, const AttributeList &Attr) { static void handleUsedAttr(Sema &S, Decl *D, const AttributeList &Attr) { if (const VarDecl *VD = dyn_cast(D)) { if (VD->hasLocalStorage()) { - S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << "used"; + S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << Attr.getName(); return; } } else if (!isFunctionOrMethod(D)) { diff --git a/test/Sema/attr-used.c b/test/Sema/attr-used.c index accc7b620b..4e3bda7609 100644 --- a/test/Sema/attr-used.c +++ b/test/Sema/attr-used.c @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fsyntax-only -Wno-private-extern %s -extern int l0 __attribute__((used)); // expected-warning {{used attribute ignored}} -__private_extern__ int l1 __attribute__((used)); // expected-warning {{used attribute ignored}} +extern int l0 __attribute__((used)); // expected-warning {{'used' attribute ignored}} +__private_extern__ int l1 __attribute__((used)); // expected-warning {{'used' attribute ignored}} struct __attribute__((used)) s { // expected-warning {{'used' attribute only applies to variables and functions}} int x; @@ -13,8 +13,8 @@ static void __attribute__((used)) f0(void) { } void f1() { - static int a __attribute__((used)); - int b __attribute__((used)); // expected-warning {{used attribute ignored}} + static int a __attribute__((used)); + int b __attribute__((used)); // expected-warning {{'used' attribute ignored}} } static void __attribute__((used)) f0(void); diff --git a/test/SemaCXX/attr-used.cpp b/test/SemaCXX/attr-used.cpp index 9bae3edc7f..65df861f83 100644 --- a/test/SemaCXX/attr-used.cpp +++ b/test/SemaCXX/attr-used.cpp @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s -extern char test1[] __attribute__((used)); // expected-warning {{used attribute ignored}} -extern const char test2[] __attribute__((used)); // expected-warning {{used attribute ignored}} +extern char test1[] __attribute__((used)); // expected-warning {{'used' attribute ignored}} +extern const char test2[] __attribute__((used)); // expected-warning {{'used' attribute ignored}} extern const char test3[] __attribute__((used)) = ""; -- 2.40.0