https://github.com/AaronBallman closed
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1753,91 +1742,93 @@ Possible Questions
How modules speed up compilation
-A classic theory for the reason why modules speed up the compilation is:
-if there are ``n`` headers and ``m`` source files and each header is included
by each source
@@ -1753,91 +1742,93 @@ Possible Questions
How modules speed up compilation
-A classic theory for the reason why modules speed up the compilation is:
-if there are ``n`` headers and ``m`` source files and each header is included
by each source
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
https://github.com/ChuanqiXu9 approved this pull request.
LGTM, thanks : )
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
AaronBallman wrote:
I think I've addressed all of the feedback (thank you all for the
improvements!), except for the suggestion from @Endilll to switch to using
italics rather than code font. I think the suggestion is a good one, but it's a
time-consuming edit that doesn't change the meaning o
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
@@ -925,45 +923,41 @@ In that case, you need to convert your source files (.cpp
files) to module imple
// Following off should be unchanged.
...
-The module implementation unit will import the primary module implicitly.
-We don't include any headers in the module implemen
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
@@ -400,24 +389,27 @@ And the compilation process for module units are like:
mod1.cppm -> clang++ mod1.cppm ... -> mod1.pcm --,--> clang++
mod1.pcm ... -> mod1.o -+
src2.cpp +> clang++
src2.cpp ---> sr
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
@@ -1391,17 +1381,17 @@ with the following one:
$ clang++ -std=c++20 -xc++-system-header --precompile iostream -o
iostream.pcm
$ clang++ -std=c++20 -fmodule-file=iostream.pcm --precompile M.cppm -o M.cpp
-In the latter example, the Clang could find the BMI for the
-s
@@ -633,36 +631,36 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -400,24 +389,27 @@ And the compilation process for module units are like:
mod1.cppm -> clang++ mod1.cppm ... -> mod1.pcm --,--> clang++
mod1.pcm ... -> mod1.o -+
src2.cpp +> clang++
src2.cpp ---> sr
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
https://github.com/AaronBallman updated
https://github.com/llvm/llvm-project/pull/90237
>From a75aa14fcad6f346a3073ae88e91fa890e803422 Mon Sep 17 00:00:00 2001
From: Aaron Ballman
Date: Fri, 26 Apr 2024 13:12:51 -0400
Subject: [PATCH 1/2] Revise the modules document for clarity
The intention i
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -577,15 +574,16 @@ the generated BMI specified by ``-o`` will be full BMI
and the BMI specified by
-> ...
-> consumer_n.cpp
-We don't emit diagnostics if ``-fexperimental-modules-
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
https://github.com/ChuanqiXu9 commented:
Big thanks!
I left some comments about correctness or clearness. And all other change looks
good to me.
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
h
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
@@ -925,45 +923,41 @@ In that case, you need to convert your source files (.cpp
files) to module imple
// Following off should be unchanged.
...
-The module implementation unit will import the primary module implicitly.
-We don't include any headers in the module implemen
@@ -400,24 +389,27 @@ And the compilation process for module units are like:
mod1.cppm -> clang++ mod1.cppm ... -> mod1.pcm --,--> clang++
mod1.pcm ... -> mod1.o -+
src2.cpp +> clang++
src2.cpp ---> sr
@@ -216,51 +198,56 @@ We explain the options in the following sections.
How to enable standard C++ modules
~~
-Currently, standard C++ modules are enabled automatically
-if the language standard is ``-std=c++20`` or newer.
+Standard C++ modules
@@ -8,109 +8,91 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The im
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -633,36 +630,37 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
https://github.com/ChuanqiXu9 edited
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
https://github.com/AaronBallman updated
https://github.com/llvm/llvm-project/pull/90237
>From a75aa14fcad6f346a3073ae88e91fa890e803422 Mon Sep 17 00:00:00 2001
From: Aaron Ballman
Date: Fri, 26 Apr 2024 13:12:51 -0400
Subject: [PATCH 1/2] Revise the modules document for clarity
The intention i
@@ -577,15 +574,16 @@ the generated BMI specified by ``-o`` will be full BMI
and the BMI specified by
-> ...
-> consumer_n.cpp
-We don't emit diagnostics if ``-fexperimental-modules-
@@ -577,15 +574,16 @@ the generated BMI specified by ``-o`` will be full BMI
and the BMI specified by
-> ...
-> consumer_n.cpp
-We don't emit diagnostics if ``-fexperimental-modules-
@@ -400,24 +389,27 @@ And the compilation process for module units are like:
mod1.cppm -> clang++ mod1.cppm ... -> mod1.pcm --,--> clang++
mod1.pcm ... -> mod1.o -+
src2.cpp +> clang++
src2.cpp ---> sr
@@ -633,36 +631,36 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -444,53 +435,57 @@ For example, the following example is allowed:
# Inconsistent debugging level.
$ clang++ -std=c++20 -g Use.cpp -fprebuilt-module-path=.
-Although the two examples have inconsistent optimization and debugging level,
both of them are accepted.
+Althoug
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -1753,17 +1740,18 @@ Possible Questions
How modules speed up compilation
-A classic theory for the reason why modules speed up the compilation is:
-if there are ``n`` headers and ``m`` source files and each header is included
by each source
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -998,25 +992,23 @@ headers to:
...
#endif
-If the modules imported by your library provides such headers too, remember to
add them to
-your ``your_library_imported.h`` too.
+If the modules imported by the library provide such headers, remember to add
+them to ``your_li
@@ -1222,33 +1214,31 @@ One often reported example is:
export module repro;
export import :part;
-Currently the compiler complains about the inconsistent definition of `fun()`
in
-2 module units. This is incorrect. Since both definitions of `fun()` has the
same
-spelling
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
@@ -925,45 +923,41 @@ In that case, you need to convert your source files (.cpp
files) to module imple
// Following off should be unchanged.
...
-The module implementation unit will import the primary module implicitly.
-We don't include any headers in the module implemen
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
@@ -577,15 +574,16 @@ the generated BMI specified by ``-o`` will be full BMI
and the BMI specified by
-> ...
-> consumer_n.cpp
-We don't emit diagnostics if ``-fexperimental-modules-
@@ -875,11 +872,11 @@ The pattern for ABI breaking style is similar with export
extern-C++ style.
}
#endif
-(And add `EXPORT` and conditional include to the headers as suggested in the
export
-extern-C++ style section)
+(And add `EXPORT` and conditional include to the he
@@ -216,51 +198,56 @@ We explain the options in the following sections.
How to enable standard C++ modules
~~
-Currently, standard C++ modules are enabled automatically
-if the language standard is ``-std=c++20`` or newer.
+Standard C++ modules
@@ -289,20 +277,20 @@ we can't compile them by the original command lines. But
we are still able to do
$ ./Hello.out
Hello World!
-Module name requirement
-~~~
+Module name requirements
+
-[module.unit]p1 says:
+..
-.. code-
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
@@ -138,7 +120,7 @@ Let's see a "hello world" example that uses modules.
return 0;
}
-Then we type:
+From the command line, enter:
erichkeane wrote:
Then, on the command line, invoke clang like:
https://github.com/llvm/llvm-project/pull/90237
_
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -444,53 +435,57 @@ For example, the following example is allowed:
# Inconsistent debugging level.
$ clang++ -std=c++20 -g Use.cpp -fprebuilt-module-path=.
-Although the two examples have inconsistent optimization and debugging level,
both of them are accepted.
+Althoug
@@ -1753,17 +1740,18 @@ Possible Questions
How modules speed up compilation
-A classic theory for the reason why modules speed up the compilation is:
-if there are ``n`` headers and ``m`` source files and each header is included
by each source
@@ -633,36 +631,36 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -530,43 +527,43 @@ Now the linkage name of ``NS::foo()`` will be
``_ZN2NS3fooEv``.
Module Initializers
~~~
-All the importable module units are required to emit an initializer function.
-The initializer function should contain calls to importing modules fir
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -216,51 +198,56 @@ We explain the options in the following sections.
How to enable standard C++ modules
~~
-Currently, standard C++ modules are enabled automatically
-if the language standard is ``-std=c++20`` or newer.
+Standard C++ modules
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -216,51 +198,56 @@ We explain the options in the following sections.
How to enable standard C++ modules
~~
-Currently, standard C++ modules are enabled automatically
-if the language standard is ``-std=c++20`` or newer.
+Standard C++ modules
@@ -95,22 +76,23 @@ In this document, we use the following umbrella terms:
* A ``module interface unit`` refers to either a ``primary module interface
unit``
erichkeane wrote:
^^ Line above but github wont let me: Don't use 'umbrella', its probably not a
famil
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -95,22 +76,23 @@ In this document, we use the following umbrella terms:
* A ``module interface unit`` refers to either a ``primary module interface
unit``
or a ``module interface partition unit``.
-* An ``importable module unit`` refers to either a ``module interface uni
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
@@ -444,53 +435,57 @@ For example, the following example is allowed:
# Inconsistent debugging level.
$ clang++ -std=c++20 -g Use.cpp -fprebuilt-module-path=.
-Although the two examples have inconsistent optimization and debugging level,
both of them are accepted.
+Althoug
@@ -738,22 +736,21 @@ the following style significantly:
import M;
... // use declarations from module M.
-The key part of the tip is to reduce the duplications from the text includes.
+Reducing the duplication from textual includes is what improves compile-time
+performan
@@ -1817,27 +1804,29 @@ But with optimizations, things are different:
│ │
└---┘
-It would be very unfortunate if we end up with worse performance after using
modules.
-Th
@@ -776,9 +773,9 @@ export-using style
using decl_n;
}
-As the example shows, you need to include all the headers containing
declarations needs
-to be exported and `using` such declarations in an `export` block. Then,
basically,
-we're done.
+This example shows how to
@@ -432,9 +424,8 @@ The following example is not allowed:
$ clang++ -std=c++20 M.cppm --precompile -o M.pcm
$ clang++ -std=c++23 Use.cpp -fprebuilt-module-path=.
-The compiler would reject the example due to the inconsistent language options.
-Not all options are language
@@ -925,45 +923,41 @@ In that case, you need to convert your source files (.cpp
files) to module imple
// Following off should be unchanged.
...
-The module implementation unit will import the primary module implicitly.
-We don't include any headers in the module implemen
@@ -633,36 +631,36 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -633,36 +631,36 @@ example:
// module M's interface, so is discarded
int c = use_h(); // OK
-In the above example, the function definition of ``N::g`` is elided from the
Reduced
-BMI of ``M.cppm``. Then the use of ``use_g`` in
@@ -444,53 +435,57 @@ For example, the following example is allowed:
# Inconsistent debugging level.
$ clang++ -std=c++20 -g Use.cpp -fprebuilt-module-path=.
-Although the two examples have inconsistent optimization and debugging level,
both of them are accepted.
+Althoug
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -444,53 +435,57 @@ For example, the following example is allowed:
# Inconsistent debugging level.
$ clang++ -std=c++20 -g Use.cpp -fprebuilt-module-path=.
-Although the two examples have inconsistent optimization and debugging level,
both of them are accepted.
+Althoug
@@ -8,79 +8,60 @@ Standard C++ Modules
Introduction
-The term ``modules`` has a lot of meanings. For the users of Clang, modules may
-refer to ``Objective-C Modules``, ``Clang C++ Modules`` (or ``Clang Header
Modules``,
-etc.) or ``Standard C++ Modules``. The imp
@@ -279,8 +266,9 @@ we could put ``-x c++-module`` in front of the file. For
example,
return 0;
}
-Now the filename of the ``module interface`` ends with ``.cpp`` instead of
``.cppm``,
-we can't compile them by the original command lines. But we are still able to
do i
@@ -95,22 +76,23 @@ In this document, we use the following umbrella terms:
* A ``module interface unit`` refers to either a ``primary module interface
unit``
or a ``module interface partition unit``.
-* An ``importable module unit`` refers to either a ``module interface uni
https://github.com/Endilll commented:
I have to admit that is rather shallow due to sheer amount of text, but it
still took me more like 90 minutes. Hope you find it useful.
https://github.com/llvm/llvm-project/pull/90237
___
cfe-commits mailing list
@@ -444,53 +435,57 @@ For example, the following example is allowed:
# Inconsistent debugging level.
$ clang++ -std=c++20 -g Use.cpp -fprebuilt-module-path=.
-Although the two examples have inconsistent optimization and debugging level,
both of them are accepted.
+Althoug
@@ -312,75 +300,76 @@ So all of the following name is not valid by default:
__test
// and so on ...
-If you still want to use the reserved module names for any reason, use
-``-Wno-reserved-module-identifier`` to suppress the warning.
+Using a reserved module name is st
1 - 100 of 107 matches
Mail list logo