[PATCH] D50341: [libcxx] Fix XFAILs for aligned allocation tests on older OSX versions

2018-08-13 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: libcxx/test/libcxx/memory/aligned_allocation_macro.pass.cpp:18 +// XFAIL: macosx10.8 +// XFAIL: macosx10.7 These should probably be `UNSUPPORTED` as well. Comment at: libcxx/test/std/language.su

[PATCH] D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I have pissed in this area, too - See https://bugs.llvm.org/show_bug.cgi?id=38495 and the proposed resolution here: https://bugs.llvm.org/attachment.cgi?id=20692 How about I just make this change as part of that fix? Repository: rCXX libc++ https://reviews.llvm.

[PATCH] D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. In https://reviews.llvm.org/D50719#1199450, @dexonsmith wrote: > If the bots are red from a previous commit I think it would be better for > Louis to commit this separately. I'm ok with that. Repository: rCXX libc++ https://reviews.llvm.org/D50719 _

[PATCH] D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. thinking about this more, I think this the wrong long-term direction. The presence/absence of C11 features in the underlying C library does not depend on what version of the C++ language we're compiling with. The tests that use `TEXT_HAS_C11_XXX` should be updated to

[PATCH] D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I will clean this up as part of https://bugs.llvm.org/show_bug.cgi?id=38495 Repository: rCXX libc++ https://reviews.llvm.org/D50719 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin

[PATCH] D50739: Clean up macros to detect underling C library functionality

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: ldionne, EricWF, dexonsmith. During the review of https://reviews.llvm.org/D50719, I said: > The presence/absence of C11 features in the underlying C library does not > depend on what version of the C++ language we're compiling with

[PATCH] D50739: Clean up macros to detect underling C library functionality

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/__config:433 -#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L +#if __ISO_C_VISIBLE >= 2011 # if defined(__FreeBSD__) Should we be using `__ISO_C_VISIBLE` here, or `__STDC_VERSION__`? I didn't change

[PATCH] D50748: [libc++] Detect C11 features on non-Clang compilers

2018-08-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM. Repository: rCXX libc++ https://reviews.llvm.org/D50748 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.l

