Page MenuHomePhabricator

EricWF (Eric Fiselier)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 26 2014, 12:44 PM (418 w, 22 h)

Recent Activity

Today

EricWF added a comment to D124789: [libc++] Find a clang-format everybody is happy with.

Thank you for addressing my concerns.

Fri, Jul 1, 10:26 AM · Restricted Project, Restricted Project

Fri, Jun 24

EricWF accepted D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

Ah, I see we limit ourselves to valid identifiers. LGTM again, just with a knob to turn it off.

Fri, Jun 24, 5:49 PM · Restricted Project, Restricted Project
EricWF requested changes to D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

Actually, I think we need to investigate the mangling scheme when the provided ABI tag is a number, because the mangling is B<size-of-tag><tag>, so for example the ABI tag "abc" on foo produces "_Z3fooB3abcv", where 3 is the length of the tag. Now consider the tag 1, which produces B11v, which looks as though it's a tag of length 11.
This seems to break some demanglers, maybe it also will break more?

Fri, Jun 24, 10:55 AM · Restricted Project, Restricted Project
EricWF accepted D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

It's true that this is a strict improvement over the internal_I guess I'm fine with this if we give Google a way to turn it off, so we don't have to pay the cost of the larger manglings.

Fri, Jun 24, 10:46 AM · Restricted Project, Restricted Project

Tue, Jun 21

EricWF added a comment to D128081: [libc++] Inline the string constructors.

Second, IMHO, the boilerplate is fine. It's not boilerplate we can get wrong, since the compiler will enforce correctness. I don' think this boilerplate is significant enough to warrant the code size changes.

The compiler also knows that std::basic_string<char, char_traits<char>, my_fancy_allocator<char>>::iterator is correct. That doesn't mean I should use it instead of auto. I should, in fact, use auto to make it easier for myself and others to read it.

Tue, Jun 21, 3:18 PM · Restricted Project, Restricted Project
EricWF accepted D127919: [libc++] Disentangle _If, _Or and _And.

Frankly, I'm not sure that keeping logical operators together is "disentangling" them. They're pretty tightly grouped.
And I can't say understand the point or value of all this churn either.

Tue, Jun 21, 2:01 PM · Restricted Project, Restricted Project
EricWF added inline comments to D128281: [libc++] fix views::all hard error on lvalue move only views instead of SFINAE.
Tue, Jun 21, 1:44 PM · Restricted Project, Restricted Project
EricWF added inline comments to D128281: [libc++] fix views::all hard error on lvalue move only views instead of SFINAE.
Tue, Jun 21, 11:21 AM · Restricted Project, Restricted Project
EricWF accepted D127760: [libc++][NFC] Merges unused functions in callers..
Tue, Jun 21, 8:16 AM · Restricted Project, Restricted Project
EricWF accepted D128267: [libc++] Enable [[nodiscard]] extensions by default.

LGTM once we get this clean.

Tue, Jun 21, 8:14 AM · Restricted Project, Restricted Project

Mon, Jun 20

EricWF requested changes to D128081: [libc++] Inline the string constructors.

I don't think this change is something we should do.

Mon, Jun 20, 2:13 PM · Restricted Project, Restricted Project

Mon, Jun 13

EricWF added a comment to D124789: [libc++] Find a clang-format everybody is happy with.

To clarify, I have no problem with the suggested style.

Mon, Jun 13, 4:01 PM · Restricted Project, Restricted Project
EricWF requested changes to D124789: [libc++] Find a clang-format everybody is happy with.

This is not perfect, but it looks reasonable to me. However, some comments;

  1. Let's keep it soft-fail for a bit until we've gained some hands-on experience with formatting our code. We can have a not-yet-enforced expectations that contributors run clang-format, and start enforcing it in 1-2 weeks once everybody has had a bit of experience with it.
  2. Let's not make changes to actual files in this patch.

So, basically, let's land the changes to .clang-format, give ourselves 2 weeks to get accustomed, and then make it hard-fail in the CI. For the next 2 weeks, there will be a not-CI-enforced-yet expectation that people clang-format their changes. That will let us adjust if needed.

Mon, Jun 13, 3:57 PM · Restricted Project, Restricted Project
EricWF added a comment to D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

Just out of interest: Does this remove the problem that we always_inline a lot of functions with GCC?

Mon, Jun 13, 2:30 PM · Restricted Project, Restricted Project
EricWF added a comment to D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

I should add...

