[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