ChuanqiXu added inline comments.

================
Comment at: clang/docs/CPlusPlus20Modules.rst:70-76
+* Primary module interface unit.
+
+* Module implementation unit.
+
+* Module partition interface unit.
+
+* Module partition implementation unit.
----------------
ruoso wrote:
> The terminology here is a bit different than what we've been building the 
> consensus on. Please take a look at [[ 
> https://github.com/cplusplus/modules-ecosystem-tr/blob/master/sourcefiles.tex#L19
>  | sourcefiles.tex ]] (or section `[source.types]` in the [[ 
> https://github.com/cplusplus/modules-ecosystem-tr/files/9237071/iso_cpp_modules_ecosystem_technical_report.pdf
>  | rendered version ]] 
> 
> 
If there is a consensus already, we should follow. 

(BTW, I thought we'll discuss module things in SG2 but it looks like we're 
discussing them in SG15... my bad)


================
Comment at: clang/docs/CPlusPlus20Modules.rst:225
+
+It is possible to generate a module file for an importable module unit by 
specifying the ``--precompile`` option.
+
----------------
ruoso wrote:
> Likewise, here the term "Built Module Interface file", with the acronym "BMI" 
> is what we're generally using when talking about the generated file.
Yeah, this is what I was confused in the chat. In my mind, "BMI" describes a 
compatible interface format like ABI (like Itanium ABI). In another words, a 
BMI could be compiled by compiler which follows the BMI standard (like clang 
and gcc both accepts Itanium ABI). But currrently, a module file couldn't be 
compiled by clang in different versions.

So from my point of view, the term `module file` is more appropriate than `BMI` 
now.


================
Comment at: clang/docs/CPlusPlus20Modules.rst:243-244
+
+The option ``-fprebuilt-module-interface`` tells the compiler the path where 
to search for dependent module files.
+It may be used multiple times just like ``-I`` for specifying paths for header 
files.
+
----------------
ruoso wrote:
> Is that the case for C++20 named modules as well? I thought this was just for 
> clang modules. How does the lookup work?
In this document, modules are referring to `C++20 Named Modules` by default. 
The option is borrowed from clang modules. The look up rule here is:

(1) When we import module `M`. The compiler would look up `M.pcm` in the 
directories specified by ``-fprebuilt-module-interface``.
(2) When we import partition module unit `M:P`. The compiler would look up 
`M-P.pcm` in the directories specified by ``-fprebuilt-module-interface``.

I thought this is clear enough. Do you have suggestion to improve? I am a 
little worried to be wordy.


================
Comment at: clang/docs/CPlusPlus20Modules.rst:250-253
+When we compile a ``module implementation unit``, we must pass the module file 
of the corresponding
+``primary module interface unit`` by ``-fmodule-file``.
+Again, this option may occur multiple times. For example, the command line to 
compile ``M.cppm`` in
+the above example could be rewritten into:
----------------
ruoso wrote:
> I wonder if it's easier to explain that a module implementation unit 
> implicitly imports the primary module interface unit, and therefore it needs 
> the BMI for that interface to be provided, just like it's the case for every 
> other import statement.
OK, I was afraid to cite too many standard paragraphs to scare readers. But 
this point looks necessary 


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

https://reviews.llvm.org/D131388

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

Reply via email to