r199131 - Use the MS ABI for Win32 targets by default

Hans Wennborg hans at hanshq.net
Mon Jan 13 11:48:19 PST 2014


Author: hans
Date: Mon Jan 13 13:48:18 2014
New Revision: 199131

URL: http://llvm.org/viewvc/llvm-project?rev=199131&view=rev
Log:
Use the MS ABI for Win32 targets by default

In addition to being a sensible default, this is a huge improvement
in test coverage for the MS ABI: any bot that targets Win32 will
now run the test suite using the MS ABI by default.

Differential Revision: http://llvm-reviews.chandlerc.com/D2401

Modified:
    cfe/trunk/lib/Frontend/CompilerInvocation.cpp

Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=199131&r1=199130&r2=199131&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
+++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Mon Jan 13 13:48:18 2014
@@ -1628,9 +1628,12 @@ static void ParseTargetArgs(TargetOption
   // Use the default target triple if unspecified.
   if (Opts.Triple.empty())
     Opts.Triple = llvm::sys::getDefaultTargetTriple();
-}
 
-//
+  // Use the MS ABI for Win32 targets unless otherwise specified.
+  if (Opts.CXXABI.empty() &&
+      llvm::Triple(Opts.Triple).getOS() == llvm::Triple::Win32)
+    Opts.CXXABI = "microsoft";
+}
 
 bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,
                                         const char *const *ArgBegin,





More information about the cfe-commits mailing list