Skip to content

Commit bff601e

Browse files
authored
Add min-preludes to most of lowering and a few more slow tests (#5680)
Adds min-preludes to a few more slowest tests, and adds them to most of the lowering tests, with a few exceptions that make use of operators. This take the runtime of file_test down from about 8s to about 7s on my machine. We add support for Negate on uints in the min-preludes.
1 parent e09419b commit bff601e

File tree

113 files changed

+1397
-1171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+1397
-1171
lines changed

toolchain/check/testdata/builtins/int/unegate.carbon

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Exceptions. See /LICENSE for license information.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44
//
5+
// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/primitives.carbon
6+
//
57
// AUTOUPDATE
68
// TIP: To test this file alone, run:
79
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/builtins/int/unegate.carbon

toolchain/check/testdata/builtins/int/usub.carbon

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Exceptions. See /LICENSE for license information.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44
//
5+
// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/int.carbon
6+
//
57
// AUTOUPDATE
68
// TIP: To test this file alone, run:
79
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/builtins/int/usub.carbon

toolchain/lower/testdata/alias/local.carbon

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Exceptions. See /LICENSE for license information.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44
//
5+
// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/int.carbon
6+
//
57
// AUTOUPDATE
68
// TIP: To test this file alone, run:
79
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/lower/testdata/alias/local.carbon
@@ -22,8 +24,8 @@ fn F() -> i32 {
2224
// CHECK:STDOUT: %a.var = alloca i32, align 4, !dbg !7
2325
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %a.var), !dbg !7
2426
// CHECK:STDOUT: store i32 0, ptr %a.var, align 4, !dbg !7
25-
// CHECK:STDOUT: %.loc14 = load i32, ptr %a.var, align 4, !dbg !8
26-
// CHECK:STDOUT: ret i32 %.loc14, !dbg !9
27+
// CHECK:STDOUT: %.loc16 = load i32, ptr %a.var, align 4, !dbg !8
28+
// CHECK:STDOUT: ret i32 %.loc16, !dbg !9
2729
// CHECK:STDOUT: }
2830
// CHECK:STDOUT:
2931
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
@@ -38,9 +40,9 @@ fn F() -> i32 {
3840
// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3}
3941
// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
4042
// CHECK:STDOUT: !3 = !DIFile(filename: "local.carbon", directory: "")
41-
// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main", scope: null, file: !3, line: 11, type: !5, spFlags: DISPFlagDefinition, unit: !2)
43+
// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main", scope: null, file: !3, line: 13, type: !5, spFlags: DISPFlagDefinition, unit: !2)
4244
// CHECK:STDOUT: !5 = !DISubroutineType(types: !6)
4345
// CHECK:STDOUT: !6 = !{}
44-
// CHECK:STDOUT: !7 = !DILocation(line: 12, column: 3, scope: !4)
45-
// CHECK:STDOUT: !8 = !DILocation(line: 14, column: 10, scope: !4)
46-
// CHECK:STDOUT: !9 = !DILocation(line: 14, column: 3, scope: !4)
46+
// CHECK:STDOUT: !7 = !DILocation(line: 14, column: 3, scope: !4)
47+
// CHECK:STDOUT: !8 = !DILocation(line: 16, column: 10, scope: !4)
48+
// CHECK:STDOUT: !9 = !DILocation(line: 16, column: 3, scope: !4)

toolchain/lower/testdata/array/array_in_place.carbon

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Exceptions. See /LICENSE for license information.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44
//
5+
// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/int.carbon
6+
//
57
// AUTOUPDATE
68
// TIP: To test this file alone, run:
79
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/lower/testdata/array/array_in_place.carbon
@@ -23,10 +25,10 @@ fn G() {
2325
// CHECK:STDOUT: entry:
2426
// CHECK:STDOUT: %v.var = alloca [2 x { i32, i32, i32 }], align 8, !dbg !7
2527
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 24, ptr %v.var), !dbg !7
26-
// CHECK:STDOUT: %.loc14_47.2.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 0, !dbg !8
27-
// CHECK:STDOUT: call void @_CF.Main(ptr %.loc14_47.2.array.index), !dbg !9
28-
// CHECK:STDOUT: %.loc14_47.4.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 1, !dbg !8
29-
// CHECK:STDOUT: call void @_CF.Main(ptr %.loc14_47.4.array.index), !dbg !10
28+
// CHECK:STDOUT: %.loc16_47.2.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 0, !dbg !8
29+
// CHECK:STDOUT: call void @_CF.Main(ptr %.loc16_47.2.array.index), !dbg !9
30+
// CHECK:STDOUT: %.loc16_47.4.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 1, !dbg !8
31+
// CHECK:STDOUT: call void @_CF.Main(ptr %.loc16_47.4.array.index), !dbg !10
3032
// CHECK:STDOUT: ret void, !dbg !11
3133
// CHECK:STDOUT: }
3234
// CHECK:STDOUT:
@@ -42,11 +44,11 @@ fn G() {
4244
// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3}
4345
// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
4446
// CHECK:STDOUT: !3 = !DIFile(filename: "array_in_place.carbon", directory: "")
45-
// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main", scope: null, file: !3, line: 13, type: !5, spFlags: DISPFlagDefinition, unit: !2)
47+
// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main", scope: null, file: !3, line: 15, type: !5, spFlags: DISPFlagDefinition, unit: !2)
4648
// CHECK:STDOUT: !5 = !DISubroutineType(types: !6)
4749
// CHECK:STDOUT: !6 = !{}
48-
// CHECK:STDOUT: !7 = !DILocation(line: 14, column: 3, scope: !4)
49-
// CHECK:STDOUT: !8 = !DILocation(line: 14, column: 38, scope: !4)
50-
// CHECK:STDOUT: !9 = !DILocation(line: 14, column: 39, scope: !4)
51-
// CHECK:STDOUT: !10 = !DILocation(line: 14, column: 44, scope: !4)
52-
// CHECK:STDOUT: !11 = !DILocation(line: 13, column: 1, scope: !4)
50+
// CHECK:STDOUT: !7 = !DILocation(line: 16, column: 3, scope: !4)
51+
// CHECK:STDOUT: !8 = !DILocation(line: 16, column: 38, scope: !4)
52+
// CHECK:STDOUT: !9 = !DILocation(line: 16, column: 39, scope: !4)
53+
// CHECK:STDOUT: !10 = !DILocation(line: 16, column: 44, scope: !4)
54+
// CHECK:STDOUT: !11 = !DILocation(line: 15, column: 1, scope: !4)

toolchain/lower/testdata/array/base.carbon

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Exceptions. See /LICENSE for license information.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44
//
5+
// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/primitives.carbon
6+
//
57
// AUTOUPDATE
68
// TIP: To test this file alone, run:
79
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/lower/testdata/array/base.carbon
@@ -19,10 +21,10 @@ fn Run() {
1921
// CHECK:STDOUT: ; ModuleID = 'base.carbon'
2022
// CHECK:STDOUT: source_filename = "base.carbon"
2123
// CHECK:STDOUT:
22-
// CHECK:STDOUT: @array.237.loc12_3 = internal constant [1 x i32] [i32 1]
23-
// CHECK:STDOUT: @array.6a2.loc13_3 = internal constant [2 x double] [double 0x4026333333333334, double 2.200000e+00]
24-
// CHECK:STDOUT: @array.1cb.loc14_3 = internal constant [5 x {}] zeroinitializer
25-
// CHECK:STDOUT: @tuple.loc15_3 = internal constant { i32, i32, i32 } { i32 1, i32 2, i32 3 }
24+
// CHECK:STDOUT: @array.237.loc14_3 = internal constant [1 x i32] [i32 1]
25+
// CHECK:STDOUT: @array.6a2.loc15_3 = internal constant [2 x double] [double 0x4026333333333334, double 2.200000e+00]
26+
// CHECK:STDOUT: @array.1cb.loc16_3 = internal constant [5 x {}] zeroinitializer
27+
// CHECK:STDOUT: @tuple.loc17_3 = internal constant { i32, i32, i32 } { i32 1, i32 2, i32 3 }
2628
// CHECK:STDOUT:
2729
// CHECK:STDOUT: define void @main() !dbg !4 {
2830
// CHECK:STDOUT: entry:
@@ -32,37 +34,37 @@ fn Run() {
3234
// CHECK:STDOUT: %d.var = alloca { i32, i32, i32 }, align 8, !dbg !10
3335
// CHECK:STDOUT: %e.var = alloca [3 x i32], align 4, !dbg !11
3436
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %a.var), !dbg !7
35-
// CHECK:STDOUT: %.loc12_29.3.array.index = getelementptr inbounds [1 x i32], ptr %a.var, i32 0, i64 0, !dbg !12
36-
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @array.237.loc12_3, i64 4, i1 false), !dbg !7
37+
// CHECK:STDOUT: %.loc14_29.3.array.index = getelementptr inbounds [1 x i32], ptr %a.var, i32 0, i64 0, !dbg !12
38+
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @array.237.loc14_3, i64 4, i1 false), !dbg !7
3739
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 16, ptr %b.var), !dbg !8
38-
// CHECK:STDOUT: %.loc13_37.2.array.index = getelementptr inbounds [2 x double], ptr %b.var, i32 0, i64 0, !dbg !13
39-
// CHECK:STDOUT: %.loc13_37.4.array.index = getelementptr inbounds [2 x double], ptr %b.var, i32 0, i64 1, !dbg !13
40-
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %b.var, ptr align 8 @array.6a2.loc13_3, i64 16, i1 false), !dbg !8
40+
// CHECK:STDOUT: %.loc15_37.2.array.index = getelementptr inbounds [2 x double], ptr %b.var, i32 0, i64 0, !dbg !13
41+
// CHECK:STDOUT: %.loc15_37.4.array.index = getelementptr inbounds [2 x double], ptr %b.var, i32 0, i64 1, !dbg !13
42+
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %b.var, ptr align 8 @array.6a2.loc15_3, i64 16, i1 false), !dbg !8
4143
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !9
42-
// CHECK:STDOUT: %.loc14_45.2.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 0, !dbg !14
43-
// CHECK:STDOUT: %.loc14_45.4.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 1, !dbg !14
44-
// CHECK:STDOUT: %.loc14_45.6.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 2, !dbg !14
45-
// CHECK:STDOUT: %.loc14_45.8.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 3, !dbg !14
46-
// CHECK:STDOUT: %.loc14_45.10.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 4, !dbg !14
47-
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @array.1cb.loc14_3, i64 0, i1 false), !dbg !9
44+
// CHECK:STDOUT: %.loc16_45.2.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 0, !dbg !14
45+
// CHECK:STDOUT: %.loc16_45.4.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 1, !dbg !14
46+
// CHECK:STDOUT: %.loc16_45.6.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 2, !dbg !14
47+
// CHECK:STDOUT: %.loc16_45.8.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 3, !dbg !14
48+
// CHECK:STDOUT: %.loc16_45.10.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 4, !dbg !14
49+
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @array.1cb.loc16_3, i64 0, i1 false), !dbg !9
4850
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 12, ptr %d.var), !dbg !10
49-
// CHECK:STDOUT: %tuple.elem0.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 0, !dbg !15
50-
// CHECK:STDOUT: %tuple.elem1.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 1, !dbg !15
51-
// CHECK:STDOUT: %tuple.elem2.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 2, !dbg !15
52-
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %d.var, ptr align 4 @tuple.loc15_3, i64 12, i1 false), !dbg !10
51+
// CHECK:STDOUT: %tuple.elem0.loc17.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 0, !dbg !15
52+
// CHECK:STDOUT: %tuple.elem1.loc17.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 1, !dbg !15
53+
// CHECK:STDOUT: %tuple.elem2.loc17.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 2, !dbg !15
54+
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %d.var, ptr align 4 @tuple.loc17_3, i64 12, i1 false), !dbg !10
5355
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 12, ptr %e.var), !dbg !11
54-
// CHECK:STDOUT: %tuple.elem0.loc16.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 0, !dbg !16
55-
// CHECK:STDOUT: %.loc16_26.1 = load i32, ptr %tuple.elem0.loc16.tuple.elem, align 4, !dbg !16
56-
// CHECK:STDOUT: %.loc16_26.2.array.index = getelementptr inbounds [3 x i32], ptr %e.var, i32 0, i64 0, !dbg !16
57-
// CHECK:STDOUT: store i32 %.loc16_26.1, ptr %.loc16_26.2.array.index, align 4, !dbg !16
58-
// CHECK:STDOUT: %tuple.elem1.loc16.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 1, !dbg !16
59-
// CHECK:STDOUT: %.loc16_26.4 = load i32, ptr %tuple.elem1.loc16.tuple.elem, align 4, !dbg !16
60-
// CHECK:STDOUT: %.loc16_26.5.array.index = getelementptr inbounds [3 x i32], ptr %e.var, i32 0, i64 1, !dbg !16
61-
// CHECK:STDOUT: store i32 %.loc16_26.4, ptr %.loc16_26.5.array.index, align 4, !dbg !16
62-
// CHECK:STDOUT: %tuple.elem2.loc16.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 2, !dbg !16
63-
// CHECK:STDOUT: %.loc16_26.7 = load i32, ptr %tuple.elem2.loc16.tuple.elem, align 4, !dbg !16
64-
// CHECK:STDOUT: %.loc16_26.8.array.index = getelementptr inbounds [3 x i32], ptr %e.var, i32 0, i64 2, !dbg !16
65-
// CHECK:STDOUT: store i32 %.loc16_26.7, ptr %.loc16_26.8.array.index, align 4, !dbg !16
56+
// CHECK:STDOUT: %tuple.elem0.loc18.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 0, !dbg !16
57+
// CHECK:STDOUT: %.loc18_26.1 = load i32, ptr %tuple.elem0.loc18.tuple.elem, align 4, !dbg !16
58+
// CHECK:STDOUT: %.loc18_26.2.array.index = getelementptr inbounds [3 x i32], ptr %e.var, i32 0, i64 0, !dbg !16
59+
// CHECK:STDOUT: store i32 %.loc18_26.1, ptr %.loc18_26.2.array.index, align 4, !dbg !16
60+
// CHECK:STDOUT: %tuple.elem1.loc18.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 1, !dbg !16
61+
// CHECK:STDOUT: %.loc18_26.4 = load i32, ptr %tuple.elem1.loc18.tuple.elem, align 4, !dbg !16
62+
// CHECK:STDOUT: %.loc18_26.5.array.index = getelementptr inbounds [3 x i32], ptr %e.var, i32 0, i64 1, !dbg !16
63+
// CHECK:STDOUT: store i32 %.loc18_26.4, ptr %.loc18_26.5.array.index, align 4, !dbg !16
64+
// CHECK:STDOUT: %tuple.elem2.loc18.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 2, !dbg !16
65+
// CHECK:STDOUT: %.loc18_26.7 = load i32, ptr %tuple.elem2.loc18.tuple.elem, align 4, !dbg !16
66+
// CHECK:STDOUT: %.loc18_26.8.array.index = getelementptr inbounds [3 x i32], ptr %e.var, i32 0, i64 2, !dbg !16
67+
// CHECK:STDOUT: store i32 %.loc18_26.7, ptr %.loc18_26.8.array.index, align 4, !dbg !16
6668
// CHECK:STDOUT: ret void, !dbg !17
6769
// CHECK:STDOUT: }
6870
// CHECK:STDOUT:
@@ -86,17 +88,17 @@ fn Run() {
8688
// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3}
8789
// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
8890
// CHECK:STDOUT: !3 = !DIFile(filename: "base.carbon", directory: "")
89-
// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "Run", linkageName: "main", scope: null, file: !3, line: 11, type: !5, spFlags: DISPFlagDefinition, unit: !2)
91+
// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "Run", linkageName: "main", scope: null, file: !3, line: 13, type: !5, spFlags: DISPFlagDefinition, unit: !2)
9092
// CHECK:STDOUT: !5 = !DISubroutineType(types: !6)
9193
// CHECK:STDOUT: !6 = !{}
92-
// CHECK:STDOUT: !7 = !DILocation(line: 12, column: 3, scope: !4)
93-
// CHECK:STDOUT: !8 = !DILocation(line: 13, column: 3, scope: !4)
94-
// CHECK:STDOUT: !9 = !DILocation(line: 14, column: 3, scope: !4)
95-
// CHECK:STDOUT: !10 = !DILocation(line: 15, column: 3, scope: !4)
96-
// CHECK:STDOUT: !11 = !DILocation(line: 16, column: 3, scope: !4)
97-
// CHECK:STDOUT: !12 = !DILocation(line: 12, column: 26, scope: !4)
98-
// CHECK:STDOUT: !13 = !DILocation(line: 13, column: 26, scope: !4)
99-
// CHECK:STDOUT: !14 = !DILocation(line: 14, column: 25, scope: !4)
100-
// CHECK:STDOUT: !15 = !DILocation(line: 15, column: 28, scope: !4)
101-
// CHECK:STDOUT: !16 = !DILocation(line: 16, column: 26, scope: !4)
102-
// CHECK:STDOUT: !17 = !DILocation(line: 11, column: 1, scope: !4)
94+
// CHECK:STDOUT: !7 = !DILocation(line: 14, column: 3, scope: !4)
95+
// CHECK:STDOUT: !8 = !DILocation(line: 15, column: 3, scope: !4)
96+
// CHECK:STDOUT: !9 = !DILocation(line: 16, column: 3, scope: !4)
97+
// CHECK:STDOUT: !10 = !DILocation(line: 17, column: 3, scope: !4)
98+
// CHECK:STDOUT: !11 = !DILocation(line: 18, column: 3, scope: !4)
99+
// CHECK:STDOUT: !12 = !DILocation(line: 14, column: 26, scope: !4)
100+
// CHECK:STDOUT: !13 = !DILocation(line: 15, column: 26, scope: !4)
101+
// CHECK:STDOUT: !14 = !DILocation(line: 16, column: 25, scope: !4)
102+
// CHECK:STDOUT: !15 = !DILocation(line: 17, column: 28, scope: !4)
103+
// CHECK:STDOUT: !16 = !DILocation(line: 18, column: 26, scope: !4)
104+
// CHECK:STDOUT: !17 = !DILocation(line: 13, column: 1, scope: !4)

0 commit comments

Comments
 (0)