[Lldb-commits] [PATCH] D66447: Add char8_t support (C++20)

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 20 01:43:56 PDT 2019

labath added inline comments.

Comment at: lldb/packages/Python/lldbsuite/test/lang/cpp/char8_t/Makefile:4-6
+CFLAGS := -g -O0 -std=c++2a
+clean: OBJECTS+=$(wildcard main.d.*)
Replace with `CFLAGS_EXTRAS+=-std=c++2a`

Comment at: lldb/packages/Python/lldbsuite/test/lang/cpp/char8_t/TestCxxChar8_t.py:46
+        # Check that we correctly report templates on wchar_t
+        self.expect(
This comment looks misplaced.

Comment at: lldb/packages/Python/lldbsuite/test/lang/cpp/char8_t/main.cpp:1-7
+#include <cstring>
+int main (int argc, char const *argv[])
+    char8_t c8 = u8'\0';
+    return 0; // Set break point at this line.
It doesn't look like you actually need a running process for this at all. I think you could just make `c8` a global variable and inspect it from the executable image directly (`target variable c8`).

Comment at: lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp:857-862
+      cpp_category_sp, lldb_private::formatters::Char8StringSummaryProvider,
+      "char8_t * summary provider", ConstString("char8_t *"), string_flags);
+  AddCXXSummary(cpp_category_sp,
+                lldb_private::formatters::Char8StringSummaryProvider,
+                "char8_t [] summary provider",
+                ConstString("char8_t \\[[0-9]+\\]"), string_array_flags, true);
It looks like you're also adding formatters for `char8_t *` and `char8_t[N]`. I guess those should be tested too...



More information about the lldb-commits mailing list