Lines Matching full:modules

2 Modules  title
18 Modules provide an alternative, simpler way to use software libraries that provides better compile-…
74 Modules improve access to the API of software libraries by replacing the textual preprocessor inclu…
87Modules describe the API of software libraries, and tools can reason about and present a module as…
89 Problems modules do not solve
91 …is important to define what modules do *not* do. In particular, all of the following are considere…
93 …-compatible changes, nor is it feasible to completely eliminate headers. Modules must interoperate…
95 * **Versioning**: Modules have no notion of version information. Programmers must still rely on the…
97modules do not imply any notion of namespaces. Thus, a struct declared in one module will still co…
99 * **Binary distribution of modules**: Headers (particularly C++ headers) expose the full complexity…
101 Using Modules
103modules, pass the command-line flag ``-fmodules``. This will make any modules-enabled software lib…
105 Standard C++ Modules
108Modules are adopted into C++20 Standard. And its semantic and command line interface are very diff…
124 Redundant import declarations are ignored, and one is free to import modules at any point within th…
127 will track the modules proposal in the C++ committee. See the section
128 `Includes as imports`_ to see how modules get imported today.
132modules is the import operation, which provides access to the API of software libraries. However, …
138 …e benefits of modules (for all modules-enabled libraries) without any changes to the application i…
159modules and headers is described by a *module map*, which describes how a collection of existing h…
165 …To actually see any benefits from modules, one first has to introduce module maps for the underlyi…
167 One can use module maps without modules to check the integrity of the use of header files. To do th…
171 The binary representation of modules is automatically generated by the compiler on an as-needed bas…
173 The binary representation of modules is persisted in the *module cache*. Imports of a module will f…
175 Modules maintain references to each of the headers that were part of the module build. If any of th…
180 Enable the modules feature.
189 …Specify the path to the modules cache. If not provided, Clang will select a system-appropriate def…
192 Disable automatic linking against the libraries associated with imported modules.
195modules to ignore the named macro when selecting an appropriate module variant. Use this for macro…
216modules referenced in the current module maps but not imported for symbols, so the error message c…
218 ``-fno-implicit-modules``
219 All modules used by the build must be specified with ``-fmodule-file``.
231modules. If specified, we will look for modules in this directory for a given top-level module nam…
233 ``-fprebuilt-implicit-modules``
234 Enable prebuilt implicit modules. If a prebuilt module is not found in the
235 prebuilt modules paths (specified via ``-fprebuilt-module-path``), we will
236 look for a matching implicit module in the prebuilt modules paths.
244 and diagnostics. Using this option may lead to an excessive number of modules
248 Using Prebuilt Modules
251 Below are a few examples illustrating uses of prebuilt modules via the different options.
288 ….c`` can be done without ``-cc1``, but the commands used to prebuild the modules would need to be …
291 First let us use an explicit mapping from modules to files.
309 A trick to prebuild all modules required for our source file in one command is to generate implicit…
318 …h explicit or prebuilt modules, we are responsible for, and should be particularly careful about t…
319 Using mismatching compilation options and modules may lead to issues.
329 So we need to maintain multiple versions of prebuilt modules. We can do so using a manual module ma…
340modules in a given cache path (using ``-fmodules-cache-path``), and reuse them as prebuilt implici…
352 … use.c -fmodules -fimplicit-module-maps -fprebuilt-module-path=prebuilt -fprebuilt-implicit-modules
353 …dules -fimplicit-module-maps -fprebuilt-module-path=prebuilt -fprebuilt-implicit-modules -DENABLE_A
355 Finally we want to allow implicit modules for configurations that were not prebuilt. When using the…
359 …implicit-module-maps -fprebuilt-module-path=prebuilt -fprebuilt-implicit-modules -fmodules-cache-p…
360 …implicit-module-maps -fprebuilt-module-path=prebuilt -fprebuilt-implicit-modules -fmodules-cache-p…
361 …implicit-module-maps -fprebuilt-module-path=prebuilt -fprebuilt-implicit-modules -fmodules-cache-p…
363 This way, a single directory containing multiple variants of modules can be prepared and reused. Th…
368 Modules are modeled as if each submodule were a separate translation unit, and a module import make…
372 … when building later submodules in that module. This can lead to fragile modules that depend on th…
385modules this is not the case. It is possible to import two modules that have conflicting definitio…
399 The ``#undef`` overrides the ``#define``, and a source file that imports both modules *in any order…
409 logical structure of modules. To enable support for using a library as
479 Within a module map file, modules are referred to by a *module-id*, which uses periods to separate …
505 Modules/module.modulemap Module map for the framework
516 …rs and headers from used modules. Since some headers could be present in more than one search path…
518 Modules can have a number of different kinds of members, each of which is described below:
551 The requirements clause allows specific modules or submodules to specify that they are only accessi…
650 …ld) to easily access the full API provided by a particular library. With modules, an umbrella head…
711 Submodule declarations describe modules that are nested within their enclosing module.
772 An *export-declaration* specifies which imported modules will automatically be re-exported as part …
784 The *export-declaration* names a module or a set of modules that will be re-exported to any transla…
819 modules that were imported in the actual header file. Because
823 implicitly imports all of the modules on which it depends.
839 module will be re-exported through. Only top-level modules
856 only use other modules that are explicitly specified in this way.
954 … the presence of two different modules in the same translation unit is likely to cause a problem. …
963 …al* provides a message to be provided as part of the compiler diagnostic when two modules conflict.
1035 augment the primary module map file with an additional modules. For
1070 To get any benefit out of modules, one needs to introduce module maps for software libraries starti…
1072modules. Because the set of headers differs from one system to the next, the module map will likel…
1084modules compiles all of the C library headers together into a single module, only the first actual…
1087modules world unless someone happens to include both headers in one translation unit. Since the fi…
1090 …lucky users who don't happen to include headers in the right order. With modules, the headers of a…
1099 Modules support is under active development, and there are many opportunities remaining to improve …
1110 Where To Learn More About Modules
1112 The Clang source code provides additional information about modules:
1117 ``clang/test/Modules/``
1118 Tests specifically related to modules functionality.
1121 … class in this header describes a module, and is used throughout the compiler to implement modules.
1124 … and providing facilities for looking up module maps and mapping between modules and headers (in b…
1127 …Information about the serialized AST format used for precompiled headers and modules. The actual i…
1129 .. [#] Automatic linking against the libraries of modules requires specific linker support, which i…
1131 …t occur in headers, particularly system headers, that cause problems for modules. The section `Mod…
1135modules are parsed is actually dependent on the command-line options provided to the compiler, inc…