[clang] [clang][Sema] support block pointers as non-type template parameters (PR #191694)

via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 17 05:40:59 PDT 2026


github-actions[bot] wrote:

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

* 53671 tests passed
* 1121 tests skipped
* 1 test failed

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

### Clang
<details>
<summary>Clang.CodeGenCXX/nttp-blockpointer.cpp</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
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 -std=c++20 -fblocks -triple x86_64-apple-darwin -emit-llvm -o - C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\nttp-blockpointer.cpp | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\nttp-blockpointer.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 -std=c++20 -fblocks -triple x86_64-apple-darwin -emit-llvm -o - 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\nttp-blockpointer.cpp'
# 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\nttp-blockpointer.cpp'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\nttp-blockpointer.cpp:72:11: error: CHECK: expected string not found in input
# | // CHECK: define internal void @_Z1fIXcvU13block_pointerFvvEadUb_EEvv()
# |           ^
# | <stdin>:136:78: note: scanning from here
# |  call void @_Z10f_variadicIJXcvU13block_pointerFvvEadUb4_EXcvS1_adUb5_EEEvv()
# |                                                                              ^
# | <stdin>:141:1: note: possible intended match here
# | define internal void @_Z10f_variadicIJXcvU13block_pointerFvvEadUb4_EXcvS1_adUb5_EEEvv() #1 {
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\nttp-blockpointer.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           131: } 
# |           132:  
# |           133: ; Function Attrs: mustprogress noinline nounwind optnone 
# |           134: define void @_Z13test_variadicv() #1 { 
# |           135: entry: 
# |           136:  call void @_Z10f_variadicIJXcvU13block_pointerFvvEadUb4_EXcvS1_adUb5_EEEvv() 
# | check:72'0                                                                                  X error: no match found
# |           137:  ret void 
# | check:72'0     ~~~~~~~~~~
# |           138: } 
# | check:72'0     ~~
# |           139:  
# | check:72'0     ~
# |           140: ; Function Attrs: mustprogress noinline nounwind optnone 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           141: define internal void @_Z10f_variadicIJXcvU13block_pointerFvvEadUb4_EXcvS1_adUb5_EEEvv() #1 { 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:72'1     ?                                                                                             possible intended match
# |           142: entry: 
# | check:72'0     ~~~~~~~
# |           143:  %0 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @__block_literal_global.9, i64 16), align 8 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           144:  call void %0(ptr noundef @__block_literal_global.9) 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           145:  %1 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @__block_literal_global.11, i64 16), align 8 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           146:  call void %1(ptr noundef @__block_literal_global.11) 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# 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/191694


More information about the cfe-commits mailing list