[PATCH] D144016: [Sema] Relax a failing assertion in TransformBlockExpr
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 15 12:07:28 PST 2023
aaron.ballman added a comment.
Precommit CI found an issue on Windows that should be addressed:
FAIL: Clang :: CodeGenCXX/cxx1z-constexpr-if.cpp (7014 of 17903)
******************** TEST 'Clang :: CodeGenCXX/cxx1z-constexpr-if.cpp' FAILED ********************
Script:
--
: 'RUN: at line 1'; c:\ws\w32-1\llvm-project\premerge-checks\build\bin\clang.exe -cc1 -internal-isystem c:\ws\w32-1\llvm-project\premerge-checks\build\lib\clang\17\include -nostdsysteminc -std=c++1z C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp -emit-llvm -fblocks -o - | c:\ws\w32-1\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp --implicit-check-not=should_not_be_used
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "c:\ws\w32-1\llvm-project\premerge-checks\build\bin\clang.exe" "-cc1" "-internal-isystem" "c:\ws\w32-1\llvm-project\premerge-checks\build\lib\clang\17\include" "-nostdsysteminc" "-std=c++1z" "C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp" "-emit-llvm" "-fblocks" "-o" "-"
$ "c:\ws\w32-1\llvm-project\premerge-checks\build\bin\filecheck.exe" "C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp" "--implicit-check-not=should_not_be_used"
# command stderr:
C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp:50:17: error: CHECK-LABEL: expected string not found in input
// CHECK-LABEL: define internal void @___ZN16BlockThisCapture1S1mILb0EEEvv_block_invoke(
^
<stdin>:1:1: note: scanning from here
; ModuleID = 'C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp'
^
<stdin>:53:1: note: possible intended match here
define internal void @"__??$m@$0A@@S at BlockThisCapture@@QEAAXXZ_block_invoke"(ptr noundef %.block_descriptor) #3 {
^
Input file: <stdin>
Check file: C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'C:\ws\w32-1\llvm-project\premerge-checks\clang\test\CodeGenCXX\cxx1z-constexpr-if.cpp'
label:50'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
2: source_filename = "C:\\ws\\w32-1\\llvm-project\\premerge-checks\\clang\\test\\CodeGenCXX\\cxx1z-constexpr-if.cpp"
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4: target triple = "x86_64-pc-windows-msvc"
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5:
label:50'0 ~
6: %"struct.BlockThisCapture::S" = type { i8 }
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
48: call void %0(ptr noundef @__block_literal_global)
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: ret void
label:50'0 ~~~~~~~~~~
50: }
label:50'0 ~~
51:
label:50'0 ~
52: ; Function Attrs: noinline nounwind optnone
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53: define internal void @"__??$m@$0A@@S at BlockThisCapture@@QEAAXXZ_block_invoke"(ptr noundef %.block_descriptor) #3 {
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
label:50'1 ? possible intended match
54: entry:
label:50'0 ~~~~~~~
55: %.block_descriptor.addr = alloca ptr, align 8
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: %block.addr = alloca ptr, align 8
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57: store ptr %.block_descriptor, ptr %.block_descriptor.addr, align 8
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: store ptr %.block_descriptor, ptr %block.addr, align 8
label:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
error: command failed with exit status: 1
It looks like you may need a target triple to ensure the mangled names are consistent.
Also, can you add a release note for the fix?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144016/new/
https://reviews.llvm.org/D144016
More information about the cfe-commits
mailing list