[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