Simplify CompilerInvocation::toArgs, now that LangOptions handling is more predictable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89074 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index 3537bc5..ed6d0b7 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -377,8 +377,8 @@
// BCPLComment, C99, CPlusPlus0x, Digraphs, GNUInline, ImplicitInt, GNUMode
if (Opts.DollarIdents)
Res.push_back("-fdollars-in-identifiers");
- Res.push_back("-fms-extensions");
- Res.push_back(Opts.Microsoft ? "1" : "0");
+ if (Opts.Microsoft)
+ Res.push_back("-fms-extensions=1");
if (Opts.ObjCNonFragileABI)
Res.push_back("-fobjc-nonfragile-abi");
// NoInline is implicit.
@@ -406,12 +406,12 @@
llvm::llvm_report_error("FIXME: Not yet implemented!");
if (Opts.POSIXThreads)
Res.push_back("-pthread");
- Res.push_back("-fblocks");
- Res.push_back(Opts.Blocks ? "1" : "0");
+ if (Opts.Blocks)
+ Res.push_back("-fblocks=1");
if (Opts.EmitAllDecls)
Res.push_back("-femit-all-decls");
- Res.push_back("-fmath-errno");
- Res.push_back(Opts.MathErrno ? "1" : "0");
+ if (!Opts.MathErrno)
+ Res.push_back("-fmath-errno=0");
if (Opts.OverflowChecking)
Res.push_back("-ftrapv");
if (Opts.HeinousExtensions)