[clang] [llvm] [HIP] Fix ubsan function checks applied to kernel functions (PR #188872)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 3 10:31:12 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 133041 tests passed
* 3060 tests skipped
* 8 tests failed
## Failed Tests
(click on a test name to see its output)
### Clang
<details>
<summary>Clang.CodeGen/AMDGPU/sanitizer.c</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 -cc1 -triple amdgcn-amd-amdhsa -emit-llvm -fsanitize=function C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.c -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.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 -cc1 -triple amdgcn-amd-amdhsa -emit-llvm -fsanitize=function 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.c' -o -
# 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\CodeGen\AMDGPU\sanitizer.c'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.c:5:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: ) #[[ATTR0:[0-9]+]] !func_sanitize [[META2:![0-9]+]] {
# | ^
# | <stdin>:7:33: note: scanning from here
# | define dso_local void @function() #0 {
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.c:12:21: error: undefined variable: ATTR0
# | // CHECK-SAME: ) #[[ATTR0]] {
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\AMDGPU\sanitizer.c'
# | 2: source_filename = "C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\AMDGPU\\sanitizer.c"
# | 3: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
# | 4: target triple = "amdgcn-amd-amdhsa"
# | 5:
# | 6: ; Function Attrs: convergent noinline nounwind optnone
# | 7: define dso_local void @function() #0 {
# | same:5 X~~~~~~ error: no match found
# | 8: entry:
# | same:5 ~~~~~~~
# | 9: ret void
# | same:5 ~~~~~~~~~~
# | 10: }
# | same:5 ~~
# | 11:
# | same:5 ~
# | 12: ; Function Attrs: convergent noinline nounwind optnone
# | same:5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: define dso_local amdgpu_kernel void @kernel() #0 !func_sanitize !2 {
# | same:5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:12'0 X~~~~~~~~~~~~~~~~~~~~~~~~ error: match failed for invalid pattern
# | same:12'1 undefined variable: ATTR0
# | 14: entry:
# | same:12'0 ~~~~~~~
# | 15: call void @function() #1
# | same:12'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 16: ret void
# | same:12'0 ~~~~~~~~~~
# | 17: }
# | same:12'0 ~~
# | 18:
# | same:12'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CodeGen/ubsan-function-attributed.c</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 -S -triple x86_64 -std=c17 -fsanitize=function C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-attributed.c -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-attributed.c --check-prefixes=CHECK
# 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 -S -triple x86_64 -std=c17 -fsanitize=function 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-attributed.c' -o -
# 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\CodeGen\ubsan-function-attributed.c' --check-prefixes=CHECK
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-attributed.c:4:11: error: CHECK: expected string not found in input
# | // CHECK: .long 248076293
# | ^
# | <stdin>:1:1: note: scanning from here
# | .att_syntax
# | ^
# | <stdin>:52:10: note: possible intended match here
# | .ident "clang version 23.0.0git (https://github.com/llvm/llvm-project 01f74e68bd3b033c43a25da48065be4d38e8ca3b)"
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-attributed.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: .att_syntax
# | check:4'0 X~~~~~~~~~~~~ error: no match found
# | 2: .file "ubsan-function-attributed.c"
# | check:4'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3: .text
# | check:4'0 ~~~~~~~
# | 4: .globl f # -- Begin function f
# | check:4'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5: .p2align 4
# | check:4'0 ~~~~~~~~~~~~
# | 6: .type f, at function
# | check:4'0 ~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 47: retq
# | check:4'0 ~~~~~~
# | 48: .Lfunc_end3:
# | check:4'0 ~~~~~~~~~~~~~
# | 49: .size g_no_prototype, .Lfunc_end3-g_no_prototype
# | check:4'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 50: .size .Lg_no_prototype$local, .Lfunc_end3-g_no_prototype
# | check:4'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 51: # -- End function
# | check:4'0 ~~~~~~~~~~~~~~~~~~~
# | 52: .ident "clang version 23.0.0git (https://github.com/llvm/llvm-project 01f74e68bd3b033c43a25da48065be4d38e8ca3b)"
# | check:4'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:4'1 ? possible intended match
# | 53: .section ".note.GNU-stack","", at progbits
# | check:4'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CodeGen/ubsan-function-sugared.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 -triple x86_64-linux-gnu -emit-llvm -o - C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp -fsanitize=function -fno-sanitize-recover=all | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp --check-prefixes=CHECK,GNU,64
# 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 x86_64-linux-gnu -emit-llvm -o - 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp' -fsanitize=function -fno-sanitize-recover=all
# 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\CodeGen\ubsan-function-sugared.cpp' --check-prefixes=CHECK,GNU,64
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp:7:9: error: GNU: expected string not found in input
# | // GNU: define{{.*}} void @_Z3funv() #0 !func_sanitize ![[FUNCSAN:.*]] {
# | ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp'
# | ^
# | <stdin>:11:8: note: possible intended match here
# | define dso_local void @_Z3funv() #0 {
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp:40:12: error: undefined variable: FUNCSAN
# | // GNU: ![[FUNCSAN]] = !{i32 -1056584962, i32 905068220}
# | ^
# | <stdin>:57:23: note: possible intended match here
# | !2 = !{!"branch_weights", i32 1048575, i32 1}
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function-sugared.cpp'
# | check:7'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 2: source_filename = "C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\ubsan-function-sugared.cpp"
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 4: target triple = "x86_64-unknown-linux-gnu"
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5:
# | check:7'0 ~
# | 6: @.src = private unnamed_addr constant [81 x i8] c"C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\ubsan-function-sugared.cpp\00", align 1
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 7: @0 = private unnamed_addr constant { i16, i16, [13 x i8] } { i16 -1, i16 0, [13 x i8] c"'void (*)()'\00" }
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 8: @1 = private unnamed_addr global { { ptr, i32, i32 }, ptr } { { ptr, i32, i32 } { ptr @.src, i32 37, i32 3 }, ptr @0 }
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9:
# | check:7'0 ~
# | 10: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: define dso_local void @_Z3funv() #0 {
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:7'1 ? possible intended match
# | 12: entry:
# | check:7'0 ~~~~~~~
# | 13: ret void
# | check:7'0 ~~~~~~~~~~
# | 14: }
# | check:7'0 ~~
# | 15:
# | check:7'0 ~
# | 16: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 38: cont: ; preds = %typecheck
# | 39: br label %cont1, !nosanitize !1
# | 40:
# | 41: cont1: ; preds = %cont, %entry
# | 42: call void %0()
# | 43: ret void
# | check:40'0 X error: match failed for invalid pattern
# | check:40'1 undefined variable: FUNCSAN
# | 44: }
# | check:40'0 ~~
# | 45:
# | check:40'0 ~
# | 46: ; Function Attrs: noreturn nounwind uwtable
# | check:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 47: declare void @__ubsan_handle_function_type_mismatch_abort(ptr, i64) #1
# | check:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 48:
# | check:40'0 ~
# | .
# | .
# | .
# | 52:
# | check:40'0 ~
# | 53: !llvm.ident = !{!0}
# | check:40'0 ~~~~~~~~~~~~~~~~~~~~
# | 54:
# | check:40'0 ~
# | 55: !0 = !{!"clang version 23.0.0git (https://github.com/llvm/llvm-project 01f74e68bd3b033c43a25da48065be4d38e8ca3b)"}
# | check:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 56: !1 = !{}
# | check:40'0 ~~~~~~~~~
# | 57: !2 = !{!"branch_weights", i32 1048575, i32 1}
# | check:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:40'2 ? possible intended match
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CodeGen/ubsan-function.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 -triple x86_64-linux-gnu -emit-llvm -o - C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp -fsanitize=function -fno-sanitize-recover=all | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp --check-prefixes=CHECK,GNU,64
# 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 x86_64-linux-gnu -emit-llvm -o - 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp' -fsanitize=function -fno-sanitize-recover=all
# 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\CodeGen\ubsan-function.cpp' --check-prefixes=CHECK,GNU,64
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp:10:9: error: GNU: expected string not found in input
# | // GNU: define{{.*}} void @_Z3funv() #0 !func_sanitize ![[FUNCSAN:.*]] {
# | ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp'
# | ^
# | <stdin>:11:8: note: possible intended match here
# | define dso_local void @_Z3funv() #0 {
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp:59:12: error: undefined variable: FUNCSAN
# | // GNU: ![[FUNCSAN]] = !{i32 -1056584962, i32 905068220}
# | ^
# | <stdin>:73:23: note: possible intended match here
# | !2 = !{!"branch_weights", i32 1048575, i32 1}
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\ubsan-function.cpp'
# | check:10'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 2: source_filename = "C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\ubsan-function.cpp"
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 4: target triple = "x86_64-unknown-linux-gnu"
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5:
# | check:10'0 ~
# | 6: @.src = private unnamed_addr constant [73 x i8] c"C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\ubsan-function.cpp\00", align 1
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 7: @0 = private unnamed_addr constant { i16, i16, [13 x i8] } { i16 -1, i16 0, [13 x i8] c"'void (*)()'\00" }
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 8: @1 = private unnamed_addr global { { ptr, i32, i32 }, ptr } { { ptr, i32, i32 } { ptr @.src, i32 40, i32 28 }, ptr @0 }
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9:
# | check:10'0 ~
# | 10: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: define dso_local void @_Z3funv() #0 {
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:10'1 ? possible intended match
# | 12: entry:
# | check:10'0 ~~~~~~~
# | 13: ret void
# | check:10'0 ~~~~~~~~~~
# | 14: }
# | check:10'0 ~~
# | 15:
# | check:10'0 ~
# | 16: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 57: entry:
# | 58: %f.addr = alloca ptr, align 8
# | 59: store ptr %f, ptr %f.addr, align 8
# | 60: %0 = load ptr, ptr %f.addr, align 8
# | 61: call void %0()
# | 62: ret void
# | check:59'0 X error: match failed for invalid pattern
# | check:59'1 undefined variable: FUNCSAN
# | 63: }
# | check:59'0 ~~
# | 64:
# | check:59'0 ~
# | 65: attributes #0 = { mustprogress noinline nounwind optnone "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
# | check:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 66: attributes #1 = { noreturn nounwind uwtable }
# | check:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 67: attributes #2 = { nomerge noreturn nounwind }
# | check:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 68:
# | check:59'0 ~
# | 69: !llvm.ident = !{!0}
# | check:59'0 ~~~~~~~~~~~~~~~~~~~~
# | 70:
# | check:59'0 ~
# | 71: !0 = !{!"clang version 23.0.0git (https://github.com/llvm/llvm-project 01f74e68bd3b033c43a25da48065be4d38e8ca3b)"}
# | check:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 72: !1 = !{}
# | check:59'0 ~~~~~~~~~
# | 73: !2 = !{!"branch_weights", i32 1048575, i32 1}
# | check:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:59'2 ? possible intended match
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CodeGenCXX/catch-undef-behavior.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 -no-enable-noundef-analysis -std=c++11 -Wno-error=return-type -fsanitize=signed-integer-overflow,integer-divide-by-zero,float-divide-by-zero,shift-base,shift-exponent,unreachable,return,vla-bound,alignment,null,vptr,object-size,float-cast-overflow,bool,enum,array-bounds,function -fsanitize-recover=signed-integer-overflow,integer-divide-by-zero,float-divide-by-zero,shift-base,shift-exponent,vla-bound,alignment,null,vptr,object-size,float-cast-overflow,bool,enum,array-bounds,function -emit-llvm C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp -o - -triple x86_64-linux-gnu | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp --check-prefixes=CHECK,CHECK-FUNCSAN
# 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 -no-enable-noundef-analysis -std=c++11 -Wno-error=return-type -fsanitize=signed-integer-overflow,integer-divide-by-zero,float-divide-by-zero,shift-base,shift-exponent,unreachable,return,vla-bound,alignment,null,vptr,object-size,float-cast-overflow,bool,enum,array-bounds,function -fsanitize-recover=signed-integer-overflow,integer-divide-by-zero,float-divide-by-zero,shift-base,shift-exponent,vla-bound,alignment,null,vptr,object-size,float-cast-overflow,bool,enum,array-bounds,function -emit-llvm 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp' -o - -triple x86_64-linux-gnu
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp:159:1: warning: non-void function does not return a value [-Wreturn-type]
# | 159 | }
# | | ^
# | 1 warning generated.
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp' --check-prefixes=CHECK,CHECK-FUNCSAN
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp:391:19: error: CHECK-FUNCSAN: expected string not found in input
# | // CHECK-FUNCSAN: @_Z22indirect_function_callPFviE({{.*}} !func_sanitize ![[FUNCSAN:.*]] {
# | ^
# | <stdin>:1299:10: note: scanning from here
# | br i1 %8, label %cont, label %handler.type_mismatch, !prof !2, !nosanitize !1
# | ^
# | <stdin>:1310:23: note: possible intended match here
# | define dso_local void @_Z22indirect_function_callPFviE(ptr %p) #0 {
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp:473:11: error: CHECK: expected string not found in input
# | // CHECK: !func_sanitize
# | ^
# | <stdin>:1423:75: note: scanning from here
# | define dso_local void @_ZN29FunctionSanitizerVirtualCalls11force_irgenEv() #0 {
# | ^
# | <stdin>:1427:76: note: possible intended match here
# | %0 = call i64 @llvm.objectsize.i64.p0(ptr %a, i1 false, i1 false, i1 false), !nosanitize !1
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp:494:11: error: CHECK: expected string not found in input
# | // CHECK: !func_sanitize
# | ^
# | <stdin>:1744:67: note: scanning from here
# | define linkonce_odr void @_ZN29FunctionSanitizerVirtualCalls1B1qEv() #0 comdat align 2 {
# | ^
# | <stdin>:1749:3: note: possible intended match here
# | ; Function Attrs: mustprogress noinline nounwind optnone
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp:739:22: error: undefined variable: FUNCSAN
# | // CHECK-FUNCSAN: ![[FUNCSAN]] = !{i32 -1056584962, i32 -1000226989}
# | ^
# | <stdin>:3071:23: note: possible intended match here
# | !2 = !{!"branch_weights", i32 1048575, i32 1}
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\catch-undef-behavior.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 1294: %4 = ptrtoint ptr %sub.ptr to i64, !nosanitize !1
# | 1295: %5 = and i64 %4, 15, !nosanitize !1
# | 1296: %6 = icmp eq i64 %5, 0, !nosanitize !1
# | 1297: %7 = and i1 %1, %3, !nosanitize !1
# | 1298: %8 = and i1 %7, %6, !nosanitize !1
# | 1299: br i1 %8, label %cont, label %handler.type_mismatch, !prof !2, !nosanitize !1
# | check:391'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 1300:
# | check:391'0 ~
# | 1301: handler.type_mismatch: ; preds = %entry
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1302: call void @__ubsan_handle_type_mismatch_v1(ptr @67, i64 %4) #11, !nosanitize !1
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1303: br label %cont, !nosanitize !1
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1304:
# | check:391'0 ~
# | 1305: cont: ; preds = %handler.type_mismatch, %entry
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1306: ret void
# | check:391'0 ~~~~~~~~~~
# | 1307: }
# | check:391'0 ~~
# | 1308:
# | check:391'0 ~
# | 1309: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1310: define dso_local void @_Z22indirect_function_callPFviE(ptr %p) #0 {
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:391'1 ? possible intended match
# | 1311: entry:
# | check:391'0 ~~~~~~~
# | 1312: %p.addr = alloca ptr, align 8
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1313: store ptr %p, ptr %p.addr, align 8
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1314: %0 = load ptr, ptr %p.addr, align 8
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1315: %1 = getelementptr <{ i32, i32 }>, ptr %0, i32 -1, i32 0, !nosanitize !1
# | check:391'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 1418: tail call void @_ZN29FunctionSanitizerVirtualCalls1B1fEv(ptr nonnull align 8 dereferenceable(8) %2)
# | 1419: ret void
# | 1420: }
# | 1421:
# | 1422: ; Function Attrs: mustprogress noinline nounwind optnone
# | 1423: define dso_local void @_ZN29FunctionSanitizerVirtualCalls11force_irgenEv() #0 {
# | check:473'0 X~~~~~ error: no match found
# | 1424: entry:
# | check:473'0 ~~~~~~~
# | 1425: %a = alloca %"struct.FunctionSanitizerVirtualCalls::A", align 8
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1426: %b = alloca %"struct.FunctionSanitizerVirtualCalls::B", align 8
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1427: %0 = call i64 @llvm.objectsize.i64.p0(ptr %a, i1 false, i1 false, i1 false), !nosanitize !1
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:473'1 ? possible intended match
# | 1428: %1 = icmp uge i64 %0, 8, !nosanitize !1
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1429: br i1 %1, label %cont, label %handler.type_mismatch, !prof !2, !nosanitize !1
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1430:
# | check:473'0 ~
# | 1431: handler.type_mismatch: ; preds = %entry
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1432: %2 = ptrtoint ptr %a to i64, !nosanitize !1
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 1739: cont: ; preds = %handler.type_mismatch, %entry
# | 1740: ret void
# | 1741: }
# | 1742:
# | 1743: ; Function Attrs: mustprogress noinline nounwind optnone
# | 1744: define linkonce_odr void @_ZN29FunctionSanitizerVirtualCalls1B1qEv() #0 comdat align 2 {
# | check:494'0 X~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 1745: entry:
# | check:494'0 ~~~~~~~
# | 1746: ret void
# | check:494'0 ~~~~~~~~~~
# | 1747: }
# | check:494'0 ~~
# | 1748:
# | check:494'0 ~
# | 1749: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:494'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:494'1 ? possible intended match
# | 1750: define dso_local ptr @_ZN17UpcastPointerTest14upcast_pointerEPNS_1TE(ptr %t) #0 {
# | check:494'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 1751: entry:
# | 1752: %t.addr = alloca ptr, align 8
# | 1753: store ptr %t, ptr %t.addr, align 8
# | 1754: %0 = load ptr, ptr %t.addr, align 8
# | .
# | .
# | .
# | 3058: attributes #7 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
# | 3059: attributes #8 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
# | 3060: attributes #9 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
# | 3061: attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
# | 3062: attributes #11 = { nomerge nounwind }
# | 3063: attributes #12 = { nomerge noreturn nounwind }
# | check:739'0 X error: match failed for invalid pattern
# | check:739'1 undefined variable: FUNCSAN
# | 3064: attributes #13 = { nounwind }
# | check:739'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3065: attributes #14 = { builtin allocsize(0) }
# | check:739'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3066:
# | check:739'0 ~
# | 3067: !llvm.ident = !{!0}
# | check:739'0 ~~~~~~~~~~~~~~~~~~~~
# | 3068:
# | check:739'0 ~
# | 3069: !0 = !{!"clang version 23.0.0git (https://github.com/llvm/llvm-project 01f74e68bd3b033c43a25da48065be4d38e8ca3b)"}
# | check:739'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3070: !1 = !{}
# | check:739'0 ~~~~~~~~~
# | 3071: !2 = !{!"branch_weights", i32 1048575, i32 1}
# | check:739'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:739'2 ? possible intended match
# | 3072: !3 = !{i64 8}
# | check:739'0 ~~~~~~~~~~~~~~
# | 3073: !4 = !{i64 4}
# | check:739'0 ~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CodeGenCXX/ubsan-function-noexcept.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++17 -fsanitize=function -emit-llvm -triple x86_64-linux-gnu C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.cpp -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.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++17 -fsanitize=function -emit-llvm -triple x86_64-linux-gnu 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.cpp' -o -
# 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\ubsan-function-noexcept.cpp'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.cpp:5:11: error: CHECK: expected string not found in input
# | // CHECK: define{{.*}} void @_Z1fv() #[[#]] !func_sanitize ![[FUNCSAN:.*]] {
# | ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.cpp'
# | ^
# | <stdin>:11:8: note: possible intended match here
# | define dso_local void @_Z1fv() #0 {
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCXX\ubsan-function-noexcept.cpp'
# | check:5'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 2: source_filename = "C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGenCXX\\ubsan-function-noexcept.cpp"
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 4: target triple = "x86_64-unknown-linux-gnu"
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5:
# | check:5'0 ~
# | 6: @.src = private unnamed_addr constant [85 x i8] c"C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGenCXX\\ubsan-function-noexcept.cpp\00", align 1
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 7: @0 = private unnamed_addr constant { i16, i16, [22 x i8] } { i16 -1, i16 0, [22 x i8] c"'void (*)() noexcept'\00" }
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 8: @1 = private unnamed_addr global { { ptr, i32, i32 }, ptr } { { ptr, i32, i32 } { ptr @.src, i32 15, i32 3 }, ptr @0 }
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9:
# | check:5'0 ~
# | 10: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: define dso_local void @_Z1fv() #0 {
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:5'1 ? possible intended match
# | 12: entry:
# | check:5'0 ~~~~~~~
# | 13: ret void
# | check:5'0 ~~~~~~~~~~
# | 14: }
# | check:5'0 ~~
# | 15:
# | check:5'0 ~
# | 16: ; Function Attrs: mustprogress noinline nounwind optnone
# | check:5'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.DebugInfo/Generic/ubsan-function-debuginfo.c</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 -O2 -emit-llvm -triple x86_64 -std=c17 -fsanitize=function C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic\ubsan-function-debuginfo.c -o - -fdebug-prefix-map=C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic/= -fno-ident -fdebug-compilation-dir=C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic -debug-info-kind=limited -fsanitize-annotate-debug-info=function | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic\ubsan-function-debuginfo.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 -O2 -emit-llvm -triple x86_64 -std=c17 -fsanitize=function 'C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic\ubsan-function-debuginfo.c' -o - '-fdebug-prefix-map=C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic/=' -fno-ident '-fdebug-compilation-dir=C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic' -debug-info-kind=limited -fsanitize-annotate-debug-info=function
# 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\DebugInfo\Generic\ubsan-function-debuginfo.c'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic\ubsan-function-debuginfo.c:8:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: ptr noundef readonly captures(none) [[F:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] !dbg [[DBG5:![0-9]+]] !func_sanitize [[META14:![0-9]+]] {
# | ^
# | <stdin>:11:42: note: scanning from here
# | define dso_local void @call_no_prototype(ptr noundef readonly captures(none) %f) local_unnamed_addr #0 !dbg !8 {
# | ^
# | C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic\ubsan-function-debuginfo.c:17:61: error: undefined variable: ATTR0
# | // CHECK-SAME: ptr noundef [[F:%.*]]) local_unnamed_addr #[[ATTR0]] !dbg [[DBG18:![0-9]+]] !func_sanitize [[META26:![0-9]+]] {
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\DebugInfo\Generic\ubsan-function-debuginfo.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 6: @.src = private unnamed_addr constant [91 x i8] c"C:\\_work\\llvm-project\\llvm-project\\clang\\test\\DebugInfo\\Generic\\ubsan-function-debuginfo.c\00", align 1
# | 7: @0 = private unnamed_addr constant { i16, i16, [17 x i8] } { i16 -1, i16 0, [17 x i8] c"'void (*)(void)'\00" }
# | 8: @1 = private unnamed_addr global { { ptr, i32, i32 }, ptr } { { ptr, i32, i32 } { ptr @.src, i32 37, i32 40 }, ptr @0 }
# | 9:
# | 10: ; Function Attrs: nounwind
# | 11: define dso_local void @call_no_prototype(ptr noundef readonly captures(none) %f) local_unnamed_addr #0 !dbg !8 {
# | same:8 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 12: entry:
# | same:8 ~~~~~~~
# | 13: #dbg_value(ptr %f, !16, !DIExpression(), !17)
# | same:8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: tail call void (...) %f() #2, !dbg !18
# | same:8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: ret void, !dbg !19
# | same:8 ~~~~~~~~~~~~~~~~~~~~
# | 16: }
# | same:8 ~~
# | 17:
# | same:8 ~
# | 18: ; Function Attrs: nounwind
# | same:8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 19: define dso_local void @call_prototype(ptr noundef %f) local_unnamed_addr #0 !dbg !20 {
# | same:8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:17'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match failed for invalid pattern
# | same:17'1 undefined variable: ATTR0
# | 20: entry:
# | same:17'0 ~~~~~~~
# | 21: #dbg_value(ptr %f, !27, !DIExpression(), !28)
# | same:17'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 22: %0 = getelementptr i8, ptr %f, i64 -8, !dbg !29
# | same:17'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 23: %1 = load i32, ptr %0, align 4, !dbg !29, !nosanitize !33
# | same:17'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 24: %2 = icmp eq i32 %1, -1056584962, !dbg !29, !nosanitize !33
# | same:17'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### LLVM
<details>
<summary>LLVM.Bitcode/calling-conventions.3.2.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llvm-dis.exe < C:\_work\llvm-project\llvm-project\llvm\test\Bitcode\calling-conventions.3.2.ll.bc| c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Bitcode\calling-conventions.3.2.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-dis.exe'
# 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\llvm\test\Bitcode\calling-conventions.3.2.ll'
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\verify-uselistorder.exe < C:\_work\llvm-project\llvm-project\llvm\test\Bitcode\calling-conventions.3.2.ll.bc
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\verify-uselistorder.exe'
# .---command stderr------------
# | calling convention does not permit calls
# | call ptx_kernel void @ptx_kernel()
# | c:\_work\llvm-project\llvm-project\build\bin\verify-uselistorder.exe: -: error: input module is broken!
# `-----------------------------
# 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/188872
More information about the llvm-commits
mailing list