Add option to switch off putting header modules into the dependency file.

llvm-svn: 232721
This commit is contained in:
Manuel Klimek 2015-03-19 12:00:22 +00:00
parent b1fbacab5f
commit c68aa16d46
3 changed files with 18 additions and 2 deletions

View File

@ -772,6 +772,10 @@ def fno_modules_strict_decluse : Flag <["-"], "fno-strict-modules-decluse">, Gro
Flags<[DriverOption]>;
def fimplicit_modules : Flag <["-"], "fimplicit-modules">, Group<f_Group>,
Flags<[DriverOption]>;
def fmodule_file_deps : Flag <["-"], "fmodule-file-deps">, Group<f_Group>,
Flags<[DriverOption]>;
def fno_module_file_deps : Flag <["-"], "fno-module-file-deps">, Group<f_Group>,
Flags<[DriverOption]>;
def fno_ms_extensions : Flag<["-"], "fno-ms-extensions">, Group<f_Group>;
def fno_ms_compatibility : Flag<["-"], "fno-ms-compatibility">, Group<f_Group>;
def fno_delayed_template_parsing : Flag<["-"], "fno-delayed-template-parsing">, Group<f_Group>;

View File

@ -324,8 +324,9 @@ void Clang::AddPreprocessingOptions(Compilation &C,
if (A->getOption().matches(options::OPT_M) ||
A->getOption().matches(options::OPT_MD))
CmdArgs.push_back("-sys-header-deps");
if (isa<PrecompileJobAction>(JA))
if ((isa<PrecompileJobAction>(JA) &&
!Args.hasArg(options::OPT_fno_module_file_deps)) ||
Args.hasArg(options::OPT_fmodule_file_deps))
CmdArgs.push_back("-module-file-deps");
}

View File

@ -8,3 +8,14 @@
// RUN: FileCheck %s -check-prefix=CHECK-NOPCH -input-file=%t
// CHECK-NOPCH: -dependency-file
// CHECK-NOPCH-NOT: -module-file-deps
// RUN: %clang -x c-header %s -o %t.pch -MMD -MT dependencies -MF %t.d \
// RUN: -fno-module-file-deps -### 2> %t
// RUN: FileCheck %s -check-prefix=CHECK-EXPLICIT -input-file=%t
// CHECK-EXPLICIT: -dependency-file
// CHECK-EXPLICIT-NOT: -module-file-deps
// RUN: %clang -x c++ %s -o %t.o -MMD -MT dependencies -MF %t.d -fmodule-file-deps -### 2> %t
// RUN: FileCheck %s -check-prefix=CHECK-EXPLICIT-NOPCH -input-file=%t
// CHECK-EXPLICIT-NOPCH: -dependency-file
// CHECK-EXPLICIT-NOPCH: -module-file-deps