[clang] [clang] Avoid MS RTTI type_info name explosion (PR #206317)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Jun 28 01:24:25 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 88429 tests passed
* 1694 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### Clang
<details>
<summary>Clang.DebugInfo/CXX/codeview-unnamed.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple x86_64-unknown-linux-gnu -debug-info-kind=limited -emit-llvm -std=c++11 -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix LINUX /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple x86_64-unknown-linux-gnu -debug-info-kind=limited -emit-llvm -std=c++11 -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix LINUX /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple x86_64-windows-msvc -debug-info-kind=limited -gcodeview -emit-llvm -std=c++11 -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix MSVC /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -triple x86_64-windows-msvc -debug-info-kind=limited -gcodeview -emit-llvm -std=c++11 -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix MSVC /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp:57:16: error: MSVC-SAME: expected string not found in input
# | // MSVC-SAME: identifier: ".?AV<lambda_0>@?0??main@@9@"
# | ^
# | <stdin>:86:75: note: scanning from here
# | !29 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "<lambda_0>", scope: !6, file: !7, line: 112, size: 32, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !30, identifier: ".?AV<lambda_0>@@")
# | ^
# | <stdin>:86:183: note: possible intended match here
# | !29 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "<lambda_0>", scope: !6, file: !7, line: 112, size: 32, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !30, identifier: ".?AV<lambda_0>@@")
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 81: !24 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "named", scope: !6, file: !7, line: 96, size: 64, flags: DIFlagTypePassByValue, elements: !25, identifier: ".?AUnamed@?1??main@@9@")
# | 82: !25 = !{!26, !27}
# | 83: !26 = !DIDerivedType(tag: DW_TAG_member, name: "bar", scope: !24, file: !7, line: 96, baseType: !10, size: 32)
# | 84: !27 = !DIDerivedType(tag: DW_TAG_member, name: "p2mem", scope: !24, file: !7, line: 96, baseType: !28, size: 32, offset: 32)
# | 85: !28 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !10, size: 32, flags: DIFlagSingleInheritance, extraData: !24)
# | 86: !29 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "<lambda_0>", scope: !6, file: !7, line: 112, size: 32, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !30, identifier: ".?AV<lambda_0>@@")
# | same:57'0 { search range start (exclusive)
# | same:57'1 error: no match found in search range
# | same:57'2 ? possible intended match
# | 87: !30 = !{!31, !32}
# | 88: !31 = !DIDerivedType(tag: DW_TAG_member, name: "argc", scope: !29, file: !7, line: 112, baseType: !10, size: 32)
# | 89: !32 = !DISubprogram(name: "operator()", scope: !29, file: !7, line: 112, type: !33, scopeLine: 112, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagLocalToUnit)
# | 90: !33 = !DISubroutineType(types: !34)
# | 91: !34 = !{!10, !35, !10}
# | .
# | .
# | .
# | 108: !51 = !DILocation(line: 96, column: 49, scope: !6)
# | 109: !52 = !DILocalVariable(name: "four", scope: !6, file: !7, line: 112, type: !29)
# | 110: !53 = !DILocation(line: 112, column: 8, scope: !6)
# | 111: !54 = !DILocation(line: 112, column: 15, scope: !6)
# | 112: !55 = !DILocation(line: 112, column: 16, scope: !6)
# | 113: !56 = !DILocation(line: 122, column: 3, scope: !6)
# | same:57'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### lldb-shell
<details>
<summary>lldb-shell.SymbolFile/NativePDB/ast-lambdas.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang --driver-mode=cl --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-windows-msvc -Od -GS- -std:c++20 -Z7 -c /Fo/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.obj -- /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang --driver-mode=cl --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-windows-msvc -Od -GS- -std:c++20 -Z7 -c /Fo/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.obj -- /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/lld-link -debug:full -nodefaultlib -entry:main /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.obj -out:/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.exe -pdb:/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.pdb
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/lld-link -debug:full -nodefaultlib -entry:main /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.obj -out:/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.exe -pdb:/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.pdb
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/lldb-test symbols --dump-ast /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.exe | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/lldb-test symbols --dump-ast /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.exe
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp:35:11: error: CHECK: expected string not found in input
# | // CHECK: namespace `public: void __cdecl Foo::fun(void)'::`1' {
# | ^
# | <stdin>:1:1: note: scanning from here
# | Module: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.exe
# | ^
# | <stdin>:5:2: note: possible intended match here
# | void fun();
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: Module: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/test/Shell/SymbolFile/NativePDB/Output/ast-lambdas.cpp.tmp.exe
# | check:35'0 { search range start (exclusive)
# | check:35'1 error: no match found in search range
# | 2: int main();
# | 3: class Foo {
# | 4: Foo();
# | 5: void fun();
# | check:35'2 ? possible intended match
# | 6: int a;
# | 7: int b;
# | 8: };
# | 9: class <lambda_1> {
# | 10: int operator()() const;
# | 11: Foo *__this;
# | 12: };
# | 13: class <lambda_2> {
# | 14: int operator()();
# | 15: int local;
# | 16: };
# | check:35'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/206317
More information about the cfe-commits
mailing list