[clang] [clang] Reject constexpr-unknown values as constant expressions more consistently (PR #129952)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 9 19:04:57 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-armv8-quick` running on `linaro-clang-armv8-quick` while building `clang` at step 5 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/154/builds/13059

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'Clang :: CodeGenCXX/cxx23-p2280r4.cpp' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/21/include -nostdsysteminc -triple armv8l-unknown-linux-gnueabihf -std=c++23 /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/CodeGenCXX/cxx23-p2280r4.cpp -emit-llvm -o - | /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/CodeGenCXX/cxx23-p2280r4.cpp
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/21/include -nostdsysteminc -triple armv8l-unknown-linux-gnueabihf -std=c++23 /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/CodeGenCXX/cxx23-p2280r4.cpp -emit-llvm -o -
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/CodeGenCXX/cxx23-p2280r4.cpp
/home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/CodeGenCXX/cxx23-p2280r4.cpp:18:11: error: CHECK: expected string not found in input
// CHECK: [[X1:%.*]] = load ptr, ptr @x, align 8
          ^
<stdin>:34:30: note: scanning from here
define dso_local void @_Z1fv(ptr dead_on_unwind noalias writable sret(%struct.B) align 4 %agg.result) #0 {
                             ^
<stdin>:38:2: note: possible intended match here
 %0 = load ptr, ptr @x, align 4
 ^

Input file: <stdin>
Check file: /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/CodeGenCXX/cxx23-p2280r4.cpp

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           29: } 
           30:  
           31: declare noundef nonnull align 4 dereferenceable(4) ptr @_Z2ffv() #2 
           32:  
           33: ; Function Attrs: mustprogress noinline nounwind optnone 
           34: define dso_local void @_Z1fv(ptr dead_on_unwind noalias writable sret(%struct.B) align 4 %agg.result) #0 { 
check:18'0                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
           35: entry: 
check:18'0     ~~~~~~~
           36:  %x = getelementptr inbounds nuw %struct.B, ptr %agg.result, i32 0, i32 0 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           37:  %x1 = getelementptr inbounds nuw %struct.A, ptr %x, i32 0, i32 0 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           38:  %0 = load ptr, ptr @x, align 4 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:18'1      ?                               possible intended match
           39:  store ptr %0, ptr %x1, align 4 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           40:  %arrayinit.element = getelementptr inbounds %struct.A, ptr %x, i32 1 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           41:  %x2 = getelementptr inbounds nuw %struct.A, ptr %arrayinit.element, i32 0, i32 0 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...

```

</details>

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


More information about the cfe-commits mailing list