[all-commits] [llvm/llvm-project] 50b58e: [llvm][Demangle][NFC] Sync latest libcxxabi/demangle

Michael Buch via All-commits all-commits at lists.llvm.org
Sun Mar 19 04:07:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 50b58e89a122fdc20616ad6d6dd3a802206454d2
      https://github.com/llvm/llvm-project/commit/50b58e89a122fdc20616ad6d6dd3a802206454d2
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-03-19 (Sun, 19 Mar 2023)

  Changed paths:
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [llvm][Demangle][NFC] Sync latest libcxxabi/demangle

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


  Commit: 4601bcdb7ed3168053aa6d70abedb17c3fffa0d2
      https://github.com/llvm/llvm-project/commit/4601bcdb7ed3168053aa6d70abedb17c3fffa0d2
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-03-19 (Sun, 19 Mar 2023)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/test/tools/llvm-cxxfilt/abitag.test

  Log Message:
  -----------
  [libcxxabi][Demangle] Don't drop ctor/dtor name for abi-tagged structures

Before this patch we would demangle abi-tagged structures as follows:
```
$ c++filt -n _ZN1SB5OuterC2Ev
S[abi:Outer]:()

$ c++filt -n _ZN1SB5OuterD2Ev
S[abi:Outer]::~()
```

This is because `Node::getBaseName` was unimplemented for the
`AbiTagAttr` node, which meant that when we tried printing `CtorDtorName`
where its `Basename` `Node` was an `AbiTagAttr`, we'd drop the
name.

Addresses https://github.com/llvm/llvm-project/issues/61213

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


Compare: https://github.com/llvm/llvm-project/compare/c9d36bd80760...4601bcdb7ed3


More information about the All-commits mailing list