diff options
author | Douglas Katzman <dougk@google.com> | 2016-10-14 19:55:09 +0000 |
---|---|---|
committer | Douglas Katzman <dougk@google.com> | 2016-10-14 19:55:09 +0000 |
commit | 3ed0f643fc3267b7fbb319e4cb5610e5a7e1ba86 (patch) | |
tree | c78c3e1d4ce390185d4059c55d78750d01cc1365 /clang/include | |
parent | f80a27e3c6190a9aaec4454696cd4c162e3164e6 (diff) | |
download | bcm5719-llvm-3ed0f643fc3267b7fbb319e4cb5610e5a7e1ba86.tar.gz bcm5719-llvm-3ed0f643fc3267b7fbb319e4cb5610e5a7e1ba86.zip |
Implement no_sanitize_address for global vars
llvm-svn: 284272
Diffstat (limited to 'clang/include')
-rw-r--r-- | clang/include/clang/Basic/Attr.td | 6 | ||||
-rw-r--r-- | clang/include/clang/Basic/DiagnosticSemaKinds.td | 1 | ||||
-rw-r--r-- | clang/include/clang/Sema/AttributeList.h | 1 |
3 files changed, 6 insertions, 2 deletions
diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td index 1fea69ff0e2..2855207b4b6 100644 --- a/clang/include/clang/Basic/Attr.td +++ b/clang/include/clang/Basic/Attr.td @@ -1705,7 +1705,8 @@ def X86ForceAlignArgPointer : InheritableAttr, TargetSpecificAttr<TargetX86> { def NoSanitize : InheritableAttr { let Spellings = [GNU<"no_sanitize">, CXX11<"clang", "no_sanitize">]; let Args = [VariadicStringArgument<"Sanitizers">]; - let Subjects = SubjectList<[Function, ObjCMethod], ErrorDiag>; + let Subjects = SubjectList<[Function, ObjCMethod, GlobalVar], ErrorDiag, + "ExpectedFunctionMethodOrGlobalVar">; let Documentation = [NoSanitizeDocs]; let AdditionalMembers = [{ SanitizerMask getMask() const { @@ -1727,7 +1728,8 @@ def NoSanitizeSpecific : InheritableAttr { GCC<"no_sanitize_address">, GCC<"no_sanitize_thread">, GNU<"no_sanitize_memory">]; - let Subjects = SubjectList<[Function], ErrorDiag>; + let Subjects = SubjectList<[Function, GlobalVar], ErrorDiag, + "ExpectedFunctionGlobalVarMethodOrProperty">; let Documentation = [NoSanitizeAddressDocs, NoSanitizeThreadDocs, NoSanitizeMemoryDocs]; let ASTNode = 0; diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index 872311f6024..b92ca3d34b9 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -2577,6 +2577,7 @@ def warn_attribute_wrong_decl_type : Warning< "|functions, methods and blocks" "|functions, methods, and classes" "|functions, methods, and parameters" + "|functions, methods, and global variables" "|classes" "|enums" "|variables" diff --git a/clang/include/clang/Sema/AttributeList.h b/clang/include/clang/Sema/AttributeList.h index ff04f264964..96653ef8ea4 100644 --- a/clang/include/clang/Sema/AttributeList.h +++ b/clang/include/clang/Sema/AttributeList.h @@ -891,6 +891,7 @@ enum AttributeDeclKind { ExpectedFunctionMethodOrBlock, ExpectedFunctionMethodOrClass, ExpectedFunctionMethodOrParameter, + ExpectedFunctionMethodOrGlobalVar, ExpectedClass, ExpectedEnum, ExpectedVariable, |