diff options
Diffstat (limited to 'clang/test/Sema')
-rw-r--r-- | clang/test/Sema/xray-log-args-oob.c | 9 | ||||
-rw-r--r-- | clang/test/Sema/xray-log-args-oob.cpp | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/Sema/xray-log-args-oob.c b/clang/test/Sema/xray-log-args-oob.c new file mode 100644 index 00000000000..a6be0f81cb4 --- /dev/null +++ b/clang/test/Sema/xray-log-args-oob.c @@ -0,0 +1,9 @@ +// RUN: %clang_cc1 %s -verify -fsyntax-only -std=c11 +void foo(int) __attribute__((xray_log_args(1))); +struct __attribute__((xray_log_args(1))) a { int x; }; // expected-warning {{'xray_log_args' attribute only applies to functions and methods}} + +void fop() __attribute__((xray_log_args(1))); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}} + +void foq() __attribute__((xray_log_args(-1))); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}} + +void fos() __attribute__((xray_log_args(0))); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}} diff --git a/clang/test/Sema/xray-log-args-oob.cpp b/clang/test/Sema/xray-log-args-oob.cpp new file mode 100644 index 00000000000..414bce0c334 --- /dev/null +++ b/clang/test/Sema/xray-log-args-oob.cpp @@ -0,0 +1,9 @@ +// RUN: %clang_cc1 %s -verify -fsyntax-only -std=c++11 -x c++ +void foo [[clang::xray_log_args(1)]] (int); +struct [[clang::xray_log_args(1)]] a { int x; }; // expected-warning {{'xray_log_args' attribute only applies to functions and methods}} + +void fop [[clang::xray_log_args(1)]] (); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}} + +void foq [[clang::xray_log_args(-1)]] (); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}} + +void fos [[clang::xray_log_args(0)]] (); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}} |