[clang] [llvm] [WebAssembly] Represent reference types as TargetExtType (PR #203165)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 10 21:47:53 PDT 2026


github-actions[bot] wrote:

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

* 135637 tests passed
* 3418 tests skipped
* 2 tests failed

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

### Clang
<details>
<summary>Clang.CodeGen/WebAssembly/wasm-funcref.c</summary>

```
Exit Code: 2

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 -triple wasm32 -target-feature +reference-types -o - -emit-llvm C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c
# 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 -triple wasm32 -target-feature +reference-types -o - -emit-llvm 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c'
# .---command stderr------------
# | Assertion failed: functionPtr->getType()->isPointerTy(), file C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CGCall.h, line 121
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and dumped files.
# | Stack dump:
# | 0.	Program arguments: 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 -triple wasm32 -target-feature +reference-types -o - -emit-llvm C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\WebAssembly\\wasm-funcref.c
# | 1.	C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c:111:1: current parser token 'int'
# | 2.	C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c:93:5: LLVM IR generation of declaration 'call_fn'
# | 3.	C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c:93:5: Generating code for declaration 'call_fn'
# | Exception Code: 0xC000001D
# |  #0 0x00007ff6374527b6 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x8527b6)
# |  #1 0x00007ff83962bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ff83962cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ff83962e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ff83962e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff63b99769a (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4d9769a)
# |  #6 0x00007ff63b996d6b (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4d96d6b)
# |  #7 0x00007ff63d064719 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x6464719)
# |  #8 0x00007ff63d04b143 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x644b143)
# |  #9 0x00007ff63bc5573e (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x505573e)
# | #10 0x00007ff63bc510df (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x50510df)
# | #11 0x00007ff63bc59b85 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x5059b85)
# | #12 0x00007ff63b92a12a (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4d2a12a)
# | #13 0x00007ff6393e77b3 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27e77b3)
# | #14 0x00007ff6393dd84f (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27dd84f)
# | #15 0x00007ff6393e3b33 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27e3b33)
# | #16 0x00007ff6393dc0d4 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27dc0d4)
# | #17 0x00007ff63c97efcb (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x5d7efcb)
# | #18 0x00007ff639a87f47 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2e87f47)
# | #19 0x00007ff63c8ade99 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x5cade99)
# | #20 0x00007ff6399d6bef (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2dd6bef)
# | #21 0x00007ff637598b50 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x998b50)
# | #22 0x00007ff63764e32c (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0xa4e32c)
# | #23 0x00007ff636c087ca (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x87ca)
# | #24 0x00007ff636c04204 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4204)
# | #25 0x00007ff636c029ba (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x29ba)
# | #26 0x00007ff636c17c8c (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x17c8c)
# | #27 0x00007ff63e255770 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x7655770)
# | #28 0x00007ff841aa4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #29 0x00007ff84e5dedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGen\WebAssembly\wasm-funcref.c
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>Clang.CodeGenCXX/wasm-reftypes-mangle.cpp</summary>

```
Exit Code: 2

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 C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp -triple wasm32-unknown-unknown -target-feature +reference-types -emit-llvm -o - -std=c++11 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp
# 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 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp' -triple wasm32-unknown-unknown -target-feature +reference-types -emit-llvm -o - -std=c++11
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 572
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and dumped files.
# | Stack dump:
# | 0.	Program arguments: 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 C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGenCXX\\wasm-reftypes-mangle.cpp -triple wasm32-unknown-unknown -target-feature +reference-types -emit-llvm -o - -std=c++11
# | 1.	C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp:14:1: current parser token 'void'
# | 2.	C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp:11:11: LLVM IR generation of declaration 'fptr'
# | 3.	C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp:11:11: Generating code for declaration 'fptr'
# | Exception Code: 0xC000001D
# |  #0 0x00007ff6374527b6 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x8527b6)
# |  #1 0x00007ff83962bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ff83962cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ff83962e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ff83962e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff63ba871d3 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4e871d3)
# |  #6 0x00007ff6393ea4cf (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27ea4cf)
# |  #7 0x00007ff6393dd81e (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27dd81e)
# |  #8 0x00007ff6393e3b33 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27e3b33)
# |  #9 0x00007ff6393dc121 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x27dc121)
# | #10 0x00007ff63c97efcb (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x5d7efcb)
# | #11 0x00007ff639a87f47 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2e87f47)
# | #12 0x00007ff63c8ade99 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x5cade99)
# | #13 0x00007ff6399d6bef (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2dd6bef)
# | #14 0x00007ff637598b50 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x998b50)
# | #15 0x00007ff63764e32c (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0xa4e32c)
# | #16 0x00007ff636c087ca (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x87ca)
# | #17 0x00007ff636c04204 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4204)
# | #18 0x00007ff636c029ba (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x29ba)
# | #19 0x00007ff636c17c8c (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x17c8c)
# | #20 0x00007ff63e255770 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x7655770)
# | #21 0x00007ff841aa4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ff84e5dedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\wasm-reftypes-mangle.cpp
# `-----------------------------
# error: command failed with exit status: 2

--

```
</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/203165


More information about the cfe-commits mailing list