diff options
| author | Manuel Klimek <klimek@google.com> | 2015-03-19 12:00:22 +0000 |
|---|---|---|
| committer | Manuel Klimek <klimek@google.com> | 2015-03-19 12:00:22 +0000 |
| commit | c68aa16d46c1961d3ab05b77b2326e8d909b1fc6 (patch) | |
| tree | 5ce05b483bc115a0ce4bffcc3eee568fce956e45 | |
| parent | b1fbacab5f6ed29580989c24ad22b371939d98fd (diff) | |
| download | bcm5719-llvm-c68aa16d46c1961d3ab05b77b2326e8d909b1fc6.tar.gz bcm5719-llvm-c68aa16d46c1961d3ab05b77b2326e8d909b1fc6.zip | |
Add option to switch off putting header modules into the dependency file.
llvm-svn: 232721
| -rw-r--r-- | clang/include/clang/Driver/Options.td | 4 | ||||
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Driver/pch-deps.c | 11 |
3 files changed, 18 insertions, 2 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 1dc610bb2e9..20b1c43c134 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -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>; diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 74c5b7f8d2e..4ec8caef16e 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -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"); } diff --git a/clang/test/Driver/pch-deps.c b/clang/test/Driver/pch-deps.c index 30486364cd4..2c140e50144 100644 --- a/clang/test/Driver/pch-deps.c +++ b/clang/test/Driver/pch-deps.c @@ -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 |