[PATCH] D50736: [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback

2018-08-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Is this test that's being added libc++ specific, or would it apply to other implementations as well? Comment at: test/libcxx/numerics/rand/rand.eng.mers/cnstr_sseq_all_zero.pass.cpp:18 + +// template explicit mersenne_twister_engine(Sseq &q); + -

[PATCH] D50799: Fix for PR 38495: no longer compiles on FreeBSD, due to lack of timespec_get()

2018-08-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: ldionne, EricWF, dim. Fixes this by adding a new config macro `_LIBCPP_HAS_TIMESPEC_GET` (sigh) There's also a drive-by fix in here about not importing `aligned_alloc` into namespace `std` before C++17. https://reviews.llvm.org/D

[PATCH] D50799: Fix for PR 38495: no longer compiles on FreeBSD, due to lack of timespec_get()

2018-08-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists updated this revision to Diff 160897. mclow.lists added a comment. Copy/paste error in original diff. https://reviews.llvm.org/D50799 Files: include/__config include/cstdlib include/ctime test/std/language.support/support.runtime/ctime.pass.cpp test/std/utilities/time/date

[PATCH] D50799: Fix for PR 38495: no longer compiles on FreeBSD, due to lack of timespec_get()

2018-08-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists updated this revision to Diff 160898. https://reviews.llvm.org/D50799 Files: include/__config include/cstdlib include/ctime test/std/language.support/support.runtime/ctime.pass.cpp test/std/utilities/time/date.time/ctime.pass.cpp test/support/test_macros.h Index: test/sup

[PATCH] D50815: Establish the header

2018-08-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: EricWF, ldionne. Herald added a subscriber: christof. In C++20, we're going to have a header named for bit manipulations. See https://wg21.link/P0553 and https://wg21.link/P0556 for more info. This doesn't do any of that. It just cr

[PATCH] D50736: [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback

2018-08-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Thanks for doing this. This looks good to me; but I want to play with it a bit before committing. I'll do that tonight. Repository: rCXX libc++ https://reviews.llvm.org/D50736 ___ cfe-commits mailing list cfe-commits

[PATCH] D50736: [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback

2018-08-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. This LGTM. Do you want me to commit it for you? Repository: rCXX libc++ https://reviews.llvm.org/D50736 ___ cfe-commits mailing list

[PATCH] D50815: Establish the header

2018-08-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. landed as revision 339943 https://reviews.llvm.org/D50815 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50876: Clean up newly created header

2018-08-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: ldionne, EricWF. Still NFC here. 1. Take the 9 functions that each had an `#ifndef _LIBCPP_COMPILER_MSVC` .. `#else` .. `endif` block in them and make just two blocks, each with 9 functions. Much easier to read, but makes for a ter

[PATCH] D50876: Clean up newly created header

2018-08-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/bit:113 inline _LIBCPP_INLINE_VISIBILITY unsigned __clz(unsigned __x) { static_assert(sizeof(unsigned) == sizeof(unsigned long), ""); Missed this one. Should be `int` https://reviews.llvm.org/D50876

[PATCH] D50876: Clean up newly created header

2018-08-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/bit:117 + unsigned long __where; // Search from LSB to MSB for first set bit. // Returns zero if no set bit is found. lebedev.ri wrote: > Like i commented in the original review, this should probably b

[PATCH] D50876: Clean up newly created header

2018-08-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/bit:61 +inline _LIBCPP_INLINE_VISIBILITY +int __popcount(unsigned __x) { return __builtin_popcount (__x); } + ldionne wrote: > Funny spacing between `__builtin_popcount` and `(__x)` It's actually t

[PATCH] D50876: Clean up newly created header

2018-08-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists updated this revision to Diff 161284. mclow.lists added a comment. Clean up the windows code a bit - though I don't think is used - since I don't think it will compile. https://reviews.llvm.org/D50876 Files: include/__bit_reference include/bit Index: include/bit ==

[PATCH] D50876: Clean up newly created header

2018-08-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/bit:96 #if defined(_LIBCPP_HAS_BITSCAN64) (defined(_M_AMD64) || defined(__x86_64__)) + if (_BitScanForward64(&__where, __x)) I'm not sure this code is ever used - since how can this compile? https://

[PATCH] D50876: Clean up newly created header

2018-08-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. @craig.topper - that's existing code; I'm not changing it. If we have a test bot that I can test this against, I'm happy to update it. https://reviews.llvm.org/D50876 ___ cfe-commits mailing list cfe-commits@lists.llvm.o

[PATCH] D50876: Clean up newly created header

2018-08-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. In https://reviews.llvm.org/D50876#1204531, @mclow.lists wrote: > @craig.topper - that's existing code; I'm not changing it. > If we have a test bot that I can test this against, I'm happy to update it. I'm not really sure that this code is actually used anywhere.

[PATCH] D46845: [libcxx][c++17] P0083R5: Splicing Maps and Sets

2018-05-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. >> One way we could deal with this is by adding an attribute to the compiler to >> indicate "the const is a lie", that we can apply to std::pair::first, with >> the semantics being that a top-level const is ignored when determining the >> "real" type of the member (

[PATCH] D41347: [libc++] Lift std::errc into a separated header

2018-05-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. Sorry this took so long. Please update `test/libcxx/double_include.sh.cpp` and commit. Repository: rCXX libc++ https://reviews.llvm.org/D41347

[PATCH] D39308: [libcxx] Keep track of heap allocated regex states

2018-05-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Herald added subscribers: bixia, christof. What we need to do here is to here is to add a new macro `_LIBCPP_ABI_REGEX_MEMORY` in `<__config>` (around line 89) and then make these changes available only when this macro is defined. By default - we get no change. If `

[PATCH] D41458: [libc++][C++17] Elementary string conversions for integral types

2018-05-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/charconv:89 +_LIBCPP_BEGIN_NAMESPACE_STD + +enum class _LIBCPP_ENUM_VIS chars_format lichray wrote: > EricWF wrote: > > We need to hide these names when `_LIBCPP_STD_VER < 17`, since we're not > > allowed to

[PATCH] D46964: Implement class deduction guides for `std::array`

2018-05-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added a reviewer: EricWF. According to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0433r2.html Once this is reviewed, I'll do the rest of the sequence containers. https://reviews.llvm.org/D46964 Files: include/array test/std/cont

[PATCH] D46975: Implement deduction guides for `std::deque`

2018-05-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added a reviewer: EricWF. Based off of http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0433r2.html https://reviews.llvm.org/D46975 Files: include/deque test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp Index: test/std/c

[PATCH] D46975: Implement deduction guides for `std::deque`

2018-05-16 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I should probably add some tests for the implicit deduction guides, too. https://reviews.llvm.org/D46975 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46975: Implement deduction guides for `std::deque`

2018-05-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists updated this revision to Diff 147317. mclow.lists added a comment. Added tests (and fix!) for the implicit deduction guides. https://reviews.llvm.org/D46975 Files: include/deque test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp Index: test/std/containers/sequences/

[PATCH] D46964: Implement class deduction guides for `std::array`

2018-05-18 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/array:75 + template +array(T, U...) -> array; EricWF wrote: > Don't we normally comment `// C++17` or similar for new features in the > synopsis? we do. Comment at: include/array:3

[PATCH] D46964: Implement class deduction guides for `std::array`

2018-05-18 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. Committed as revision 332768 https://reviews.llvm.org/D46964 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41976: Low-hanging fruit optimization in string::__move_assign().

2018-05-29 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Howard just pointed out to me that `__clear_and_shrink` should be noexcept - otherwise we get the generation of an exception table and a call to `terminate` in string's move assignment operator. Fixed in revision 333435. Repository: rCXX libc++ https://reviews.

[PATCH] D38757: [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back.

2017-10-11 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM - thanks! https://reviews.llvm.org/D38757 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/ma

[PATCH] D37955: [libcxx] Fix invert negative bracket match.

2017-10-18 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. Landed as revision 316095. https://reviews.llvm.org/D37955 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D39066: [libcxx, regex] Fix signed overflow when constructing integers from brace expressions.

2017-10-19 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM. https://reviews.llvm.org/D39066 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/lis

[PATCH] D39066: [libcxx, regex] Fix signed overflow when constructing integers from brace expressions.

2017-10-19 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. Committed as revision 316172. https://reviews.llvm.org/D39066 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51262: Implement P0553 and P0556

2018-08-25 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: EricWF, ldionne. Herald added a subscriber: christof. LWG adopted https://wg21.link/P0553 in Rapperswil, and suggested minor changes to https://wg21.link/P0556. They kind of go together; for example, `ispow2` is easily implemented u

[PATCH] D51262: Implement P0553 and P0556

2018-08-25 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I should also mention that as a conforming extension, I have implemented the non-numeric bit operations for `std::byte` https://reviews.llvm.org/D51262 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://list

[PATCH] D50101: [asan] Update a vector's storage annotation during destruction.

2018-09-07 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. landed as revision 341671. Repository: rCXX libc++ https://reviews.llvm.org/D50101 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listin

[PATCH] D51955: Create infrastructure for defining and testing feature test macros

2018-09-11 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: ldionne, EricWF. Herald added a reviewer: jfb. Herald added a subscriber: jfb. mclow.lists edited the summary of this revision. In P0941 , the committee standardized a bunch of feature test macros. [ I think

[PATCH] D51955: Create infrastructure for defining and testing feature test macros

2018-09-12 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. landed as revision 342073 https://reviews.llvm.org/D51955 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49647: [libcxx] Library support for contracts (C++2a)

2018-07-22 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Thanks for doing this, but it needs tests before it can land. If I were to define `class contract_violation {};` that would pass the tests you've provided. (Heck, if I removed the entire definition of `contract_violation`, it would still pass.) Co

[PATCH] D49647: [libcxx] Library support for contracts (C++2a)

2018-07-22 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I get that lib++ will not make these things, but we still need some tests showing that the whole machinery works. Repository: rCXX libc++ https://reviews.llvm.org/D49647 ___ cfe-commits mailing list cfe-commits@lists

[PATCH] D49647: [libcxx] Library support for contracts (C++2a)

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. > Testing whether it's actually hooked up correctly is quite problematic; it > isn't meant to be instantiable. What's the best way to proceed with this? The compiler is supposed to create these - right? Does clang currently do this? - If not, we should wait for them

[PATCH] D49647: [libcxx] Library support for contracts (C++2a)

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I'd like to be clear that I'm not against using `ASSERT_NOEXCEPT` or `ASSERT_SAME_TYPE` - that's fine. But I'd rather you use `declval<>` - which is only useful in an unevaluated context, rather than having a function that takes a parameter - which someone might act

[PATCH] D49647: [libcxx] Library support for contracts (C++2a)

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: test/libcxx/language.support/support.contract/version.pass.cpp:9 +//===--===// + +// All the tests need `// UNSUPPORTED: c++03, c++11, c++14, c++17

[PATCH] D49338: Implement - P0122R7

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists marked 5 inline comments as done. mclow.lists added a comment. I think I've answered all of Louis' questions that don't require code changes. New patch will be coming soon. Comment at: include/span:217 +using pointer= _Tp *; +using const_poin

[PATCH] D49338: Implement - P0122R7

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists marked 13 inline comments as done. mclow.lists added a comment. I missed the container constructors being `noexcept`, and the asserts on `operator[]` and `operator()` are half done (stupid signed indicies). I'll wait for other feedback before doing those bits. Com

[PATCH] D49338: Implement - P0122R7

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists marked an inline comment as done. mclow.lists added a comment. > I missed the container constructors being `noexcept` Never mind; they're not `noexcept` (and they should not be) https://reviews.llvm.org/D49338 ___ cfe-commits mailing li

[PATCH] D49067: Stop wrapping __has_include in another macro

2018-07-23 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added inline comments. This revision is now accepted and ready to land. Comment at: include/__config:153 +#ifndef __has_include +#define __has_include(...) 0 #endif rsmith wrote: > arichardson wrote: > > EricWF wro

[PATCH] D49711: [CMake] Fix the setting of LIBCXX_HEADER_DIR in standalone build

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Testing this on my system (Mac OS 10.13.6, using system libc++abi), I get a lot of files in my build's `include/c++/v1` folder. Previously, there were two (`__cxxabi_config.h` and`ccxxabi.h`). Now there are 131 files - all the libc++ header files. Why? The cmake co

[PATCH] D49711: [CMake] Fix the setting of LIBCXX_HEADER_DIR in standalone build

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. > phosek updated this revision to Diff 157043. This fixes the problem with copying all the include files. This *also* fixes my broken build (that was broken by r337630 wanting to copy `cxxabi.h` to `/include/c++/v1/`). LG for my configuration. Repository: rCXX l

[PATCH] D49752: [CMake] Don't install c++abi headers in standalone libc++ build

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. With this change, only one copy of the c++abi headers gets copied - into `include/c++/v1/`. LGTM. Repository: rCXX libc++ https://reviews.llvm.org/D49752 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http:/

[PATCH] D49773: Add new file test/support/test_comparisons.h

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added reviewers: ldionne, EricWF. As I've been plowing through the `` stuff, I found myself writing tests to make sure that the comparisons for a bunch of different types are "sane". So I factored them out into something that can be used over and ov

[PATCH] D49773: Add new file test/support/test_comparisons.h

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Usage looks like this: AssertComparisons6AreNoexcept(); AssertComparisons6ReturnBool(); static_assert(testComparisons6Values( 5U, 5U), ""); static_assert(testComparisons6Values( 5U, 10U), ""); static_assert(testComparisons6Values(10U, 5U), ""); https:

[PATCH] D49773: Add new file test/support/test_comparisons.h

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. > Can they be non-constexpr in C++11 and still function? Sure. I'll fix that. https://reviews.llvm.org/D49773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co

[PATCH] D49773: Add new file test/support/test_comparisons.h

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. Committed as 337885 after changing `constexpr` -> `TEST_CONSTEXPR_CXX14` https://reviews.llvm.org/D49773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I haven't reviewed this closely, but you might want to look at http://wg21.link/P0355, where we added a `file_clock` and `file_time` types. Repository: rCXX libc++ https://reviews.llvm.org/D49774 ___ cfe-commits mail

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-25 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. In https://reviews.llvm.org/D49774#1175062, @ldionne wrote: > In https://reviews.llvm.org/D49774#1174588, @EricWF wrote: > > > In https://reviews.llvm.org/D49774#1174565, @mclow.lists wrote: > > > > > I haven't reviewed this closely, but you might want to look at > >

[PATCH] D41415: [libcxx] implement casts.

2018-07-25 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Herald added subscribers: bixia, jlebar. In general, this looks good to me. I suggested a lot of test improvements, but not very much to the code. Needs the same kind of namespace changes in the tests as in https://reviews.llvm.org/D41376, but that's a minor thing.

[PATCH] D41422: [libcxx] implement operators and reduction.

2018-07-25 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Herald added subscribers: bixia, jlebar. A few nits, a bit of things moving underneath you, but this looks good. Need to add more stuff to the tests ;-) Comment at: libcxx/include/experimental/simd:1421 template -_Tp hmin(const simd<_Tp, _Abi>&);

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-25 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. In https://reviews.llvm.org/D49774#1175650, @ldionne wrote: > In https://reviews.llvm.org/D49774#1175543, @BillyONeal wrote: > > > In https://reviews.llvm.org/D49774#1175131, @mclow.lists wrote: > > > > > Another problem (that Eric and I discussed last night) is that

[PATCH] D49338: Implement - P0122R7

2018-07-26 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists closed this revision. mclow.lists added a comment. Landed as r337804. https://reviews.llvm.org/D49338 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41376: [libcxx] Implement ABI for Clang/GCC vector extension, constructors, copy_from and copy_to.

2018-07-28 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Getting really close. Comment at: libcxx/include/experimental/simd:726 +#if defined(_LIBCPP_COMPILER_CLANG) +#define _SPECIALIZE_VEC_EXT(_TYPE, _NUM_ELEMENT) \ + template <>

[PATCH] D49317: Move __construct_forward (etc.) out of std::allocator_traits.

2018-07-30 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I am not in favor of this patch. I'm in favor of fixing the problem that Arthur has described, but not like this, for the following reasons: - Conceptually, these are (similar to) "Allocator-based versions of the algorithms proposed in P0040

[PATCH] D49914: [libc++] Add the _LIBCPP_HIDE_FROM_ABI_AFTER_V1 macro

2018-07-30 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. This LGTM, but suggests another cleanup. We have a bunch of `_LIBCPP_BUILDING_XXX` macros defined in libcxx/src - do we need them any more now that we have `_LIBCPP_BUILDING_LIBRARY`

[PATCH] D49317: Move __construct_forward (etc.) out of std::allocator_traits.

2018-07-30 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/vector:318 +} +} + Quuxplusone wrote: > Marshall writes: > > Instead, we should be writing simple loops that the compiler can optimize > > into a call to memcpy if it chooses. Having calls to memcpy in t

[PATCH] D49317: Move __construct_forward (etc.) out of std::allocator_traits.

2018-07-30 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. > I don't think it makes sense to pessimize existing (non-constexpr) users in > C++03-through-C++17 just because someone hypothetically might in > C++2a-or-later want to mutate a std::vector in a constexpr context. That's not the right (implied) question. The corre

[PATCH] D41376: [libcxx] Implement ABI for Clang/GCC vector extension, constructors, copy_from and copy_to.

2018-07-30 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM. Thanks! https://reviews.llvm.org/D41376 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mai

[PATCH] D41458: [libc++][C++17] Elementary string conversions for integral types

2018-07-30 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Getting close here. I'll have a couple more comments later today, so don't post a new diff quite yet. Comment at: include/charconv:244 +static _LIBCPP_INLINE_VISIBILITY char const* +read(char const* __p, char const* __ep, type& __a, type&

[PATCH] D46845: [libcxx][c++17] P0083R5: Splicing Maps and Sets

2018-07-31 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. One more thing - When you add a new header file, you need to update `include/module.modulemap`, `test/libcxx/double_include.sh.cpp`, and `include/CMakeLists.txt`. Take a look at https://reviews.llvm.org/D49338 for an example. https://reviews.llvm.org/D46845

[PATCH] D46845: [libcxx][c++17] P0083R5: Splicing Maps and Sets

2018-07-31 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. In https://reviews.llvm.org/D46845#1183462, @erik.pilkington wrote: > In https://reviews.llvm.org/D46845#1183435, @mclow.lists wrote: > > > One more thing - > > When you add a new header file, you need to update > > `include/modu

[PATCH] D41458: [libc++][C++17] Elementary string conversions for integral types

2018-07-31 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM. Thanks! Repository: rCXX libc++ https://reviews.llvm.org/D41458 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http:/

[PATCH] D50008: [libc++] Remove _LIBCPP_BUILDING_XXX macros, which are redundant since _LIBCPP_BUILDING_LIBRARY

2018-07-31 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. This looks fine to me. Repository: rCXX libc++ https://reviews.llvm.org/D50008 ___ cfe-commits mailing list cfe-commits@lists.llvm.o

[PATCH] D50101: [asan] Update a vector's storage annotation during destruction.

2018-07-31 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. I'm OK with this. Repository: rCXX libc++ https://reviews.llvm.org/D50101 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[PATCH] D49997: [libcxx] Fix _LIBCPP_NO_EXCEPTIONS redefined warning

2018-07-31 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. I'm fine with this; it matches the pattern used on line #354 of this file. (which is in the 'clang' block). We don't do anything like this for the IBM or MS compilers - yet. Reposi

[PATCH] D50170: [libcxxabi] Fix test_exception_address_alignment test for ARM

2018-08-02 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. That certainly ***looks*** more correct to me. Repository: rCXXA libc++abi https://reviews.llvm.org/D50170 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D42945: [libc++] Fix misleading indentation.

2018-02-06 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. The second change is not quite right. There's a couple of lines that need indentation changes. Phab is not really good about changes like this. "This file was changed only by adding or removing whitespace" I'll just make these changes myself - thanks for calling th

[PATCH] D42945: [libc++] Fix misleading indentation.

2018-02-06 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. Committed as revision 324378 Repository: rCXX libc++ https://reviews.llvm.org/D42945 ___ cfe-commits mailing list cfe-commits@lists.

[PATCH] D42987: [libc++abi] fix compilation in C++17 mode

2018-02-06 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I'm fine with this, though I wonder if using the more specific `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS` might be a better thing to define. Repository: rCXXA libc++abi https://reviews.llvm.org/D42987 ___ c

[PATCH] D41629: [libcxx] Improve accuracy of complex asinh and acosh

2018-02-07 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. This all looks good to me. I think that one more test should be added - and that's one that tests `__sqr` directly. Since that's not a public routine, the test should go in "test/libcxx/numerics/complex.number" https://reviews.llvm.org/D41629 ___

[PATCH] D41992: [libcxx] Avoid spurious construction of valarray elements

2018-02-07 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. This LGTM. Comment at: include/valarray:3728 +{ +__clear(); if (__n) I thought that you had lost an exception guarantee here, but it turns

[PATCH] D26596: [RFC] Add _LIBCPP_NO_DISCARD and apply it to `Container::empty()`, `unique_ptr::release()`, and `Lockable::try_lock()`

2018-02-07 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists requested changes to this revision. mclow.lists added a comment. This revision now requires changes to proceed. Since we've implemented P0600, I believe that this patch is out of date. The correct macro is `_LIBCPP_NODISCARD_AFTER_CXX17`, and I think that several of these cases are no

[PATCH] D43167: Fix incorrect indentation.

2018-02-13 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. This is fine. Repository: rCXX libc++ https://reviews.llvm.org/D43167 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http:/

[PATCH] D43277: limits: Use `false` instead of `type(0)`.

2018-02-14 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I see no benefit to this change. `bool(0)` is `false`. Repository: rCXX libc++ https://reviews.llvm.org/D43277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cf

[PATCH] D43226: __threading_support: Remove (void) in favor of ().

2018-02-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Herald added a subscriber: christof. Which clang-tidy module generates this warning, and what is the actual warning? Repository: rCXX libc++ https://reviews.llvm.org/D43226 ___ cfe-commits mailing list cfe-commits@lis

[PATCH] D43273: [libcxx] [test] Fix MSVC warnings and errors.

2018-02-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. The `` bit is fine. The `veryLarge` is "ok". The rest of them are just bogus. https://reviews.llvm.org/D43273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D41629: [libcxx] Improve accuracy of complex asinh and acosh

2018-02-17 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM. Do you need me to commit this? https://reviews.llvm.org/D41629 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lis

[PATCH] D43273: [libcxx] [test] Fix MSVC warnings and errors.

2018-02-19 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp:80 { std::vector v(10); std::iota(v.begin(), v.end(), 1); What if we just made the containers `vector` ? (and `triangle`) https:

[PATCH] D43579: [libcxx] Do not include the C math.h header before __config

2018-02-21 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. This LGTM. https://reviews.llvm.org/D43579 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailma

[PATCH] D43579: [libcxx] Do not include the C math.h header before __config

2018-02-21 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/math.h:1499 +// has previously been included. +#if defined(_LIBCPP_MSVCRT) && defined(_USE_MATH_DEFINES) +#include_next pcc wrote: > Nit: you don't actually need the ` && defined(_USE_MATH_DEFINES)` part. I

[PATCH] D43273: [libcxx] [test] Fix MSVC warnings and errors.

2018-02-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision. mclow.lists added a comment. This revision is now accepted and ready to land. LGTM - thanks! https://reviews.llvm.org/D43273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/ma

[PATCH] D43773: Implement the container bits of P0805R1

2018-02-26 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists created this revision. mclow.lists added a reviewer: EricWF. P0805R1 is about comparing heterogenous containers. This is the implementation for `array`, `vector`, `deque`, `list` and `forward_list`. The `tuple` b

[PATCH] D43773: Implement the container bits of P0805R1

2018-02-26 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists updated this revision to Diff 135941. mclow.lists added a comment. forgot to include the changes for `` in the diff. https://reviews.llvm.org/D43773 Files: include/array include/deque include/forward_list include/list include/vector test/std/containers/sequences/array/co

[PATCH] D43773: Implement the container bits of P0805R1

2018-02-26 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. I can certainly make them all the same. https://reviews.llvm.org/D43773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D43773: Implement the container bits of P0805R1

2018-02-26 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. > Is there a subtle reason for this inconsistency that I'm not seeing? I suspect that it's because they were written at different times. (When I say 'written at different times', I mean I adapted the existing `op==` for the containers - not that this new code was wri

[PATCH] D33424: Lexer: allow imaginary constants in GNU mode (only).

2017-05-24 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. This broke a libc++ test. The following is expected to fail to compile: #include #include int main() { std::complex foo = 1.0if; // should fail w/conversion operator not found } when build as C++1z https://reviews.llvm.org/D33424 ___

  1   2   3   4   5   >