[PATCH] D32265: Add __CLANG_ATOMIC__LOCK_FREE macros for use in MSVC compatibility mode.

2017-04-20 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added a comment. (sorry for double post) And of course since you folks don't care about supporting pre-Vista you probably also don't care about supporting Opterons from 2005, in which case you'd want unconditional cmpxchg16b on amd64 :). In our next major version I added a configura

[PATCH] D32265: Add __CLANG_ATOMIC__LOCK_FREE macros for use in MSVC compatibility mode.

2017-04-20 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added a comment. In https://reviews.llvm.org/D32265#731709, @jfb wrote: > Is it a goal to support Microsoft's STL with this? If so, how does MSVC's STL > implement `is_always_lock_free` at the moment? CL 19 2017 RTW doesn't seem to > have anything ? Pres

[PATCH] D32307: [libcxx] [test] Resolve everyone's favorite warning, unused local typedef

2017-04-20 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal closed this revision. BillyONeal added a comment. Committed r300937 https://reviews.llvm.org/D32307 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-04-21 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 96231. BillyONeal added a comment. Stephan had some code review comments :) https://reviews.llvm.org/D32309 Files: test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp Index: test/std/

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-04-22 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added inline comments. Comment at: test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp:46 +std::gcd(static_cast(0), static_cast(0)))>::value, ""); +const bool result = static_cast>(out) == +std::gcd(static_cast(in1), static_cast(in2)); --

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-04-26 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added a comment. Hi folks, any update on this or is just fixing @rsmith's comment OK? Thanks! https://reviews.llvm.org/D32309 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[PATCH] D32574: [libcxx] [test] Fixed possible loss of data warnings in tests on amd64

2017-04-26 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal created this revision. In T_size_size.pass, there is an explicit template argument to std::min to ask for unsigned, to avoid type deduction errors. However, C1XX' warnings still hate this use, because a 64 bit value (a size_t) is being passed to a function accepting an unsigned (a 32 bi

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-05-04 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added inline comments. Comment at: test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp:146 +auto res = std::gcd(static_cast(1234), INT32_MIN); +static_assert(std::is_same>::value, ""); assert(res == 2); EricWF wrote: > `

[PATCH] D32574: [libcxx] [test] Fixed possible loss of data warnings in tests on amd64

2017-05-04 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added inline comments. Comment at: test/std/strings/basic.string/string.cons/T_size_size.pass.cpp:39 assert(pos <= sv.size()); -unsigned rlen = std::min(sv.size() - pos, n); +unsigned rlen = std::min(static_cast(sv.size()) - pos, n); a

[PATCH] D32927: [libc++] Implement exception_ptr on Windows

2017-05-05 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added inline comments. Comment at: include/exception:192 +#endif +void* __ptr1_; +void* __ptr2_; I hope you realize you are doing "evil" unsupported things :). (We won't go out of our way to break this, but if it does break we won't feel bad :

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-05-08 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 98205. BillyONeal added a comment. Resolved CR comments https://reviews.llvm.org/D32309 Files: test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp Index: test/std/numerics/numeric.ops

[PATCH] D32574: [libcxx] [test] Fixed possible loss of data warnings in tests on amd64

2017-05-08 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 98214. BillyONeal marked 4 inline comments as done. BillyONeal edited the summary of this revision. BillyONeal added a comment. Instead, change the tests to pass around std::size_t instances, and explicitly narrow when constructing the string type under tes

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-05-08 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added inline comments. Comment at: test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp:42 +constexpr bool test0(int in1, int in2, int out) { +static_assert(std::is_same Nit but this seems much cleaner and more readable without the casts. > > ``` > auto val

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-05-08 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 98219. BillyONeal marked 2 inline comments as done. BillyONeal edited the summary of this revision. BillyONeal added a comment. Do Eric's suggestions. https://reviews.llvm.org/D32309 Files: test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp t

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-09 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal created this revision. Update is_trivially_copyable tests with CWG 2094 Clang 5.0 implements this here: https://github.com/llvm-mirror/clang/commit/87cd035326a39523eeb1b295ad36cff337141ef9 MSVC++ will implement it in the first toolset update for VS 2017. https://reviews.llvm.org/D33

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-09 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added inline comments. Comment at: test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp:25 + #define IMPLEMENTS_CWG_2094 false + #endif /* defined(_MSC_VER) && _MSC_VER >= 1911 */ +#endif Whoops, I fat fingered the closin

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-09 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 98370. BillyONeal edited the summary of this revision. BillyONeal added a comment. Eric asked to just nuke the offending lines. https://reviews.llvm.org/D33021 Files: test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-09 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 98376. BillyONeal added a comment. Bill got confused. https://reviews.llvm.org/D33021 Files: test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp Index: test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_co

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-10 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added a comment. In https://reviews.llvm.org/D33021#750831, @mclow.lists wrote: > FWIW, I think this is a language change that core got wrong, and it has > already come back to bite us. (https://bugs.llvm.org/show_bug.cgi?id=28527) Hmm we actually took steps to do the opposite i

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-10 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal added a comment. In https://reviews.llvm.org/D33021#751145, @BillyONeal wrote: > Hmm we actually took steps to do the opposite in std::copy -- to use > memcpy even in the presence of volatile -- as a result of this change. ;) http://imgur.com/a/PMKPS https://reviews.llvm.org/D

[PATCH] D33021: [libcxx] [test] libc++ test changes for CWG 2094

2017-05-10 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal updated this revision to Diff 98506. BillyONeal added a comment. Added spaces requested by Marshal. https://reviews.llvm.org/D33021 Files: test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp Index: test/std/utilities/meta/meta.unary/meta.unary.prop

[PATCH] D33340: [libcxx] [test] Add string nullptr asserts to erase functions.

2017-05-18 Thread Billy Robert O';Neal III via Phabricator via cfe-commits
BillyONeal created this revision. In my perf overhaul for MSVC++'s basic_string I wrote the null at data[oldsize] instead of data[newsize]; adding asserts to catch that bug. https://reviews.llvm.org/D33340 Files: test/std/strings/basic.string/string.modifiers/string_erase/iter.pass.cpp tes

<    1   2