aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2013-03-12 17:02:12 +0000
committerTed Kremenek <kremenek@apple.com>2013-03-12 17:02:12 +0000
commitc06fcdfacc33ad4f8920bbdf43a0e45bc5e8ac4b (patch)
treef4892ebd1275df293592707ceb2dfa942ac53e72
parent024c1199fa9d28e00160d5f05ed7dc3d25264837 (diff)
Revert "Disallow using -fmodules with -no-integrated-as."
Per comment from Benjamin Kramer, this isn't portable (yet). I'll come up with a better fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176876 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/DiagnosticDriverKinds.td7
-rw-r--r--lib/Driver/Tools.cpp16
-rw-r--r--test/Driver/modules_integrated_as.c4
3 files changed, 3 insertions, 24 deletions
diff --git a/include/clang/Basic/DiagnosticDriverKinds.td b/include/clang/Basic/DiagnosticDriverKinds.td
index 469bae8dd4..964d2bc193 100644
--- a/include/clang/Basic/DiagnosticDriverKinds.td
+++ b/include/clang/Basic/DiagnosticDriverKinds.td
@@ -75,7 +75,7 @@ def err_drv_invalid_libcxx_deployment : Error<
"invalid deployment target for -stdlib=libc++ (requires %0 or later)">;
def err_drv_invalid_feature : Error<
"invalid feature '%0' for CPU '%1'">;
-
+
def err_drv_I_dash_not_supported : Error<
"'%0' not supported, please use -iquote instead">;
def err_drv_unknown_argument : Error<"unknown argument: '%0'">;
@@ -150,9 +150,4 @@ def err_analyzer_config_no_value : Error<
"analyzer-config option '%0' has a key but no value">;
def err_analyzer_config_multiple_values : Error<
"analyzer-config option '%0' should contain only one '='">;
-
-def err_drv_modules_integrated_as : Error<
- "modules can only be used with the compiler's integrated assembler">;
-def note_drv_modules_integrated_as : Note<
- "'-no-integrated-as' cannot be used with '-fmodules'">;
}
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index ef759ff6d3..62b1febd52 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -1429,18 +1429,12 @@ static bool ShouldDisableCFI(const ArgList &Args,
Default);
}
-static bool ShouldUseIntegratedAssembler(const ArgList &Args,
- const ToolChain &TC) {
+static bool ShouldDisableDwarfDirectory(const ArgList &Args,
+ const ToolChain &TC) {
bool IsIADefault = TC.IsIntegratedAssemblerDefault();
bool UseIntegratedAs = Args.hasFlag(options::OPT_integrated_as,
options::OPT_no_integrated_as,
IsIADefault);
- return UseIntegratedAs;
-}
-
-static bool ShouldDisableDwarfDirectory(const ArgList &Args,
- const ToolChain &TC) {
- bool UseIntegratedAs = ShouldUseIntegratedAssembler(Args, TC);
bool UseDwarfDirectory = Args.hasFlag(options::OPT_fdwarf_directory_asm,
options::OPT_fno_dwarf_directory_asm,
UseIntegratedAs);
@@ -2784,12 +2778,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-fmodules");
HaveModules = true;
}
-
- if (HaveModules && !ShouldUseIntegratedAssembler(Args, getToolChain())) {
- D.Diag(diag::err_drv_modules_integrated_as);
- D.Diag(diag::note_drv_modules_integrated_as);
- return;
- }
}
// If a module path was provided, pass it along. Otherwise, use a temporary
diff --git a/test/Driver/modules_integrated_as.c b/test/Driver/modules_integrated_as.c
deleted file mode 100644
index 037cdd0c3c..0000000000
--- a/test/Driver/modules_integrated_as.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// RUN: %clang -fmodules -no-integrated-as -fsyntax-only %s 2>&1 | FileCheck %s
-
-// CHECK: error: modules can only be used with the compiler's integrated assembler
-// CHECK note: '-no-integrated-as' cannot be used with '-fmodules'