stella.stamenova created this revision.
stella.stamenova requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
The pdb lldb tests do not work correctly with both the VS2019 and VS2017
toolsets at the moment. This change updates several of the tests to work with
both toolsets. Unfortunately, this makes the tests suboptimal for both
toolsets, but we can update them to be better for VS2019 once we officially
drop VS2017. This change is meant to bridge the gap until the update happens,
so that the buildbots can work with either toolset.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D115482
Files:
lldb/test/Shell/SymbolFile/PDB/ast-restore.test
lldb/test/Shell/SymbolFile/PDB/class-layout.test
lldb/test/Shell/SymbolFile/PDB/enums-layout.test
lldb/test/Shell/SymbolFile/PDB/typedefs.test
lldb/test/Shell/SymbolFile/PDB/variables.test
Index: lldb/test/Shell/SymbolFile/PDB/variables.test
===================================================================
--- lldb/test/Shell/SymbolFile/PDB/variables.test
+++ lldb/test/Shell/SymbolFile/PDB/variables.test
@@ -51,7 +51,7 @@
FUNC-MAIN-NEXT: Variable{{.*}}, name = "a"
FUNC-MAIN-SAME: scope = local
-FUNC-CONSTRUCTOR: Function{{.*}}, mangled = ??0Class@@QEAA@H@Z
+FUNC-CONSTRUCTOR: Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Class{{.*}}
FUNC-CONSTRUCTOR-NEXT: Block
FUNC-CONSTRUCTOR-NEXT: Variable{{.*}}, name = "this"
FUNC-CONSTRUCTOR-SAME: scope = parameter
@@ -59,7 +59,7 @@
FUNC-CONSTRUCTOR-NEXT: Variable{{.*}}, name = "a"
FUNC-CONSTRUCTOR-SAME: scope = parameter
-FUNC-MEMBER: Function{{.*}}, mangled = ?Func@Class@@QEAAXXZ
+FUNC-MEMBER: Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Func{{.*}}
FUNC-MEMBER-NEXT: Block
FUNC-MEMBER-NEXT: Variable{{.*}}, name = "this"
FUNC-MEMBER-SAME: scope = parameter
Index: lldb/test/Shell/SymbolFile/PDB/typedefs.test
===================================================================
--- lldb/test/Shell/SymbolFile/PDB/typedefs.test
+++ lldb/test/Shell/SymbolFile/PDB/typedefs.test
@@ -17,7 +17,6 @@
CHECK-DAG: name = "char16_t", size = 2, compiler_type = {{.*}} char16_t
CHECK-DAG: Type{{.*}} , name = "unsigned long", size = 4, compiler_type = {{.*}} unsigned long
CHECK-DAG: Type{{.*}} , size = 40, compiler_type = {{.*}} unsigned long[10]
-CHECK-DAG: Type{{.*}} , name = "ULongArrayTypedef", compiler_type = {{.*}} typedef ULongArrayTypedef
; Note: compiler_type of `long double` is represented by the one for `double`
CHECK-DAG: Type{{.*}} , name = "double", size = 8, compiler_type = {{.*}} double
Index: lldb/test/Shell/SymbolFile/PDB/enums-layout.test
===================================================================
--- lldb/test/Shell/SymbolFile/PDB/enums-layout.test
+++ lldb/test/Shell/SymbolFile/PDB/enums-layout.test
@@ -10,35 +10,35 @@
; FIXME: PDB does not have information about scoped enumeration (Enum class) so the
; compiler type used is the same as the one for unscoped enumeration.
-ENUM: Type{{.*}} , name = "Enum", size = 4, decl = simpletypestest.cpp:19, compiler_type = {{.*}} enum Enum {
+ENUM: Type{{.*}} , name = "Enum", size = 4, decl = {{[Ss]}}imple{{[Tt]}}ypes{{[Tt]}}est.cpp:19, compiler_type = {{.*}} enum Enum {
ENUM_NEXT: RED,
ENUM_NEXT: GREEN,
ENUM_NEXT: BLUE
ENUM_NEXT:}
-ENUM_CONST: Type{{.*}} , name = "EnumConst", size = 4, decl = simpletypestest.cpp:22, compiler_type = {{.*}} enum EnumConst {
+ENUM_CONST: Type{{.*}} , name = "EnumConst", size = 4, decl = {{[Ss]}}imple{{[Tt]}}ypes{{[Tt]}}est.cpp:22, compiler_type = {{.*}} enum EnumConst {
ENUM_CONST-NEXT: LOW,
ENUM_CONST-NEXT: NORMAL,
ENUM_CONST-NEXT: HIGH
ENUM_CONST-NEXT:}
-ENUM_EMPTY: Type{{.*}} , name = "EnumEmpty", size = 4, decl = simpletypestest.cpp:25, compiler_type = {{.*}} enum EnumEmpty {
+ENUM_EMPTY: Type{{.*}} , name = "EnumEmpty", size = 4, decl = {{[Ss]}}imple{{[Tt]}}ypes{{[Tt]}}est.cpp:25, compiler_type = {{.*}} enum EnumEmpty {
ENUM_EMPTY-NEXT:}
-ENUM_UCHAR: Type{{.*}} , name = "EnumUChar", size = 1, decl = simpletypestest.cpp:28, compiler_type = {{.*}} enum EnumUChar {
+ENUM_UCHAR: Type{{.*}} , name = "EnumUChar", size = 1, decl = {{[Ss]}}imple{{[Tt]}}ypes{{[Tt]}}est.cpp:28, compiler_type = {{.*}} enum EnumUChar {
ENUM_UCHAR-NEXT: ON,
ENUM_UCHAR-NEXT: OFF,
ENUM_UCHAR-NEXT: AUTO
ENUM_UCHAR-NEXT:}
; Note that `enum EnumClass` is tested instead of `enum class EnumClass`
-ENUM_CLASS: Type{{.*}} , name = "EnumClass", size = 4, decl = simpletypestest.cpp:32, compiler_type = {{.*}} enum EnumClass {
+ENUM_CLASS: Type{{.*}} , name = "EnumClass", size = 4, decl = {{[Ss]}}imple{{[Tt]}}ypes{{[Tt]}}est.cpp:32, compiler_type = {{.*}} enum EnumClass {
ENUM_CLASS-NEXT: YES,
ENUM_CLASS-NEXT: NO,
ENUM_CLASS-NEXT: DEFAULT
ENUM_CLASS-NEXT:}
-ENUM_STRUCT: Type{{.*}} , name = "EnumStruct", size = 4, decl = simpletypestest.cpp:35, compiler_type = {{.*}} enum EnumStruct {
+ENUM_STRUCT: Type{{.*}} , name = "EnumStruct", size = 4, decl = {{[Ss]}}imple{{[Tt]}}ypes{{[Tt]}}est.cpp:35, compiler_type = {{.*}} enum EnumStruct {
ENUM_STRUCT-NEXT: red,
ENUM_STRUCT-NEXT: blue,
ENUM_STRUCT-NEXT: black
Index: lldb/test/Shell/SymbolFile/PDB/class-layout.test
===================================================================
--- lldb/test/Shell/SymbolFile/PDB/class-layout.test
+++ lldb/test/Shell/SymbolFile/PDB/class-layout.test
@@ -85,7 +85,7 @@
CLASS: Class();
CLASS: Class(int);
CLASS: ~Class();
-CLASS: static int {{.*}}StaticMemberFunc(int, ...);
+CLASS: {{(static )?}}int {{.*}}StaticMemberFunc(int, ...);
CLASS: int Get();
CLASS: int f(MemberTest::Friend);
CLASS: bool operator==(const MemberTest::Class &)
Index: lldb/test/Shell/SymbolFile/PDB/ast-restore.test
===================================================================
--- lldb/test/Shell/SymbolFile/PDB/ast-restore.test
+++ lldb/test/Shell/SymbolFile/PDB/ast-restore.test
@@ -56,7 +56,7 @@
CLASS-DAG: static const N0::N1::(anonymous namespace)::ScopedEnum ClassStaticConstScopedEnum = 4;
CLASS-DAG: N0::N1::Class::Inner m_inner;
CLASS-DAG: {{(inline )?}}Class(N0::N1::(anonymous namespace)::Enum);
-CLASS-DAG: static {{(inline )?}}int StaticFunc(const N0::N1::Class &);
+CLASS-DAG: {{(static )?}}{{(inline )?}}int StaticFunc(const N0::N1::Class &);
CLASS-DAG: {{(inline )?}}int PrivateFunc(const N0::N1::Class::Inner &);
CLASS: };
CLASS: }
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits