Page MenuHomePhabricator
Feed Advanced Search

Mon, Nov 29

jwakely updated subscribers of D40319: [libcxx] Support getentropy as a source of randomness for std::random_device.
Mon, Nov 29, 12:02 PM

Thu, Nov 25

jwakely added inline comments to D40319: [libcxx] Support getentropy as a source of randomness for std::random_device.
Thu, Nov 25, 7:06 AM
jwakely added inline comments to D40319: [libcxx] Support getentropy as a source of randomness for std::random_device.
Thu, Nov 25, 7:02 AM

Nov 3 2021

jwakely added a comment to D112990: Fix building with GCC 12.

N.B. the libstdc++ regression that caused this to fail has been fixed now.

Nov 3 2021, 9:52 AM · Restricted Project

Nov 2 2021

jwakely added a comment to D112990: Fix building with GCC 12.

I think the C++ standard says this code should work, despite being stupid. But the const should be there anyway, because it doesn't modify anything.

Nov 2 2021, 2:48 AM · Restricted Project

May 22 2021

jwakely accepted D102936: [CUDA] Work around compatibility issue with libstdc++ 11.1.0.

LGTM

May 22 2021, 3:01 AM · Restricted Project

May 21 2021

jwakely requested changes to D102936: [CUDA] Work around compatibility issue with libstdc++ 11.1.0.

You can't use __GLIBCXX__ this way. It will be different for different snapshots from the gcc-11 branch. Some distros are already shipping gcc-11 snapshots with later dates.

May 21 2021, 2:02 PM · Restricted Project

May 12 2021

jwakely added a comment to D102328: [libc++] Fix __bitop_unsigned_integer, rename to __is_unsigned_integer, and fix constexprness of std::countr_zero(__uint128_t).

FWIW

May 12 2021, 1:08 PM · Restricted Project
jwakely added a comment to D102327: [pstl] Use logical operator for loop condition in tests.

No, I don't have commit access, so that would be great. Thanks, Zoe.

May 12 2021, 1:02 PM · Restricted Project
jwakely added inline comments to D102328: [libc++] Fix __bitop_unsigned_integer, rename to __is_unsigned_integer, and fix constexprness of std::countr_zero(__uint128_t).
May 12 2021, 10:39 AM · Restricted Project
jwakely added inline comments to D102328: [libc++] Fix __bitop_unsigned_integer, rename to __is_unsigned_integer, and fix constexprness of std::countr_zero(__uint128_t).
May 12 2021, 10:35 AM · Restricted Project
jwakely added inline comments to D102328: [libc++] Fix __bitop_unsigned_integer, rename to __is_unsigned_integer, and fix constexprness of std::countr_zero(__uint128_t).
May 12 2021, 8:29 AM · Restricted Project
jwakely requested review of D102328: [libc++] Fix __bitop_unsigned_integer, rename to __is_unsigned_integer, and fix constexprness of std::countr_zero(__uint128_t).
May 12 2021, 7:23 AM · Restricted Project
jwakely requested review of D102327: [pstl] Use logical operator for loop condition in tests.
May 12 2021, 7:18 AM · Restricted Project

Apr 28 2021

jwakely added inline comments to D101464: [clang] Add -stdlib=libstdc++ support for webassembly.
Apr 28 2021, 9:15 AM · Restricted Project

Apr 16 2021

jwakely added a comment to D100465: clang: Remove __atomic libstdc++ hack.

Not sure if I should have "accepted" this, I'm not an approver.

Apr 16 2021, 10:32 AM · Restricted Project
jwakely accepted D100465: clang: Remove __atomic libstdc++ hack.

I don't even remember those namespaces existing, but I don't think it's reasonable to expect current clang to support ancient (and broken) headers.

Apr 16 2021, 10:23 AM · Restricted Project

Mar 23 2021

jwakely added inline comments to D93377: [Clang] Add __ibm128 type to represent ppc_fp128.
Mar 23 2021, 4:06 AM · Restricted Project

Mar 13 2021

jwakely added inline comments to D93377: [Clang] Add __ibm128 type to represent ppc_fp128.
Mar 13 2021, 11:18 AM · Restricted Project
jwakely added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

I'm open to suggestion on how to implement that behavior in clang though :-)

Mar 13 2021, 12:29 AM · Restricted Project
jwakely added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

GCC doesn't seem to implement this as a keyword?

namespace Q { int __ieee128; } // compiles
Mar 13 2021, 12:14 AM · Restricted Project

Mar 12 2021

jwakely added inline comments to D93377: [Clang] Add __ibm128 type to represent ppc_fp128.
Mar 12 2021, 11:58 PM · Restricted Project

Mar 5 2021

jwakely added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

GCC only defines __ieee128 for 64-bit power, and libstdc++ only uses it for 64-bit power if the C library supports it.

Mar 5 2021, 5:38 AM · Restricted Project

Mar 3 2021

jwakely accepted D97808: [pstl] Fix broken policy_traits and clean up unused code.

LGTM

Mar 3 2021, 2:27 AM · Restricted Project

Jan 25 2021

jwakely added a comment to D95251: Remove noexcept from basic_string::find and implementation functions..

So (again, if I understand correctly), I think all of these have a wide contract and should either be expected to throw or be marked noexcept.

Jan 25 2021, 2:20 AM · Restricted Project
jwakely added a comment to D95251: Remove noexcept from basic_string::find and implementation functions..

It's probably a wide vs. narrow contract thing. The find overloads that take const char*, for example, have a precondition that the pointer is non-null. Under the so-called "Lakos rule" they would/could/should be "Throws: Nothing" but not noexcept.

Jan 25 2021, 2:13 AM · Restricted Project

Dec 8 2020

jwakely added a comment to D87974: [Builtin] Add __builtin_zero_non_value_bits..

Of course if it's already publicly documented for you the horse has presumably already left the barn which makes the discussion moot?

Dec 8 2020, 11:02 AM · Restricted Project
jwakely added a comment to D87974: [Builtin] Add __builtin_zero_non_value_bits..

Are they actually the same, with the same handling of corner cases like unions and tail padding?
There's more to this than just the name, and if they aren't the same, it seems better to have two names.

They are both implementing the same C++ feature, with the same desired semantics of zeroing out any bits in the object representation that aren't in the value representation. If they differ, one or the other would have a bug.

Dec 8 2020, 12:53 AM · Restricted Project

Dec 7 2020

jwakely added a comment to D87974: [Builtin] Add __builtin_zero_non_value_bits..

The name MSFT is already shipping in production is __builtin_zero_non_value_bits. If gcc is already shipping another name in production I think clang is stuck supporting both names, if gcc has not yet shipped their implementation perhaps we can choose one. That seems to be more on gcc than it is on clang given clang's desire to be more or less a drop in replacement for either gcc or msvc.

Dec 7 2020, 10:35 AM · Restricted Project

Nov 27 2020

jwakely added a comment to D91992: [libc++] Add an extension to allow constructing std::thread from native handles.

Right, thanks for these thoughts -- I agree that adding a public constructor taking int is not ideal.

Nov 27 2020, 9:23 AM · Restricted Project

Nov 24 2020

jwakely added a comment to D91992: [libc++] Add an extension to allow constructing std::thread from native handles.

This reminds me of an often-requested extension to std::fstream to allow it to take ownership of a FILE* or unix file descriptor. In libstdc++ we do support that, but only by using a non-standard filebuf type, __gnu_cxx::stdio_filebuf. It's not available for std::basic_filebuf. Doing that would be an alternative design for this (that is, a non-standard native_thread type that you'd use instead of std::thread). That wouldn't be interchangeable with std::thread though, so I can see why you want to extend the existing type.

Nov 24 2020, 4:00 AM · Restricted Project

Nov 20 2020

jwakely added a comment to D87974: [Builtin] Add __builtin_zero_non_value_bits..

As of a few hours ago, GCC has __builtin_clear_padding, see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fclear_005fpadding for the docs.

Nov 20 2020, 7:02 AM · Restricted Project

Sep 25 2020

jwakely added a comment to D68364: Implement C++20's P0784 (More constexpr containers).

Is there a recommended way for working around this? We're using GCC 10.2.1. Thanks.

Sep 25 2020, 3:27 AM · Restricted Project, Restricted Project

Sep 22 2020

jwakely added inline comments to D68364: Implement C++20's P0784 (More constexpr containers).
Sep 22 2020, 6:19 AM · Restricted Project, Restricted Project
jwakely added inline comments to D68364: Implement C++20's P0784 (More constexpr containers).
Sep 22 2020, 6:17 AM · Restricted Project, Restricted Project
jwakely added inline comments to D68364: Implement C++20's P0784 (More constexpr containers).
Sep 22 2020, 6:15 AM · Restricted Project, Restricted Project

Aug 11 2020

jwakely added a comment to D84049: Disable use of _ExtInt with '__atomic' builtins.
In D84049#2182370, @jfb wrote:

We can ping @jwakely for libstdc++ 😃

Aug 11 2020, 2:20 PM · Restricted Project, Restricted Project

Jun 17 2020

jwakely added inline comments to D81348: [compiler-rt][builtins] Add tests for atomic builtins support functions.
Jun 17 2020, 12:24 PM · Restricted Project

Jun 15 2020

jwakely resigned from D81846: [libc++] Allow specifying custom Lit config files.

I don't think this impacts anything I do with lit (which isn't very much anyway).

Jun 15 2020, 4:35 PM · Restricted Project

Apr 14 2020

jwakely added a comment to D78154: [WIP][libc++] Link c++experimental.a into libc++.dylib when enabled.

