[PATCH] D131062: [docs] Add "C++20 Modules"

H. Vetinari via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 8 00:50:46 PDT 2022


h-vetinari added a comment.

It gets very confusing that phab now attaches the old review comments in the wrong place.



================
Comment at: clang/docs/CPlusPlus20Modules.rst:22
+different semantics, it might be more friendly for users who care about C++20
+modules only to create a new page.
+
----------------
OK that's fine. Then this should be changed from
> Due to the C++20 modules having very different semantics, it might be more friendly for users who care about C++20 modules only to create a new page.

to something like

> Due to the C++20 modules having very different semantics, this page deals with them separately.


================
Comment at: clang/docs/CPlusPlus20Modules.rst:52
+``Clang module map modules`` or ``Clang c++ modules``.
+
+Module and module unit
----------------
I had corrected myself on second pass, but got confused with phab and ended up not submitting it....


================
Comment at: clang/docs/CPlusPlus20Modules.rst:64-67
+Terms enclosed in ``[]`` are optional. The syntax of ``module_name`` and ``partition_name``
+in regex form corresponds to ``[a-zA-Z_][a-zA-Z_0-9\.]*``. The dot ``.`` in the name has
+no special meaning.
+
----------------



================
Comment at: clang/docs/CPlusPlus20Modules.rst:233-235
+The file name of module files should end with ``.pcm``.
+The file name of the module file of a ``primary module interface unit`` should be ``module_name.pcm``.
+The file name of module files of ``module partition unit`` should be ``module_name-partition_name.pcm``.
----------------
> The comes from the clang implementation. If the user don't follow the restrictions, then the clang may fail to build the module. For example, in the "hello world" example, if the name of module file is M.module instead of M.pcm, the the clang would fail to find the corresponding M module.

Can we add a sentence to this effect?


================
Comment at: clang/docs/CPlusPlus20Modules.rst:316-317
+
+Currently Clang would accept the above example. But it may produce surprising results if the
+debugging code depends on consistent use of ``NDEBUG`` also in other translation units.
+
----------------
I realized afterwards that it's the inverse - debugging code might depend on the _absence_  of `NDEBUG` which switches of debug stuff.


================
Comment at: clang/docs/CPlusPlus20Modules.rst:471
+This couldn't be demangled by previous versions of the debugger or demangler.
+As of LLVM 15.x, user can utilize ``llvm-cxxfilt`` to demangle this:
+
----------------



================
Comment at: clang/docs/CPlusPlus20Modules.rst:49-51
+In this document, the term ``Clang Modules``/``Clang modules`` refer to Clang
+c++ modules extension. It is also known as ``Clang header modules``,
+``Clang module map modules`` or ``Clang c++ modules``.
----------------
h-vetinari wrote:
> 
Ugh, this should have been "These are".


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

https://reviews.llvm.org/D131062



More information about the cfe-commits mailing list