[all-commits] [llvm/llvm-project] 0ec761: [lldb] Preserve type sugar when using SBValue::Der...

Raphael Isemann via All-commits all-commits at lists.llvm.org
Wed Jun 2 10:23:39 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ec761c3fc2a4bf8319c6eb38e46f9a201b79141
      https://github.com/llvm/llvm-project/commit/0ec761c3fc2a4bf8319c6eb38e46f9a201b79141
  Author: Raphael Isemann <teemperor at gmail.com>
  Date:   2021-06-02 (Wed, 02 Jun 2021)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A lldb/test/API/lang/cpp/dereferencing_references/Makefile
    A lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py
    A lldb/test/API/lang/cpp/dereferencing_references/main.cpp

  Log Message:
  -----------
  [lldb] Preserve type sugar when using SBValue::Dereference on C++ references

When checking for type properties we usually want to strip all kind of type
sugar from the type. For example, sugar like Clang's ElaboratedType or typedefs
rarely influence the fundamental behaviour of a type such as its byte size.

However we always need to preserve type sugar for everything else as it does
matter for users that their variable of type `size_t` instead of `unsigned long`
for example.

This patch fixes one such bug when trying to use the SBValue API to dereference
a type.

Reviewed By: werat, shafik

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




More information about the All-commits mailing list