]> granicus.if.org Git - clang/commitdiff
Connect -fno-exceptions to -arm-disable-ehabi
authorRenato Golin <renato.golin@linaro.org>
Fri, 31 Jan 2014 14:13:20 +0000 (14:13 +0000)
committerRenato Golin <renato.golin@linaro.org>
Fri, 31 Jan 2014 14:13:20 +0000 (14:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200545 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp
test/Driver/arm-no-exception.c [new file with mode: 0644]

index 0be232f15c89216417241350ba338d07f5c513b2..9577aaacd53d7f9d375cb691132bd6f1d9b9d972 100644 (file)
@@ -830,6 +830,12 @@ void Clang::AddARMTargetArgs(const ArgList &Args,
       CmdArgs.push_back("-backend-option");
       CmdArgs.push_back("-arm-reserve-r9");
     }
+
+    // Exception handling
+    if (Args.hasArg(options::OPT_fno_exceptions)) {
+      CmdArgs.push_back("-backend-option");
+      CmdArgs.push_back("-arm-disable-ehabi");
+    }
 }
 
 // Get CPU and ABI names. They are not independent
diff --git a/test/Driver/arm-no-exception.c b/test/Driver/arm-no-exception.c
new file mode 100644 (file)
index 0000000..6c6036e
--- /dev/null
@@ -0,0 +1,4 @@
+// RUN: %clang -target arm-none-gnueeabi -fno-exceptions -### %s 2> %t
+// RUN: FileCheck --check-prefix=CHECK-NOEH < %t %s
+
+// CHECK-NOEH: "-backend-option" "-arm-disable-ehabi"