summaryrefslogtreecommitdiff
path: root/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/Lexer/has_feature_undefined_behavior_sanitizer.cpp')
-rw-r--r--test/Lexer/has_feature_undefined_behavior_sanitizer.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp b/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
new file mode 100644
index 0000000000000..62e5316dde58e
--- /dev/null
+++ b/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
@@ -0,0 +1,13 @@
+// RUN: %clang -E -fsanitize=undefined %s -o - | FileCheck --check-prefix=CHECK-UBSAN %s
+// RUN: %clang -E -fsanitize=alignment %s -o - | FileCheck --check-prefix=CHECK-ALIGNMENT %s
+// RUN: %clang -E %s -o - | FileCheck --check-prefix=CHECK-NO-UBSAN %s
+
+#if __has_feature(undefined_behavior_sanitizer)
+int UBSanEnabled();
+#else
+int UBSanDisabled();
+#endif
+
+// CHECK-UBSAN: UBSanEnabled
+// CHECK-ALIGNMENT: UBSanEnabled
+// CHECK-NO-UBSAN: UBSanDisabled