[PATCH] Use the MS ABI for Win32 target by default

Hans Wennborg hans at chromium.org
Fri Dec 13 09:22:05 PST 2013


Hi rnk,

This makes Clang use the MS ABI by default when targeting Win32.

In addition to being a sensible default, this also improves the test coverage for the MS ABI: any bot that targets Win32 will now run the tests in MS ABI mode by default.

I plan to commit this in two steps: test updates first, and functionality change second so that it can be reverted separately if needed.

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

Files:
  lib/Frontend/CompilerInvocation.cpp
  test/Analysis/inlining/dyn-dispatch-bifurcate.cpp
  test/CXX/class.access/p4.cpp
  test/CXX/dcl.dcl/dcl.link/p7.cpp
  test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p2.cpp
  test/CXX/drs/dr2xx.cpp
  test/CXX/special/class.copy/implicit-move-def.cpp
  test/CXX/special/class.dtor/p3-0x.cpp
  test/CXX/special/class.dtor/p5-0x.cpp
  test/CXX/special/class.dtor/p9.cpp
  test/CodeGen/builtin-ms-noop.cpp
  test/CodeGen/captured-statements.c
  test/CodeGen/complex-convert.c
  test/CodeGen/cxx-default-arg.cpp
  test/CodeGen/fp-contract-pragma.cpp
  test/CodeGen/overloadable.c
  test/CodeGen/tbaa-for-vptr.cpp
  test/CodeGenCUDA/filter-decl.cu
  test/CodeGenCXX/2003-11-27-MultipleInheritanceThunk.cpp
  test/CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp
  test/CodeGenCXX/2004-03-09-UnmangledBuiltinMethods.cpp
  test/CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp
  test/CodeGenCXX/2010-05-11-alwaysinlineinstantiation.cpp
  test/CodeGenCXX/PR5093-static-member-function.cpp
  test/CodeGenCXX/PR5863-unreachable-block.cpp
  test/CodeGenCXX/address-of-fntemplate.cpp
  test/CodeGenCXX/attr-cleanup.cpp
  test/CodeGenCXX/attr-used.cpp
  test/CodeGenCXX/block-byref-cxx-objc.cpp
  test/CodeGenCXX/block.cpp
  test/CodeGenCXX/c-linkage.cpp
  test/CodeGenCXX/captured-statements.cpp
  test/CodeGenCXX/const-base-cast.cpp
  test/CodeGenCXX/const-global-linkage.cpp
  test/CodeGenCXX/constructor-attr.cpp
  test/CodeGenCXX/constructor-direct-call.cpp
  test/CodeGenCXX/constructor-init-reference.cpp
  test/CodeGenCXX/copy-assign-synthesis-2.cpp
  test/CodeGenCXX/copy-constructor-synthesis-2.cpp
  test/CodeGenCXX/coverage.cpp
  test/CodeGenCXX/cxx0x-defaulted-templates.cpp
  test/CodeGenCXX/cxx11-noreturn.cpp
  test/CodeGenCXX/cxx11-unrestricted-union.cpp
  test/CodeGenCXX/debug-info-char16.cpp
  test/CodeGenCXX/debug-info-enum.cpp
  test/CodeGenCXX/debug-info-gline-tables-only.cpp
  test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
  test/CodeGenCXX/debug-info-method.cpp
  test/CodeGenCXX/debug-info-same-line.cpp
  test/CodeGenCXX/debug-info-template-limit.cpp
  test/CodeGenCXX/debug-info-thunk.cpp
  test/CodeGenCXX/debug-info-use-after-free.cpp
  test/CodeGenCXX/default-constructor-default-argument.cpp
  test/CodeGenCXX/default-constructor-template-member.cpp
  test/CodeGenCXX/default-destructor-nested.cpp
  test/CodeGenCXX/deferred-global-init.cpp
  test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp
  test/CodeGenCXX/destructor-exception-spec.cpp
  test/CodeGenCXX/duplicate-mangled-name.cpp
  test/CodeGenCXX/dynamic_cast-no-rtti.cpp
  test/CodeGenCXX/elide-call-reference.cpp
  test/CodeGenCXX/extern-c.cpp
  test/CodeGenCXX/function-template-explicit-specialization.cpp
  test/CodeGenCXX/function-template-specialization.cpp
  test/CodeGenCXX/global-llvm-constant.cpp
  test/CodeGenCXX/implicit-instantiation-1.cpp
  test/CodeGenCXX/instrument-functions.cpp
  test/CodeGenCXX/internal-linkage.cpp
  test/CodeGenCXX/mangle-abi-examples.cpp
  test/CodeGenCXX/mangle-address-space.cpp
  test/CodeGenCXX/mangle-local-class-names.cpp
  test/CodeGenCXX/mangle-local-class-vtables.cpp
  test/CodeGenCXX/mangle-local-classes-nested.cpp
  test/CodeGenCXX/mangle-nullptr-arg.cpp
  test/CodeGenCXX/mangle-std-externc.cpp
  test/CodeGenCXX/mangle-template.cpp
  test/CodeGenCXX/member-alignment.cpp
  test/CodeGenCXX/microsoft-interface.cpp
  test/CodeGenCXX/microsoft-new.cpp
  test/CodeGenCXX/microsoft-uuidof.cpp
  test/CodeGenCXX/ms_wide_predefined_expr.cpp
  test/CodeGenCXX/noinline-template.cpp
  test/CodeGenCXX/pr11797.cpp
  test/CodeGenCXX/pr12104.cpp
  test/CodeGenCXX/pr9965.cpp
  test/CodeGenCXX/pragma-weak.cpp
  test/CodeGenCXX/predefined-expr.cpp
  test/CodeGenCXX/reference-field.cpp
  test/CodeGenCXX/reference-init.cpp
  test/CodeGenCXX/return.cpp
  test/CodeGenCXX/scoped-enums.cpp
  test/CodeGenCXX/specialized-static-data-mem-init.cpp
  test/CodeGenCXX/stmtexpr.cpp
  test/CodeGenCXX/template-dependent-bind-temporary.cpp
  test/CodeGenCXX/template-inner-struct-visibility-hidden.cpp
  test/CodeGenCXX/throw-expression-dtor.cpp
  test/CodeGenCXX/thunk-use-after-free.cpp
  test/CodeGenCXX/trivial-constructor-init.cpp
  test/CodeGenCXX/vararg-non-pod.cpp
  test/CodeGenCXX/virt-dtor-gen.cpp
  test/CodeGenCXX/virt-dtor-key.cpp
  test/CodeGenCXX/virt-template-vtable.cpp
  test/CodeGenCXX/virtual-base-ctor.cpp
  test/CodeGenCXX/virtual-base-destructor-call.cpp
  test/CodeGenCXX/virtual-destructor-synthesis.cpp
  test/CodeGenCXX/virtual-function-calls.cpp
  test/CodeGenCXX/virtual-implicit-copy-assignment.cpp
  test/CodeGenCXX/virtual-implicit-move-assignment.cpp
  test/CodeGenCXX/virtual-inherited-destructor.cpp
  test/CodeGenCXX/virtual-pseudo-destructor-call.cpp
  test/CodeGenCXX/visibility-hidden-extern-templates.cpp
  test/CodeGenCXX/volatile-1.cpp
  test/CodeGenCXX/vtable-cast-crash.cpp
  test/CodeGenCXX/weak-extern-typeinfo.cpp
  test/CodeGenCXX/weak-external.cpp
  test/CodeGenObjC/debug-info-self.m
  test/CodeGenObjC/overloadable.m
  test/CodeGenObjCXX/arc-mangle.mm
  test/CodeGenOpenCL/address-spaces-mangling.cl
  test/CodeGenOpenCL/local.cl
  test/PCH/cxx-reference.cpp
  test/PCH/cxx-required-decls.cpp
  test/PCH/cxx-templates.cpp
  test/PCH/irgen-rdar13114142.mm
  test/PCH/objc_literals.mm
  test/PCH/objcxx-ivar-class.mm
  test/Sema/empty1.c
  test/SemaCXX/deleted-operator.cpp
  test/SemaCXX/destructor.cpp
  test/SemaCXX/implicit-virtual-member-functions.cpp
  test/SemaCXX/primary-base.cpp
  test/SemaCXX/typeid-ref.cpp
  test/SemaCXX/undefined-internal.cpp
  test/SemaCXX/virtual-base-used.cpp
  test/SemaCXX/warn-reinterpret-base-class.cpp
  test/SemaCXX/warn-weak-vtables.cpp
  test/SemaTemplate/inject-templated-friend-post.cpp
  test/SemaTemplate/inject-templated-friend.cpp
  test/SemaTemplate/instantiate-complete.cpp
  test/SemaTemplate/instantiate-exception-spec-cxx11.cpp
  test/SemaTemplate/virtual-member-functions.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2401.1.patch
Type: text/x-patch
Size: 86123 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131213/e7ae12d0/attachment.bin>


More information about the cfe-commits mailing list