teak-llvm/clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
Leonard Chan b32d40417e [Lexer] Add udefined_behavior_sanitizer feature
This can be used to detect whether the code is being built with UBSan using
the __has_feature(undefined_behavior_sanitizer) predicate.

Differential Revision: https://reviews.llvm.org/D52386

llvm-svn: 342793
2018-09-22 01:03:16 +00:00

14 lines
453 B
C++

// 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