[clang] [clang][Sema] Diagnose passing function pointer to `__builtin_assume_aligned` (PR #153552)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 15 05:28:51 PDT 2025


AaronBallman wrote:

It looks like precommit CI found relevant failures though: 
```
 ********************
  Failed Tests (40):
    UBSan-AddressSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-AddressSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-AddressSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-AddressSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-AddressSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-AddressSanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-AddressSanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-AddressSanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-AddressSanitizer-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-AddressSanitizer-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-MemorySanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-MemorySanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-MemorySanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-MemorySanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-MemorySanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-MemorySanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-MemorySanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-MemorySanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-MemorySanitizer-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-MemorySanitizer-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-Standalone-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-Standalone-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-Standalone-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-Standalone-lld-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-Standalone-lld-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-Standalone-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-Standalone-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-Standalone-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-Standalone-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-Standalone-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-ThreadSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-ThreadSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-ThreadSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-ThreadSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-ThreadSanitizer-lld-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
    UBSan-ThreadSanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params-variable.cpp
    UBSan-ThreadSanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-three-params.cpp
    UBSan-ThreadSanitizer-x86_64 :: TestCases/Pointer/align-assume-builtin_assume_aligned-two-params.cpp
    UBSan-ThreadSanitizer-x86_64 :: TestCases/Pointer/align-assume-ignorelist.cpp
    UBSan-ThreadSanitizer-x86_64 :: TestCases/Pointer/align-assume-summary.cpp
  
  
  Testing Time: 61.89s
  
  Total Discovered Tests: 7681
    Skipped          :   18 (0.23%)
    Unsupported      : 1286 (16.74%)
    Passed           : 6273 (81.67%)
    Expectedly Failed:   64 (0.83%)
    Failed           :   40 (0.52%)
```

https://github.com/llvm/llvm-project/pull/153552


More information about the cfe-commits mailing list