From 82ba818ff456bcd6d56a06226e3f27e98fbb55c3 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 14 Aug 2025 22:58:58 -0500 Subject: removing all downloaded devdocs files --- devdocs/gcc~13/c_002b_002b-module-preprocessing.html | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 devdocs/gcc~13/c_002b_002b-module-preprocessing.html (limited to 'devdocs/gcc~13/c_002b_002b-module-preprocessing.html') diff --git a/devdocs/gcc~13/c_002b_002b-module-preprocessing.html b/devdocs/gcc~13/c_002b_002b-module-preprocessing.html deleted file mode 100644 index aa56fe74..00000000 --- a/devdocs/gcc~13/c_002b_002b-module-preprocessing.html +++ /dev/null @@ -1,8 +0,0 @@ -

3.23.2 Module Preprocessing ΒΆ

Modules affect preprocessing because of header units and include translation. Some uses of the preprocessor as a separate step either do not produce a correct output, or require CMIs to be available.

Header units import macros. These macros can affect later conditional inclusion, which therefore can cascade to differing import sets. When preprocessing, it is necessary to load the CMI. If a header unit is unavailable, the preprocessor issues a warning and continue (when not just preprocessing, an error is emitted). Detecting such imports requires preprocessor tokenization of the input stream to phase 4 (macro expansion).

Include translation converts #include, #include_next and #import directives to internal import declarations. Whether a particular directive is translated is controlled by the module mapper. Header unit names are canonicalized during preprocessing.

Dependency information can be emitted for macro import, extending the functionality of -MD and -MMD options. Detection of import declarations also requires phase 4 preprocessing, and thus requires full preprocessing (or compilation).

The -M, -MM and -E -fdirectives-only options halt preprocessing before phase 4.

The -save-temps option uses -fdirectives-only for preprocessing, and preserve the macro definitions in the preprocessed output. Usually you also want to use this option when explicitly preprocessing a header-unit, or consuming such preprocessed output:

g++ -fmodules-ts -E -fdirectives-only my-header.hh -o my-header.ii
-g++ -x c++-header -fmodules-ts -fpreprocessed -fdirectives-only my-header.ii
-
-

- © Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
- https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Module-Preprocessing.html -

-
-- cgit v1.2.3