erichkeane added inline comments.
================ Comment at: clang/test/CodeGenCXX/no_auto_return_lambda.cpp:1 +// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited %s -o - | FileCheck %s + ---------------- So this CodeGen test without a triple is a bit troublesome. The one we've noticed that this fails on the 32 bit windows build: ``` FAIL: Clang :: CodeGenCXX/no_auto_return_lambda.cpp (41841 of 57667) ******************** TEST 'Clang :: CodeGenCXX/no_auto_return_lambda.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; d:\netbatch\build_comp02320_00\ics_top\builds\xmainoclx86win_prod\llvm\bin\clang.exe -cc1 -internal-isystem d:\netbatch\build_comp02320_00\ics_top\builds\xmainoclx86win_prod\llvm\lib\clang\15.0.0\include -nostdsysteminc -emit-llvm -debug-info-kind=limited D:\netbatch\build_comp02320_00\ics_top\llvm\clang\test\CodeGenCXX\no_auto_return_lambda.cpp -o - | d:\netbatch\build_comp02320_00\ics_top\builds\xmainoclx86win_prod\llvm\bin\filecheck.exe D:\netbatch\build_comp02320_00\ics_top\llvm\clang\test\CodeGenCXX\no_auto_return_lambda.cpp -- Exit Code: 1Command Output (stdout): -- $ ":" "RUN: at line 1" $ "d:\netbatch\build_comp02320_00\ics_top\builds\xmainoclx86win_prod\llvm\bin\clang.exe" "-cc1" "-internal-isystem" "d:\netbatch\build_comp02320_00\ics_top\builds\xmainoclx86win_prod\llvm\lib\clang\15.0.0\include" "-nostdsysteminc" "-emit-llvm" "-debug-info-kind=limited" "D:\netbatch\build_comp02320_00\ics_top\llvm\clang\test\CodeGenCXX\no_auto_return_lambda.cpp" "-o" "-" $ "d:\netbatch\build_comp02320_00\ics_top\builds\xmainoclx86win_prod\llvm\bin\filecheck.exe" "D:\netbatch\build_comp02320_00\ics_top\llvm\clang\test\CodeGenCXX\no_auto_return_lambda.cpp" # command stderr: D:\netbatch\build_comp02320_00\ics_top\llvm\clang\test\CodeGenCXX\no_auto_return_lambda.cpp:24:11: error: CHECK: expected string not found in input // CHECK: ![[FUN_TYPE_LAMBDA]] = !DISubroutineType(types: ![[TYPE_NODE_LAMBDA:[0-9]+]]) ^ <stdin>:56:289: note: scanning from here !17 = distinct !DISubprogram(name: "operator()", linkageName: "??R<lambda_0>@?0??g@@YAHXZ@QBE?A?<auto>@@XZ", scope: !13, file: !7, line: 9, type: !18, scopeLine: 9, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !0, declaration: !22, retainedNodes: !11) ^ <stdin>:56:289: note: with "FUN_TYPE_LAMBDA" equal to "18" !17 = distinct !DISubprogram(name: "operator()", linkageName: "??R<lambda_0>@?0??g@@YAHXZ@QBE?A?<auto>@@XZ", scope: !13, file: !7, line: 9, type: !18, scopeLine: 9, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !0, declaration: !22, retainedNodes: !11) ^ <stdin>:57:1: note: possible intended match here !18 = !DISubroutineType(cc: DW_CC_BORLAND_thiscall, types: !19) ^Input file: <stdin> Check file: D:\netbatch\build_comp02320_00\ics_top\llvm\clang\test\CodeGenCXX\no_auto_return_lambda.cpp -dump-input=help explains the following input dump.Input was: <<<<<< . . . 51: !12 = !DILocalVariable(name: "f", scope: !6, file: !7, line: 9, type: !13) 52: !13 = distinct !DICompositeType(tag: DW_TAG_class_type, scope: !6, file: !7, line: 9, size: 8, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !11) 53: !14 = !DILocation(line: 9, column: 8, scope: !6) 54: !15 = !DILocation(line: 10, column: 10, scope: !6) 55: !16 = !DILocation(line: 10, column: 3, scope: !6) 56: !17 = distinct !DISubprogram(name: "operator()", linkageName: "??R<lambda_0>@?0??g@@YAHXZ@QBE?A?<auto>@@XZ", scope: !13, file: !7, line: 9, type: !18, scopeLine: 9, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !0, declaration: !22, retainedNodes: !11) check:24'0 X error: no match found check:24'1 with "FUN_TYPE_LAMBDA" equal to "18" 57: !18 = !DISubroutineType(cc: DW_CC_BORLAND_thiscall, types: !19) check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ check:24'2 ? possible intended match 58: !19 = !{!10, !20} check:24'0 ~~~~~~~~~~~~~~~~~~ 59: !20 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !21, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer) check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60: !21 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !13) check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61: !22 = !DISubprogram(name: "operator()", scope: !13, file: !7, line: 9, type: !18, scopeLine: 9, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagLocalToUnit) check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62: !23 = !DILocalVariable(name: "this", arg: 1, scope: !17, type: !24, flags: DIFlagArtificial | DIFlagObjectPointer) check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ . . . >>>>>>error: command failed with exit status: 1--******************** Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..1 warning(s) in tests ******************** Failed Tests (1): Clang :: CodeGenCXX/no_auto_return_lambda.cpp ``` See the failure on the check of line 23, which needs a calling-convention (since members are default-this-call in 32 bit windows). I ALSO note that the line you match against "TYPE_NODE" ends up having 2 things on it when you are checking against '1'. ================ Comment at: clang/test/CodeGenCXX/no_auto_return_lambda.cpp:25 +// CHECK: ![[FUN_TYPE_LAMBDA]] = !DISubroutineType(types: ![[TYPE_NODE_LAMBDA:[0-9]+]]) +// CHECK: ![[TYPE_NODE_LAMBDA]] = !{![[INT_TYPE:[0-9]+]], {{.*}} ---------------- Did you mean the above? I note that defining the `INT_TYPE` variable here results in it accepting ANYTHING for `TYPE_NODE_LAMBDA` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123319/new/ https://reviews.llvm.org/D123319 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits