Author: Stella Stamenova
Date: 2021-12-14T13:06:07-08:00
New Revision: f4abf28c0a0ba2226379a1b1926a7c36d75265e9

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

LOG: [lldb] Update the PDB tests to pass with the VS2019 toolset

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.

Differential Revision: https://reviews.llvm.org/D115482

Added: 
    

Modified: 
    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

Removed: 
    


################################################################################
diff  --git a/lldb/test/Shell/SymbolFile/PDB/ast-restore.test 
b/lldb/test/Shell/SymbolFile/PDB/ast-restore.test
index 2473bb1d66f57..2763f46070244 100644
--- a/lldb/test/Shell/SymbolFile/PDB/ast-restore.test
+++ b/lldb/test/Shell/SymbolFile/PDB/ast-restore.test
@@ -56,7 +56,7 @@ CLASS-DAG:             static const N0::N1::(anonymous 
namespace)::Enum ClassSta
 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:     }

diff  --git a/lldb/test/Shell/SymbolFile/PDB/class-layout.test 
b/lldb/test/Shell/SymbolFile/PDB/class-layout.test
index fcd6b610826dc..c99a180f4f632 100644
--- a/lldb/test/Shell/SymbolFile/PDB/class-layout.test
+++ b/lldb/test/Shell/SymbolFile/PDB/class-layout.test
@@ -85,7 +85,7 @@ CLASS:    int m_protected;
 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 &)

diff  --git a/lldb/test/Shell/SymbolFile/PDB/enums-layout.test 
b/lldb/test/Shell/SymbolFile/PDB/enums-layout.test
index 79efb259663d1..2bfb9eb0b7f28 100644
--- a/lldb/test/Shell/SymbolFile/PDB/enums-layout.test
+++ b/lldb/test/Shell/SymbolFile/PDB/enums-layout.test
@@ -10,35 +10,35 @@ RUN: lldb-test symbols %T/SimpleTypesTest.cpp.enums.exe | 
FileCheck --check-pref
 ; 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

diff  --git a/lldb/test/Shell/SymbolFile/PDB/typedefs.test 
b/lldb/test/Shell/SymbolFile/PDB/typedefs.test
index a0106dd381c81..ebbcc4b9ab11b 100644
--- a/lldb/test/Shell/SymbolFile/PDB/typedefs.test
+++ b/lldb/test/Shell/SymbolFile/PDB/typedefs.test
@@ -17,7 +17,6 @@ CHECK-DAG: name = "char32_t", size = 4, compiler_type = 
{{.*}} char32_t
 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

diff  --git a/lldb/test/Shell/SymbolFile/PDB/variables.test 
b/lldb/test/Shell/SymbolFile/PDB/variables.test
index a6c7153609586..0043ebb917160 100644
--- a/lldb/test/Shell/SymbolFile/PDB/variables.test
+++ b/lldb/test/Shell/SymbolFile/PDB/variables.test
@@ -51,7 +51,7 @@ FUNC-MAIN-SAME:                     scope = local
 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-SAME:                     artificial
 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


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to