diff options
Diffstat (limited to 'clang/lib/Driver/ToolChains/Arch/Mips.cpp')
| -rw-r--r-- | clang/lib/Driver/ToolChains/Arch/Mips.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/clang/lib/Driver/ToolChains/Arch/Mips.cpp b/clang/lib/Driver/ToolChains/Arch/Mips.cpp index a8bed7d7529..e72754d5ad5 100644 --- a/clang/lib/Driver/ToolChains/Arch/Mips.cpp +++ b/clang/lib/Driver/ToolChains/Arch/Mips.cpp @@ -214,7 +214,6 @@ void mips::getMIPSTargetFeatures(const Driver &D, const llvm::Triple &Triple, // For case (a) we need to add +noabicalls for N64. bool IsN64 = ABIName == "64"; - bool IsPIC = false; bool NonPIC = false; Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC, @@ -226,9 +225,6 @@ void mips::getMIPSTargetFeatures(const Driver &D, const llvm::Triple &Triple, NonPIC = (O.matches(options::OPT_fno_PIC) || O.matches(options::OPT_fno_pic) || O.matches(options::OPT_fno_PIE) || O.matches(options::OPT_fno_pie)); - IsPIC = - (O.matches(options::OPT_fPIC) || O.matches(options::OPT_fpic) || - O.matches(options::OPT_fPIE) || O.matches(options::OPT_fpie)); } bool UseAbiCalls = false; @@ -238,14 +234,9 @@ void mips::getMIPSTargetFeatures(const Driver &D, const llvm::Triple &Triple, UseAbiCalls = !ABICallsArg || ABICallsArg->getOption().matches(options::OPT_mabicalls); - if (IsN64 && NonPIC && (!ABICallsArg || UseAbiCalls)) { - D.Diag(diag::warn_drv_unsupported_pic_with_mabicalls) - << LastPICArg->getAsString(Args) << (!ABICallsArg ? 0 : 1); - NonPIC = false; - } - - if (ABICallsArg && !UseAbiCalls && IsPIC) { - D.Diag(diag::err_drv_unsupported_noabicalls_pic); + if (UseAbiCalls && IsN64 && NonPIC) { + D.Diag(diag::warn_drv_unsupported_abicalls); + UseAbiCalls = false; } if (!UseAbiCalls) |

