[all-commits] [llvm/llvm-project] dd8b26: [demangle] Represent a char array initializer as a...

Richard Smith via All-commits all-commits at lists.llvm.org
Thu Sep 19 12:40:55 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
      https://github.com/llvm/llvm-project/commit/dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [demangle] Represent a char array initializer as a string literal. (#109021)

This improves the demangling for non-type template arguments that
contain string literals. Previously we'd produce

    char [4]{(char)65, (char)66, (char)67}

(which isn't valid C or C++), and now we produce `"ABC"`.

The new demangling is always shorter, even when using an escape sequence
for every character, and much more readable when the char array contains
text.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list