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

Hans Wennborg hans at chromium.org
Thu Jan 9 15:28:42 PST 2014


  Back from the holidays, let's see if we can get this landed :)

  I've rebased the patch. The only necessary change was to force itanium mode for CodeGenCXX/instr-profile.cpp (it has expectations on itanium-mangled names, and uses exceptions/RTTI which the MS mode cannot handle).

  IIRC, this is where we left last year:

  test/CXX/class.access/p4.cpp - Dtor access checks for pass-by-value objects in callee. I think David's comment on http://llvm-reviews.chandlerc.com/D2409 about this being SFINAE-detectable means we need to follow visual studio here.

  test/SemaCXX/destructor.cpp - Missing outermost level of template instantiation backtrace, I've commented on this at http://llvm-reviews.chandlerc.com/D2401?id=6089#inline-12902

  test/SemaCXX/virtual-base-used.cpp - Adding "new D" to trigger vtable emission got pretty hairy here, so maybe we don't want to do that.

  Please take a look.

Hi rnk,

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

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D2401?vs=6173&id=6401#toc

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/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/instr-profile.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.5.patch
Type: text/x-patch
Size: 43751 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140109/4e4905d2/attachment.bin>


More information about the cfe-commits mailing list