[llvm-branch-commits] [clang] [clang] Introduce scopes for arguments without destructors (PR #191019)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 8 11:19:58 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 53526 tests passed
* 1080 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### Clang
<details>
<summary>Clang.CodeGenCXX/conditional-temporaries.cpp</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_work\llvm-project\llvm-project\build\lib\clang\23\include -nostdsysteminc -emit-llvm C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp -o - -triple=x86_64-apple-darwin9 -O2 -disable-llvm-passes | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp --check-prefixes=CHECK,CHECK-NOOPT
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_work\llvm-project\llvm-project\build\lib\clang\23\include' -nostdsysteminc -emit-llvm 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp' -o - -triple=x86_64-apple-darwin9 -O2 -disable-llvm-passes
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp' --check-prefixes=CHECK,CHECK-NOOPT
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp:90:18: error: CHECK-NOOPT: expected string not found in input
# |  // CHECK-NOOPT: load i1,
# |                  ^
# | <stdin>:148:10: note: scanning from here
# |  br label %cond.end
# |          ^
# | <stdin>:158:9: note: possible intended match here
# | declare void @llvm.lifetime.start.p0(ptr captures(none)) #3
# |         ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp:159:18: error: CHECK-NOOPT: expected string not found in input
# |  // CHECK-NOOPT: call void @llvm.lifetime.end
# |                  ^
# | <stdin>:196:10: note: scanning from here
# |  br label %cond.end
# |          ^
# | <stdin>:206:8: note: possible intended match here
# | define noundef i32 @_Z22lifetime_nontriv_emptyb(i1 noundef zeroext %cond) #1 {
# |        ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\conditional-temporaries.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            143: cleanup.done25: ; preds = %cleanup.action24, %cleanup.done22 
# |            144:  br label %cond.end 
# |            145:  
# |            146: cond.false: ; preds = %entry 
# |            147:  %call26 = call noundef i32 @_Z1giii(i32 noundef 1, i32 noundef 2, i32 noundef 3) 
# |            148:  br label %cond.end 
# | check:90'0               X~~~~~~~~~~ error: no match found
# |            149:  
# | check:90'0      ~
# |            150: cond.end: ; preds = %cond.false, %cleanup.done25 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            151:  %cond27 = phi i32 [ %call10, %cleanup.done25 ], [ %call26, %cond.false ] 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            152:  ret i32 %cond27 
# | check:90'0      ~~~~~~~~~~~~~~~~~
# |            153: } 
# | check:90'0      ~~
# |            154:  
# | check:90'0      ~
# |            155: declare noundef i32 @_Z1giii(i32 noundef, i32 noundef, i32 noundef) #2 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            156:  
# | check:90'0      ~
# |            157: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            158: declare void @llvm.lifetime.start.p0(ptr captures(none)) #3 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:90'1              ?                                                    possible intended match
# |            159:  
# | check:90'0      ~
# |            160: declare noundef i32 @_ZN1X1fEv(ptr noundef nonnull align 1 dereferenceable(1)) #2 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            161:  
# | check:90'0      ~
# |            162: ; Function Attrs: nounwind 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            163: declare void @_ZN1XD1Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 
# | check:90'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            191:  call void @llvm.lifetime.end.p0(ptr %ref.tmp) #5 
# |            192:  br label %cond.end 
# |            193:  
# |            194: cond.false: ; preds = %entry 
# |            195:  %call6 = call noundef i32 @_Z1giii(i32 noundef 1, i32 noundef 2, i32 noundef 3) 
# |            196:  br label %cond.end 
# | check:159'0              X~~~~~~~~~~ error: no match found
# |            197:  
# | check:159'0     ~
# |            198: cond.end: ; preds = %cond.false, %cond.true 
# | check:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            199:  %cond7 = phi i32 [ %call5, %cond.true ], [ %call6, %cond.false ] 
# | check:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            200:  ret i32 %cond7 
# | check:159'0     ~~~~~~~~~~~~~~~~
# |            201: } 
# | check:159'0     ~~
# |            202:  
# | check:159'0     ~
# |            203: declare noundef i32 @_ZN1Y1fEv(ptr noundef nonnull align 1 dereferenceable(1)) #2 
# | check:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            204:  
# | check:159'0     ~
# |            205: ; Function Attrs: mustprogress nounwind 
# | check:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            206: define noundef i32 @_Z22lifetime_nontriv_emptyb(i1 noundef zeroext %cond) #1 { 
# | check:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:159'1            ?                                                                        possible intended match
# |            207: entry: 
# |            208:  %cond.addr = alloca i8, align 1 
# |            209:  %ref.tmp = alloca %struct.Z, align 1 
# |            210:  %cleanup.cond = alloca i1, align 1 
# |            211:  %cleanup.cond1 = alloca i1, align 1 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-branch-commits mailing list