[all-commits] [llvm/llvm-project] fbded4: [demangler] Adjust unqualified name parsing

Nathan Sidwell via All-commits all-commits at lists.llvm.org
Fri Feb 11 04:22:28 PST 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fbded4f42db1e52e3e0bc0fe2c7e3440ace455a4
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  [demangler] Adjust unqualified name parsing

The unqualified name grammar includes <ctor-dtor-name>, but we handle
that specially in parseNestedName.  This is a little awkward.  We can
pass in the current scope and have parseUnqualifiedName deal with
cdtors too.  That also allows a couple of other simplifications:

1) parseUnqualifiedName can also build up the NestedName, when the
provided scope is non-null.  Which means ...

2) parseUnscopedName can pass a "std" scope in (and tailcall).

3) ... and also parseNestedName need not construct the nestedname itself.

4) also parseNestedName's detection of a cdtor-name doesn't have to
rule out a decomposition name anymore.

This change also makes adding module demangling more
straight-forwards, btw.

Reviewed By: ChuanqiXu

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

More information about the All-commits mailing list