[clang] 6b30623 - DebugInfo: Make the simplified template names prefix more unique

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 6 11:26:10 PDT 2022


Author: David Blaikie
Date: 2022-04-06T18:25:46Z
New Revision: 6b306233f78876a1d197ed6e1f05785505de7c63

URL: https://github.com/llvm/llvm-project/commit/6b306233f78876a1d197ed6e1f05785505de7c63
DIFF: https://github.com/llvm/llvm-project/commit/6b306233f78876a1d197ed6e1f05785505de7c63.diff

LOG: DebugInfo: Make the simplified template names prefix more unique

Added: 
    

Modified: 
    clang/lib/CodeGen/CGDebugInfo.cpp
    clang/test/CodeGenCXX/debug-info-simple-template-names.cpp
    llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    llvm/test/DebugInfo/X86/tu-to-non-tu.ll
    llvm/test/ThinLTO/X86/debuginfo-compositetype-import.ll
    llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names-fail.s
    llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s

Removed: 
    


################################################################################
diff  --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index a37dc81c4bb8f..eeabae09c2cab 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -5199,7 +5199,7 @@ std::string CGDebugInfo::GetName(const Decl *D, bool Qualified) const {
         TemplateNamesKind == codegenoptions::DebugTemplateNamesKind::Mangled;
     // check if it's a template
     if (Mangled)
-      OS << "_STN";
+      OS << "_STN|";
 
     OS << ND->getDeclName();
     std::string EncodedOriginalName;

diff  --git a/clang/test/CodeGenCXX/debug-info-simple-template-names.cpp b/clang/test/CodeGenCXX/debug-info-simple-template-names.cpp
index 5bf1b54b97708..190d121937a03 100644
--- a/clang/test/CodeGenCXX/debug-info-simple-template-names.cpp
+++ b/clang/test/CodeGenCXX/debug-info-simple-template-names.cpp
@@ -35,20 +35,20 @@ t4 v1;
 void f() {
   // Basic examples of simplifiable/rebuildable names
   f1<>();
-  // CHECK: !DISubprogram(name: "_STNf1|<>",
+  // CHECK: !DISubprogram(name: "_STN|f1|<>",
   // SIMPLE: !DISubprogram(name: "f1",
   // FULL: !DISubprogram(name: "f1<>",
   f1<int>();
-  // CHECK: !DISubprogram(name: "_STNf1|<int>",
+  // CHECK: !DISubprogram(name: "_STN|f1|<int>",
   f1<void()>();
-  // CHECK: !DISubprogram(name: "_STNf1|<void ()>",
+  // CHECK: !DISubprogram(name: "_STN|f1|<void ()>",
   f2<int, 42>();
-  // CHECK: !DISubprogram(name: "_STNf2|<int, 42>",
+  // CHECK: !DISubprogram(name: "_STN|f2|<int, 42>",
 
   // Check that even though the nested name can't be rebuilt, it'll carry its
   // full name and the outer name can be rebuilt from that.
   f1<t1<void() noexcept>>();
-  // CHECK: !DISubprogram(name: "_STNf1|<t1<void () noexcept> >",
+  // CHECK: !DISubprogram(name: "_STN|f1|<t1<void () noexcept> >",
 
   // Vector array types are encoded in DWARF but the decoding in llvm-dwarfdump
   // isn't implemented yet.
@@ -109,7 +109,7 @@ void f() {
   // worry about seeing conversion operators as parameters to other templates.
 
   f3<t1>();
-  // CHECK: !DISubprogram(name: "_STNf3|<t1>",
+  // CHECK: !DISubprogram(name: "_STN|f3|<t1>",
   
   f1<_BitInt(3)>();
   // CHECK: !DISubprogram(name: "f1<_BitInt(3)>",

diff  --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index 7d097bbff6d82..420df9b4e14a9 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -1509,7 +1509,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
         // DICompositeType flag specifying whether template parameters are
         // required on declarations of this type.
         StringRef NameStr = Name->getString();
-        if (!NameStr.contains('<') || NameStr.startswith("_STN"))
+        if (!NameStr.contains('<') || NameStr.startswith("_STN|"))
           TemplateParams = getMDOrNull(Record[14]);
       }
     } else {

diff  --git a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
index 1dbe22dcd1c58..265096c7e3fba 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
@@ -291,7 +291,7 @@ struct DWARFTypePrinter {
       }
       Word = true;
       StringRef Name = NamePtr;
-      static constexpr StringRef MangledPrefix = "_STN";
+      static constexpr StringRef MangledPrefix = "_STN|";
       if (Name.startswith(MangledPrefix)) {
         Name = Name.drop_front(MangledPrefix.size());
         auto Separator = Name.find('|');

diff  --git a/llvm/test/DebugInfo/X86/tu-to-non-tu.ll b/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
index c204c67e9b652..119c4884900a9 100644
--- a/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
+++ b/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
@@ -66,7 +66,7 @@
 ; };
 ; ref_templ_non_tu_simple v3;
 ; 
-; // Modify templ_non_tu<bool>'s name to be mangled ('_STN' name '|' args)
+; // Modify templ_non_tu<bool>'s name to be mangled ('_STN|' name '|' args)
 ; template <>
 ; struct templ_non_tu<bool> {
 ;   virtual void f1();
@@ -117,7 +117,7 @@
 ; CHECK: DW_AT_name {{.*}}"ref_templ_non_tu"
 ; CHECK: DW_TAG_structure_type
 ; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name {{.*}}"_STNtempl_non_tu|<int>"
+; CHECK: DW_AT_name {{.*}}"_STN|templ_non_tu|<int>"
 
 ; CHECK: DW_TAG_structure_type
 ; CHECK-NOT: DW_TAG
@@ -134,7 +134,7 @@
 ; CHECK: DW_AT_name {{.*}}"ref_templ_non_tu_mangled"
 ; CHECK: DW_TAG_structure_type
 ; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name      ("_STNtempl_non_tu|<bool>")
+; CHECK: DW_AT_name      ("_STN|templ_non_tu|<bool>")
 ; CHECK-NOT: DW_TAG
 ; CHECK: DW_TAG_template_type_parameter
 ; CHECK-NEXT: DW_AT_type    {{.*}}"bool"
@@ -244,7 +244,7 @@ attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
 !15 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ref_templ_non_tu", file: !3, line: 30, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !16, identifier: "_ZTS16ref_templ_non_tu")
 !16 = !{!17}
 !17 = !DIDerivedType(tag: DW_TAG_member, name: "v1", scope: !15, file: !3, line: 31, baseType: !18, size: 64)
-!18 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STNtempl_non_tu|<int>", file: !3, line: 26, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !19, vtableHolder: !18, templateParams: !30)
+!18 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STN|templ_non_tu|<int>", file: !3, line: 26, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !19, vtableHolder: !18, templateParams: !30)
 !19 = !{!20, !26}
 !20 = !DIDerivedType(tag: DW_TAG_member, name: "_vptr$templ_non_tu", scope: !3, file: !3, baseType: !21, size: 64, flags: DIFlagArtificial)
 !21 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !22, size: 64)
@@ -277,7 +277,7 @@ attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
 !48 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ref_templ_non_tu_mangled", file: !3, line: 53, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !49, identifier: "_ZTS24ref_templ_non_tu_mangled")
 !49 = !{!50}
 !50 = !DIDerivedType(tag: DW_TAG_member, name: "v1", scope: !48, file: !3, line: 54, baseType: !51, size: 64)
-!51 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STNtempl_non_tu|<bool>", file: !3, line: 49, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !52, vtableHolder: !51, templateParams: !57)
+!51 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STN|templ_non_tu|<bool>", file: !3, line: 49, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !52, vtableHolder: !51, templateParams: !57)
 !52 = !{!20, !53}
 !53 = !DISubprogram(name: "f1", linkageName: "_ZN12templ_non_tuIbE2f1Ev", scope: !51, file: !3, line: 50, type: !54, scopeLine: 50, containingType: !51, virtualIndex: 0, flags: DIFlagPrototyped, spFlags: DISPFlagVirtual)
 !54 = !DISubroutineType(types: !55)

diff  --git a/llvm/test/ThinLTO/X86/debuginfo-compositetype-import.ll b/llvm/test/ThinLTO/X86/debuginfo-compositetype-import.ll
index 785446533aaf6..22e8ec4418eca 100644
--- a/llvm/test/ThinLTO/X86/debuginfo-compositetype-import.ll
+++ b/llvm/test/ThinLTO/X86/debuginfo-compositetype-import.ll
@@ -18,7 +18,7 @@
 ; CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "struct", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, size: 128, flags: DIFlagFwdDecl, templateParams: !{{[0-9]+}}, identifier: "struct_templ_simplified")
 ; CHECK: distinct !DICompositeType(tag: DW_TAG_union_type, file: !{{[0-9]+}}, line: 115, size: 384, flags: DIFlagFwdDecl, identifier: "union")
 ; CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "struct<>", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, size: 128, flags: DIFlagFwdDecl, identifier: "struct_templ")
-; CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STNstruct|<>", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, size: 128, flags: DIFlagFwdDecl, templateParams: !{{[0-9]+}}, identifier: "struct_templ_simplified_mangled")
+; CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STN|struct|<>", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, size: 128, flags: DIFlagFwdDecl, templateParams: !{{[0-9]+}}, identifier: "struct_templ_simplified_mangled")
 
 ; Ensure that full type definitions of composite types are imported if requested
 ; RUN: llvm-lto -import-full-type-definitions -thinlto-action=import %t2.bc -thinlto-index=%t.index.bc -o - | llvm-dis -o - | FileCheck %s --check-prefix=FULL
@@ -34,7 +34,7 @@
 ; FULL: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "struct", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, baseType: !{{[0-9]+}}, size: 128, offset: 64, elements: !{{[0-9]+}}, vtableHolder: !{{[0-9]+}}, templateParams: !{{[0-9]+}}, identifier: "struct_templ_simplified")
 ; FULL: distinct !DICompositeType(tag: DW_TAG_union_type, file: !{{[0-9]+}}, line: 115, size: 384, elements: !{{[0-9]+}}, identifier: "union")
 ; FULL: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "struct<>", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, baseType: !{{[0-9]+}}, size: 128, offset: 64, elements: !{{[0-9]+}}, vtableHolder: !{{[0-9]+}}, templateParams: !{{[0-9]+}}, identifier: "struct_templ")
-; FULL: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STNstruct|<>", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, baseType: !{{[0-9]+}}, size: 128, offset: 64, elements: !{{[0-9]+}}, vtableHolder: !{{[0-9]+}}, templateParams: !{{[0-9]+}}, identifier: "struct_templ_simplified_mangled")
+; FULL: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STN|struct|<>", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: 309, baseType: !{{[0-9]+}}, size: 128, offset: 64, elements: !{{[0-9]+}}, vtableHolder: !{{[0-9]+}}, templateParams: !{{[0-9]+}}, identifier: "struct_templ_simplified_mangled")
 
 ; ModuleID = 'debuginfo-compositetype-import.c'
 source_filename = "debuginfo-compositetype-import.c"
@@ -65,4 +65,4 @@ entry:
 !11 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "struct", scope: !1, file: !1, line: 309, baseType: !10, size: 128, offset: 64, elements: !5, vtableHolder: !10, templateParams: !5, identifier: "struct_templ_simplified")
 !12 = distinct !DICompositeType(tag: DW_TAG_union_type, file: !1, line: 115, size: 384, elements: !5, identifier: "union")
 !13 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "struct<>", scope: !1, file: !1, line: 309, baseType: !10, size: 128, offset: 64, elements: !5, vtableHolder: !10, templateParams: !5, identifier: "struct_templ")
-!14 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STNstruct|<>", scope: !1, file: !1, line: 309, baseType: !10, size: 128, offset: 64, elements: !5, vtableHolder: !10, templateParams: !5, identifier: "struct_templ_simplified_mangled")
+!14 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_STN|struct|<>", scope: !1, file: !1, line: 309, baseType: !10, size: 128, offset: 64, elements: !5, vtableHolder: !10, templateParams: !5, identifier: "struct_templ_simplified_mangled")

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names-fail.s b/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names-fail.s
index 0af8cf0ed6c9a..e56fcd8352ac0 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names-fail.s
+++ b/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names-fail.s
@@ -135,7 +135,7 @@ v1:
 .Linfo_string5:
 	.asciz	"T"                             # string offset=162
 .Linfo_string6:
-	.asciz	"_STNt1|<it>"                   # string offset=164
+	.asciz	"_STN|t1|<it>"                   # string offset=164
 	.ident	"clang version 14.0.0 (git at github.com:llvm/llvm-project.git 9daec0955132e6e33b086edc63c6f3e0f5712323)"
 	.section	".note.GNU-stack","", at progbits
 	.addrsig

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s b/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s
index 6bca48e15a153..73e713398545c 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s
+++ b/llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s
@@ -12254,7 +12254,7 @@ i:
 .Linfo_string22:
 	.asciz	"b"                             # string offset=413
 .Linfo_string23:
-	.asciz	"_STNt3|<int, false>"           # string offset=415
+	.asciz	"_STN|t3|<int, false>"           # string offset=415
 .Linfo_string24:
 	.asciz	"t10"                           # string offset=435
 .Linfo_string25:
@@ -12384,7 +12384,7 @@ i:
 .Linfo_string87:
 	.asciz	"float"                         # string offset=1201
 .Linfo_string88:
-	.asciz	"_STNt1|<float>"                # string offset=1207
+	.asciz	"_STN|t1|<float>"                # string offset=1207
 .Linfo_string89:
 	.asciz	"_ZN2t6miIiEEvi"                # string offset=1222
 .Linfo_string90:
@@ -12468,7 +12468,7 @@ i:
 .Linfo_string129:
 	.asciz	"operator co_await<int>"        # string offset=1852
 .Linfo_string130:
-	.asciz	"_STNt10|<void>"                # string offset=1875
+	.asciz	"_STN|t10|<void>"                # string offset=1875
 .Linfo_string131:
 	.asciz	"_ZN2t83memEv"                  # string offset=1890
 .Linfo_string132:
@@ -12484,101 +12484,101 @@ i:
 .Linfo_string137:
 	.asciz	"_Z2f1IJiEEvv"                  # string offset=1943
 .Linfo_string138:
-	.asciz	"_STNf1|<int>"                  # string offset=1956
+	.asciz	"_STN|f1|<int>"                  # string offset=1956
 .Linfo_string139:
 	.asciz	"_Z2f1IJfEEvv"                  # string offset=1969
 .Linfo_string140:
-	.asciz	"_STNf1|<float>"                # string offset=1982
+	.asciz	"_STN|f1|<float>"                # string offset=1982
 .Linfo_string141:
 	.asciz	"_Z2f1IJbEEvv"                  # string offset=1997
 .Linfo_string142:
-	.asciz	"_STNf1|<bool>"                 # string offset=2010
+	.asciz	"_STN|f1|<bool>"                 # string offset=2010
 .Linfo_string143:
 	.asciz	"double"                        # string offset=2024
 .Linfo_string144:
 	.asciz	"_Z2f1IJdEEvv"                  # string offset=2031
 .Linfo_string145:
-	.asciz	"_STNf1|<double>"               # string offset=2044
+	.asciz	"_STN|f1|<double>"               # string offset=2044
 .Linfo_string146:
 	.asciz	"_Z2f1IJlEEvv"                  # string offset=2060
 .Linfo_string147:
-	.asciz	"_STNf1|<long>"                 # string offset=2073
+	.asciz	"_STN|f1|<long>"                 # string offset=2073
 .Linfo_string148:
 	.asciz	"_Z2f1IJsEEvv"                  # string offset=2087
 .Linfo_string149:
-	.asciz	"_STNf1|<short>"                # string offset=2100
+	.asciz	"_STN|f1|<short>"                # string offset=2100
 .Linfo_string150:
 	.asciz	"_Z2f1IJjEEvv"                  # string offset=2115
 .Linfo_string151:
-	.asciz	"_STNf1|<unsigned int>"         # string offset=2128
+	.asciz	"_STN|f1|<unsigned int>"         # string offset=2128
 .Linfo_string152:
 	.asciz	"unsigned long long"            # string offset=2150
 .Linfo_string153:
 	.asciz	"_Z2f1IJyEEvv"                  # string offset=2169
 .Linfo_string154:
-	.asciz	"_STNf1|<unsigned long long>"   # string offset=2182
+	.asciz	"_STN|f1|<unsigned long long>"   # string offset=2182
 .Linfo_string155:
 	.asciz	"long long"                     # string offset=2210
 .Linfo_string156:
 	.asciz	"_Z2f1IJxEEvv"                  # string offset=2220
 .Linfo_string157:
-	.asciz	"_STNf1|<long long>"            # string offset=2233
+	.asciz	"_STN|f1|<long long>"            # string offset=2233
 .Linfo_string158:
 	.asciz	"udt"                           # string offset=2252
 .Linfo_string159:
 	.asciz	"_Z2f1IJ3udtEEvv"               # string offset=2256
 .Linfo_string160:
-	.asciz	"_STNf1|<udt>"                  # string offset=2272
+	.asciz	"_STN|f1|<udt>"                  # string offset=2272
 .Linfo_string161:
 	.asciz	"_Z2f1IJN2ns3udtEEEvv"          # string offset=2285
 .Linfo_string162:
-	.asciz	"_STNf1|<ns::udt>"              # string offset=2306
+	.asciz	"_STN|f1|<ns::udt>"              # string offset=2306
 .Linfo_string163:
 	.asciz	"_Z2f1IJPN2ns3udtEEEvv"         # string offset=2323
 .Linfo_string164:
-	.asciz	"_STNf1|<ns::udt *>"            # string offset=2345
+	.asciz	"_STN|f1|<ns::udt *>"            # string offset=2345
 .Linfo_string165:
 	.asciz	"inner"                         # string offset=2364
 .Linfo_string166:
 	.asciz	"_Z2f1IJN2ns5inner3udtEEEvv"    # string offset=2370
 .Linfo_string167:
-	.asciz	"_STNf1|<ns::inner::udt>"       # string offset=2397
+	.asciz	"_STN|f1|<ns::inner::udt>"       # string offset=2397
 .Linfo_string168:
-	.asciz	"_STNt1|<int>"                  # string offset=2421
+	.asciz	"_STN|t1|<int>"                  # string offset=2421
 .Linfo_string169:
 	.asciz	"_Z2f1IJ2t1IJiEEEEvv"           # string offset=2434
 .Linfo_string170:
-	.asciz	"_STNf1|<t1<int> >"             # string offset=2454
+	.asciz	"_STN|f1|<t1<int> >"             # string offset=2454
 .Linfo_string171:
 	.asciz	"_Z2f1IJifEEvv"                 # string offset=2472
 .Linfo_string172:
-	.asciz	"_STNf1|<int, float>"           # string offset=2486
+	.asciz	"_STN|f1|<int, float>"           # string offset=2486
 .Linfo_string173:
 	.asciz	"_Z2f1IJPiEEvv"                 # string offset=2506
 .Linfo_string174:
-	.asciz	"_STNf1|<int *>"                # string offset=2520
+	.asciz	"_STN|f1|<int *>"                # string offset=2520
 .Linfo_string175:
 	.asciz	"_Z2f1IJRiEEvv"                 # string offset=2535
 .Linfo_string176:
-	.asciz	"_STNf1|<int &>"                # string offset=2549
+	.asciz	"_STN|f1|<int &>"                # string offset=2549
 .Linfo_string177:
 	.asciz	"_Z2f1IJOiEEvv"                 # string offset=2564
 .Linfo_string178:
-	.asciz	"_STNf1|<int &&>"               # string offset=2578
+	.asciz	"_STN|f1|<int &&>"               # string offset=2578
 .Linfo_string179:
 	.asciz	"_Z2f1IJKiEEvv"                 # string offset=2594
 .Linfo_string180:
-	.asciz	"_STNf1|<const int>"            # string offset=2608
+	.asciz	"_STN|f1|<const int>"            # string offset=2608
 .Linfo_string181:
 	.asciz	"__ARRAY_SIZE_TYPE__"           # string offset=2627
 .Linfo_string182:
 	.asciz	"_Z2f1IJA3_iEEvv"               # string offset=2647
 .Linfo_string183:
-	.asciz	"_STNf1|<int[3]>"               # string offset=2663
+	.asciz	"_STN|f1|<int[3]>"               # string offset=2663
 .Linfo_string184:
 	.asciz	"_Z2f1IJvEEvv"                  # string offset=2679
 .Linfo_string185:
-	.asciz	"_STNf1|<void>"                 # string offset=2692
+	.asciz	"_STN|f1|<void>"                 # string offset=2692
 .Linfo_string186:
 	.asciz	"outer_class"                   # string offset=2706
 .Linfo_string187:
@@ -12586,29 +12586,29 @@ i:
 .Linfo_string188:
 	.asciz	"_Z2f1IJN11outer_class11inner_classEEEvv" # string offset=2730
 .Linfo_string189:
-	.asciz	"_STNf1|<outer_class::inner_class>" # string offset=2770
+	.asciz	"_STN|f1|<outer_class::inner_class>" # string offset=2770
 .Linfo_string190:
 	.asciz	"_Z2f1IJmEEvv"                  # string offset=2804
 .Linfo_string191:
-	.asciz	"_STNf1|<unsigned long>"        # string offset=2817
+	.asciz	"_STN|f1|<unsigned long>"        # string offset=2817
 .Linfo_string192:
 	.asciz	"_Z2f2ILb1ELi3EEvv"             # string offset=2840
 .Linfo_string193:
-	.asciz	"_STNf2|<true, 3>"              # string offset=2858
+	.asciz	"_STN|f2|<true, 3>"              # string offset=2858
 .Linfo_string194:
 	.asciz	"A"                             # string offset=2875
 .Linfo_string195:
 	.asciz	"_Z2f3IN2ns11EnumerationEJLS1_1ELS1_2EEEvv" # string offset=2877
 .Linfo_string196:
-	.asciz	"_STNf3|<ns::Enumeration, (ns::Enumeration)1, (ns::Enumeration)2>" # string offset=2919
+	.asciz	"_STN|f3|<ns::Enumeration, (ns::Enumeration)1, (ns::Enumeration)2>" # string offset=2919
 .Linfo_string197:
 	.asciz	"_Z2f3IN2ns16EnumerationClassEJLS1_1ELS1_2EEEvv" # string offset=2981
 .Linfo_string198:
-	.asciz	"_STNf3|<ns::EnumerationClass, (ns::EnumerationClass)1, (ns::EnumerationClass)2>" # string offset=3028
+	.asciz	"_STN|f3|<ns::EnumerationClass, (ns::EnumerationClass)1, (ns::EnumerationClass)2>" # string offset=3028
 .Linfo_string199:
 	.asciz	"_Z2f3IN2ns16EnumerationSmallEJLS1_255EEEvv" # string offset=3118
 .Linfo_string200:
-	.asciz	"_STNf3|<ns::EnumerationSmall, (ns::EnumerationSmall)255>" # string offset=3161
+	.asciz	"_STN|f3|<ns::EnumerationSmall, (ns::EnumerationSmall)255>" # string offset=3161
 .Linfo_string201:
 	.asciz	"_Z2f3IN2ns3$_0EJLS1_1ELS1_2EEEvv" # string offset=3201
 .Linfo_string202:
@@ -12628,41 +12628,41 @@ i:
 .Linfo_string209:
 	.asciz	"_Z2f3ImJLm1EEEvv"              # string offset=3678
 .Linfo_string210:
-	.asciz	"_STNf3|<unsigned long, 1UL>"   # string offset=3695
+	.asciz	"_STN|f3|<unsigned long, 1UL>"   # string offset=3695
 .Linfo_string211:
 	.asciz	"_Z2f3IyJLy1EEEvv"              # string offset=3723
 .Linfo_string212:
-	.asciz	"_STNf3|<unsigned long long, 1ULL>" # string offset=3740
+	.asciz	"_STN|f3|<unsigned long long, 1ULL>" # string offset=3740
 .Linfo_string213:
 	.asciz	"_Z2f3IlJLl1EEEvv"              # string offset=3774
 .Linfo_string214:
-	.asciz	"_STNf3|<long, 1L>"             # string offset=3791
+	.asciz	"_STN|f3|<long, 1L>"             # string offset=3791
 .Linfo_string215:
 	.asciz	"_Z2f3IjJLj1EEEvv"              # string offset=3809
 .Linfo_string216:
-	.asciz	"_STNf3|<unsigned int, 1U>"     # string offset=3826
+	.asciz	"_STN|f3|<unsigned int, 1U>"     # string offset=3826
 .Linfo_string217:
 	.asciz	"_Z2f3IsJLs1EEEvv"              # string offset=3852
 .Linfo_string218:
-	.asciz	"_STNf3|<short, (short)1>"      # string offset=3869
+	.asciz	"_STN|f3|<short, (short)1>"      # string offset=3869
 .Linfo_string219:
 	.asciz	"_Z2f3IhJLh0EEEvv"              # string offset=3894
 .Linfo_string220:
-	.asciz	"_STNf3|<unsigned char, (unsigned char)'\\x00'>" # string offset=3911
+	.asciz	"_STN|f3|<unsigned char, (unsigned char)'\\x00'>" # string offset=3911
 .Linfo_string221:
 	.asciz	"_Z2f3IaJLa0EEEvv"              # string offset=3957
 .Linfo_string222:
-	.asciz	"_STNf3|<signed char, (signed char)'\\x00'>" # string offset=3974
+	.asciz	"_STN|f3|<signed char, (signed char)'\\x00'>" # string offset=3974
 .Linfo_string223:
 	.asciz	"_Z2f3ItJLt1ELt2EEEvv"          # string offset=4016
 .Linfo_string224:
-	.asciz	"_STNf3|<unsigned short, (unsigned short)1, (unsigned short)2>" # string offset=4037
+	.asciz	"_STN|f3|<unsigned short, (unsigned short)1, (unsigned short)2>" # string offset=4037
 .Linfo_string225:
 	.asciz	"char"                          # string offset=4099
 .Linfo_string226:
 	.asciz	"_Z2f3IcJLc0ELc1ELc6ELc7ELc13ELc14ELc31ELc32ELc33ELc127ELcn128EEEvv" # string offset=4104
 .Linfo_string227:
-	.asciz	"_STNf3|<char, '\\x00', '\\x01', '\\x06', '\\a', '\\r', '\\x0e', '\\x1f', ' ', '!', '\\x7f', '\\x80'>" # string offset=4171
+	.asciz	"_STN|f3|<char, '\\x00', '\\x01', '\\x06', '\\a', '\\r', '\\x0e', '\\x1f', ' ', '!', '\\x7f', '\\x80'>" # string offset=4171
 .Linfo_string228:
 	.asciz	"__int128"                      # string offset=4263
 .Linfo_string229:
@@ -12672,17 +12672,17 @@ i:
 .Linfo_string231:
 	.asciz	"_Z2f4IjLj3EEvv"                # string offset=4353
 .Linfo_string232:
-	.asciz	"_STNf4|<unsigned int, 3U>"     # string offset=4368
+	.asciz	"_STN|f4|<unsigned int, 3U>"     # string offset=4368
 .Linfo_string233:
 	.asciz	"_Z2f1IJ2t3IiLb0EEEEvv"         # string offset=4394
 .Linfo_string234:
-	.asciz	"_STNf1|<t3<int, false> >"      # string offset=4416
+	.asciz	"_STN|f1|<t3<int, false> >"      # string offset=4416
 .Linfo_string235:
-	.asciz	"_STNt3|<t3<int, false>, false>" # string offset=4441
+	.asciz	"_STN|t3|<t3<int, false>, false>" # string offset=4441
 .Linfo_string236:
 	.asciz	"_Z2f1IJ2t3IS0_IiLb0EELb0EEEEvv" # string offset=4472
 .Linfo_string237:
-	.asciz	"_STNf1|<t3<t3<int, false>, false> >" # string offset=4503
+	.asciz	"_STN|f1|<t3<t3<int, false>, false> >" # string offset=4503
 .Linfo_string238:
 	.asciz	"_Z2f1IJZ4mainE3$_1EEvv"        # string offset=4539
 .Linfo_string239:
@@ -12698,59 +12698,59 @@ i:
 .Linfo_string244:
 	.asciz	"_Z2f1IJFifEEEvv"               # string offset=5091
 .Linfo_string245:
-	.asciz	"_STNf1|<int (float)>"          # string offset=5107
+	.asciz	"_STN|f1|<int (float)>"          # string offset=5107
 .Linfo_string246:
 	.asciz	"_Z2f1IJFvzEEEvv"               # string offset=5128
 .Linfo_string247:
-	.asciz	"_STNf1|<void (...)>"           # string offset=5144
+	.asciz	"_STN|f1|<void (...)>"           # string offset=5144
 .Linfo_string248:
 	.asciz	"_Z2f1IJFvizEEEvv"              # string offset=5164
 .Linfo_string249:
-	.asciz	"_STNf1|<void (int, ...)>"      # string offset=5181
+	.asciz	"_STN|f1|<void (int, ...)>"      # string offset=5181
 .Linfo_string250:
 	.asciz	"_Z2f1IJRKiEEvv"                # string offset=5206
 .Linfo_string251:
-	.asciz	"_STNf1|<const int &>"          # string offset=5221
+	.asciz	"_STN|f1|<const int &>"          # string offset=5221
 .Linfo_string252:
 	.asciz	"_Z2f1IJRPKiEEvv"               # string offset=5242
 .Linfo_string253:
-	.asciz	"_STNf1|<const int *&>"         # string offset=5258
+	.asciz	"_STN|f1|<const int *&>"         # string offset=5258
 .Linfo_string254:
 	.asciz	"t5"                            # string offset=5280
 .Linfo_string255:
 	.asciz	"_Z2f1IJN12_GLOBAL__N_12t5EEEvv" # string offset=5283
 .Linfo_string256:
-	.asciz	"_STNf1|<(anonymous namespace)::t5>" # string offset=5314
+	.asciz	"_STN|f1|<(anonymous namespace)::t5>" # string offset=5314
 .Linfo_string257:
 	.asciz	"decltype(nullptr)"             # string offset=5349
 .Linfo_string258:
 	.asciz	"_Z2f1IJDnEEvv"                 # string offset=5367
 .Linfo_string259:
-	.asciz	"_STNf1|<std::nullptr_t>"       # string offset=5381
+	.asciz	"_STN|f1|<std::nullptr_t>"       # string offset=5381
 .Linfo_string260:
 	.asciz	"_Z2f1IJPlS0_EEvv"              # string offset=5405
 .Linfo_string261:
-	.asciz	"_STNf1|<long *, long *>"       # string offset=5422
+	.asciz	"_STN|f1|<long *, long *>"       # string offset=5422
 .Linfo_string262:
 	.asciz	"_Z2f1IJPlP3udtEEvv"            # string offset=5446
 .Linfo_string263:
-	.asciz	"_STNf1|<long *, udt *>"        # string offset=5465
+	.asciz	"_STN|f1|<long *, udt *>"        # string offset=5465
 .Linfo_string264:
 	.asciz	"_Z2f1IJKPvEEvv"                # string offset=5488
 .Linfo_string265:
-	.asciz	"_STNf1|<void *const>"          # string offset=5503
+	.asciz	"_STN|f1|<void *const>"          # string offset=5503
 .Linfo_string266:
 	.asciz	"_Z2f1IJPKPKvEEvv"              # string offset=5524
 .Linfo_string267:
-	.asciz	"_STNf1|<const void *const *>"  # string offset=5541
+	.asciz	"_STN|f1|<const void *const *>"  # string offset=5541
 .Linfo_string268:
 	.asciz	"_Z2f1IJFvvEEEvv"               # string offset=5570
 .Linfo_string269:
-	.asciz	"_STNf1|<void ()>"              # string offset=5586
+	.asciz	"_STN|f1|<void ()>"              # string offset=5586
 .Linfo_string270:
 	.asciz	"_Z2f1IJPFvvEEEvv"              # string offset=5603
 .Linfo_string271:
-	.asciz	"_STNf1|<void (*)()>"           # string offset=5620
+	.asciz	"_STN|f1|<void (*)()>"           # string offset=5620
 .Linfo_string272:
 	.asciz	"_Z2f1IJPZ4mainE3$_1EEvv"       # string offset=5640
 .Linfo_string273:
@@ -12770,79 +12770,79 @@ i:
 .Linfo_string280:
 	.asciz	"_Z2f5IJ2t1IJiEEEiEvv"          # string offset=6065
 .Linfo_string281:
-	.asciz	"_STNf5|<t1<int>, int>"         # string offset=6086
+	.asciz	"_STN|f5|<t1<int>, int>"         # string offset=6086
 .Linfo_string282:
 	.asciz	"_Z2f5IJEiEvv"                  # string offset=6108
 .Linfo_string283:
-	.asciz	"_STNf5|<int>"                  # string offset=6121
+	.asciz	"_STN|f5|<int>"                  # string offset=6121
 .Linfo_string284:
 	.asciz	"_Z2f6I2t1IJiEEJEEvv"           # string offset=6134
 .Linfo_string285:
-	.asciz	"_STNf6|<t1<int> >"             # string offset=6154
+	.asciz	"_STN|f6|<t1<int> >"             # string offset=6154
 .Linfo_string286:
 	.asciz	"_Z2f1IJEEvv"                   # string offset=6172
 .Linfo_string287:
-	.asciz	"_STNf1|<>"                     # string offset=6184
+	.asciz	"_STN|f1|<>"                     # string offset=6184
 .Linfo_string288:
 	.asciz	"_Z2f1IJPKvS1_EEvv"             # string offset=6194
 .Linfo_string289:
-	.asciz	"_STNf1|<const void *, const void *>" # string offset=6212
+	.asciz	"_STN|f1|<const void *, const void *>" # string offset=6212
 .Linfo_string290:
-	.asciz	"_STNt1|<int *>"                # string offset=6248
+	.asciz	"_STN|t1|<int *>"                # string offset=6248
 .Linfo_string291:
 	.asciz	"_Z2f1IJP2t1IJPiEEEEvv"         # string offset=6263
 .Linfo_string292:
-	.asciz	"_STNf1|<t1<int *> *>"          # string offset=6285
+	.asciz	"_STN|f1|<t1<int *> *>"          # string offset=6285
 .Linfo_string293:
 	.asciz	"_Z2f1IJA_PiEEvv"               # string offset=6306
 .Linfo_string294:
-	.asciz	"_STNf1|<int *[]>"              # string offset=6322
+	.asciz	"_STN|f1|<int *[]>"              # string offset=6322
 .Linfo_string295:
 	.asciz	"t7"                            # string offset=6339
 .Linfo_string296:
 	.asciz	"_Z2f1IJZ4mainE2t7EEvv"         # string offset=6342
 .Linfo_string297:
-	.asciz	"_STNf1|<t7>"                   # string offset=6364
+	.asciz	"_STN|f1|<t7>"                   # string offset=6364
 .Linfo_string298:
 	.asciz	"_Z2f1IJRA3_iEEvv"              # string offset=6376
 .Linfo_string299:
-	.asciz	"_STNf1|<int (&)[3]>"           # string offset=6393
+	.asciz	"_STN|f1|<int (&)[3]>"           # string offset=6393
 .Linfo_string300:
 	.asciz	"_Z2f1IJPA3_iEEvv"              # string offset=6413
 .Linfo_string301:
-	.asciz	"_STNf1|<int (*)[3]>"           # string offset=6430
+	.asciz	"_STN|f1|<int (*)[3]>"           # string offset=6430
 .Linfo_string302:
 	.asciz	"t1"                            # string offset=6450
 .Linfo_string303:
 	.asciz	"_Z2f7I2t1Evv"                  # string offset=6453
 .Linfo_string304:
-	.asciz	"_STNf7|<t1>"                   # string offset=6466
+	.asciz	"_STN|f7|<t1>"                   # string offset=6466
 .Linfo_string305:
 	.asciz	"_Z2f8I2t1iEvv"                 # string offset=6478
 .Linfo_string306:
-	.asciz	"_STNf8|<t1, int>"              # string offset=6492
+	.asciz	"_STN|f8|<t1, int>"              # string offset=6492
 .Linfo_string307:
 	.asciz	"ns::inner::ttp"                # string offset=6509
 .Linfo_string308:
 	.asciz	"_ZN2ns8ttp_userINS_5inner3ttpEEEvv" # string offset=6524
 .Linfo_string309:
-	.asciz	"_STNttp_user|<ns::inner::ttp>" # string offset=6559
+	.asciz	"_STN|ttp_user|<ns::inner::ttp>" # string offset=6559
 .Linfo_string310:
 	.asciz	"_Z2f1IJPiPDnEEvv"              # string offset=6589
 .Linfo_string311:
-	.asciz	"_STNf1|<int *, std::nullptr_t *>" # string offset=6606
+	.asciz	"_STN|f1|<int *, std::nullptr_t *>" # string offset=6606
 .Linfo_string312:
-	.asciz	"_STNt7|<int>"                  # string offset=6639
+	.asciz	"_STN|t7|<int>"                  # string offset=6639
 .Linfo_string313:
 	.asciz	"_Z2f1IJ2t7IiEEEvv"             # string offset=6652
 .Linfo_string314:
-	.asciz	"_STNf1|<t7<int> >"             # string offset=6670
+	.asciz	"_STN|f1|<t7<int> >"             # string offset=6670
 .Linfo_string315:
 	.asciz	"ns::inl::t9"                   # string offset=6688
 .Linfo_string316:
 	.asciz	"_Z2f7IN2ns3inl2t9EEvv"         # string offset=6700
 .Linfo_string317:
-	.asciz	"_STNf7|<ns::inl::t9>"          # string offset=6722
+	.asciz	"_STN|f7|<ns::inl::t9>"          # string offset=6722
 .Linfo_string318:
 	.asciz	"_Z2f1IJU7_AtomiciEEvv"         # string offset=6743
 .Linfo_string319:
@@ -12850,7 +12850,7 @@ i:
 .Linfo_string320:
 	.asciz	"_Z2f1IJilVcEEvv"               # string offset=6782
 .Linfo_string321:
-	.asciz	"_STNf1|<int, long, volatile char>" # string offset=6798
+	.asciz	"_STN|f1|<int, long, volatile char>" # string offset=6798
 .Linfo_string322:
 	.asciz	"_Z2f1IJDv2_iEEvv"              # string offset=6832
 .Linfo_string323:
@@ -12858,11 +12858,11 @@ i:
 .Linfo_string324:
 	.asciz	"_Z2f1IJVKPiEEvv"               # string offset=6907
 .Linfo_string325:
-	.asciz	"_STNf1|<int *const volatile>"  # string offset=6923
+	.asciz	"_STN|f1|<int *const volatile>"  # string offset=6923
 .Linfo_string326:
 	.asciz	"_Z2f1IJVKvEEvv"                # string offset=6952
 .Linfo_string327:
-	.asciz	"_STNf1|<const volatile void>"  # string offset=6967
+	.asciz	"_STN|f1|<const volatile void>"  # string offset=6967
 .Linfo_string328:
 	.asciz	"t1<(lambda at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:184:12)>" # string offset=6996
 .Linfo_string329:
@@ -12874,59 +12874,59 @@ i:
 .Linfo_string332:
 	.asciz	"_Z2f1IJM3udtKFvvEEEvv"         # string offset=7266
 .Linfo_string333:
-	.asciz	"_STNf1|<void (udt::*)() const>" # string offset=7288
+	.asciz	"_STN|f1|<void (udt::*)() const>" # string offset=7288
 .Linfo_string334:
 	.asciz	"_Z2f1IJM3udtVFvvREEEvv"        # string offset=7319
 .Linfo_string335:
-	.asciz	"_STNf1|<void (udt::*)() volatile &>" # string offset=7342
+	.asciz	"_STN|f1|<void (udt::*)() volatile &>" # string offset=7342
 .Linfo_string336:
 	.asciz	"_Z2f1IJM3udtVKFvvOEEEvv"       # string offset=7378
 .Linfo_string337:
-	.asciz	"_STNf1|<void (udt::*)() const volatile &&>" # string offset=7402
+	.asciz	"_STN|f1|<void (udt::*)() const volatile &&>" # string offset=7402
 .Linfo_string338:
 	.asciz	"_Z2f9IiEPFvvEv"                # string offset=7445
 .Linfo_string339:
-	.asciz	"_STNf9|<int>"                  # string offset=7460
+	.asciz	"_STN|f9|<int>"                  # string offset=7460
 .Linfo_string340:
 	.asciz	"_Z2f1IJKPFvvEEEvv"             # string offset=7473
 .Linfo_string341:
-	.asciz	"_STNf1|<void (*const)()>"      # string offset=7491
+	.asciz	"_STN|f1|<void (*const)()>"      # string offset=7491
 .Linfo_string342:
 	.asciz	"_Z2f1IJRA1_KcEEvv"             # string offset=7516
 .Linfo_string343:
-	.asciz	"_STNf1|<const char (&)[1]>"    # string offset=7534
+	.asciz	"_STN|f1|<const char (&)[1]>"    # string offset=7534
 .Linfo_string344:
 	.asciz	"_Z2f1IJKFvvREEEvv"             # string offset=7561
 .Linfo_string345:
-	.asciz	"_STNf1|<void () const &>"      # string offset=7579
+	.asciz	"_STN|f1|<void () const &>"      # string offset=7579
 .Linfo_string346:
 	.asciz	"_Z2f1IJVFvvOEEEvv"             # string offset=7604
 .Linfo_string347:
-	.asciz	"_STNf1|<void () volatile &&>"  # string offset=7622
+	.asciz	"_STN|f1|<void () volatile &&>"  # string offset=7622
 .Linfo_string348:
 	.asciz	"_Z2f1IJVKFvvEEEvv"             # string offset=7651
 .Linfo_string349:
-	.asciz	"_STNf1|<void () const volatile>" # string offset=7669
+	.asciz	"_STN|f1|<void () const volatile>" # string offset=7669
 .Linfo_string350:
 	.asciz	"_Z2f1IJA1_KPiEEvv"             # string offset=7701
 .Linfo_string351:
-	.asciz	"_STNf1|<int *const[1]>"        # string offset=7719
+	.asciz	"_STN|f1|<int *const[1]>"        # string offset=7719
 .Linfo_string352:
 	.asciz	"_Z2f1IJRA1_KPiEEvv"            # string offset=7742
 .Linfo_string353:
-	.asciz	"_STNf1|<int *const (&)[1]>"    # string offset=7761
+	.asciz	"_STN|f1|<int *const (&)[1]>"    # string offset=7761
 .Linfo_string354:
 	.asciz	"_Z2f1IJRKM3udtFvvEEEvv"        # string offset=7788
 .Linfo_string355:
-	.asciz	"_STNf1|<void (udt::*const &)()>" # string offset=7811
+	.asciz	"_STN|f1|<void (udt::*const &)()>" # string offset=7811
 .Linfo_string356:
 	.asciz	"_Z2f1IJFPFvfEiEEEvv"           # string offset=7843
 .Linfo_string357:
-	.asciz	"_STNf1|<void (*(int))(float)>" # string offset=7863
+	.asciz	"_STN|f1|<void (*(int))(float)>" # string offset=7863
 .Linfo_string358:
 	.asciz	"_Z2f1IJA1_2t1IJiEEEEvv"        # string offset=7893
 .Linfo_string359:
-	.asciz	"_STNf1|<t1<int>[1]>"           # string offset=7916
+	.asciz	"_STN|f1|<t1<int>[1]>"           # string offset=7916
 .Linfo_string360:
 	.asciz	"_Z2f1IJPDoFvvEEEvv"            # string offset=7936
 .Linfo_string361:
@@ -12942,11 +12942,11 @@ i:
 .Linfo_string366:
 	.asciz	"_Z2f1IJFvZ4mainE2t8EEEvv"      # string offset=8293
 .Linfo_string367:
-	.asciz	"_STNf1|<void (t8)>"            # string offset=8318
+	.asciz	"_STN|f1|<void (t8)>"            # string offset=8318
 .Linfo_string368:
 	.asciz	"_Z19operator_not_reallyIiEvv"  # string offset=8337
 .Linfo_string369:
-	.asciz	"_STNoperator_not_really|<int>" # string offset=8366
+	.asciz	"_STN|operator_not_really|<int>" # string offset=8366
 .Linfo_string370:
 	.asciz	"_BitInt"                       # string offset=8396
 .Linfo_string371:
@@ -12960,25 +12960,25 @@ i:
 .Linfo_string375:
 	.asciz	"f1<const unsigned _BitInt(5)>" # string offset=8469
 .Linfo_string376:
-	.asciz	"_STNt1|<>"                     # string offset=8499
+	.asciz	"_STN|t1|<>"                     # string offset=8499
 .Linfo_string377:
 	.asciz	"_Z2f1IJFv2t1IJEES1_EEEvv"      # string offset=8509
 .Linfo_string378:
-	.asciz	"_STNf1|<void (t1<>, t1<>)>"    # string offset=8534
+	.asciz	"_STN|f1|<void (t1<>, t1<>)>"    # string offset=8534
 .Linfo_string379:
 	.asciz	"_Z2f1IJM2t1IJEEiEEvv"          # string offset=8561
 .Linfo_string380:
-	.asciz	"_STNf1|<int t1<>::*>"          # string offset=8582
+	.asciz	"_STN|f1|<int t1<>::*>"          # string offset=8582
 .Linfo_string381:
 	.asciz	"_Z2f1IJU9swiftcallFvvEEEvv"    # string offset=8603
 .Linfo_string382:
-	.asciz	"_STNf1|<void () __attribute__((swiftcall))>" # string offset=8630
+	.asciz	"_STN|f1|<void () __attribute__((swiftcall))>" # string offset=8630
 .Linfo_string383:
 	.asciz	"_Z2f1IJZN2t83memEvE2t7EEvv"    # string offset=8674
 .Linfo_string384:
 	.asciz	"_Z2f1IJM2t8FvvEEEvv"           # string offset=8701
 .Linfo_string385:
-	.asciz	"_STNf1|<void (t8::*)()>"       # string offset=8721
+	.asciz	"_STN|f1|<void (t8::*)()>"       # string offset=8721
 .Linfo_string386:
 	.asciz	"L"                             # string offset=8745
 .Linfo_string387:
@@ -12986,7 +12986,7 @@ i:
 .Linfo_string388:
 	.asciz	"N"                             # string offset=8750
 .Linfo_string389:
-	.asciz	"_STNt4|<3U>"                   # string offset=8752
+	.asciz	"_STN|t4|<3U>"                   # string offset=8752
 .Linfo_string390:
 	.asciz	"v1"                            # string offset=8764
 .Linfo_string391:
@@ -13004,99 +13004,99 @@ i:
 .Linfo_string397:
 	.asciz	"t12"                           # string offset=8855
 .Linfo_string398:
-	.asciz	"_STNt2|<int>"                  # string offset=8859
+	.asciz	"_STN|t2|<int>"                  # string offset=8859
 .Linfo_string399:
-	.asciz	"_STNt2|<float>"                # string offset=8872
+	.asciz	"_STN|t2|<float>"                # string offset=8872
 .Linfo_string400:
-	.asciz	"_STNt1|<bool>"                 # string offset=8887
+	.asciz	"_STN|t1|<bool>"                 # string offset=8887
 .Linfo_string401:
-	.asciz	"_STNt2|<bool>"                 # string offset=8901
+	.asciz	"_STN|t2|<bool>"                 # string offset=8901
 .Linfo_string402:
-	.asciz	"_STNt1|<double>"               # string offset=8915
+	.asciz	"_STN|t1|<double>"               # string offset=8915
 .Linfo_string403:
-	.asciz	"_STNt2|<double>"               # string offset=8931
+	.asciz	"_STN|t2|<double>"               # string offset=8931
 .Linfo_string404:
-	.asciz	"_STNt1|<long>"                 # string offset=8947
+	.asciz	"_STN|t1|<long>"                 # string offset=8947
 .Linfo_string405:
-	.asciz	"_STNt2|<long>"                 # string offset=8961
+	.asciz	"_STN|t2|<long>"                 # string offset=8961
 .Linfo_string406:
-	.asciz	"_STNt1|<short>"                # string offset=8975
+	.asciz	"_STN|t1|<short>"                # string offset=8975
 .Linfo_string407:
-	.asciz	"_STNt2|<short>"                # string offset=8990
+	.asciz	"_STN|t2|<short>"                # string offset=8990
 .Linfo_string408:
-	.asciz	"_STNt1|<unsigned int>"         # string offset=9005
+	.asciz	"_STN|t1|<unsigned int>"         # string offset=9005
 .Linfo_string409:
-	.asciz	"_STNt2|<unsigned int>"         # string offset=9027
+	.asciz	"_STN|t2|<unsigned int>"         # string offset=9027
 .Linfo_string410:
-	.asciz	"_STNt1|<unsigned long long>"   # string offset=9049
+	.asciz	"_STN|t1|<unsigned long long>"   # string offset=9049
 .Linfo_string411:
-	.asciz	"_STNt2|<unsigned long long>"   # string offset=9077
+	.asciz	"_STN|t2|<unsigned long long>"   # string offset=9077
 .Linfo_string412:
-	.asciz	"_STNt1|<long long>"            # string offset=9105
+	.asciz	"_STN|t1|<long long>"            # string offset=9105
 .Linfo_string413:
-	.asciz	"_STNt2|<long long>"            # string offset=9124
+	.asciz	"_STN|t2|<long long>"            # string offset=9124
 .Linfo_string414:
-	.asciz	"_STNt1|<udt>"                  # string offset=9143
+	.asciz	"_STN|t1|<udt>"                  # string offset=9143
 .Linfo_string415:
-	.asciz	"_STNt2|<udt>"                  # string offset=9156
+	.asciz	"_STN|t2|<udt>"                  # string offset=9156
 .Linfo_string416:
-	.asciz	"_STNt1|<ns::udt>"              # string offset=9169
+	.asciz	"_STN|t1|<ns::udt>"              # string offset=9169
 .Linfo_string417:
-	.asciz	"_STNt2|<ns::udt>"              # string offset=9186
+	.asciz	"_STN|t2|<ns::udt>"              # string offset=9186
 .Linfo_string418:
-	.asciz	"_STNt1|<ns::udt *>"            # string offset=9203
+	.asciz	"_STN|t1|<ns::udt *>"            # string offset=9203
 .Linfo_string419:
-	.asciz	"_STNt2|<ns::udt *>"            # string offset=9222
+	.asciz	"_STN|t2|<ns::udt *>"            # string offset=9222
 .Linfo_string420:
-	.asciz	"_STNt1|<ns::inner::udt>"       # string offset=9241
+	.asciz	"_STN|t1|<ns::inner::udt>"       # string offset=9241
 .Linfo_string421:
-	.asciz	"_STNt2|<ns::inner::udt>"       # string offset=9265
+	.asciz	"_STN|t2|<ns::inner::udt>"       # string offset=9265
 .Linfo_string422:
-	.asciz	"_STNt1|<t1<int> >"             # string offset=9289
+	.asciz	"_STN|t1|<t1<int> >"             # string offset=9289
 .Linfo_string423:
-	.asciz	"_STNt2|<t1<int> >"             # string offset=9307
+	.asciz	"_STN|t2|<t1<int> >"             # string offset=9307
 .Linfo_string424:
-	.asciz	"_STNt1|<int, float>"           # string offset=9325
+	.asciz	"_STN|t1|<int, float>"           # string offset=9325
 .Linfo_string425:
-	.asciz	"_STNt2|<int, float>"           # string offset=9345
+	.asciz	"_STN|t2|<int, float>"           # string offset=9345
 .Linfo_string426:
-	.asciz	"_STNt2|<int *>"                # string offset=9365
+	.asciz	"_STN|t2|<int *>"                # string offset=9365
 .Linfo_string427:
-	.asciz	"_STNt1|<int &>"                # string offset=9380
+	.asciz	"_STN|t1|<int &>"                # string offset=9380
 .Linfo_string428:
-	.asciz	"_STNt2|<int &>"                # string offset=9395
+	.asciz	"_STN|t2|<int &>"                # string offset=9395
 .Linfo_string429:
-	.asciz	"_STNt1|<int &&>"               # string offset=9410
+	.asciz	"_STN|t1|<int &&>"               # string offset=9410
 .Linfo_string430:
-	.asciz	"_STNt2|<int &&>"               # string offset=9426
+	.asciz	"_STN|t2|<int &&>"               # string offset=9426
 .Linfo_string431:
-	.asciz	"_STNt1|<const int>"            # string offset=9442
+	.asciz	"_STN|t1|<const int>"            # string offset=9442
 .Linfo_string432:
-	.asciz	"_STNt2|<const int>"            # string offset=9461
+	.asciz	"_STN|t2|<const int>"            # string offset=9461
 .Linfo_string433:
-	.asciz	"_STNt1|<int[3]>"               # string offset=9480
+	.asciz	"_STN|t1|<int[3]>"               # string offset=9480
 .Linfo_string434:
-	.asciz	"_STNt2|<int[3]>"               # string offset=9496
+	.asciz	"_STN|t2|<int[3]>"               # string offset=9496
 .Linfo_string435:
-	.asciz	"_STNt1|<void>"                 # string offset=9512
+	.asciz	"_STN|t1|<void>"                 # string offset=9512
 .Linfo_string436:
-	.asciz	"_STNt2|<void>"                 # string offset=9526
+	.asciz	"_STN|t2|<void>"                 # string offset=9526
 .Linfo_string437:
-	.asciz	"_STNt1|<outer_class::inner_class>" # string offset=9540
+	.asciz	"_STN|t1|<outer_class::inner_class>" # string offset=9540
 .Linfo_string438:
-	.asciz	"_STNt2|<outer_class::inner_class>" # string offset=9574
+	.asciz	"_STN|t2|<outer_class::inner_class>" # string offset=9574
 .Linfo_string439:
-	.asciz	"_STNt1|<unsigned long>"        # string offset=9608
+	.asciz	"_STN|t1|<unsigned long>"        # string offset=9608
 .Linfo_string440:
-	.asciz	"_STNt2|<unsigned long>"        # string offset=9631
+	.asciz	"_STN|t2|<unsigned long>"        # string offset=9631
 .Linfo_string441:
-	.asciz	"_STNt1|<t3<int, false> >"      # string offset=9654
+	.asciz	"_STN|t1|<t3<int, false> >"      # string offset=9654
 .Linfo_string442:
-	.asciz	"_STNt2|<t3<int, false> >"      # string offset=9679
+	.asciz	"_STN|t2|<t3<int, false> >"      # string offset=9679
 .Linfo_string443:
-	.asciz	"_STNt1|<t3<t3<int, false>, false> >" # string offset=9704
+	.asciz	"_STN|t1|<t3<t3<int, false>, false> >" # string offset=9704
 .Linfo_string444:
-	.asciz	"_STNt2|<t3<t3<int, false>, false> >" # string offset=9740
+	.asciz	"_STN|t2|<t3<t3<int, false>, false> >" # string offset=9740
 .Linfo_string445:
 	.asciz	"t2<(lambda at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:184:12)>" # string offset=9776
 .Linfo_string446:
@@ -13104,57 +13104,57 @@ i:
 .Linfo_string447:
 	.asciz	"t2<t3<t3<(lambda at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:184:12), false>, false> >" # string offset=10019
 .Linfo_string448:
-	.asciz	"_STNt1|<int (float)>"          # string offset=10152
+	.asciz	"_STN|t1|<int (float)>"          # string offset=10152
 .Linfo_string449:
-	.asciz	"_STNt2|<int (float)>"          # string offset=10173
+	.asciz	"_STN|t2|<int (float)>"          # string offset=10173
 .Linfo_string450:
-	.asciz	"_STNt1|<void (...)>"           # string offset=10194
+	.asciz	"_STN|t1|<void (...)>"           # string offset=10194
 .Linfo_string451:
-	.asciz	"_STNt2|<void (...)>"           # string offset=10214
+	.asciz	"_STN|t2|<void (...)>"           # string offset=10214
 .Linfo_string452:
-	.asciz	"_STNt1|<void (int, ...)>"      # string offset=10234
+	.asciz	"_STN|t1|<void (int, ...)>"      # string offset=10234
 .Linfo_string453:
-	.asciz	"_STNt2|<void (int, ...)>"      # string offset=10259
+	.asciz	"_STN|t2|<void (int, ...)>"      # string offset=10259
 .Linfo_string454:
-	.asciz	"_STNt1|<const int &>"          # string offset=10284
+	.asciz	"_STN|t1|<const int &>"          # string offset=10284
 .Linfo_string455:
-	.asciz	"_STNt2|<const int &>"          # string offset=10305
+	.asciz	"_STN|t2|<const int &>"          # string offset=10305
 .Linfo_string456:
-	.asciz	"_STNt1|<const int *&>"         # string offset=10326
+	.asciz	"_STN|t1|<const int *&>"         # string offset=10326
 .Linfo_string457:
-	.asciz	"_STNt2|<const int *&>"         # string offset=10348
+	.asciz	"_STN|t2|<const int *&>"         # string offset=10348
 .Linfo_string458:
-	.asciz	"_STNt1|<(anonymous namespace)::t5>" # string offset=10370
+	.asciz	"_STN|t1|<(anonymous namespace)::t5>" # string offset=10370
 .Linfo_string459:
-	.asciz	"_STNt2|<(anonymous namespace)::t5>" # string offset=10405
+	.asciz	"_STN|t2|<(anonymous namespace)::t5>" # string offset=10405
 .Linfo_string460:
-	.asciz	"_STNt1|<std::nullptr_t>"       # string offset=10440
+	.asciz	"_STN|t1|<std::nullptr_t>"       # string offset=10440
 .Linfo_string461:
-	.asciz	"_STNt2|<std::nullptr_t>"       # string offset=10464
+	.asciz	"_STN|t2|<std::nullptr_t>"       # string offset=10464
 .Linfo_string462:
-	.asciz	"_STNt1|<long *, long *>"       # string offset=10488
+	.asciz	"_STN|t1|<long *, long *>"       # string offset=10488
 .Linfo_string463:
-	.asciz	"_STNt2|<long *, long *>"       # string offset=10512
+	.asciz	"_STN|t2|<long *, long *>"       # string offset=10512
 .Linfo_string464:
-	.asciz	"_STNt1|<long *, udt *>"        # string offset=10536
+	.asciz	"_STN|t1|<long *, udt *>"        # string offset=10536
 .Linfo_string465:
-	.asciz	"_STNt2|<long *, udt *>"        # string offset=10559
+	.asciz	"_STN|t2|<long *, udt *>"        # string offset=10559
 .Linfo_string466:
-	.asciz	"_STNt1|<void *const>"          # string offset=10582
+	.asciz	"_STN|t1|<void *const>"          # string offset=10582
 .Linfo_string467:
-	.asciz	"_STNt2|<void *const>"          # string offset=10603
+	.asciz	"_STN|t2|<void *const>"          # string offset=10603
 .Linfo_string468:
-	.asciz	"_STNt1|<const void *const *>"  # string offset=10624
+	.asciz	"_STN|t1|<const void *const *>"  # string offset=10624
 .Linfo_string469:
-	.asciz	"_STNt2|<const void *const *>"  # string offset=10653
+	.asciz	"_STN|t2|<const void *const *>"  # string offset=10653
 .Linfo_string470:
-	.asciz	"_STNt1|<void ()>"              # string offset=10682
+	.asciz	"_STN|t1|<void ()>"              # string offset=10682
 .Linfo_string471:
-	.asciz	"_STNt2|<void ()>"              # string offset=10699
+	.asciz	"_STN|t2|<void ()>"              # string offset=10699
 .Linfo_string472:
-	.asciz	"_STNt1|<void (*)()>"           # string offset=10716
+	.asciz	"_STN|t1|<void (*)()>"           # string offset=10716
 .Linfo_string473:
-	.asciz	"_STNt2|<void (*)()>"           # string offset=10736
+	.asciz	"_STN|t2|<void (*)()>"           # string offset=10736
 .Linfo_string474:
 	.asciz	"t1<(lambda at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:184:12) *>" # string offset=10756
 .Linfo_string475:
@@ -13168,117 +13168,117 @@ i:
 .Linfo_string479:
 	.asciz	"t2<(unnamed struct at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:183:3) *>" # string offset=11333
 .Linfo_string480:
-	.asciz	"_STNt2|<>"                     # string offset=11452
+	.asciz	"_STN|t2|<>"                     # string offset=11452
 .Linfo_string481:
-	.asciz	"_STNt1|<const void *, const void *>" # string offset=11462
+	.asciz	"_STN|t1|<const void *, const void *>" # string offset=11462
 .Linfo_string482:
-	.asciz	"_STNt2|<const void *, const void *>" # string offset=11498
+	.asciz	"_STN|t2|<const void *, const void *>" # string offset=11498
 .Linfo_string483:
-	.asciz	"_STNt1|<t1<int *> *>"          # string offset=11534
+	.asciz	"_STN|t1|<t1<int *> *>"          # string offset=11534
 .Linfo_string484:
-	.asciz	"_STNt2|<t1<int *> *>"          # string offset=11555
+	.asciz	"_STN|t2|<t1<int *> *>"          # string offset=11555
 .Linfo_string485:
-	.asciz	"_STNt1|<int *[]>"              # string offset=11576
+	.asciz	"_STN|t1|<int *[]>"              # string offset=11576
 .Linfo_string486:
-	.asciz	"_STNt2|<int *[]>"              # string offset=11593
+	.asciz	"_STN|t2|<int *[]>"              # string offset=11593
 .Linfo_string487:
 	.asciz	"this"                          # string offset=11610
 .Linfo_string488:
-	.asciz	"_STNt1|<t7>"                   # string offset=11615
+	.asciz	"_STN|t1|<t7>"                   # string offset=11615
 .Linfo_string489:
-	.asciz	"_STNt2|<t7>"                   # string offset=11627
+	.asciz	"_STN|t2|<t7>"                   # string offset=11627
 .Linfo_string490:
-	.asciz	"_STNt1|<int (&)[3]>"           # string offset=11639
+	.asciz	"_STN|t1|<int (&)[3]>"           # string offset=11639
 .Linfo_string491:
-	.asciz	"_STNt2|<int (&)[3]>"           # string offset=11659
+	.asciz	"_STN|t2|<int (&)[3]>"           # string offset=11659
 .Linfo_string492:
-	.asciz	"_STNt1|<int (*)[3]>"           # string offset=11679
+	.asciz	"_STN|t1|<int (*)[3]>"           # string offset=11679
 .Linfo_string493:
-	.asciz	"_STNt2|<int (*)[3]>"           # string offset=11699
+	.asciz	"_STN|t2|<int (*)[3]>"           # string offset=11699
 .Linfo_string494:
-	.asciz	"_STNt1|<int *, std::nullptr_t *>" # string offset=11719
+	.asciz	"_STN|t1|<int *, std::nullptr_t *>" # string offset=11719
 .Linfo_string495:
-	.asciz	"_STNt2|<int *, std::nullptr_t *>" # string offset=11752
+	.asciz	"_STN|t2|<int *, std::nullptr_t *>" # string offset=11752
 .Linfo_string496:
-	.asciz	"_STNt1|<t7<int> >"             # string offset=11785
+	.asciz	"_STN|t1|<t7<int> >"             # string offset=11785
 .Linfo_string497:
-	.asciz	"_STNt2|<t7<int> >"             # string offset=11803
+	.asciz	"_STN|t2|<t7<int> >"             # string offset=11803
 .Linfo_string498:
 	.asciz	"t1<_Atomic(int)>"              # string offset=11821
 .Linfo_string499:
 	.asciz	"t2<_Atomic(int)>"              # string offset=11838
 .Linfo_string500:
-	.asciz	"_STNt1|<int, long, volatile char>" # string offset=11855
+	.asciz	"_STN|t1|<int, long, volatile char>" # string offset=11855
 .Linfo_string501:
