Bill Wendling | 3bba3ef | 2013-02-20 19:30:01 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck -check-prefix=WITHOUT %s |
| 2 | // RUN: %clang_cc1 -emit-llvm -o - %s -fsanitize=address | FileCheck -check-prefix=ASAN %s |
Alexander Potapenko | 89651ea | 2012-02-02 11:49:28 +0000 | [diff] [blame] | 3 | |
| 4 | @interface MyClass |
| 5 | + (int) addressSafety:(int*)a; |
| 6 | @end |
| 7 | |
| 8 | @implementation MyClass |
| 9 | |
Bill Wendling | 3bba3ef | 2013-02-20 19:30:01 +0000 | [diff] [blame] | 10 | // WITHOUT: +[MyClass load]{{.*}}#0 |
Bill Wendling | f7a9da0 | 2013-02-20 07:22:19 +0000 | [diff] [blame] | 11 | // ASAN: +[MyClass load]{{.*}}#0 |
Alexander Potapenko | 89651ea | 2012-02-02 11:49:28 +0000 | [diff] [blame] | 12 | +(void) load { } |
| 13 | |
Bill Wendling | 3bba3ef | 2013-02-20 19:30:01 +0000 | [diff] [blame] | 14 | // WITHOUT: +[MyClass addressSafety:]{{.*}}#0 |
Bill Wendling | f7a9da0 | 2013-02-20 07:22:19 +0000 | [diff] [blame] | 15 | // ASAN: +[MyClass addressSafety:]{{.*}}#0 |
Alexander Potapenko | 89651ea | 2012-02-02 11:49:28 +0000 | [diff] [blame] | 16 | + (int) addressSafety:(int*)a { return *a; } |
| 17 | |
| 18 | @end |
Bill Wendling | f7a9da0 | 2013-02-20 07:22:19 +0000 | [diff] [blame] | 19 | |
Kostya Serebryany | 85aee96 | 2013-02-26 06:58:27 +0000 | [diff] [blame] | 20 | // ASAN: attributes #0 = {{.*}}sanitize_address |
| 21 | // WITHOUT-NOT: attributes #0 = {{.*}}sanitize_address |