Page MenuHomePhabricator
Feed Advanced Search

Yesterday

Mordante updated the diff for D97115: [libc++] Make chars_format a bitmask type..
  • Use __to_underlying
  • Don't depend on the exact value of the mask
  • Use bitwise NOT according to the definition in the standard
Sat, Feb 27, 6:32 AM · Restricted Project
Mordante accepted D97283: [libcxx][type_traits] is_unsigned is false for enum types.

LGTM, but it still needs approval of one of the maintainers.

Sat, Feb 27, 5:50 AM · Restricted Project
Mordante added a comment to D97365: [libc++] [C++2b] [P1682] Add to_underlying..
  • Expose __to_underlying in C++11 onwards.
Sat, Feb 27, 5:45 AM · Restricted Project

Thu, Feb 25

Mordante added inline comments to D97365: [libc++] [C++2b] [P1682] Add to_underlying..
Thu, Feb 25, 10:10 AM · Restricted Project
Mordante accepted D97365: [libc++] [C++2b] [P1682] Add to_underlying..

One small request otherwise LGTM.

Thu, Feb 25, 10:07 AM · Restricted Project

Wed, Feb 24

Mordante added inline comments to D97365: [libc++] [C++2b] [P1682] Add to_underlying..
Wed, Feb 24, 10:11 AM · Restricted Project
Mordante added a comment to D97359: [libcxx] adds concept std::movable.

Some small issues, but like to see the build pass before approving.

Wed, Feb 24, 9:23 AM · Restricted Project
Mordante added inline comments to D97365: [libc++] [C++2b] [P1682] Add to_underlying..
Wed, Feb 24, 9:10 AM · Restricted Project

Tue, Feb 23

Mordante added a comment to D97359: [libcxx] adds concept std::movable.

I had a quick look, I'll have a closer look later.

Tue, Feb 23, 11:10 PM · Restricted Project
Mordante added inline comments to D97341: [libc++] Use generator expression to simplify the CMake code.
Tue, Feb 23, 11:05 PM · Restricted Project
Mordante added a comment to D97283: [libcxx][type_traits] is_unsigned is false for enum types.

Why doesn't is_signed be updated in the same way? I see the builds on buildkite passing, but the difference between is_unsigned and is_signed look very odd to me.

is_signed is based on the __is_signed builtin, which unlike __is_unsigned is not broken for enums since clang 9 (according to the comment on the is_signed implementation).

Tue, Feb 23, 9:42 AM · Restricted Project
Mordante added a comment to D97283: [libcxx][type_traits] is_unsigned is false for enum types.

Why doesn't is_signed be updated in the same way? I see the builds on buildkite passing, but the difference between is_unsigned and is_signed look very odd to me.

Tue, Feb 23, 9:08 AM · Restricted Project
Mordante added inline comments to D97115: [libc++] Make chars_format a bitmask type..
Tue, Feb 23, 8:41 AM · Restricted Project

Mon, Feb 22

