[Lldb-commits] [PATCH] D44166: [SymbolFilePDB] Add missing Char16 and Char32 types in a few places
Zachary Turner via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 6 21:22:49 PST 2018
Lgtm
On Tue, Mar 6, 2018 at 9:14 PM Aaron Smith via Phabricator <
reviews at reviews.llvm.org> wrote:
> asmith updated this revision to Diff 137324.
> asmith added a comment.
>
> Add test
>
>
> https://reviews.llvm.org/D44166
>
> Files:
> lit/SymbolFile/PDB/Inputs/SimpleTypesTest.cpp
> lit/SymbolFile/PDB/typedefs.test
> source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
>
>
> Index: source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
> ===================================================================
> --- source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
> +++ source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
> @@ -59,6 +59,8 @@
> case PDB_BuiltinType::Int:
> case PDB_BuiltinType::Long:
> case PDB_BuiltinType::Char:
> + case PDB_BuiltinType::Char16:
> + case PDB_BuiltinType::Char32:
> return lldb::eEncodingSint;
> case PDB_BuiltinType::Bool:
> case PDB_BuiltinType::UInt:
> @@ -126,6 +128,10 @@
> if (width == ast->getTypeSize(ast->WCharTy))
> return CompilerType(ast, ast->WCharTy);
> break;
> + case PDB_BuiltinType::Char16:
> + return CompilerType(ast, ast->Char16Ty);
> + case PDB_BuiltinType::Char32:
> + return CompilerType(ast, ast->Char32Ty);
> case PDB_BuiltinType::Float:
> // Note: types `long double` and `double` have same bit size in MSVC
> and there
> // is no information in the PDB to distinguish them. So when falling
> back
> @@ -162,6 +168,10 @@
> return ConstString("HRESULT");
> case PDB_BuiltinType::BCD:
> return ConstString("BCD");
> + case PDB_BuiltinType::Char16:
> + return ConstString("char16_t");
> + case PDB_BuiltinType::Char32:
> + return ConstString("char32_t");
> case PDB_BuiltinType::None:
> return ConstString("...");
> }
> Index: lit/SymbolFile/PDB/typedefs.test
> ===================================================================
> --- lit/SymbolFile/PDB/typedefs.test
> +++ lit/SymbolFile/PDB/typedefs.test
> @@ -14,6 +14,8 @@
>
> CHECK: Module [[MOD:.*]]
> CHECK: {{^[0-9A-F]+}}: SymbolVendor ([[MOD]])
> +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
> Index: lit/SymbolFile/PDB/Inputs/SimpleTypesTest.cpp
> ===================================================================
> --- lit/SymbolFile/PDB/Inputs/SimpleTypesTest.cpp
> +++ lit/SymbolFile/PDB/Inputs/SimpleTypesTest.cpp
> @@ -35,6 +35,12 @@
> enum struct EnumStruct { red, blue, black };
> EnumStruct EnumStructVar;
>
> +typedef char16_t WChar16Typedef;
> +WChar16Typedef WC16Var;
> +
> +typedef char32_t WChar32Typedef;
> +WChar32Typedef WC32Var;
> +
> int main() {
> return 0;
> }
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180307/f8ee5241/attachment.html>
More information about the lldb-commits
mailing list