aaron.ballman added a reviewer: rsmith.
aaron.ballman added a comment.

Thank you for this patch, I think this is useful functionality!

In D100346#2684736 <https://reviews.llvm.org/D100346#2684736>, @ThePhD wrote:

> The string literals work for people because, despite not being 
> preprocessor-comparable, they can be manipulated at compile-time and switched 
> on in the usual ways at `constexpr` time. See usages in:
>
> https://github.com/soasis/text/blob/main/include/ztd/text/detail/encoding_name.hpp#L198
> https://github.com/soasis/text/blob/main/include/ztd/text/literal.hpp#L54
>
> , which can be used at compile-time like:
>
> https://github.com/soasis/text/blob/main/tests/basic_compile_time/source/validate_code_points.cpp#L45

What about for folks using this from C where there isn't `constexpr` 
functionality to help them?



================
Comment at: clang/docs/LanguageExtensions.rst:387
+``__clang_literal_encoding__``
+  Defined to a string that represents the current encoding of string literals,
+  e.g., ``"hello"``. This is typically "UTF-8" (but may change in the future
----------------
In both cases, defined to a string *in what encoding* (<rimshot.wav>)? More 
seriously, we should probably be clear that this expands to a narrow string 
literal rather than, say, a `const char *` or `std::string`.


================
Comment at: clang/docs/LanguageExtensions.rst:388
+  Defined to a string that represents the current encoding of string literals,
+  e.g., ``"hello"``. This is typically "UTF-8" (but may change in the future
+  if the ``-fexec-charset="Encoding-Name"`` option is implemented.)
----------------
This is typically -> This macro typically expands to

(same below).


================
Comment at: clang/lib/Frontend/InitPreprocessor.cpp:781
 
+  // macros to help identify the narrow and wide character sets
+  // NOTE: clang currently ignores -fexec-charset=. If this changes,
----------------
macros -> Macros


================
Comment at: clang/lib/Frontend/InitPreprocessor.cpp:782
+  // macros to help identify the narrow and wide character sets
+  // NOTE: clang currently ignores -fexec-charset=. If this changes,
+  // then this may need to be updated.
----------------
NOTE -> FIXME


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100346/new/

https://reviews.llvm.org/D100346

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to