diff options
author | Ted Kremenek <kremenek@apple.com> | 2013-03-12 17:02:12 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2013-03-12 17:02:12 +0000 |
commit | c06fcdfacc33ad4f8920bbdf43a0e45bc5e8ac4b (patch) | |
tree | f4892ebd1275df293592707ceb2dfa942ac53e72 | |
parent | 024c1199fa9d28e00160d5f05ed7dc3d25264837 (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.td | 7 | ||||
-rw-r--r-- | lib/Driver/Tools.cpp | 16 | ||||
-rw-r--r-- | test/Driver/modules_integrated_as.c | 4 |
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' |