From: Akira Hatanaka Date: Fri, 19 Jul 2013 18:58:48 +0000 (+0000) Subject: [mips] Add support for command-line options -mno-check-zero-division and X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cdbc3b36bd6167fcb1e2de080e0d9bcd35b166ea;p=clang [mips] Add support for command-line options -mno-check-zero-division and -mcheck-zero-division. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186710 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index fb37228a4f..2035bf8b76 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -1009,6 +1009,9 @@ def mxgot : Flag<["-"], "mxgot">, Group; def mno_xgot : Flag<["-"], "mno-xgot">, Group; def mldc1_sdc1 : Flag<["-"], "mldc1-sdc1">, Group; def mno_ldc1_sdc1 : Flag<["-"], "mno-ldc1-sdc1">, Group; +def mcheck_zero_division : Flag<["-"], "mcheck-zero-division">, Group; +def mno_check_zero_division : Flag<["-"], "mno-check-zero-division">, + Group; def mdsp : Flag<["-"], "mdsp">, Group; def mno_dsp : Flag<["-"], "mno-dsp">, Group; def mdspr2 : Flag<["-"], "mdspr2">, Group; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index c2a0205b72..83aab8db4d 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1039,6 +1039,14 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args, } } + if (Arg *A = Args.getLastArg(options::OPT_mcheck_zero_division, + options::OPT_mno_check_zero_division)) { + if (A->getOption().matches(options::OPT_mno_check_zero_division)) { + CmdArgs.push_back("-mllvm"); + CmdArgs.push_back("-mno-check-zero-division"); + } + } + if (Arg *A = Args.getLastArg(options::OPT_G)) { StringRef v = A->getValue(); CmdArgs.push_back("-mllvm"); diff --git a/test/Driver/mips-features.c b/test/Driver/mips-features.c index 3c1cea5178..ffa4dcd5aa 100644 --- a/test/Driver/mips-features.c +++ b/test/Driver/mips-features.c @@ -72,6 +72,18 @@ // RUN: | FileCheck --check-prefix=CHECK-NOLDC1SDC1 %s // CHECK-NOLDC1SDC1: "-mllvm" "-mno-ldc1-sdc1" // +// -mcheck-zero-division +// RUN: %clang -target mips-linux-gnu -### -c %s \ +// RUN: -mno-check-zero-division -mcheck-zero-division 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-ZERODIV %s +// CHECK-ZERODIV-NOT: "-mllvm" "-mno-check-zero-division" +// +// -mno-check-zero-division +// RUN: %clang -target mips-linux-gnu -### -c %s \ +// RUN: -mcheck-zero-division -mno-check-zero-division 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NOZERODIV %s +// CHECK-NOZERODIV: "-mllvm" "-mno-check-zero-division" +// // -G // RUN: %clang -target mips-linux-gnu -### -c %s \ // RUN: -G 16 2>&1 \