@jwakely , how does libstdc++ ship experimental features? Does it ship them in its shared library?

Apr 14 2020, 4:20 PM · Restricted Project

Feb 27 2020

jwakely added a comment to D75199: Build fix: Turn off _GLIBCXX_DEBUG on gcc 9.

P.S. you could use _GLIBCXX_ASSERTIONS instead for affected versions of libstdc++. That is a subset of _GLIBCXX_DEBUG that has far fewer checks, but is still much better than not checking anything at all.

Feb 27 2020, 2:45 AM · Restricted Project
jwakely added a comment to D75199: Build fix: Turn off _GLIBCXX_DEBUG on gcc 9.

I think this affects the versions of std::min(std::initializer_list) and std::max(std::initializer_list), and std::{min,max,minmax}_element. It's already fixed for GCC 10.

Feb 27 2020, 1:25 AM · Restricted Project

Sep 25 2019

jwakely resigned from D67944: Implement LWG 3296.

Note that MS-STL already has this behavior, while libstdc++ does not.

Sep 25 2019, 5:33 AM · Restricted Project

Aug 15 2019

jwakely added a comment to D66259: Migrate llvm::make_unique to std::make_unique.

FWIW I think this particular bug was https://gcc.gnu.org/PR65942

Aug 15 2019, 12:55 PM · Restricted Project
jwakely added a comment to D66259: Migrate llvm::make_unique to std::make_unique.

It looks like this breaks building with gcc5.1:

Aug 15 2019, 10:17 AM · Restricted Project

Jun 25 2019

jwakely added a comment to D51262: Implement P0553 and P0556.

I should also mention that as a conforming extension, I have implemented the non-numeric bit operations for std::byte

Jun 25 2019, 2:26 AM

Apr 24 2019

jwakely added a comment to D61033: [libc++][test] Fix noexcept assertions in variant's get tests.

I added a patch to https://bugs.llvm.org/show_bug.cgi?id=41578 that fixes it differently.

Apr 24 2019, 5:42 AM

Feb 13 2019

jwakely added inline comments to D58201: Make std::memory_order an enum class (P0439R0).
Feb 13 2019, 4:15 PM · Restricted Project
jwakely added inline comments to D58201: Make std::memory_order an enum class (P0439R0).
Feb 13 2019, 3:07 PM · Restricted Project
jwakely added inline comments to D55840: P0722R3: Implement library support for destroying delete.
Feb 13 2019, 3:02 PM
jwakely added inline comments to D55840: P0722R3: Implement library support for destroying delete.
Feb 13 2019, 2:54 PM
jwakely added a comment to D55840: P0722R3: Implement library support for destroying delete.

TBH, I don't think that's a question the committee even thought about when introducing feature-test macros?

Feb 13 2019, 2:37 PM
jwakely added a comment to D55840: P0722R3: Implement library support for destroying delete.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89345#c3 for what I've done in libstdc++

Feb 13 2019, 2:27 PM
jwakely added a comment to D55741: Implementation Feature Test Macros for P0722R3.

As it looks like libc++ isn't going to define the type for earlier dialects, libstdc++ doesn't either (which seems right anyway because the names aren't reserved prior to C++20).

Feb 13 2019, 2:18 PM · Restricted Project

Feb 7 2019

jwakely created D57887: [pstl] fix comment typos in test.
Feb 7 2019, 5:14 AM

Jan 23 2019

jwakely added a comment to D56997: Fix implementation of P0966 - string::reserve Should Not Shrink.

You are right, it is not guaranteed per the standard, although it has worked before (at least on MSVC).

Jan 23 2019, 7:04 AM · Restricted Project
jwakely added inline comments to D56997: Fix implementation of P0966 - string::reserve Should Not Shrink.
Jan 23 2019, 7:02 AM · Restricted Project

Jan 17 2019

jwakely added a comment to D55741: Implementation Feature Test Macros for P0722R3.

I'd be happy to restrict this to > C++17 only (which is automatically the case when using G++ because there's no -fdestroying-delete to enable it, you only get it with -std=c++2a, -std=gnu++2a etc.)

Jan 17 2019, 12:58 AM · Restricted Project

Jan 16 2019

jwakely added a comment to D55741: Implementation Feature Test Macros for P0722R3.

The simplest solution would be to change libstdc++'s <new> to:

Jan 16 2019, 4:02 PM · Restricted Project

May 9 2018

jwakely added a comment to D46593: Allow copy elision in path concatenation.

@chandlerc thanks for catching this.

May 9 2018, 4:28 PM

Jan 23 2017

jwakely added a comment to D28981: Use GNU-style attributes for several __throw_XXX() functions.

The __throw_xxx functions are not part of the public libstdc++ API and whatever Firefox is trying to do with them is not supported by libstdc++ and is undefined behaviour. Make it stop.

Jan 23 2017, 3:30 PM