Mon, Jun 13, 2:28 PM · Restricted Project, Restricted Project
EricWF added a comment to D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

OK, so i'm convinced this change should be OK assuming we continue to ensure _LIBCPP_HIDE_FROM_ABI is only ever applied to inline functions.
It would also need to be applied to every single inline function the library produces, otherwise a tagged function could call an untagged function,
since the untagged definition can be selected at random from the available definitions.

Mon, Jun 13, 2:21 PM · Restricted Project, Restricted Project
EricWF accepted D127669: [libc++] Robust against C++20-hostile iterators.

I still think it would be nice to produce a minimal test that actually ran (no need to check any output). Since having a runnable test would allow the sanitizers to pick up any weird bugs Cpp20HostileIterator causes at runtime.

Mon, Jun 13, 1:40 PM · Restricted Project, Restricted Project
EricWF added a comment to D127644: [libc++][NFC] clang-format <__config>.

I really don't know if this is worth the cost of losing all the blame history.
I know you can get around whitespace changes, but still.

Mon, Jun 13, 11:18 AM · Restricted Project, Restricted Project
EricWF added a comment to D127657: [libc++] Remove mention of official support for FreeBSD.

It's worth noting that buildkite supports FreeBSD, so there shouldn't be any fundamental issues trying to add a builder once we have hardware.

Mon, Jun 13, 9:49 AM · Restricted Project, Restricted Project
EricWF requested changes to D127444: [libc++] Use ABI tags instead of internal linkage to provide per-TU insulation.

Hmm, so I'm not sure this is the best idea. At worst, I think it'll introduce ODR bugs if we use it on anything other than inline functions [2], and when applied only to inline functions it helps only in a very very limited number of cases [1].

Mon, Jun 13, 9:47 AM · Restricted Project, Restricted Project

Sun, Jun 12

EricWF added inline comments to D127577: [libc++] Fix std::lower_bound with C++20-hostile iterators.
Sun, Jun 12, 12:19 PM · Restricted Project, Restricted Project
EricWF accepted D127577: [libc++] Fix std::lower_bound with C++20-hostile iterators.

Thank you!

Sun, Jun 12, 12:17 PM · Restricted Project, Restricted Project
EricWF added inline comments to D127577: [libc++] Fix std::lower_bound with C++20-hostile iterators.
Sun, Jun 12, 11:15 AM · Restricted Project, Restricted Project
EricWF requested changes to D127577: [libc++] Fix std::lower_bound with C++20-hostile iterators.

This LGTM, as a temporary fix; once we test it.

Sun, Jun 12, 10:53 AM · Restricted Project, Restricted Project
EricWF added inline comments to D127577: [libc++] Fix std::lower_bound with C++20-hostile iterators.
Sun, Jun 12, 8:57 AM · Restricted Project, Restricted Project
EricWF requested changes to D127577: [libc++] Fix std::lower_bound with C++20-hostile iterators.

Is this missing module map changes?

Sun, Jun 12, 8:56 AM · Restricted Project, Restricted Project

Sat, Jun 11

EricWF added inline comments to D124346: [libc++] Complete the implementation of N4190.
Sat, Jun 11, 8:05 AM · Restricted Project, Restricted Project
EricWF added inline comments to D124346: [libc++] Complete the implementation of N4190.
Sat, Jun 11, 8:02 AM · Restricted Project, Restricted Project
EricWF added a comment to D121964: [libc++][ranges] Implement ranges::binary_search and ranges::{lower, upper}_bound.

Amazing tests. Unfortunately, this change causes breakages in std::lower_bound because ranges::distance is not a drop-in replacement for std::distance, and that breaks existing code as it switches between C++17 and C++20.
I'm working on minimizing a reproducer.

Sat, Jun 11, 7:59 AM · Restricted Project, Restricted Project

Fri, Jun 10

EricWF added a comment to D127489: [libc++] Use the same implementation of invoke for C++03 and C++11.

Shouldn't this change turn on more tests in C++03?

Which ones? I couldn't find any when looking.

Fri, Jun 10, 3:58 PM · Restricted Project, Restricted Project
EricWF added a comment to D127489: [libc++] Use the same implementation of invoke for C++03 and C++11.

I remember the last time I tried to do this, it broke a bunch of things. I can't remember why -- but it did.

Fri, Jun 10, 3:03 PM · Restricted Project, Restricted Project
EricWF added inline comments to D127483: [libc++] Remove uses of __two in type_traits.
Fri, Jun 10, 1:22 PM · Restricted Project, Restricted Project

