forked from OSchip/llvm-project
[modules] Rename -fmodule-maps to -fimplicit-module-maps (and likewise for
-fno-module-maps). The old names are preserved for compatibility. llvm-svn: 239792
This commit is contained in:
parent
3d8fceafe6
commit
cf18b79ccf
clang
|
@ -159,7 +159,7 @@ Module maps are specified as separate files (each named ``module.modulemap``) al
|
|||
|
||||
To actually see any benefits from modules, one first has to introduce module maps for the underlying C standard library and the libraries and headers on which it depends. The section `Modularizing a Platform`_ describes the steps one must take to write these module maps.
|
||||
|
||||
One can use module maps without modules to check the integrity of the use of header files. To do this, use the ``-fmodule-maps`` option instead of the ``-fmodules`` option.
|
||||
One can use module maps without modules to check the integrity of the use of header files. To do this, use the ``-fimplicit-module-maps`` option instead of the ``-fmodules`` option, or use ``-fmodule-map-file=`` option to explicitly specify the module map files to load.
|
||||
|
||||
Compilation model
|
||||
-----------------
|
||||
|
@ -174,8 +174,8 @@ Command-line parameters
|
|||
``-fmodules``
|
||||
Enable the modules feature.
|
||||
|
||||
``-fmodule-maps``
|
||||
Enable implicit search for module map files named ``module.modulemap`` and similar. This option is implied by ``-fmodules``. If this is disabled, module map files will only be loaded if they are explicitly specified via ``-fmodule-map-file`` or transitively used by another module map file.
|
||||
``-fimplicit-module-maps``
|
||||
Enable implicit search for module map files named ``module.modulemap`` and similar. This option is implied by ``-fmodules``. If this is disabled with ``-fno-implicit-module-maps``, module map files will only be loaded if they are explicitly specified via ``-fmodule-map-file`` or transitively used by another module map file.
|
||||
|
||||
``-fmodules-cache-path=<directory>``
|
||||
Specify the path to the modules cache. If not provided, Clang will select a system-appropriate default.
|
||||
|
|
|
@ -352,8 +352,6 @@ def ast_dump_filter : Separate<["-"], "ast-dump-filter">,
|
|||
HelpText<"Use with -ast-dump or -ast-print to dump/print only AST declaration"
|
||||
" nodes having a certain substring in a qualified name. Use"
|
||||
" -ast-list to list all filterable declaration node names.">;
|
||||
def fimplicit_module_maps : Flag<["-"], "fimplicit-module-maps">,
|
||||
HelpText<"Implicitly search the file system for module map files.">;
|
||||
def fno_modules_global_index : Flag<["-"], "fno-modules-global-index">,
|
||||
HelpText<"Do not automatically generate or update the global module index">;
|
||||
def fno_modules_error_recovery : Flag<["-"], "fno-modules-error-recovery">,
|
||||
|
|
|
@ -691,9 +691,10 @@ def fmodules_validate_system_headers : Flag<["-"], "fmodules-validate-system-hea
|
|||
def fmodules : Flag <["-"], "fmodules">, Group<f_Group>,
|
||||
Flags<[DriverOption, CC1Option]>,
|
||||
HelpText<"Enable the 'modules' language feature">;
|
||||
def fmodule_maps : Flag <["-"], "fmodule-maps">, Group<f_Group>,
|
||||
Flags<[DriverOption]>,
|
||||
HelpText<"Read module maps to understand the structure of library headers">;
|
||||
def fimplicit_module_maps : Flag <["-"], "fimplicit-module-maps">, Group<f_Group>,
|
||||
Flags<[DriverOption, CC1Option]>,
|
||||
HelpText<"Implicitly search the file system for module map files.">;
|
||||
def fmodule_maps : Flag <["-"], "fmodule-maps">, Alias<fimplicit_module_maps>;
|
||||
def fmodule_name : JoinedOrSeparate<["-"], "fmodule-name=">, Group<f_Group>,
|
||||
Flags<[DriverOption,CC1Option]>, MetaVarName<"<name>">,
|
||||
HelpText<"Specify the name of the module to build">;
|
||||
|
@ -774,8 +775,9 @@ def fno_merge_all_constants : Flag<["-"], "fno-merge-all-constants">, Group<f_Gr
|
|||
Flags<[CC1Option]>, HelpText<"Disallow merging of constants">;
|
||||
def fno_modules : Flag <["-"], "fno-modules">, Group<f_Group>,
|
||||
Flags<[DriverOption]>;
|
||||
def fno_module_maps : Flag <["-"], "fno-module-maps">, Group<f_Group>,
|
||||
def fno_implicit_module_maps : Flag <["-"], "fno-implicit-module-maps">, Group<f_Group>,
|
||||
Flags<[DriverOption]>;
|
||||
def fno_module_maps : Flag <["-"], "fno-module-maps">, Alias<fno_implicit_module_maps>;
|
||||
def fno_modules_decluse : Flag <["-"], "fno-modules-decluse">, Group<f_Group>,
|
||||
Flags<[DriverOption]>;
|
||||
def fno_modules_strict_decluse : Flag <["-"], "fno-strict-modules-decluse">, Group<f_Group>,
|
||||
|
|
|
@ -4151,8 +4151,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
|
||||
// -fmodule-maps enables implicit reading of module map files. By default,
|
||||
// this is enabled if we are using precompiled modules.
|
||||
if (Args.hasFlag(options::OPT_fmodule_maps, options::OPT_fno_module_maps,
|
||||
HaveModules)) {
|
||||
if (Args.hasFlag(options::OPT_fimplicit_module_maps,
|
||||
options::OPT_fno_implicit_module_maps, HaveModules)) {
|
||||
CmdArgs.push_back("-fimplicit-module-maps");
|
||||
}
|
||||
|
||||
|
|
|
@ -6,3 +6,10 @@
|
|||
// RUN: %clang -fmodules -### %s 2>&1 | FileCheck -check-prefix=CHECK-HAS-MODULES %s
|
||||
// RUN: %clang -fmodules -fno-cxx-modules -fcxx-modules -### %s 2>&1 | FileCheck -check-prefix=CHECK-HAS-MODULES %s
|
||||
// CHECK-HAS-MODULES: -fmodules
|
||||
|
||||
// RUN: %clang -### %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MAPS %s
|
||||
// RUN: %clang -fimplicit-module-maps -### %s 2>&1 | FileCheck -check-prefix=CHECK-HAS-MAPS %s
|
||||
// RUN: %clang -fmodules -### %s 2>&1 | FileCheck -check-prefix=CHECK-HAS-MAPS %s
|
||||
// RUN: %clang -fmodules -fno-implicit-module-maps -### %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MAPS %s
|
||||
// CHECK-HAS-MAPS: -fimplicit-module-maps
|
||||
// CHECK-NO-MAPS-NOT: -fimplicit-module-maps
|
||||
|
|
Loading…
Reference in New Issue