From 8fa2cbf31edbd5124692864007de566d59125559 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Tue, 29 Oct 2013 03:54:41 +0000 Subject: [PATCH] Add missing attributes [[gnu::no_sanitize_address]] and [[gnu::no_address_safety_analysis]]. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193583 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/Attr.td | 4 +++- test/Parser/cxx0x-attributes.cpp | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td index 16e249bcf5..9b2de33433 100644 --- a/include/clang/Basic/Attr.td +++ b/include/clang/Basic/Attr.td @@ -807,7 +807,9 @@ def X86ForceAlignArgPointer : InheritableAttr, TargetSpecificAttr { // Attribute to disable AddressSanitizer (or equivalent) checks. def NoSanitizeAddress : InheritableAttr { let Spellings = [GNU<"no_address_safety_analysis">, - GNU<"no_sanitize_address">]; + GNU<"no_sanitize_address">, + CXX11<"gnu", "no_address_safety_analysis">, + CXX11<"gnu", "no_sanitize_address">]; } // Attribute to disable ThreadSanitizer checks. diff --git a/test/Parser/cxx0x-attributes.cpp b/test/Parser/cxx0x-attributes.cpp index 824aeae06d..b02add9845 100644 --- a/test/Parser/cxx0x-attributes.cpp +++ b/test/Parser/cxx0x-attributes.cpp @@ -312,3 +312,10 @@ namespace GccConst { void f(const int *); void g() { f(f1()); f(f2()); } } + +namespace GccASan { + __attribute__((no_address_safety_analysis)) void f1(); + __attribute__((no_sanitize_address)) void f2(); + [[gnu::no_address_safety_analysis]] void f3(); + [[gnu::no_sanitize_address]] void f4(); +} -- 2.40.0