Thu, Jun 9

EricWF requested changes to D124346: [libc++] Complete the implementation of N4190.

I'm pretty sure this change results in cases where, under ABI v2, C++14 and C++17 produce different ABI's. Am I mistaken?

Thu, Jun 9, 2:32 PM · Restricted Project, Restricted Project
EricWF added inline comments to D127159: [libc++] Simplify the char_traits specializations.
Thu, Jun 9, 1:26 PM · Restricted Project, Restricted Project

Fri, Jun 3

EricWF added a comment to D126738: [libc++][NFC] Inline the definition of ~basic_ios().
Fri, Jun 3, 10:36 AM · Restricted Project, Restricted Project

May 26 2022

EricWF added inline comments to D125242: [libc++abi] Use from-scratch testing configs for libc++abi by default.
May 26 2022, 6:57 AM · Restricted Project, Restricted Project
EricWF accepted D126462: [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14.
May 26 2022, 6:53 AM · Restricted Project, Restricted Project

May 24 2022

EricWF added a comment to D124755: [libc++] Granularize parts of <type_traits>.
  • I don't think this improves the quality of the code,

Not sure what quality you are talking about, but I think the readability is increased a lot. You instantly see what is part of the implementation.

May 24 2022, 3:52 PM · Restricted Project, Restricted Project
EricWF added a comment to D125283: reverts "[libc++] Explicitly reject `uniform_int_distribution<bool>` and `<char>`.".

If you can add tests to show that distributions work with these types, I'd be OK with that. We still have until June 8th to cherry-pick to LLVM 14, so we could even backport to LLVM 14 and avoid breaking users for just one release (which would be very annoying indeed).

May 24 2022, 12:42 PM · Restricted Project, Restricted Project
EricWF added a comment to D124755: [libc++] Granularize parts of <type_traits>.

You can safely ignore my comments below; I don't intend to block this change.

May 24 2022, 12:00 PM · Restricted Project, Restricted Project
EricWF accepted D125242: [libc++abi] Use from-scratch testing configs for libc++abi by default.

I'm not sure I understand what "from scratch" means given this patch, but I don't need to understand to see that to LGTM it. LGTM once the inline comments are addressed.

May 24 2022, 11:28 AM · Restricted Project, Restricted Project
EricWF accepted D125331: [libc++] Make sure that all headers can be included with modules enabled.
May 24 2022, 11:22 AM · Restricted Project, Restricted Project
EricWF added inline comments to D126303: [libc++] Use Python subprocess instead of libc++'s own utilities.
May 24 2022, 11:15 AM · Restricted Project, Restricted Project
EricWF added inline comments to D126303: [libc++] Use Python subprocess instead of libc++'s own utilities.
May 24 2022, 11:13 AM · Restricted Project, Restricted Project
EricWF accepted D126303: [libc++] Use Python subprocess instead of libc++'s own utilities.
May 24 2022, 11:11 AM · Restricted Project, Restricted Project

May 23 2022

EricWF accepted D125300: [libc++] type_traits: use __is_core_convertible in __invokable_r..

Thanks for the fix!

May 23 2022, 5:58 PM · Restricted Project, Restricted Project

May 21 2022

EricWF requested changes to D126122: Fix RUNPATH not accounting for LLVM_ENABLE_PER_TARGET_RUNTIME_DIR.

I think this changes necessary to fix libc++, assuming it actually uses this cmake infrastructure, which I'm not sure it does.

May 21 2022, 1:56 PM · Restricted Project, Restricted Project

May 20 2022

EricWF requested changes to D125300: [libc++] type_traits: use __is_core_convertible in __invokable_r..

Requesting the __core_is_convertible changes formally to put this review in the correct bucket.

May 20 2022, 12:09 PM · Restricted Project, Restricted Project
EricWF added a comment to D125283: reverts "[libc++] Explicitly reject `uniform_int_distribution<bool>` and `<char>`.".

GCC ships this as an extension. I can't find a reason why the extension would be non-conforming or dangerous, and it seems like a safer way for users to generate char values, rather than expecting the user to correctly pass the numerical_limits<char>::max() to the constructor.
I think we should reach out to someone at Microsoft (maybe STL), and see how open they are to shipping this as an extension. If they're willing then we avoid the portability trap that we're trying to protect users from.

May 20 2022, 11:37 AM · Restricted Project, Restricted Project
EricWF added a comment to D125300: [libc++] type_traits: use __is_core_convertible in __invokable_r..

I think we already have a trait for this. It's __is_core_convertible. Could you use that instead?

May 20 2022, 11:31 AM · Restricted Project, Restricted Project

Apr 19 2022

EricWF accepted D123979: [msan][libcxx] Enable -fsanitize-memory-param-retval.

Thanks. Any other sanitizers we can turn up/on?

Apr 19 2022, 9:07 AM · Restricted Project, Restricted Project

Mar 25 2022

EricWF added inline comments to D116621: [libc++][P2321R2] Add const overloads to tuple swap, construction and assignment.
Mar 25 2022, 2:15 PM · Restricted Project, Restricted Project
EricWF added inline comments to D116621: [libc++][P2321R2] Add const overloads to tuple swap, construction and assignment.
Mar 25 2022, 9:25 AM · Restricted Project, Restricted Project
EricWF added a comment to D116621: [libc++][P2321R2] Add const overloads to tuple swap, construction and assignment.

Other than a couple breakages caused by this not working in C++14/C++11, I haven't seen anything blow up at Google, though I've yet to get a full test run in.
That is to say, I think this is good to land once the other inline comments are addressed.

Mar 25 2022, 9:19 AM · Restricted Project, Restricted Project
EricWF added a reviewer for D122330: [libc++] Remove the __libcpp_version file: rsmith.

@rsmith had plans for this header. Richard, are we good to remove this?

Mar 25 2022, 9:15 AM · Restricted Project, Restricted Project

Mar 18 2022

EricWF added inline comments to D116621: [libc++][P2321R2] Add const overloads to tuple swap, construction and assignment.
Mar 18 2022, 10:34 AM · Restricted Project, Restricted Project
EricWF added a comment to D116621: [libc++][P2321R2] Add const overloads to tuple swap, construction and assignment.

I would like to test this against Google's source. I'll try to get that done by early this week. Please do not commit this until then.
Tuple is so sensitive that changing whitespace breaks users.

Mar 18 2022, 10:28 AM · Restricted Project, Restricted Project
EricWF published D122016: Allow test suite run to be interupted using ctrl-C. for review.
Mar 18 2022, 9:57 AM · Restricted Project, Restricted Project

Mar 16 2022

EricWF abandoned D121407: Allow temporary string_view((const char*)nullptr) while cleanup occurs..
Mar 16 2022, 4:08 PM · Restricted Project, Restricted Project
EricWF accepted D119159: [libc++] Make shared_ptr move unique_ptr's deleter.

We discussed making the test look something like:

Mar 16 2022, 3:46 PM · Restricted Project, Restricted Project
EricWF added inline comments to D121485: [libc++] Fix performance inconsistency between map copy-assignment and copy-constructor.
Mar 16 2022, 10:56 AM · Restricted Project, Restricted Project
EricWF added a comment to D121485: [libc++] Fix performance inconsistency between map copy-assignment and copy-constructor.

PS. This is removing an optimization where:

(A) the node allocations are reused during assignment
(B) For reused nodes, the types assignment operator is called.
Mar 16 2022, 10:53 AM · Restricted Project, Restricted Project
EricWF added a comment to D121485: [libc++] Fix performance inconsistency between map copy-assignment and copy-constructor.

I don't think a custom benchmarking test is appropriate. Please rewrite your benchmarks using Google benchmark.

Mar 16 2022, 10:45 AM · Restricted Project, Restricted Project
EricWF accepted D121552: [libc++] Add warning pragma macros in the test suite.

I still don't love that this patch codifies a way to disable warnings in tests. We don't want to do that, so it's fine that it's ugly to do.
But otherwise I'm OK with this.

Mar 16 2022, 10:36 AM · Restricted Project, Restricted Project

Mar 14 2022

EricWF added inline comments to D121552: [libc++] Add warning pragma macros in the test suite.
Mar 14 2022, 8:01 AM · Restricted Project, Restricted Project
EricWF requested changes to D121514: [libc++][format] Improve format-arg-store..

I've got a bunch of concerns about the memcpy magic happening here. How is it constexpr, how does it handle lifetimes, is it fully tested?

Mar 14 2022, 7:13 AM · Restricted Project, Restricted Project

Mar 13 2022

EricWF added inline comments to D121552: [libc++] Add warning pragma macros in the test suite.
Mar 13 2022, 5:30 PM · Restricted Project, Restricted Project
EricWF added inline comments to D121552: [libc++] Add warning pragma macros in the test suite.
Mar 13 2022, 5:27 PM · Restricted Project, Restricted Project
EricWF added a comment to D121552: [libc++] Add warning pragma macros in the test suite.

Have @ldionnes changes to enable warnings in the test suite been submitted yet? Maybe that's why you're not seeing some of the warnings you removed.
Can you double check that (A) The headers aren't included with -isystem or -cxx-isystem and that _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER is defined
when you've tested this?

Mar 13 2022, 5:21 PM · Restricted Project, Restricted Project
EricWF added inline comments to D121552: [libc++] Add warning pragma macros in the test suite.
Mar 13 2022, 3:27 PM · Restricted Project, Restricted Project
EricWF requested changes to D121552: [libc++] Add warning pragma macros in the test suite.

Every single warning we disable should come with a comment explaining why the warning isn't real and why we're not fixing it some other way. We shouldn't encourage suppressing warnings.

Mar 13 2022, 3:26 PM · Restricted Project, Restricted Project

Mar 12 2022

EricWF requested changes to D121530: [libc++][format] Implement format-string..

The patch to the headers looks phenomenal. I only reviewed the code. I haven't looked at the spec yet. But the code was gorgeous. Well done.

Mar 12 2022, 3:30 PM · Restricted Project, Restricted Project

Mar 10 2022

EricWF added inline comments to D117372: [libcxx] switch locale from using std::call_once to __libcpp_mutex_t.
Mar 10 2022, 3:36 PM · Restricted Project, Restricted Project
EricWF requested changes to D117372: [libcxx] switch locale from using std::call_once to __libcpp_mutex_t.

Do we have tests that fire up a bunch of threads and construct various locale::ids concurrently? If not we should add some. That will allow TSAN to diagnose bugs.

Mar 10 2022, 3:34 PM · Restricted Project, Restricted Project
EricWF added inline comments to D120797: [libcxx] [test] Fix the collate compare test for Glibc, Windows and FreeBSD.
Mar 10 2022, 2:30 PM · Restricted Project, Restricted Project
EricWF added a comment to D120348: [libcxx][SystemZ][ POSIX(OFF) support on z/OS.

I made a few mistakes in my first set of comments. I better understand now. But I'm even more concerned.
I'll spend some time reading the design doc to see if that answers my quenstions.

Mar 10 2022, 2:17 PM · Restricted Project, Restricted Project, Restricted Project
EricWF requested changes to D120348: [libcxx][SystemZ][ POSIX(OFF) support on z/OS.

The entire point of the <__threading_support> interface is that it allows vendors/system maintainers to provide their own implementation without needing to change libc++.
I don't see why this patch couldn't use that same mechanism?

Mar 10 2022, 1:44 PM · Restricted Project, Restricted Project, Restricted Project
EricWF added inline comments to D120348: [libcxx][SystemZ][ POSIX(OFF) support on z/OS.
Mar 10 2022, 1:35 PM · Restricted Project, Restricted Project, Restricted Project
EricWF updated the diff for D121407: Allow temporary string_view((const char*)nullptr) while cleanup occurs..
  • Make code compile (Spell the parameter name correctly)
Mar 10 2022, 1:15 PM · Restricted Project, Restricted Project
EricWF requested review of D121407: Allow temporary string_view((const char*)nullptr) while cleanup occurs..
Mar 10 2022, 1:12 PM · Restricted Project, Restricted Project
EricWF added inline comments to D121231: [libc++] Remove raw call to debug handler from __char_traits_length_checked.
Mar 10 2022, 1:03 PM · Restricted Project, Restricted Project
EricWF added inline comments to D121231: [libc++] Remove raw call to debug handler from __char_traits_length_checked.
Mar 10 2022, 7:44 AM · Restricted Project, Restricted Project
EricWF added a comment to D121231: [libc++] Remove raw call to debug handler from __char_traits_length_checked.

Yes, no worries. I'll ping you on Discord this afternoon to check if it's okay to land this.

Mar 10 2022, 7:41 AM · Restricted Project, Restricted Project
EricWF accepted D121231: [libc++] Remove raw call to debug handler from __char_traits_length_checked.
Mar 10 2022, 6:44 AM · Restricted Project, Restricted Project
EricWF added a comment to D121231: [libc++] Remove raw call to debug handler from __char_traits_length_checked.

We would very much be open to upstreaming a version of change in order to reduce the burden to both the project and Google. We are working diligently at the moment to remove the patch internally entirely. It's the primary focus of my work at the moment. So anything we upstream would be temporary on the order of 6 months to a year. Let me know what you think is appropriate here.

Mar 10 2022, 6:43 AM · Restricted Project, Restricted Project

Mar 8 2022

EricWF added inline comments to D118003: [libc++] Floyd's improvement to pop_heap.
Mar 8 2022, 7:57 PM · Restricted Project, Restricted Project
EricWF added a comment to D121213: [libc++] Enable modernize-use-equals-delete.

Are we sure this doesn't break the ABI because changing user declared constructors into delete constructors can do that, Can't it?

How could it change the ABI? The functions can never be called, and it doesn't change any type traits AFAIK. It's not like with = default that the type could be trivially_something after the change that it wasn't before.

Mar 8 2022, 6:11 PM · Restricted Project, Restricted Project
EricWF added inline comments to D120684: [libc++] Define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER whenever we enable warnings in the test suite.
Mar 8 2022, 5:46 PM · Restricted Project, Restricted Project
EricWF added a comment to D120951: [libc++] Prepare string tests for constexpr.

Doesn't this change make all of the tests with functions decorated with TEST_CONSTEXPR_AFTER_CXX20 undefined behavior, since it's undefined to have constexpr on a function that is never constexpr?

Mar 8 2022, 5:36 PM · Restricted Project, Restricted Project
EricWF added inline comments to D118003: [libc++] Floyd's improvement to pop_heap.
Mar 8 2022, 5:27 PM · Restricted Project, Restricted Project
EricWF added a comment to D121213: [libc++] Enable modernize-use-equals-delete.

Are we sure this doesn't break the ABI because changing user declared constructors into delete constructors can do that, Can't it?

Mar 8 2022, 5:16 PM · Restricted Project, Restricted Project
EricWF requested changes to D121231: [libc++] Remove raw call to debug handler from __char_traits_length_checked.

Please don't change this. Google uses this hook to change the behavior of string_view internally. We're working to get rid of the patch, but this helper function was specifically put in place to allow for the patch.

Mar 8 2022, 4:45 PM · Restricted Project, Restricted Project

Mar 3 2022

EricWF added a comment to D119628: [libc++] Don't return alloc_size - 1 in __recommend to add 1 when allocating.

I also agree with @ldionne's comment about this being potentially ABI breaking because of how std::string is externally instantiated.

Mar 3 2022, 7:01 AM · Restricted Project, Restricted Project
EricWF added inline comments to D119628: [libc++] Don't return alloc_size - 1 in __recommend to add 1 when allocating.
Mar 3 2022, 7:00 AM · Restricted Project, Restricted Project
EricWF requested changes to D119628: [libc++] Don't return alloc_size - 1 in __recommend to add 1 when allocating.

I'm not OK with this change given that the description indicates a lack of understanding of the current situation.

Mar 3 2022, 6:58 AM · Restricted Project, Restricted Project

Mar 2 2022

EricWF added a comment to D120466: [libc++] Granularize <utility> includes.

Do we have a document describing why we're doing this?

Eric, we've been doing this for roughly 1 year now. Arthur has already explained some of the reasons to you, like reducing/removing circular dependencies and being easier to understand (now you don't have to wonder why in the world is std::swap defined in <type_traits>. As a side benefit, it also makes our headers include fewer things transitively, which enforces slightly better IWYU for users.

Mar 2 2022, 8:44 AM · Restricted Project, Restricted Project

Mar 1 2022

EricWF added a comment to D119677: [libc++] [test] Improve test coverage for std::{c,}{begin,end}..

What happened to all the tests for operator!=?

Mar 1 2022, 11:53 AM · Restricted Project, Restricted Project
EricWF added a comment to D119687: [libc++] [test] Improve the tests for std::{begin,end}(valarray)..

We exercise judgement regarding this. We do try to split different functions and overloads into separate files, except when it provides little value.

Mar 1 2022, 11:51 AM · Restricted Project
EricWF added inline comments to D120634: [Libcxx] Add <source_location> header..
Mar 1 2022, 10:47 AM · Restricted Project, Restricted Project
EricWF added inline comments to D118616: [libc++] Use -I instead of -isystem to include headers in the test suite.
Mar 1 2022, 9:46 AM · Restricted Project, Restricted Project, Restricted Project