Set function Attribute::NoImplicitFloat appropriately.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72961 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp
index 248619f..55601f3 100644
--- a/lib/CodeGen/CGCall.cpp
+++ b/lib/CodeGen/CGCall.cpp
@@ -1755,6 +1755,8 @@
 
   if (CompileOpts.DisableRedZone)
     FuncAttrs |= llvm::Attribute::NoRedZone;
+  if (CompileOpts.NoImplicitFloat)
+    FuncAttrs |= llvm::Attribute::NoImplicitFloat;
 
   QualType RetTy = FI.getReturnType();
   unsigned Index = 1;
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index f3cfc65..6b082c8 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -329,7 +329,7 @@
   if (Args.hasFlag(options::OPT_msoft_float,
                    options::OPT_mno_soft_float,
                    false))
-    CmdArgs.push_back("--soft-float");
+    CmdArgs.push_back("--no-implicit-float");
 
   // FIXME: Handle -mtune=.
   (void) Args.hasArg(options::OPT_mtune_EQ);