Go to file
Richard Smith a560ccf2af Switch to a different workaround for unimplementability of P0145R3 in MS ABIs.
Instead of ignoring the evaluation order rule, ignore the "destroy parameters
in reverse construction order" rule for the small number of problematic cases.
This only causes incorrect behavior in the rare case where both parameters to
an overloaded operator <<, >>, ->*, &&, ||, or comma are of class type with
non-trivial destructor, and the program is depending on those parameters being
destroyed in reverse construction order.

We could do a little better here by reversing the order of parameter
destruction for those functions (and reversing the argument evaluation order
for all direct calls, not just those with operator syntax), but that is not a
complete solution to the problem, as the same situation can be reached by an
indirect function call.

Approach reviewed off-line by rnk.

llvm-svn: 282777
2016-09-29 21:30:12 +00:00
clang Switch to a different workaround for unimplementability of P0145R3 in MS ABIs. 2016-09-29 21:30:12 +00:00
clang-tools-extra [clang-tidy] fix false-positive for cppcoreguidelines-pro-type-member-init with in-class initializers 2016-09-28 20:06:18 +00:00
compiler-rt [sancov] removing html report option test, the option doesn't exist anymore 2016-09-29 16:59:04 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Provide vstore_half helper to workaround clc restrictions 2016-09-21 20:15:55 +00:00
libcxx [libc++] Add missing locale aliases 2016-09-29 03:35:41 +00:00
libcxxabi Revert r282692: Use fallback_malloc to allocate __cxa_eh_globals in case of dynamic memory exhaustion. 2016-09-29 08:11:57 +00:00
libunwind libunwind: Add OpenBSD case for _Unwind_Ptr typedef 2016-09-28 15:37:21 +00:00
lld Rename "void check(Error)". 2016-09-29 21:00:26 +00:00
lldb This test will not work in i386 mode because we don't create interesting types from the ObjC runtime 2016-09-29 21:20:56 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm GC opendir/readdir/closedir checks. 2016-09-29 21:29:57 +00:00
openmp Mixed type atomic routines for unsigned integers. 2016-09-27 17:38:48 +00:00
parallel-libs [SE] Change CoreTests target name 2016-09-27 15:32:52 +00:00
polly www: Add Loopy publication 2016-09-29 18:17:30 +00:00