[all-commits] [llvm/llvm-project] e16111: [lldb] Also recognize DWARF UTF base types using t...

Mathias LANG via All-commits all-commits at lists.llvm.org
Wed May 13 03:57:14 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e16111ce2fce7fd86c10d3f1dfe3e3b62b76d73b
      https://github.com/llvm/llvm-project/commit/e16111ce2fce7fd86c10d3f1dfe3e3b62b76d73b
  Author: Mathias LANG <pro.mathias.lang at gmail.com>
  Date:   2020-05-13 (Wed, 13 May 2020)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A lldb/test/Shell/SymbolFile/DWARF/DW_TAG_basic_type_DW_ATE_UTF_nonC.ll

  Log Message:
  -----------
  [lldb] Also recognize DWARF UTF base types using their size

Summary:
The D programming language has 'char', 'wchar', and 'dchar' as base types,
which are defined as UTF-8, UTF-16, and UTF-32, respectively.

It also has type constructors (e.g. 'const' and 'immutable'),
that leads to D compilers emitting DW_TAG_base_type with DW_ATE_UTF
and name 'char', 'immutable(wchar)', 'const(char)', etc...

Before this patch, DW_ATE_UTF would only recognize types that
followed the C/C++ naming, and emit an error message for the rest, e.g.:
```
error: need to add support for DW_TAG_base_type 'immutable(char)'
encoded with DW_ATE = 0x10, bit_size = 8
```

The code was changed to check the byte size first,
then fall back to the old name-based check.

Reviewers: clayborg, labath

Reviewed By: labath

Subscribers: labath, lldb-commits

Tags: #lldb

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




More information about the All-commits mailing list