Fix mismatched enum value name and diagnostic text.

ExpectedFunctionGlobalVarMethodOrProperty
would previously say "functions and global variables"
instead of "functions, methods, properties, and global variables"

The newly added ExpectedFunctionOrGlobalVariable
says "functions and global variables"

Differential Revision: https://reviews.llvm.org/D26459

llvm-svn: 286599
This commit is contained in:
Douglas Katzman 2016-11-11 16:51:40 +00:00
parent a6ccd19035
commit 180529892d
4 changed files with 7 additions and 5 deletions

View File

@ -382,7 +382,7 @@ def Alias : Attr {
let Spellings = [GCC<"alias">];
let Args = [StringArgument<"Aliasee">];
let Subjects = SubjectList<[Function, GlobalVar], ErrorDiag,
"ExpectedFunctionGlobalVarMethodOrProperty">;
"ExpectedFunctionOrGlobalVar">;
let Documentation = [Undocumented];
}
@ -1746,7 +1746,7 @@ def NoSanitizeSpecific : InheritableAttr {
GCC<"no_sanitize_thread">,
GNU<"no_sanitize_memory">];
let Subjects = SubjectList<[Function, GlobalVar], ErrorDiag,
"ExpectedFunctionGlobalVarMethodOrProperty">;
"ExpectedFunctionOrGlobalVar">;
let Documentation = [NoSanitizeAddressDocs, NoSanitizeThreadDocs,
NoSanitizeMemoryDocs];
let ASTNode = 0;

View File

@ -2599,6 +2599,7 @@ def warn_attribute_wrong_decl_type : Warning<
"functions"
"|unions"
"|variables and functions"
"|functions and global variables"
"|functions, variables, and Objective-C interfaces"
"|functions and methods"
"|parameters"
@ -2629,7 +2630,7 @@ def warn_attribute_wrong_decl_type : Warning<
"|functions, variables, classes, and Objective-C interfaces"
"|Objective-C protocols"
"|variables with static or thread storage duration"
"|functions and global variables"
"|functions, methods, properties, and global variables"
"|structs, unions, and typedefs"
"|structs and typedefs"
"|interface or protocol declarations"

View File

@ -885,6 +885,7 @@ enum AttributeDeclKind {
ExpectedFunction,
ExpectedUnion,
ExpectedVariableOrFunction,
ExpectedFunctionOrGlobalVar,
ExpectedFunctionVariableOrObjCInterface,
ExpectedFunctionOrMethod,
ExpectedParameter,

View File

@ -10,7 +10,7 @@ int y __attribute__((section(
// PR6007
void test() {
__attribute__((section("NEAR,x"))) int n1; // expected-error {{'section' attribute only applies to functions and global variables}}
__attribute__((section("NEAR,x"))) int n1; // expected-error {{'section' attribute only applies to functions, methods, properties, and global variables}}
__attribute__((section("NEAR,x"))) static int n2; // ok.
}
@ -18,4 +18,4 @@ void test() {
void __attribute__((section("foo,zed"))) test2(void); // expected-note {{previous attribute is here}}
void __attribute__((section("bar,zed"))) test2(void) {} // expected-warning {{section does not match previous declaration}}
enum __attribute__((section("NEAR,x"))) e { one }; // expected-error {{'section' attribute only applies to functions and global variables}}
enum __attribute__((section("NEAR,x"))) e { one }; // expected-error {{'section' attribute only applies to functions, methods, properties, and global variables}}