1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 #define NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) 4 5 #if !__has_attribute(no_sanitize_address) 6 #error "Should support no_sanitize_address" 7 #endif 8 9 void no_analyze() NO_SANITIZE_ADDRESS; 10 11 void no_analyze_alt() __attribute__((__no_sanitize_address__)); 12 13 void no_analyze_args() __attribute__((no_sanitize_address(1))); // \ 14 // expected-error {{'no_sanitize_address' attribute takes no arguments}} 15 16 int no_analyze_testfn(int y) NO_SANITIZE_ADDRESS; 17 no_analyze_testfn(int y)18int no_analyze_testfn(int y) { 19 int x NO_SANITIZE_ADDRESS = y; // \ 20 // expected-error {{'no_sanitize_address' attribute only applies to functions}} 21 return x; 22 } 23 24 class NoAnalyzeFoo { 25 private: 26 int test_field NO_SANITIZE_ADDRESS; // \ 27 // expected-error {{'no_sanitize_address' attribute only applies to functions}} 28 void test_method() NO_SANITIZE_ADDRESS; 29 }; 30 31 class NO_SANITIZE_ADDRESS NoAnalyzeTestClass { // \ 32 // expected-error {{'no_sanitize_address' attribute only applies to functions}} 33 }; 34 35 void no_analyze_params(int lvar NO_SANITIZE_ADDRESS); // \ 36 // expected-error {{'no_sanitize_address' attribute only applies to functions}} 37