Mordante committed rGc61e511f38c8: [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage. (authored by Mordante).
[NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage.
Mon, Feb 22, 11:14 PM
Mordante closed D97211: [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage..
Mon, Feb 22, 11:14 PM · Restricted Project
Mordante updated the summary of D97211: [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage..
Mon, Feb 22, 11:13 PM · Restricted Project
Mordante added inline comments to D97115: [libc++] Make chars_format a bitmask type..
Mon, Feb 22, 10:59 PM · Restricted Project
Mordante requested review of D97211: [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage..
Mon, Feb 22, 11:35 AM · Restricted Project
Mordante added inline comments to D97015: [libcxx] cleans up __cpp_concepts mess.
Mon, Feb 22, 11:25 AM · Restricted Project
Mordante added a comment to D97176: [libcxx] adds concepts std::equality_comparable[_with].

I like the extensive set of tests you added! I'd like to see the build pass before accepting.

Mon, Feb 22, 9:31 AM · Restricted Project

Sun, Feb 21

Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

@ldionne should we enabling floating point support by a CMake configuration option which is ON by default. The tables aren't small and it could add bloat for embedded devices.

Sun, Feb 21, 11:05 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

_LIBCPP_NODISCARD_AFTER_CXX17 -> [[nodiscard]] compilers should support it by now, also the AFTER_CXX17 version seems not to be required
Add _LIBCPP_INLINE_VISIBILITY to the functions

Sun, Feb 21, 11:03 AM · Restricted Project
Mordante added inline comments to D96477: [libcxx] adds remaining callable concepts.
Sun, Feb 21, 7:21 AM · Restricted Project
Mordante added inline comments to D97115: [libc++] Make chars_format a bitmask type..
Sun, Feb 21, 6:42 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..
  • Added a warning as proposed by @tschuett
  • Use more concepts as suggested by @miscco
  • Rebased on main
Sun, Feb 21, 6:17 AM · Restricted Project
Mordante added a comment to D93593: [libc++][format] Add __format_arg_store..

Thanks for working on this. It is a considerable library

I am really concerned about doing a "quick" implementation and then being locked in due to ABI issues.

I believe we should spend the time up front to get a clean efficient implementation

Sun, Feb 21, 5:59 AM · Restricted Project

Sat, Feb 20

Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Sat, Feb 20, 8:38 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

Mark the functions not available on older Mac versions. This should fix
Apple back-deployment macosx10.9, the last build failing to pass.

Sat, Feb 20, 8:38 AM · Restricted Project
Mordante planned changes to D97115: [libc++] Make chars_format a bitmask type..

Thanks for your feedback! I'll wait for @ldionne's view on to_underlying before addressing the comments.

Sat, Feb 20, 7:55 AM · Restricted Project
Mordante committed rG84dbcdd5ffa3: [libc++] Fix the build for AppleClang. (authored by Mordante).
[libc++] Fix the build for AppleClang.
Sat, Feb 20, 4:55 AM
Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Sat, Feb 20, 4:41 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
  • Re-add an colon after UNSUPPORTED, seems I fat fingered the delete after testing, properly disables the nodes prior to C++17.
  • Disable for the following builds:
    • Single-treaded
    • No random device
    • No locale This should be looked at later, but for now just want to get all builds in the green.
Sat, Feb 20, 4:30 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

Rebased on main to merge the already committed part.
@ldionne can you have a look at this patch it should be ready.

Sat, Feb 20, 4:12 AM · Restricted Project
Mordante added a comment to D97015: [libcxx] cleans up __cpp_concepts mess.

1a5c92f68021 should fix this patch. Can you rebase on main to see whether the CI passes for this patch?

Sat, Feb 20, 4:10 AM · Restricted Project
Mordante requested review of D97115: [libc++] Make chars_format a bitmask type..
Sat, Feb 20, 2:08 AM · Restricted Project
Mordante committed rG1a5c92f68021: [libc++] Fixes _LIBCPP_HAS_NO_CONCEPTS (authored by Mordante).
[libc++] Fixes _LIBCPP_HAS_NO_CONCEPTS
Sat, Feb 20, 12:15 AM
Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Sat, Feb 20, 12:05 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
  • add guards for C++17. This fixes several failing unit tests.
  • Removed _Charconv_digits[] from C++03.
Sat, Feb 20, 12:04 AM · Restricted Project

Fri, Feb 19

Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Fri, Feb 19, 9:23 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
  • Update the header tests.
  • Apply Microsoft's changes of e4bc00e70cbb539f90b803a64a31f0259e21f28
  • Include the unit test with a hack, just to avoid code changes.
  • Add several TODO's for thing that need to be fixed before the final approval.
  • Disable and modify some code.
    • Parts of these changes would nice to be upstreamed. I'll create a PR for MSFT's STL
    • Parts are work-around for unimplemented features in libc++.
Fri, Feb 19, 9:23 AM · Restricted Project
Mordante added inline comments to D97044: [libc++] [C++2b] [P0943] Add stdatomic.h header..
Fri, Feb 19, 9:12 AM · Restricted Project
Mordante added a comment to D97015: [libcxx] cleans up __cpp_concepts mess.

It seems this fails to build on Apple due to an issue in _LIBCPP_HAS_NO_CONCEPTS. I'll fix that in main this weekend.

Fri, Feb 19, 8:36 AM · Restricted Project

Thu, Feb 18

Mordante added inline comments to D96577: [libcxx] adds concept `std::uniform_random_bit_generator`.
Thu, Feb 18, 10:37 PM · Restricted Project

Tue, Feb 16

Mordante added inline comments to D96742: [libcxx] adds concept `std::assignable_from`.
Tue, Feb 16, 9:57 AM · Restricted Project
Mordante added a comment to D96657: [libcxx] adds common_reference to <type_traits>.

I'm not sure why Mac OS is failing (and I don't have a Mac to test on at home). It looks like C++20 mode isn't being enabled despite -std=c++2a being in the build config?

Tue, Feb 16, 9:43 AM · Restricted Project
Mordante requested changes to D94511: Implement p0586r2.

Can you use arc to upload the next diff. This will trigger our CI and we can see whether your patch passes all build nodes.

Tue, Feb 16, 9:25 AM · Restricted Project

Sun, Feb 14

Mordante requested changes to D94511: Implement p0586r2.

I think _LIBCPP_NO_HAS_CHAR8_T should be _LIBCPP_HAS_NO_CHAR8_T since _LIBCPP_NO_HAS_CHAR8_T is used at several places I used it here as well, I can clean it up in
different patch if everyone agrees.

Sun, Feb 14, 12:38 PM · Restricted Project
Mordante accepted D96660: [libcxx] adds concept `std::common_reference_with`.

Thanks! Provided it passes CI, LGTM.

Sun, Feb 14, 11:50 AM · Restricted Project
Mordante updated the diff for D96664: [libc++][format] Implement formatters..

Fixes a minor formatting error.
2 unit test with a last minute cleanup breakage
a unit test requiring clang-12 due since it requires e97e9851b227e
properly silence warnings about unused parameter pack arguments

Sun, Feb 14, 7:13 AM · Restricted Project
Mordante added inline comments to D96577: [libcxx] adds concept `std::uniform_random_bit_generator`.
Sun, Feb 14, 6:28 AM · Restricted Project
Mordante added inline comments to D96660: [libcxx] adds concept `std::common_reference_with`.
Sun, Feb 14, 6:26 AM · Restricted Project
Mordante added a comment to D96577: [libcxx] adds concept `std::uniform_random_bit_generator`.

Yes there seems to be a bug in that code. I've put it in a block for GCC specific code. (This is not obvious due to the lack of indention of the section.)

Oh, it might be because Clang's concepts are incomplete and so the feature-test macro's value is too high for us? Anyway, if you update everything in one fell swoop, I think that'd be best :-)

Sun, Feb 14, 6:10 AM · Restricted Project
Mordante requested review of D96664: [libc++][format] Implement formatters..
Sun, Feb 14, 6:01 AM · Restricted Project

Sat, Feb 13

Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Sat, Feb 13, 7:33 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

Add the new headers to CMake and the module map.

Sat, Feb 13, 7:30 AM · Restricted Project
Mordante planned changes to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Sat, Feb 13, 6:15 AM · Restricted Project
Mordante updated the diff for D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

Rebase against main.

Sat, Feb 13, 6:15 AM · Restricted Project
Mordante commandeered D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.
Sat, Feb 13, 6:05 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

The concept fix for Apple seems to be working, but needs to be enabled for some existing tests.

Sat, Feb 13, 5:56 AM · Restricted Project
Mordante added a comment to D90999: [libc++] Implements ranges::enable_borrowed_range.

@ldionne Friendly ping.

Sat, Feb 13, 5:20 AM · Restricted Project
Mordante added a comment to D96577: [libcxx] adds concept `std::uniform_random_bit_generator`.

undoes !_LIBCPP_HAS_NO_CONCEPTS change in an attempt to get the Mac OS build working

Sat, Feb 13, 5:05 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

Let all unit test require concepts. Test whether that fixes the Apple build issues.

Sat, Feb 13, 4:45 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

Make _LIBCPP_HAS_NO_CONCEPTS not GCC specific. (The lack of indention made it hard to detect it was a GCC specific section.)

Sat, Feb 13, 3:07 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

Removed so obsolete comment.
Use the arithmetic concepts directly since they've landed in main.

Sat, Feb 13, 2:30 AM · Restricted Project

Thu, Feb 11

Mordante added a comment to D93166: [libc++][format] Add basic_format_parse_context..

The MLIR build is now green :-)

Thu, Feb 11, 11:05 AM · Restricted Project
Mordante added a comment to D93166: [libc++][format] Add basic_format_parse_context..

It seems modifying the header and building libc++ doesn't rebuild the library. So it seemed to work for me. After I touched format.cpp I could reproduce the issue. Pushed another fix that works for me locally, but I'll keep an eye on the MLIR build server.

Thu, Feb 11, 10:18 AM · Restricted Project
Mordante committed rGf8772da8cc9a: [libc++][format] Enable format_error on older compilers. (authored by Mordante).
[libc++][format] Enable format_error on older compilers.
Thu, Feb 11, 10:14 AM
Mordante committed rGaf83e89ae303: [libc++][format] Improve Add basic_format_parse_context. (authored by Mordante).
[libc++][format] Improve Add basic_format_parse_context.
Thu, Feb 11, 9:56 AM
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

Rebased to trigger CI.

Thu, Feb 11, 9:10 AM · Restricted Project
Mordante committed rG38ddeade65c5: [libc++][format] Add basic_format_parse_context. (authored by Mordante).
[libc++][format] Add basic_format_parse_context.
Thu, Feb 11, 8:58 AM
Mordante closed D93166: [libc++][format] Add basic_format_parse_context..
Thu, Feb 11, 8:58 AM · Restricted Project

Wed, Feb 10

Mordante added inline comments to D93593: [libc++][format] Add __format_arg_store..
Wed, Feb 10, 9:10 AM · Restricted Project
Mordante updated the diff for D93166: [libc++][format] Add basic_format_parse_context..

Use concept support to disable <format> on older compilers. Note this is intended to be a temporary solution until libc++ requires a modern compiler.
Rebased.

Wed, Feb 10, 8:56 AM · Restricted Project

Tue, Feb 9

Mordante added a comment to D96057: [libc++] Require C++20 to build the benchmarks..

The sanitizer-ppc64be-linux build node uses gcc 7.3.1 and fails http://lab.llvm.org:8011/#/builders/18/builds/749

Tue, Feb 9, 11:11 AM · Restricted Project
Mordante added a reverting change for rG34acc9164244: [libc++] Require C++20 to build the benchmarks.: rG171956aab32e: Revert "[libc++] Require C++20 to build the benchmarks.".
Tue, Feb 9, 11:01 AM
Mordante committed rG171956aab32e: Revert "[libc++] Require C++20 to build the benchmarks." (authored by Mordante).
Revert "[libc++] Require C++20 to build the benchmarks."
Tue, Feb 9, 11:01 AM
Mordante added a reverting change for D96057: [libc++] Require C++20 to build the benchmarks.: rG171956aab32e: Revert "[libc++] Require C++20 to build the benchmarks.".
Tue, Feb 9, 11:01 AM · Restricted Project
Mordante added a comment to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

Are you fine by me commandeering this patch?

Please go ahead!

Tue, Feb 9, 10:47 AM · Restricted Project
Mordante planned changes to D96221: [libc++] Implement base 10 itoa functions..

For now I'll postpone this patch, if other solutions work I'll abandon this patch. Else I'll have more concrete details why I want to use this solution.

Tue, Feb 9, 10:03 AM · Restricted Project
Mordante accepted D96232: [libcxx] adds concept `std::copy_constructible`.

LGTM!

Tue, Feb 9, 9:49 AM · Restricted Project
Mordante accepted D96235: [libcxx] adds concepts `std::invocable` and `std::regular_invocable`.

Except for the build issue, LGTM!

Tue, Feb 9, 9:47 AM · Restricted Project
Mordante accepted D96230: [libcxx] adds concept `std::move_constructible`.

Do we need to do some tests on
[concept.moveconstructible]/1 http://eel.is/c++draft/concepts#concept.moveconstructible-1 ? Or does constructible_­from and convertible_­to guarantee these conditions hold?

The compiler doesn't check the semantic requirements (right now), so there's nothing to test. If we decide to promote violating the semantic requirements from IFNDR to ill-formed, that's when adding the tests will be helpful (right now they'd likely get in the way).

Tue, Feb 9, 9:42 AM · Restricted Project
Mordante committed rG34acc9164244: [libc++] Require C++20 to build the benchmarks. (authored by Mordante).
[libc++] Require C++20 to build the benchmarks.
Tue, Feb 9, 9:34 AM
Mordante closed D96057: [libc++] Require C++20 to build the benchmarks..
Tue, Feb 9, 9:34 AM · Restricted Project
Mordante added a comment to D96057: [libc++] Require C++20 to build the benchmarks..

This LGTM, let's see if other build bots not covered by our CI complain.

If they do, then we need to migrate them to our CI :-).

Tue, Feb 9, 9:33 AM · Restricted Project
Mordante committed rG2544060e7180: [libc++] Remove C++11 work-arounds in src. (authored by Mordante).
[libc++] Remove C++11 work-arounds in src.
Tue, Feb 9, 9:31 AM
Mordante closed D96200: [libc++] Remove C++11 work-arounds in src..
Tue, Feb 9, 9:31 AM · Restricted Project

Mon, Feb 8

Mordante added a comment to D96232: [libcxx] adds concept `std::copy_constructible`.

Also look at the remarks in D96230 that are applicable here.

Mon, Feb 8, 9:36 AM · Restricted Project
Mordante added a comment to D96230: [libcxx] adds concept `std::move_constructible`.

Do we need to do some tests on
[concept.moveconstructible]/1 http://eel.is/c++draft/concepts#concept.moveconstructible-1 ? Or does constructible_­from and convertible_­to guarantee these conditions hold?

Mon, Feb 8, 9:22 AM · Restricted Project

Sun, Feb 7

Mordante added a comment to D96221: [libc++] Implement base 10 itoa functions..

I ran into some issues using the existing version:

  • There's no 128 bit integral support, which I'd like to have in std::format, I can add a __u128toa to fix this.
  • There's no direct support for wchar_t in std::to_chars.
Sun, Feb 7, 11:02 AM · Restricted Project
Mordante requested review of D96221: [libc++] Implement base 10 itoa functions..
Sun, Feb 7, 10:18 AM · Restricted Project
Mordante added a comment to D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf.

@STL_MSFT How do you want to proceed with this? We can either back-and-forth on this review until we're happy and we can ship it (my preference),
or if you prefer someone from libc++ can take over the patch from here. My preference is clearly the former, but I want to avoid annoying you in case you don't have time for this.

I humbly request the latter (take over the patch) as I'm currently time-limited due to getting the microsoft/STL repo up and running for community contributions. As I'm not familiar with working in the libc++ environment, iterating with me in the loop will be extremely time-consuming for all involved. My hope is that, given that Jorg has gotten the code working on at least one libc++ platform, you can adapt the tests, and use them to verify that further changes for other platforms don't disrupt the code, which should make iterating on the code much faster.

I am, however, available to answer questions, review diffs to the code, or change microsoft/STL in ways that will make your life easier.

Sun, Feb 7, 5:53 AM · Restricted Project
Mordante added a comment to D88131: adds [concepts.arithmetic].

Are you using arc diff to upload patches? The Phab -> BuildKite bridge seems to have trouble applying your patches, not sure why.

No, I've been using the Phab web interface. Do you recommend I try the CLI tool instead?

Sun, Feb 7, 5:10 AM · Restricted Project

Sat, Feb 6

Mordante updated the diff for D96200: [libc++] Remove C++11 work-arounds in src..

Remove the C++11 comparibility again in filesystem_common.h. Tested with _LIBCPP_CONSTEXPR_AFTER_CXX11 which seems to work locally.

Sat, Feb 6, 12:27 PM · Restricted Project
Mordante added a comment to D96200: [libc++] Remove C++11 work-arounds in src..

Isn't it strange that a filesystem test builds the sources with -std=c++11? By source here I mean something under src/, precisely libcxx/src/filesystem/filesystem_common.h.
It seems like a bad separation between the code and the tests.

Sat, Feb 6, 12:22 PM · Restricted Project
Mordante updated the diff for D96200: [libc++] Remove C++11 work-arounds in src..

Partial revert, since one modification is still required for C++11.

Sat, Feb 6, 8:54 AM · Restricted Project
Mordante requested review of D96200: [libc++] Remove C++11 work-arounds in src..
Sat, Feb 6, 4:54 AM · Restricted Project
Mordante planned changes to D93593: [libc++][format] Add __format_arg_store..

Need to solve the the CI merge issue first.

Sat, Feb 6, 4:40 AM · Restricted Project
Mordante updated the diff for D93593: [libc++][format] Add __format_arg_store..

Switch to MAKE_STRING instead of MKSTR, this should fix the filesystem build.

Sat, Feb 6, 4:35 AM · Restricted Project
Mordante updated the diff for D93166: [libc++][format] Add basic_format_parse_context..

Rebase to trigger CI.

Sat, Feb 6, 4:19 AM · Restricted Project