Skip to content

Commit 2a55b26

Browse files
committed
Mangling: enable new mangling for symbols
1 parent c5df122 commit 2a55b26

File tree

136 files changed

+1911
-1912
lines changed

Some content is hidden

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

136 files changed

+1911
-1912
lines changed

include/swift/Demangling/ManglingMacros.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
// TODO: When we get rid of the old mangling, the term "new mangling" should
1919
// just be renamed to "mangling".
2020

21-
//#define USE_NEW_MANGLING
21+
#define USE_NEW_MANGLING
2222

2323
#define STRINGIFY_MANGLING(M) #M
2424
#define MANGLE_AS_STRING(M) STRINGIFY_MANGLING(M)

test/DebugInfo/Errors.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ enum MyError : Error {
1111
// thrown error we create a shadow stack location holding the address of the
1212
// location that holds the pointer to the error instead.
1313
func simple(_ placeholder: Int64) throws -> () {
14-
// CHECK: define {{.*}}void @_TF6Errors6simpleFzVs5Int64T_(i64, %swift.refcounted* swiftself, %swift.error**)
14+
// CHECK: define {{.*}}void @_T06Errors6simpleys5Int64VKF(i64, %swift.refcounted* swiftself, %swift.error**)
1515
// CHECK: call void @llvm.dbg.declare
1616
// CHECK: call void @llvm.dbg.declare({{.*}}, metadata ![[ERROR:[0-9]+]], metadata ![[DEREF:[0-9]+]])
1717
// CHECK: ![[ERROR]] = !DILocalVariable(name: "$error", arg: 2,
1818
// CHECK-SAME: type: ![[ERRTY:.*]], flags: DIFlagArtificial)
19-
// CHECK: ![[ERRTY]] = !DICompositeType({{.*}}identifier: "_TtPs5Error_"
19+
// CHECK: ![[ERRTY]] = !DICompositeType({{.*}}identifier: "_T0s5Error_pD"
2020
// CHECK: ![[DEREF]] = !DIExpression(DW_OP_deref)
2121
throw MyError.Simple
2222
}

test/DebugInfo/LinetableArtificialFn.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// Verify that a helper function that is generated on-the-fly does
44
// not mess up the linetable of the calling function.
55
// CHECK: store i2048 10, i2048* [[STKLOC:%.*]], align
6-
// CHECK: call swiftcc {{(i32|i64)}} @_TFSiCfT22_builtinIntegerLiteralBi2048__Si(i2048* {{.*}} [[STKLOC]]
6+
// CHECK: call swiftcc {{(i32|i64)}} @_T0S2iBi2048_22_builtinIntegerLiteral_tcfC(i2048* {{.*}} [[STKLOC]]
77
// CHECK: store {{(i32|i64)}} {{.*}}getelementptr
88
// CHECK: store {{(i32|i64)}} {{.*}}getelementptr{{.*}}, !dbg ![[DBG:[0-9]+]]
99
// CHECK-NOT: ![[DBG]] = !{i32 0, i32 0,

test/DebugInfo/basic.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func foo(_ a: Int64, _ b: Int64) -> Int64 {
5151
// CHECK-DAG: smul{{.*}}, !dbg ![[MUL:[0-9]+]]
5252
// CHECK-DAG: [[MUL]] = !DILocation(line: [[@LINE+4]], column: 16,
5353
// Runtime call to multiply function:
54-
// CHECK-NOSIL: @_TFsoi1mFTVs5Int64S__S_{{.*}}, !dbg ![[MUL:[0-9]+]]
54+
// CHECK-NOSIL: @_T0s1mois5Int64VAC_ACtF{{.*}}, !dbg ![[MUL:[0-9]+]]
5555
// CHECK-NOSIL: [[MUL]] = !DILocation(line: [[@LINE+1]], column: 16,
5656
return a*b
5757
} else {
@@ -74,7 +74,7 @@ func foo(_ a: Int64, _ b: Int64) -> Int64 {
7474

7575
// Function type for foo.
7676
// CHECK-DAG: ![[FOOTYPE]] = !DISubroutineType(types: ![[PARAMTYPES:[0-9]+]])
77-
// CHECK-DAG: ![[INT64:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int64", {{.*}}, identifier: "_TtVs5Int64")
77+
// CHECK-DAG: ![[INT64:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int64", {{.*}}, identifier: "_T0s5Int64VD")
7878
// CHECK-DAG: ![[PARAMTYPES]] = !{![[INT64]], ![[INT64]], ![[INT64]]}
7979
// Import of the main module with the implicit name.
8080
// CHECK-DAG: !DIImportedEntity(tag: DW_TAG_imported_module, scope: ![[MAINFILE]], entity: ![[MAINMODULE:[0-9]+]], line: 1)

test/DebugInfo/bool.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
func markUsed<T>(_ t: T) {}
44

55
// Int1 uses 1 bit, but is aligned at 8 bits.
6-
// CHECK: !DIBasicType(name: "_TtBi1_", size: 1, encoding: DW_ATE_unsigned)
6+
// CHECK: !DIBasicType(name: "_T0Bi1_D", size: 1, encoding: DW_ATE_unsigned)
77
func main() {
88
var t = true
99
var f = false

test/DebugInfo/byref-capture.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ func makeIncrementor(_ inc : Int64) -> () -> Int64
99
// CHECK-SAME: metadata ![[SUM_CAPTURE:[0-9]+]],
1010
// CHECK-SAME: metadata ![[EMPTY:.*]])
1111
// CHECK: ![[EMPTY]] = !DIExpression()
12-
// CHECK: ![[INOUTTY:[0-9]+]] = !DICompositeType({{.*}}identifier: "_TtRVs5Int64"
12+
// CHECK: ![[INOUTTY:[0-9]+]] = !DICompositeType({{.*}}identifier: "_T0s5Int64VzD"
1313
// ^ inout type.
1414
// CHECK: ![[SUM_CAPTURE]] = !DILocalVariable(name: "sum", arg: 1,
1515
// CHECK-SAME: line: [[@LINE-10]], type: ![[INOUTTY]]

test/DebugInfo/enum.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,34 @@ enum Either {
1010
// CHECK-SAME: size: {{328|168}},
1111
}
1212
// CHECK: ![[EMPTY:.*]] = !{}
13-
// DWARF: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "_TtSi"
13+
// DWARF: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "_T0SiD"
1414
let E : Either = .Neither;
1515

1616
// CHECK: !DICompositeType({{.*}}name: "Color",
1717
// CHECK-SAME: line: [[@LINE+3]]
1818
// CHECK-SAME: size: 8, align: 8,
19-
// CHECK-SAME: identifier: "_TtO4enum5Color"
19+
// CHECK-SAME: identifier: "_T04enum5ColorOD"
2020
enum Color : UInt64 {
2121
// This is effectively a 2-bit bitfield:
2222
// DWARF: !DIDerivedType(tag: DW_TAG_member, name: "Red"
2323
// DWARF-SAME: baseType: ![[UINT64:[0-9]+]]
2424
// DWARF-SAME: size: 8, align: 8{{[,)]}}
25-
// DWARF: ![[UINT64]] = !DICompositeType({{.*}}identifier: "_TtVs6UInt64"
25+
// DWARF: ![[UINT64]] = !DICompositeType({{.*}}identifier: "_T0s6UInt64VD"
2626
case Red, Green, Blue
2727
}
2828

2929
// CHECK: !DICompositeType({{.*}}name: "MaybeIntPair",
3030
// CHECK-SAME: line: [[@LINE+3]],
3131
// CHECK-SAME: size: 136, align: 64{{[,)]}}
32-
// CHECK-SAME: identifier: "_TtO4enum12MaybeIntPair"
32+
// CHECK-SAME: identifier: "_T04enum12MaybeIntPairOD"
3333
enum MaybeIntPair {
3434
// DWARF: !DIDerivedType(tag: DW_TAG_member, name: "none"
3535
// DWARF-SAME: baseType: ![[INT]], align: 8{{[,)]}}
3636
case none
3737
// DWARF: !DIDerivedType(tag: DW_TAG_member, name: "just"
3838
// DWARF-SAME: baseType: ![[INTTUP:[0-9]+]]
3939
// DWARF-SAME: size: 128, align: 64{{[,)]}}
40-
// DWARF: ![[INTTUP]] = !DICompositeType({{.*}}identifier: "_TtTVs5Int64S__"
40+
// DWARF: ![[INTTUP]] = !DICompositeType({{.*}}identifier: "_T0s5Int64V_ABtD"
4141
case just(Int64, Int64)
4242
}
4343

@@ -51,36 +51,36 @@ let c = MaybeIntPair.just(74, 75)
5151
// CHECK: !DICompositeType({{.*}}name: "Maybe",
5252
// CHECK-SAME: line: [[@LINE-8]],
5353
// CHECK-SAME: size: 8, align: 8{{[,)]}}
54-
// CHECK-SAME: identifier: "_TtGO4enum5MaybeOS_5Color_"
54+
// CHECK-SAME: identifier: "_T04enum5MaybeOyAA5ColorOGD"
5555
let movie : Maybe<Color> = .none
5656

5757
public enum Nothing { }
5858
public func foo(_ empty : Nothing) { }
5959
// CHECK: !DICompositeType({{.*}}name: "Nothing", {{.*}}elements: ![[EMPTY]]
6060

6161
// CHECK: !DICompositeType({{.*}}name: "Rose", {{.*}}elements: ![[ELTS:[0-9]+]],
62-
// CHECK-SAME: {{.*}}identifier: "_TtGO4enum4Rosex_")
62+
// CHECK-SAME: {{.*}}identifier: "_T04enum4RoseOyxGD")
6363
enum Rose<A> {
6464
case MkRose(() -> A, () -> [Rose<A>])
65-
// DWARF: !DICompositeType({{.*}}name: "Rose",{{.*}}identifier: "_TtGO4enum4RoseQq_S0__")
65+
// DWARF: !DICompositeType({{.*}}name: "Rose",{{.*}}identifier: "_T04enum4RoseOyAA3fooACyxGAElFQq_GD")
6666
case IORose(() -> Rose<A>)
6767
}
6868

6969
func foo<T>(_ x : Rose<T>) -> Rose<T> { return x }
7070

7171
// CHECK: !DICompositeType({{.*}}name: "Tuple", {{.*}}elements: ![[ELTS:[0-9]+]],
72-
// CHECK-SAME: {{.*}}identifier: "_TtGO4enum5TupleQq_FS_3barurFGS0_x_GS0_x__")
72+
// CHECK-SAME: {{.*}}identifier: "_T04enum5TupleOyAA3barACyxGAElFQq_GD")
7373
// DWARF: !DICompositeType({{.*}}name: "Tuple", {{.*}}elements: ![[ELTS:[0-9]+]],
74-
// DWARF-SAME: {{.*}}identifier: "_TtGO4enum5Tuplex_")
74+
// DWARF-SAME: {{.*}}identifier: "_T04enum5TupleOyxGD")
7575
public enum Tuple<P> {
76-
// DWARF: !DICompositeType({{.*}}name: "Tuple",{{.*}}identifier: "_TtGO4enum5TupleQq_S0__")
76+
// DWARF: !DICompositeType({{.*}}name: "Tuple",{{.*}}identifier: "_T04enum5TupleOyAA3barACyxGAElFQq_GD")
7777
case C(P, () -> Tuple)
7878
}
7979

8080
func bar<T>(_ x : Tuple<T>) -> Tuple<T> { return x }
8181

8282
// CHECK: !DILocalVariable(name: "self", arg: 1, {{.*}} line: [[@LINE+5]], type: ![[LIST:.*]], flags: DIFlagArtificial)
83-
// CHECK: ![[LIST]] = !DICompositeType({{.*}}identifier: "_TtGO4enum4ListQq_S0__"
83+
// CHECK: ![[LIST]] = !DICompositeType({{.*}}identifier: "_T04enum4ListOyACQq_GD"
8484
public enum List<T> {
8585
indirect case Tail(List, T)
8686
case End

test/DebugInfo/fnptr.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
// CHECK-DAG: ![[SINODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int64",{{.*}} identifier: [[SI:.*]])
55
// CHECK-DAG: ![[SFNODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Float",{{.*}} identifier: [[SF:.*]])
6-
// CHECK-DAG: ![[VOIDNODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_TtT_",{{.*}} identifier: [[VOID:.*]])
6+
// CHECK-DAG: ![[VOIDNODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_T0ytD",{{.*}} identifier: [[VOID:.*]])
77
func bar() {
88
print("bar()", terminator: "")
99
}
@@ -12,34 +12,34 @@ func barz(_ i: Float, _ j: Float) -> Int64 { return 0; }
1212
func main() -> Int64 {
1313
// CHECK-DAG: !DILocalVariable(name: "bar_fnptr",{{.*}} line: [[@LINE+3]],{{.*}} type: ![[BARPT:[0-9]+]]
1414
// AST-DAG: !DILocalVariable(name: "bar_fnptr",{{.*}} line: [[@LINE+2]],{{.*}} type: ![[BAR_T:[0-9]+]]
15-
// AST-DAG: ![[BAR_T]] = !DICompositeType({{.*}}, identifier: "_TtXFo___")
15+
// AST-DAG: ![[BAR_T]] = !DICompositeType({{.*}}, identifier: "_T0Ix_D")
1616
var bar_fnptr = bar
1717
// CHECK-DAG: ![[BARPT]] = !DICompositeType(tag: DW_TAG_structure_type, {{.*}} elements: ![[BARMEMBERS:[0-9]+]]
1818
// CHECK-DAG: ![[BARMEMBERS]] = !{![[BARMEMBER:.*]], {{.*}}}
1919
// CHECK-DAG: ![[BARMEMBER]] = !DIDerivedType(tag: DW_TAG_member,{{.*}} baseType: ![[BARPTR:[0-9]+]]
2020
// CHECK-DAG: ![[BARPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type,{{.*}} baseType: ![[BART:[0-9]+]]
2121
// CHECK-DAG: ![[BART]] = !DISubroutineType(types: ![[BARARGS:[0-9]+]])
2222
// CHECK-DAG: ![[BARARGS]] = !{![[VOID:.*]]}
23-
// CHECK-DAG: ![[VOID]] = {{.*}}identifier: "_TtT_"
23+
// CHECK-DAG: ![[VOID]] = {{.*}}identifier: "_T0ytD"
2424
bar_fnptr();
2525

2626
// CHECK-DAG: !DILocalVariable(name: "baz_fnptr",{{.*}} type: ![[BAZPT:[0-9]+]]
2727
// AST-DAG: !DILocalVariable(name: "baz_fnptr",{{.*}} type: ![[BAZ_T:[0-9]+]]
28-
// AST-DAG: ![[BAZ_T]] = !DICompositeType({{.*}}, identifier: "_TtXFo_dSf_dVs5Int64_")
28+
// AST-DAG: ![[BAZ_T]] = !DICompositeType({{.*}}, identifier: "_T0Sfs5Int64VIxyd_D")
2929
// CHECK-DAG: ![[BAZPT]] = !DICompositeType(tag: DW_TAG_structure_type, {{.*}} elements: ![[BAZMEMBERS:[0-9]+]]
3030
// CHECK-DAG: ![[BAZMEMBERS]] = !{![[BAZMEMBER:.*]], {{.*}}}
3131
// CHECK-DAG: ![[BAZMEMBER]] = !DIDerivedType(tag: DW_TAG_member,{{.*}} baseType: ![[BAZPTR:[0-9]+]]
3232
// CHECK-DAG: ![[BAZPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type,{{.*}} baseType: ![[BAZT:[0-9]+]]
3333
// CHECK-DAG: ![[BAZT]] = !DISubroutineType(types: ![[BAZARGS:.*]])
3434
// CHECK-DAG: ![[BAZARGS]] = !{![[INT:.*]], ![[FLOAT:.*]]}
35-
// CHECK-DAG: ![[INT]] = {{.*}}identifier: "_TtVs5Int64"
36-
// CHECK-DAG: ![[FLOAT]] = {{.*}}identifier: "_TtSf"
35+
// CHECK-DAG: ![[INT]] = {{.*}}identifier: "_T0s5Int64VD"
36+
// CHECK-DAG: ![[FLOAT]] = {{.*}}identifier: "_T0SfD"
3737
var baz_fnptr = baz
3838
baz_fnptr(2.89)
3939

4040
// CHECK-DAG: !DILocalVariable(name: "barz_fnptr",{{.*}} type: ![[BARZPT:[0-9]+]]
4141
// AST_DAG: !DILocalVariable(name: "barz_fnptr",{{.*}} type: ![[BARZ_T:[0-9]+]]
42-
// AST-DAG: ![[BARZ_T:[0-9]+]] = !DICompositeType({{.*}}, identifier: "_TtXFo_dSfdSf_dVs5Int64_")
42+
// AST-DAG: ![[BARZ_T:[0-9]+]] = !DICompositeType({{.*}}, identifier: "_T0S2fs5Int64VIxyyd_D")
4343
// CHECK-DAG: ![[BARZPT]] = !DICompositeType(tag: DW_TAG_structure_type,{{.*}} elements: ![[BARZMEMBERS:[0-9]+]]
4444
// CHECK-DAG: ![[BARZMEMBERS]] = !{![[BARZMEMBER:.*]], {{.*}}}
4545
// CHECK-DAG: ![[BARZMEMBER]] = !DIDerivedType(tag: DW_TAG_member,{{.*}} baseType: ![[BARZPTR:[0-9]+]]

test/DebugInfo/inout.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@
88
func Close(_ fn: () -> Int64) { fn() }
99
typealias MyFloat = Float
1010

11-
// CHECK: define hidden {{.*}}void @_TF5inout13modifyFooHeap
11+
// CHECK: define hidden swiftcc void @_T05inout13modifyFooHeap{{[_0-9a-zA-Z]*}}F
1212
// CHECK: %[[ALLOCA:.*]] = alloca %Ts5Int64V*
1313
// CHECK: call void @llvm.dbg.declare(metadata
1414
// CHECK-SAME: %[[ALLOCA]], metadata ![[A:[0-9]+]]
1515

1616
// Closure with promoted capture.
17-
// PROMO-CHECK: define {{.*}}@_TFF5inout13modifyFooHeapFTRVs5Int64Sf_T_U_FT_S0_
17+
// PROMO-CHECK: define {{.*}}@_T05inout13modifyFooHeapys5Int64Vz_SftFADycfU_
1818
// PROMO-CHECK: call void @llvm.dbg.declare(metadata %Ts5Int64V** %
1919
// PROMO-CHECK-SAME: metadata ![[A1:[0-9]+]], metadata ![[EMPTY_EXPR:[0-9]+]])
2020

2121
// PROMO-CHECK-DAG: ![[EMPTY_EXPR]] = !DIExpression()
22-
// PROMO-CHECK-DAG: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "_TtVs5Int64"
23-
// PROMO-CHECK-DAG: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "_TtRVs5Int64"
22+
// PROMO-CHECK-DAG: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "_T0s5Int64VD"
23+
// PROMO-CHECK-DAG: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "_T0s5Int64VzD"
2424
// PROMO-CHECK: ![[A1]] = !DILocalVariable(name: "a", arg: 1
2525
// PROMO-CHECK-SAME: type: ![[INT]]
2626
func modifyFooHeap(_ a: inout Int64,
2727
// CHECK-DAG: ![[A]] = !DILocalVariable(name: "a", arg: 1{{.*}} line: [[@LINE-1]],{{.*}} type: ![[RINT:[0-9]+]]
28-
// CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "_TtRVs5Int64"
28+
// CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "_T0s5Int64VzD"
2929
_ b: MyFloat)
3030
{
3131
let b = b
@@ -38,17 +38,17 @@ func modifyFooHeap(_ a: inout Int64,
3838
}
3939

4040
// Inout reference type.
41-
// FOO-CHECK: define {{.*}}@_TF5inout9modifyFooFTRVs5Int64Sf_T_
41+
// FOO-CHECK: define {{.*}}@_T05inout9modifyFooys5Int64Vz_SftF
4242
// FOO-CHECK: call void @llvm.dbg.declare(metadata %Ts5Int64V** %
4343
// FOO-CHECK-SAME: metadata ![[U:[0-9]+]], metadata ![[EMPTY_EXPR:.*]])
4444
// FOO-CHECK: ![[EMPTY_EXPR]] = !DIExpression()
4545
func modifyFoo(_ u: inout Int64,
4646
// FOO-CHECK-DAG: !DILocalVariable(name: "v", arg: 2{{.*}} line: [[@LINE+3]],{{.*}} type: ![[MYFLOAT:[0-9]+]]
4747
// FOO-CHECK-DAG: [[U]] = !DILocalVariable(name: "u", arg: 1{{.*}} line: [[@LINE-2]],{{.*}} type: ![[RINT:[0-9]+]]
48-
// FOO-CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "_TtRVs5Int64"
48+
// FOO-CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "_T0s5Int64VzD"
4949
_ v: MyFloat)
50-
// FOO-CHECK-DAG: ![[MYFLOAT]] = !DIDerivedType(tag: DW_TAG_typedef, name: "_Tta5inout7MyFloat",{{.*}} baseType: ![[FLOAT:[0-9]+]]
51-
// FOO-CHECK-DAG: ![[FLOAT]] = !DICompositeType({{.*}}identifier: "_TtSf"
50+
// FOO-CHECK-DAG: ![[MYFLOAT]] = !DIDerivedType(tag: DW_TAG_typedef, name: "_T05inout7MyFloataD",{{.*}} baseType: ![[FLOAT:[0-9]+]]
51+
// FOO-CHECK-DAG: ![[FLOAT]] = !DICompositeType({{.*}}identifier: "_T0SfD"
5252
{
5353
if (v > 2.71) {
5454
u = u - 41

test/DebugInfo/mangling-stdlib.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
// RUN: %target-swift-frontend -parse-stdlib %s -emit-ir -g -o - | %FileCheck %s
2-
// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "_TtBb",
2+
// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "_T0BbD",
33
var bo : Builtin.BridgeObject

test/DebugInfo/mangling.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ func markUsed<T>(_ t: T) {}
88
// Variable:
99
// mangling.myDict : Swift.Dictionary<Swift.Int64, Swift.String>
1010
// CHECK: !DIGlobalVariable(name: "myDict",
11-
// CHECK-SAME: linkageName: "_Tv8mangling6myDictGVs10DictionaryVs5Int64SS_",
11+
// CHECK-SAME: linkageName: "_T08mangling6myDicts10DictionaryVys5Int64VSSGv",
1212
// CHECK-SAME: line: [[@LINE+3]]
1313
// CHECK-SAME: type: ![[DT:[0-9]+]]
1414
// CHECK: ![[DT]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Dictionary"
@@ -17,24 +17,24 @@ myDict[12] = "Hello!"
1717

1818
// mangling.myTuple1 : (Name : Swift.String, Id : Swift.Int64)
1919
// CHECK: !DIGlobalVariable(name: "myTuple1",
20-
// CHECK-SAME: linkageName: "_Tv8mangling8myTuple1T4NameSS2IdVs5Int64_",
20+
// CHECK-SAME: linkageName: "_T08mangling8myTuple1SS4Name_s5Int64V2Idtv",
2121
// CHECK-SAME: line: [[@LINE+3]]
2222
// CHECK-SAME: type: ![[TT1:[0-9]+]]
23-
// CHECK: ![[TT1]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_TtT4NameSS2IdVs5Int64_"
23+
// CHECK: ![[TT1]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_T0SS4Name_s5Int64V2IdtD"
2424
var myTuple1 : (Name: String, Id: Int64) = ("A", 1)
2525
// mangling.myTuple2 : (Swift.String, Id : Swift.Int64)
2626
// CHECK: !DIGlobalVariable(name: "myTuple2",
27-
// CHECK-SAME: linkageName: "_Tv8mangling8myTuple2TSS2IdVs5Int64_",
27+
// CHECK-SAME: linkageName: "_T08mangling8myTuple2SS_s5Int64V2Idtv",
2828
// CHECK-SAME: line: [[@LINE+3]]
2929
// CHECK-SAME: type: ![[TT2:[0-9]+]]
30-
// CHECK: ![[TT2]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_TtTSS2IdVs5Int64_"
30+
// CHECK: ![[TT2]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_T0SS_s5Int64V2IdtD"
3131
var myTuple2 : ( String, Id: Int64) = ("B", 2)
3232
// mangling.myTuple3 : (Swift.String, Swift.Int64)
3333
// CHECK: !DIGlobalVariable(name: "myTuple3",
34-
// CHECK-SAME: linkageName: "_Tv8mangling8myTuple3TSSVs5Int64_",
34+
// CHECK-SAME: linkageName: "_T08mangling8myTuple3SS_s5Int64Vtv",
3535
// CHECK-SAME: line: [[@LINE+3]]
3636
// CHECK-SAME: type: ![[TT3:[0-9]+]]
37-
// CHECK: ![[TT3]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_TtTSSVs5Int64_"
37+
// CHECK: ![[TT3]] = !DICompositeType(tag: DW_TAG_structure_type, name: "_T0SS_s5Int64VtD"
3838
var myTuple3 : ( String, Int64) = ("C", 3)
3939

4040
markUsed(myTuple1.Id)

test/DebugInfo/test-foundation.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import Foundation
1212

1313
class MyObject : NSObject {
1414
// Ensure we don't emit linetable entries for ObjC thunks.
15-
// LOC-CHECK: define {{.*}} @_TToFC4main8MyObjectg5MyArrCSo7NSArray
15+
// LOC-CHECK: define {{.*}} @_T04main8MyObjectC0B3ArrSo7NSArrayCfgTo
1616
// LOC-CHECK: ret {{.*}}, !dbg ![[DBG:.*]]
1717
// LOC-CHECK: ret
1818
var MyArr = NSArray()
@@ -33,7 +33,7 @@ extension MyObject {
3333
}
3434
}
3535

36-
// SANITY-DAG: ![[NSOBJECT:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "NSObject",{{.*}} identifier: "_TtCSo8NSObject"
36+
// SANITY-DAG: ![[NSOBJECT:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "NSObject",{{.*}} identifier: "_T0So8NSObjectC"
3737
// SANITY-DAG: !DIGlobalVariable(name: "NsObj",{{.*}} line: [[@LINE+1]],{{.*}} type: ![[NSOBJECT]],{{.*}} isDefinition: true
3838
var NsObj: NSObject
3939
NsObj = MyObject()
@@ -43,7 +43,7 @@ MyObj.blah()
4343

4444
public func err() {
4545
// DWARF-CHECK: DW_AT_name{{.*}}NSError
46-
// DWARF-CHECK: DW_AT_linkage_name{{.*}}_TtCSo7NSError
46+
// DWARF-CHECK: DW_AT_linkage_name{{.*}}_T0So7NSErrorC
4747
let _ = NSError(domain: "myDomain", code: 4,
4848
userInfo: [AnyHashable("a"):1,
4949
AnyHashable("b"):2,
@@ -52,11 +52,11 @@ public func err() {
5252

5353
// LOC-CHECK: define {{.*}}4date
5454
public func date() {
55-
// LOC-CHECK: call {{.*}} @_TFSSCfT21_builtinStringLiteralBp17utf8CodeUnitCountBw7isASCIIBi1__SS{{.*}}, !dbg ![[L1:.*]]
55+
// LOC-CHECK: call {{.*}} @_T0S2SBp21_builtinStringLiteral_Bw17utf8CodeUnitCountBi1_7isASCIItcfC{{.*}}, !dbg ![[L1:.*]]
5656
let d1 = DateFormatter()
5757
// LOC-CHECK: br{{.*}}, !dbg ![[L2:.*]]
5858
d1.dateFormat = "dd. mm. yyyy" // LOC-CHECK: call{{.*}}objc_msgSend{{.*}}, !dbg ![[L2]]
59-
// LOC-CHECK: call {{.*}} @_TFSSCfT21_builtinStringLiteralBp17utf8CodeUnitCountBw7isASCIIBi1__SS{{.*}}, !dbg ![[L3:.*]]
59+
// LOC-CHECK: call {{.*}} @_T0S2SBp21_builtinStringLiteral_Bw17utf8CodeUnitCountBi1_7isASCIItcfC{{.*}}, !dbg ![[L3:.*]]
6060
let d2 = DateFormatter()
6161
// LOC-CHECK: br{{.*}}, !dbg ![[L4:.*]]
6262
d2.dateFormat = "mm dd yyyy" // LOC-CHECK: call{{.*}}objc_msgSend{{.*}}, !dbg ![[L4]]
@@ -68,7 +68,7 @@ func useOptions(_ opt: URL.BookmarkCreationOptions)
6868
return [opt, opt]
6969
}
7070

71-
// LOC-CHECK: ![[THUNK:.*]] = distinct !DISubprogram({{.*}}linkageName: "_TToFC4main8MyObjectg5MyArrCSo7NSArray"
71+
// LOC-CHECK: ![[THUNK:.*]] = distinct !DISubprogram({{.*}}linkageName: "_T04main8MyObjectC0B3ArrSo7NSArrayCfgTo"
7272
// LOC-CHECK-NOT: line:
7373
// LOC-CHECK-SAME: isDefinition: true
7474
// LOC-CHECK: ![[DBG]] = !DILocation(line: 0, scope: ![[THUNK]])

test/DebugInfo/test_ints.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ var a : Int64 = 2
88
// CHECK-SAME: size: 64, align: 64
99
// CHECK-NOT: offset: 0
1010
// CHECK-NOT: DIFlagFwdDecl
11-
// CHECK-SAME: identifier: "_TtVs5Int64"
11+
// CHECK-SAME: identifier: "_T0s5Int64VD"
1212

1313
// CHECK: !DIGlobalVariable(name: "b",{{.*}} line: [[@LINE+2]]
1414
// CHECK-SAME: type: ![[INT:[0-9]+]]
1515
var b = 2
1616
// CHECK: ![[INT]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int"
17-
// CHECK-SAME: identifier: "_TtSi"
17+
// CHECK-SAME: identifier: "_T0SiD"
1818

0 commit comments

Comments
 (0)