llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Florian Mayer (fmayer)

<details>
<summary>Changes</summary>

Reverts llvm/llvm-project#<!-- -->148310

Some targets don't support the flags passed in the test

---
Full diff: https://github.com/llvm/llvm-project/pull/148322.diff


2 Files Affected:

- (modified) clang/include/clang/Basic/Features.def (-41) 
- (modified) clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp 
(+2-166) 


``````````diff
diff --git a/clang/include/clang/Basic/Features.def 
b/clang/include/clang/Basic/Features.def
index 579461b4f710f..14bff8a68846d 100644
--- a/clang/include/clang/Basic/Features.def
+++ b/clang/include/clang/Basic/Features.def
@@ -54,47 +54,6 @@ FEATURE(memtag_globals,
 FEATURE(xray_instrument, LangOpts.XRayInstrument)
 FEATURE(undefined_behavior_sanitizer,
         LangOpts.Sanitize.hasOneOf(SanitizerKind::Undefined))
-FEATURE(undefined_behavior_sanitizer_finegrained_feature_checks, true)
-// These are all part of undefined_behavior_sanitizer:
-FEATURE(alignment_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Alignment))
-FEATURE(bool_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Bool))
-FEATURE(builtin_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Builtin))
-FEATURE(array_bounds_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::ArrayBounds))
-FEATURE(enum_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Enum))
-FEATURE(float_cast_overflow_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::FloatCastOverflow))
-FEATURE(integer_divide_by_zero_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::IntegerDivideByZero))
-FEATURE(nonnull_attribute_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::NonnullAttribute))
-FEATURE(null_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Null))
-FEATURE(object_size_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::ObjectSize))
-FEATURE(pointer_overflow_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::PointerOverflow))
-FEATURE(return_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Return))
-FEATURE(returns_nonnull_attribute_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::ReturnsNonnullAttribute))
-FEATURE(shift_base_sanitizer, LangOpts.Sanitize.has(SanitizerKind::ShiftBase))
-FEATURE(shift_exponent_sanitizer, 
LangOpts.Sanitize.has(SanitizerKind::ShiftExponent))
-FEATURE(shift_sanitizer,
-        LangOpts.Sanitize.hasOneOf(SanitizerKind::Shift))
-FEATURE(signed_integer_overflow_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::SignedIntegerOverflow))
-FEATURE(unreachable_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Unreachable))
-FEATURE(vla_bound_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::VLABound))
-FEATURE(function_sanitizer,
-        LangOpts.Sanitize.has(SanitizerKind::Function))
-
 FEATURE(realtime_sanitizer,
         LangOpts.Sanitize.has(SanitizerKind::Realtime))
 FEATURE(coverage_sanitizer, LangOpts.SanitizeCoverage)
diff --git a/clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp 
b/clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
index 257b472e83f3e..62e5316dde58e 100644
--- a/clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
+++ b/clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
@@ -1,177 +1,13 @@
 // RUN: %clang -E -fsanitize=undefined %s -o - | FileCheck 
--check-prefix=CHECK-UBSAN %s
-// RUN: %clang -E -fsanitize=alignment %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-ALIGNMENT %s
-// RUN: %clang -E -fsanitize=bool %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-BOOL %s
-// RUN: %clang -E -fsanitize=builtin %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-BUILTIN %s
-// RUN: %clang -E -fsanitize=array-bounds %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-ARRAY-BOUNDS %s
-// RUN: %clang -E -fsanitize=enum %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-ENUM %s
-// RUN: %clang -E -fsanitize=float-cast-overflow %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-FLOAT-CAST-OVERFLOW %s
-// RUN: %clang -E -fsanitize=integer-divide-by-zero %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-INTEGER-DIVIDE-BY-ZERO %s
-// RUN: %clang -E -fsanitize=nonnull-attribute %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-NONNULL-ATTRIBUTE %s
-// RUN: %clang -E -fsanitize=null %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-NULL %s
-// object-size is a no-op at O0.
-// RUN: %clang -E -O2 -fsanitize=object-size %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-OBJECT-SIZE %s
-// RUN: %clang -E -fsanitize=pointer-overflow %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-POINTER-OVERFLOW %s
-// RUN: %clang -E -fsanitize=return %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-RETURN %s
-// RUN: %clang -E -fsanitize=returns-nonnull-attribute %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-RETURNS-NONNULL-ATTRIBUTE %s
-// RUN: %clang -E -fsanitize=shift-base %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-SHIFT-BASE,CHECK-SHIFT %s
-// RUN: %clang -E -fsanitize=shift-exponent %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-SHIFT-EXPONENT,CHECK-SHIFT %s
-// RUN: %clang -E -fsanitize=shift %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-SHIFT %s
-// RUN: %clang -E -fsanitize=signed-integer-overflow %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-SIGNED-INTEGER-OVERFLOW %s
-// RUN: %clang -E -fsanitize=unreachable %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-UNREACHABLE %s
-// RUN: %clang -E -fsanitize=vla-bound %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-VLA-BOUND %s
-// RUN: %clang -E -fsanitize=function %s -o - | FileCheck 
--check-prefixes=CHECK-UBSAN,CHECK-FUNCTION %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_finegrained_feature_checks)
-#error "Missing undefined_behavior_sanitizer_finegrained_feature_checks"
-#endif
-
 #if __has_feature(undefined_behavior_sanitizer)
 int UBSanEnabled();
 #else
 int UBSanDisabled();
 #endif
 