-	.asciz	"_STNt2|<int, long, volatile char>" # string offset=11889
+	.asciz	"_STN|t2|<int, long, volatile char>" # string offset=11889
 .Linfo_string502:
 	.asciz	"t1<__attribute__((__vector_size__(2 * sizeof(int)))) int>" # string offset=11923
 .Linfo_string503:
 	.asciz	"t2<__attribute__((__vector_size__(2 * sizeof(int)))) int>" # string offset=11981
 .Linfo_string504:
-	.asciz	"_STNt1|<int *const volatile>"  # string offset=12039
+	.asciz	"_STN|t1|<int *const volatile>"  # string offset=12039
 .Linfo_string505:
-	.asciz	"_STNt2|<int *const volatile>"  # string offset=12068
+	.asciz	"_STN|t2|<int *const volatile>"  # string offset=12068
 .Linfo_string506:
-	.asciz	"_STNt1|<const volatile void>"  # string offset=12097
+	.asciz	"_STN|t1|<const volatile void>"  # string offset=12097
 .Linfo_string507:
-	.asciz	"_STNt2|<const volatile void>"  # string offset=12126
+	.asciz	"_STN|t2|<const volatile void>"  # string offset=12126
 .Linfo_string508:
 	.asciz	"t1<t1<(lambda at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:184:12)> >" # string offset=12155
 .Linfo_string509:
 	.asciz	"t2<t1<(lambda at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:184:12)> >" # string offset=12270
 .Linfo_string510:
-	.asciz	"_STNt1|<void (udt::*)() const>" # string offset=12385
+	.asciz	"_STN|t1|<void (udt::*)() const>" # string offset=12385
 .Linfo_string511:
-	.asciz	"_STNt2|<void (udt::*)() const>" # string offset=12416
+	.asciz	"_STN|t2|<void (udt::*)() const>" # string offset=12416
 .Linfo_string512:
-	.asciz	"_STNt1|<void (udt::*)() volatile &>" # string offset=12447
+	.asciz	"_STN|t1|<void (udt::*)() volatile &>" # string offset=12447
 .Linfo_string513:
-	.asciz	"_STNt2|<void (udt::*)() volatile &>" # string offset=12483
+	.asciz	"_STN|t2|<void (udt::*)() volatile &>" # string offset=12483
 .Linfo_string514:
-	.asciz	"_STNt1|<void (udt::*)() const volatile &&>" # string offset=12519
+	.asciz	"_STN|t1|<void (udt::*)() const volatile &&>" # string offset=12519
 .Linfo_string515:
-	.asciz	"_STNt2|<void (udt::*)() const volatile &&>" # string offset=12562
+	.asciz	"_STN|t2|<void (udt::*)() const volatile &&>" # string offset=12562
 .Linfo_string516:
-	.asciz	"_STNt1|<void (*const)()>"      # string offset=12605
+	.asciz	"_STN|t1|<void (*const)()>"      # string offset=12605
 .Linfo_string517:
-	.asciz	"_STNt2|<void (*const)()>"      # string offset=12630
+	.asciz	"_STN|t2|<void (*const)()>"      # string offset=12630
 .Linfo_string518:
-	.asciz	"_STNt1|<const char (&)[1]>"    # string offset=12655
+	.asciz	"_STN|t1|<const char (&)[1]>"    # string offset=12655
 .Linfo_string519:
-	.asciz	"_STNt2|<const char (&)[1]>"    # string offset=12682
+	.asciz	"_STN|t2|<const char (&)[1]>"    # string offset=12682
 .Linfo_string520:
-	.asciz	"_STNt1|<void () const &>"      # string offset=12709
+	.asciz	"_STN|t1|<void () const &>"      # string offset=12709
 .Linfo_string521:
-	.asciz	"_STNt2|<void () const &>"      # string offset=12734
+	.asciz	"_STN|t2|<void () const &>"      # string offset=12734
 .Linfo_string522:
-	.asciz	"_STNt1|<void () volatile &&>"  # string offset=12759
+	.asciz	"_STN|t1|<void () volatile &&>"  # string offset=12759
 .Linfo_string523:
-	.asciz	"_STNt2|<void () volatile &&>"  # string offset=12788
+	.asciz	"_STN|t2|<void () volatile &&>"  # string offset=12788
 .Linfo_string524:
-	.asciz	"_STNt1|<void () const volatile>" # string offset=12817
+	.asciz	"_STN|t1|<void () const volatile>" # string offset=12817
 .Linfo_string525:
-	.asciz	"_STNt2|<void () const volatile>" # string offset=12849
+	.asciz	"_STN|t2|<void () const volatile>" # string offset=12849
 .Linfo_string526:
-	.asciz	"_STNt1|<int *const[1]>"        # string offset=12881
+	.asciz	"_STN|t1|<int *const[1]>"        # string offset=12881
 .Linfo_string527:
-	.asciz	"_STNt2|<int *const[1]>"        # string offset=12904
+	.asciz	"_STN|t2|<int *const[1]>"        # string offset=12904
 .Linfo_string528:
-	.asciz	"_STNt1|<int *const (&)[1]>"    # string offset=12927
+	.asciz	"_STN|t1|<int *const (&)[1]>"    # string offset=12927
 .Linfo_string529:
-	.asciz	"_STNt2|<int *const (&)[1]>"    # string offset=12954
+	.asciz	"_STN|t2|<int *const (&)[1]>"    # string offset=12954
 .Linfo_string530:
-	.asciz	"_STNt1|<void (udt::*const &)()>" # string offset=12981
+	.asciz	"_STN|t1|<void (udt::*const &)()>" # string offset=12981
 .Linfo_string531:
-	.asciz	"_STNt2|<void (udt::*const &)()>" # string offset=13013
+	.asciz	"_STN|t2|<void (udt::*const &)()>" # string offset=13013
 .Linfo_string532:
-	.asciz	"_STNt1|<void (*(int))(float)>" # string offset=13045
+	.asciz	"_STN|t1|<void (*(int))(float)>" # string offset=13045
 .Linfo_string533:
-	.asciz	"_STNt2|<void (*(int))(float)>" # string offset=13075
+	.asciz	"_STN|t2|<void (*(int))(float)>" # string offset=13075
 .Linfo_string534:
-	.asciz	"_STNt1|<t1<int>[1]>"           # string offset=13105
+	.asciz	"_STN|t1|<t1<int>[1]>"           # string offset=13105
 .Linfo_string535:
-	.asciz	"_STNt2|<t1<int>[1]>"           # string offset=13125
+	.asciz	"_STN|t2|<t1<int>[1]>"           # string offset=13125
 .Linfo_string536:
 	.asciz	"t1<void (*)() noexcept>"       # string offset=13145
 .Linfo_string537:
@@ -13292,9 +13292,9 @@ i:
 .Linfo_string541:
 	.asciz	"t2<void (t8, (unnamed struct at cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp:183:3))>" # string offset=13569
 .Linfo_string542:
-	.asciz	"_STNt1|<void (t8)>"            # string offset=13697
+	.asciz	"_STN|t1|<void (t8)>"            # string offset=13697
 .Linfo_string543:
-	.asciz	"_STNt2|<void (t8)>"            # string offset=13716
+	.asciz	"_STN|t2|<void (t8)>"            # string offset=13716
 .Linfo_string544:
 	.asciz	"t1<_BitInt(3)>"                # string offset=13735
 .Linfo_string545:
@@ -13304,21 +13304,21 @@ i:
 .Linfo_string547:
 	.asciz	"t2<const unsigned _BitInt(5)>" # string offset=13795
 .Linfo_string548:
-	.asciz	"_STNt1|<void (t1<>, t1<>)>"    # string offset=13825
+	.asciz	"_STN|t1|<void (t1<>, t1<>)>"    # string offset=13825
 .Linfo_string549:
-	.asciz	"_STNt2|<void (t1<>, t1<>)>"    # string offset=13852
+	.asciz	"_STN|t2|<void (t1<>, t1<>)>"    # string offset=13852
 .Linfo_string550:
-	.asciz	"_STNt1|<int t1<>::*>"          # string offset=13879
+	.asciz	"_STN|t1|<int t1<>::*>"          # string offset=13879
 .Linfo_string551:
-	.asciz	"_STNt2|<int t1<>::*>"          # string offset=13900
+	.asciz	"_STN|t2|<int t1<>::*>"          # string offset=13900
 .Linfo_string552:
-	.asciz	"_STNt1|<void () __attribute__((swiftcall))>" # string offset=13921
+	.asciz	"_STN|t1|<void () __attribute__((swiftcall))>" # string offset=13921
 .Linfo_string553:
-	.asciz	"_STNt2|<void () __attribute__((swiftcall))>" # string offset=13965
+	.asciz	"_STN|t2|<void () __attribute__((swiftcall))>" # string offset=13965
 .Linfo_string554:
-	.asciz	"_STNt1|<void (t8::*)()>"       # string offset=14009
+	.asciz	"_STN|t1|<void (t8::*)()>"       # string offset=14009
 .Linfo_string555:
-	.asciz	"_STNt2|<void (t8::*)()>"       # string offset=14033
+	.asciz	"_STN|t2|<void (t8::*)()>"       # string offset=14033
 	.section	.debug_str_offsets,"", at progbits
 	.long	.Linfo_string0
 	.long	.Linfo_string1


        


More information about the cfe-commits mailing list