mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Upgrade debug info tests to the new LLVM debug metadata format.
Thanks to Duncan for helping out with the upgrading! Swift SVN r22512
This commit is contained in:
@@ -8,25 +8,25 @@
|
||||
// Test variables-interpreter.swift runs this code with `swift -g -i`.
|
||||
// Test variables-repl.swift runs this code with `swift -g < variables.swift`.
|
||||
|
||||
// CHECK-DAG: ![[TLC:[0-9]+]] ={{.*}} metadata !"top_level_code",{{.*}} ; [ DW_TAG_subprogram ] [line 1] [def] [scope 0]
|
||||
// CHECK-DAG: ![[TLC:[0-9]+]] ={{.*}}top_level_code{{.*}}", metadata ![[FILE:[0-9]+]]{{.*}} ; [ DW_TAG_subprogram ] [line 1] [def] [scope 0]
|
||||
|
||||
// Global variables.
|
||||
var glob_i8: Int8 = 8;
|
||||
// CHECK-DAG: metadata ![[TLC]], metadata !"glob_i8", {{.*}}, i32 [[@LINE-1]], metadata ![[I8:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_i8
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[I8:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_i8] [line [[@LINE-1]]] [def]
|
||||
var glob_i16: Int16 = 16;
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[I16:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_i16
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[I16:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_i16] [line [[@LINE-1]]] [def]
|
||||
var glob_i32: Int32 = 32;
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[I32:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_i32
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[I32:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_i32] [line [[@LINE-1]]] [def]
|
||||
var glob_i64: Int64 = 64;
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[I64:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_i64
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[I64:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_i64] [line [[@LINE-1]]] [def]
|
||||
var glob_f: Float = 2.89;
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[F:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_f
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[F:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_f] [line [[@LINE-1]]] [def]
|
||||
var glob_d: Double = 3.14;
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[D:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_d
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[D:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_d] [line [[@LINE-1]]] [def]
|
||||
var glob_b: Bool = true
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[B:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_b
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[B:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_b] [line [[@LINE-1]]] [def]
|
||||
var glob_s: String = "😄"
|
||||
// CHECK-DAG: metadata ![[TLC]], {{.*}}, i32 [[@LINE-1]], metadata ![[S:.*]], i32 0{{.*}}DW_TAG_variable{{.*}}glob_s
|
||||
// CHECK-DAG: metadata ![[TLC]], {{[^,]+}}, metadata ![[S:[^,]+]]{{.*}}} ; [ DW_TAG_variable ] [glob_s] [line [[@LINE-1]]] [def]
|
||||
// FIXME: Dreadful type-checker performance prevents this from being this single
|
||||
// print expression:
|
||||
// print("\(glob_v), \(glob_i8), \(glob_i16), \(glob_i32), \(glob_i64), \(glob_f), \(glob_d), \(glob_b), \(glob_s)")
|
||||
@@ -57,8 +57,8 @@ var g = foo(1.0);
|
||||
|
||||
// Tuple types.
|
||||
var tuple: (Int, Bool) = (1, true)
|
||||
// CHECK-DAG: "_Tv{{9variables|4main}}5tupleTSiSb_", metadata !{{[0-9]+}}, i32 [[@LINE-1]], metadata ![[TUPTY:.*]], i32 0{{.*}}[ DW_TAG_variable ] [tuple] [line [[@LINE-1]]] [def]
|
||||
// CHECK-DAG: null, metadata ![[ELEMS:[0-9]+]], i32 {{[0-9]+}}, null, null, metadata ![[TUPTY]]}
|
||||
// CHECK-DAG: _Tv{{9variables|4main}}5tupleTSiSb_{{[^,]+}},{{[^,]+}}, {{[^,]+}}, metadata ![[TUPTY:[^,]+]], {{.*}}} ; [ DW_TAG_variable ] [tuple] [line [[@LINE-1]]] [def]
|
||||
// CHECK-DAG: metadata ![[ELEMS:[0-9]+]], null, null, metadata ![[TUPTY]]}
|
||||
// CHECK-DAG: ![[ELEMS]] = metadata !{metadata ![[MI64:[0-9]+]], metadata ![[MB:[0-9]+]]}
|
||||
// CHECK-DAG: ![[MI64]] = {{.*}}[ DW_TAG_member ]{{.*}}[from _TtSi]
|
||||
// CHECK-DAG: ![[MB]] = {{.*}}![[B]]} {{.*}}DW_TAG_member
|
||||
@@ -72,7 +72,7 @@ println(tuple)
|
||||
|
||||
// Arrays are represented as an instantiation of Array.
|
||||
// CHECK-DAG: null, null, metadata ![[Array:.*]]} ; [ DW_TAG_structure_type ] [Array]
|
||||
// CHECK-DAG: metadata ![[Array]], i32 0,{{.*}}[ DW_TAG_variable ] [array_of_tuples] [line [[@LINE+1]]] [def]
|
||||
// CHECK-DAG: metadata ![[Array]], {{.*}} ; [ DW_TAG_variable ] [array_of_tuples] [line [[@LINE+1]]] [def]
|
||||
var array_of_tuples : [(a : Int, b : Int)] = [(1,2)]
|
||||
var twod : [[Int]] = [[1]]
|
||||
|
||||
@@ -80,9 +80,9 @@ func bar( x: [(a : Int, b : Int)], y: [[Int]] ) {
|
||||
}
|
||||
|
||||
|
||||
// CHECK-DAG: i32 [[@LINE+4]], metadata ![[PTY:[0-9]+]], i32 0, i32 1,{{.*}} [ DW_TAG_variable ] [P] [line [[@LINE+4]]] [def]
|
||||
// CHECK-DAG: null, null, metadata ![[PTUP:.*]]} ; [ DW_TAG_structure_type ] [_TtT1xSd1ySd1zSd_]
|
||||
// CHECK-DAG: ![[PTY]] = metadata{{.*}}metadata ![[PTUP]]} ; [ DW_TAG_typedef ] [_Tta{{9variables|4main}}5Point] [line [[@LINE+1]], size 0, align 0, offset 0] [from _TtT1xSd1ySd1zSd_]
|
||||
// CHECK-DAG: \001", {{[^,]+}}, {{[^,]+}}, metadata ![[PTY:[0-9]+]], {{.*}}} ; [ DW_TAG_variable ] [P] [line [[@LINE+4]]] [def]
|
||||
// CHECK-DAG: metadata ![[PTUP:[^,]+]]} ; [ DW_TAG_structure_type ] [_TtT1xSd1ySd1zSd_]
|
||||
// CHECK-DAG: ![[PTY]] = {{.*}}metadata ![[PTUP]]} ; [ DW_TAG_typedef ] [_Tta{{9variables|4main}}5Point] [line [[@LINE+1]], size 0, align 0, offset 0] [from _TtT1xSd1ySd1zSd_]
|
||||
typealias Point = (x: Double, y: Double, z: Double)
|
||||
var P:Point = (1, 2, 3)
|
||||
func println(p: (x: Double, y: Double, z: Double)) {
|
||||
@@ -90,8 +90,8 @@ func println(p: (x: Double, y: Double, z: Double)) {
|
||||
}
|
||||
println(P)
|
||||
|
||||
// CHECK-DAG: i32 [[@LINE+3]], metadata ![[APTY:[0-9]+]], i32 0, i32 1,{{.*}} [ DW_TAG_variable ] [P2] [line [[@LINE+3]]] [def]
|
||||
// CHECK-DAG: ![[APTY]] = metadata{{.*}}metadata ![[PTY:[0-9]+]]} ; [ DW_TAG_typedef ] [_Tta{{9variables|4main}}13AliasForPoint] [line [[@LINE+1]], size 0, align 0, offset 0] [from _Tta{{9variables|4main}}5Point]
|
||||
// CHECK-DAG: \001", {{[^,]+}}, {{[^,]+}}, metadata ![[APTY:[0-9]+]], {{.*}}} ; [ DW_TAG_variable ] [P2] [line [[@LINE+3]]] [def]
|
||||
// CHECK-DAG: ![[APTY]] = {{.*}}metadata ![[PTY:[0-9]+]]} ; [ DW_TAG_typedef ] [_Tta{{9variables|4main}}13AliasForPoint] [line [[@LINE+1]], size 0, align 0, offset 0] [from _Tta{{9variables|4main}}5Point]
|
||||
typealias AliasForPoint = Point
|
||||
var P2:AliasForPoint = (4, 5, 6)
|
||||
println(P2)
|
||||
@@ -102,7 +102,7 @@ enum TriValue {
|
||||
case true_
|
||||
case top
|
||||
}
|
||||
// CHECK-DAG: i32 [[@LINE+2]], metadata ![[UNIONTYPE:.*]], i32 0, {{.*}}[ DW_TAG_variable ] [unknown] [line [[@LINE+2]]] [def]
|
||||
// CHECK-DAG: \001", {{[^,]+}}, {{[^,]+}}, metadata ![[UNIONTYPE:[^,]+]], {{.*}}} ; [ DW_TAG_variable ] [unknown] [line [[@LINE+2]]] [def]
|
||||
// CHECK-DAG: ![[UNIONTYPE]] ={{.*}}[ DW_TAG_union_type ] [_TtO{{9variables|4main}}8TriValue]
|
||||
var unknown = TriValue.top
|
||||
func println(value: TriValue) {
|
||||
@@ -114,5 +114,4 @@ func println(value: TriValue) {
|
||||
}
|
||||
println(unknown)
|
||||
|
||||
// CHECK-DAG: metadata !{i32 {{[0-9]+}}, metadata !{{[0-9]+}}, metadata ![[FILE:[0-9]+]], metadata !"", metadata !"", metadata !"top_level_code", {{.*}} [ DW_TAG_subprogram ] [line 1] [def]
|
||||
// CHECK-DAG: [ DW_TAG_file_type ] [{{.*}}variables.swift]
|
||||
|
||||
Reference in New Issue
Block a user