-#if __has_feature(alignment_sanitizer)
-int AlignmentSanitizerEnabled();
-#else
-int AlignmentSanitizerDisabled();
-#endif
-
-#if __has_feature(bool_sanitizer)
-int BoolSanitizerEnabled();
-#else
-int BoolSanitizerDisabled();
-#endif
-
-#if __has_feature(builtin_sanitizer)
-int BuiltinSanitizerEnabled();
-#else
-int BuiltinSanitizerDisabled();
-#endif
-
-#if __has_feature(array_bounds_sanitizer)
-int ArrayBoundsSanitizerEnabled();
-#else
-int ArrayBoundsSanitizerDisabled();
-#endif
-
-#if __has_feature(enum_sanitizer)
-int EnumSanitizerEnabled();
-#else
-int EnumSanitizerDisabled();
-#endif
-
-#if __has_feature(float_cast_overflow_sanitizer)
-int FloatCastOverflowSanitizerEnabled();
-#else
-int FloatCastOverflowSanitizerDisabled();
-#endif
-
-#if __has_feature(integer_divide_by_zero_sanitizer)
-int IntegerDivideByZeroSanitizerEnabled();
-#else
-int IntegerDivideByZeroSanitizerDisabled();
-#endif
-
-#if __has_feature(nonnull_attribute_sanitizer)
-int NonnullAttributeSanitizerEnabled();
-#else
-int NonnullAttributeSanitizerDisabled();
-#endif
-
-#if __has_feature(null_sanitizer)
-int NullSanitizerEnabled();
-#else
-int NullSanitizerDisabled();
-#endif
-
-#if __has_feature(object_size_sanitizer)
-int ObjectSizeSanitizerEnabled();
-#else
-int ObjectSizeSanitizerDisabled();
-#endif
-
-#if __has_feature(pointer_overflow_sanitizer)
-int PointerOverflowSanitizerEnabled();
-#else
-int PointerOverflowSanitizerDisabled();
-#endif
-
-#if __has_feature(return_sanitizer)
-int ReturnSanitizerEnabled();
-#else
-int ReturnSanitizerDisabled();
-#endif
-
-#if __has_feature(returns_nonnull_attribute_sanitizer)
-int ReturnsNonnullAttributeSanitizerEnabled();
-#else
-int ReturnsNonnullAttributeSanitizerDisabled();
-#endif
-
-#if __has_feature(shift_base_sanitizer)
-int ShiftBaseSanitizerEnabled();
-#else
-int ShiftBaseSanitizerDisabled();
-#endif
-
-#if __has_feature(shift_exponent_sanitizer)
-int ShiftExponentSanitizerEnabled();
-#else
-int ShiftExponentSanitizerDisabled();
-#endif
-
-#if __has_feature(shift_sanitizer)
-int ShiftSanitizerEnabled();
-#else
-int ShiftSanitizerDisabled();
-#endif
-
-#if __has_feature(signed_integer_overflow_sanitizer)
-int SignedIntegerOverflowSanitizerEnabled();
-#else
-int SignedIntegerOverflowSanitizerDisabled();
-#endif
-
-#if __has_feature(unreachable_sanitizer)
-int UnreachableSanitizerEnabled();
-#else
-int UnreachableSanitizerDisabled();
-#endif
-
-#if __has_feature(vla_bound_sanitizer)
-int VLABoundSanitizerEnabled();
-#else
-int VLABoundSanitizerDisabled();
-#endif
-
-#if __has_feature(function_sanitizer)
-int FunctionSanitizerEnabled();
-#else
-int FunctionSanitizerDisabled();
-#endif
-
 // CHECK-UBSAN: UBSanEnabled
-// CHECK-ALIGNMENT: AlignmentSanitizerEnabled
-// CHECK-BOOL: BoolSanitizerEnabled
-// CHECK-BUILTIN: BuiltinSanitizerEnabled
-// CHECK-ARRAY-BOUNDS: ArrayBoundsSanitizerEnabled
-// CHECK-ENUM: EnumSanitizerEnabled
-// CHECK-FLOAT-CAST-OVERFLOW: FloatCastOverflowSanitizerEnabled
-// CHECK-INTEGER-DIVIDE-BY-ZERO: IntegerDivideByZeroSanitizerEnabled
-// CHECK-NONNULL-ATTRIBUTE: NonnullAttributeSanitizerEnabled
-// CHECK-NULL: NullSanitizerEnabled
-// CHECK-OBJECT-SIZE: ObjectSizeSanitizerEnabled
-// CHECK-POINTER-OVERFLOW: PointerOverflowSanitizerEnabled
-// CHECK-RETURN: ReturnSanitizerEnabled
-// CHECK-RETURNS-NONNULL-ATTRIBUTE: ReturnsNonnullAttributeSanitizerEnabled
-// CHECK-SHIFT-BASE: ShiftBaseSanitizerEnabled
-// CHECK-SHIFT-EXPONENT: ShiftExponentSanitizerEnabled
-// CHECK-SHIFT: ShiftSanitizerEnabled
-// CHECK-SIGNED-INTEGER-OVERFLOW: SignedIntegerOverflowSanitizerEnabled
-// CHECK-UNREACHABLE: UnreachableSanitizerEnabled
-// CHECK-VLA-BOUND: VLABoundSanitizerEnabled
-// CHECK-FUNCTION: FunctionSanitizerEnabled
+// CHECK-ALIGNMENT: UBSanEnabled
 // CHECK-NO-UBSAN: UBSanDisabled

``````````

</details>


https://github.com/llvm/llvm-project/pull/148322
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to