Page MenuHomePhabricator

miscco (Michael Schellenberger Costa)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 15 2018, 6:48 AM (79 w, 2 d)

Recent Activity

Wed, Feb 19

miscco added a comment to D73138: [libcxx] [test] Correct asserted type in subspan test; subspan with count should never produce dynamic_extent.

Ah sorry about that, I overlooked that we had special cased tests without count.

Wed, Feb 19, 12:31 AM · Unknown Object (Project)

Sun, Feb 16

miscco added a comment to D69827: [libcxx] Remove swap for std::span.

That is indeed the correct thing to do +1

Sun, Feb 16, 10:18 AM
miscco added a comment to D69520: [libc++] Disallow dynamic -> static span conversions.

I believe this is superseded by the implementation of P1976R2 in D74577

Sun, Feb 16, 10:18 AM

Fri, Feb 14

miscco added inline comments to D74291: [libcxx] Adds [concept.same].
Fri, Feb 14, 2:39 AM
miscco retitled D74577: [libcxx][span] Implement P1976R2 from [libcxx][span] Implement P1976R1 to [libcxx][span] Implement P1976R2.
Fri, Feb 14, 1:45 AM · Unknown Object (Project)

Thu, Feb 13

miscco updated the diff for D74577: [libcxx][span] Implement P1976R2.

Add failing tests for explicit constructors

Thu, Feb 13, 1:11 PM · Unknown Object (Project)
miscco updated the diff for D74577: [libcxx][span] Implement P1976R2.

Forgot the explicit for the container constructors

Thu, Feb 13, 1:01 PM · Unknown Object (Project)
miscco created D74577: [libcxx][span] Implement P1976R2.
Thu, Feb 13, 1:01 PM · Unknown Object (Project)

Wed, Feb 12

miscco added inline comments to D74351: [libcxx][type_traits] Implement C++20 common_ref.
Wed, Feb 12, 12:06 PM · Unknown Object (Project)

Tue, Feb 11

miscco updated the diff for D71994: SFINAE span default constructor on Extent == 0.

[libcxx][span] Use requires clause for default constructor

Tue, Feb 11, 11:56 AM · Unknown Object (Project)
miscco updated subscribers of D67052: Add reference type transformation builtins.

Some nits, looks great, especially for library concepts. Pinging @cjdb

Tue, Feb 11, 6:01 AM · Unknown Object (Project), Restricted Project
miscco updated the diff for D71994: SFINAE span default constructor on Extent == 0.

rebased

Tue, Feb 11, 5:07 AM · Unknown Object (Project)
miscco updated the diff for D71998: [libcxx] span: Guard against overflow in span::subspan.

rebased

Tue, Feb 11, 4:50 AM · Unknown Object (Project)
miscco updated the diff for D71995: [libcxx] span: Fix incorrect static asserts.

Make STL happy, as they apply [[nodiscard]] everywhere

Tue, Feb 11, 4:30 AM · Unknown Object (Project)
miscco updated the diff for D71995: [libcxx] span: Fix incorrect static asserts.

Remove superfluous newlines

Tue, Feb 11, 3:54 AM · Unknown Object (Project)
miscco added a reviewer for D74351: [libcxx][type_traits] Implement C++20 common_ref: ldionne.
Tue, Feb 11, 3:54 AM · Unknown Object (Project)
miscco updated the diff for D71995: [libcxx] span: Fix incorrect static asserts.

Add tests

Tue, Feb 11, 3:53 AM · Unknown Object (Project)
miscco added a comment to D71995: [libcxx] span: Fix incorrect static asserts.

@ldionne I aggree with your sentiment and I only discovered this when I implemented span for MSVC STL and added the same static assert to operator[]

Tue, Feb 11, 3:53 AM · Unknown Object (Project)
miscco added inline comments to D74351: [libcxx][type_traits] Implement C++20 common_ref.
Tue, Feb 11, 3:25 AM · Unknown Object (Project)
miscco updated the diff for D74351: [libcxx][type_traits] Implement C++20 common_ref.

Simplified code and improved comments

Tue, Feb 11, 3:25 AM · Unknown Object (Project)
miscco added inline comments to D74351: [libcxx][type_traits] Implement C++20 common_ref.
Tue, Feb 11, 12:12 AM · Unknown Object (Project)
miscco added a comment to D74351: [libcxx][type_traits] Implement C++20 common_ref.

@cjdb I have to disagree. That would create a ciruclar dependency between concepts and type_traits, which is in my opinion not worth it.

Tue, Feb 11, 12:00 AM · Unknown Object (Project)

Mon, Feb 10

miscco added a child revision for D74350: [libcxx][type_traits] Add C++20 changes to common_type: D74351: [libcxx][type_traits] Implement C++20 common_ref.
Mon, Feb 10, 11:23 AM · Unknown Object (Project)
miscco added a parent revision for D74351: [libcxx][type_traits] Implement C++20 common_ref: D74350: [libcxx][type_traits] Add C++20 changes to common_type.
Mon, Feb 10, 11:23 AM · Unknown Object (Project)
miscco created D74351: [libcxx][type_traits] Implement C++20 common_ref.
Mon, Feb 10, 11:23 AM · Unknown Object (Project)
miscco created D74350: [libcxx][type_traits] Add C++20 changes to common_type.
Mon, Feb 10, 11:23 AM · Unknown Object (Project)

Sun, Feb 9

miscco added a comment to D74291: [libcxx] Adds [concept.same].

For what its worth, I found some time today to cleanup what I had already done with @CaseyCarter old implementation D49118 (common_type and common_reference were missing).

Sun, Feb 9, 1:08 PM
miscco added inline comments to D74292: [libcxx] adds [concept.derived].
Sun, Feb 9, 12:03 AM

Sat, Feb 8

miscco added inline comments to D74291: [libcxx] Adds [concept.same].
Sat, Feb 8, 11:45 PM
miscco added a comment to D74291: [libcxx] Adds [concept.same].

This looks already quite good.

Sat, Feb 8, 11:36 PM
miscco added inline comments to D74291: [libcxx] Adds [concept.same].
Sat, Feb 8, 11:36 PM

Wed, Jan 29

miscco added inline comments to D73530: [libc] Add a library of standalone C++ utilities..
Wed, Jan 29, 2:03 AM · Unknown Object (Project)
miscco added a comment to D73530: [libc] Add a library of standalone C++ utilities..

Comment about empty arrays

Wed, Jan 29, 1:54 AM · Unknown Object (Project)

Jan 20 2020

miscco added a comment to D71997: [libcxx] span: Fix incorrect return type of span::subspan.

Ping as this is an actual bugfix

Jan 20 2020, 12:27 PM · Unknown Object (Project)
miscco added a comment to D71998: [libcxx] span: Guard against overflow in span::subspan.

Gentle Ping

Jan 20 2020, 12:27 PM · Unknown Object (Project)
miscco added a comment to D71994: SFINAE span default constructor on Extent == 0.

Gentle Ping

Jan 20 2020, 12:27 PM · Unknown Object (Project)

Jan 7 2020

miscco added a comment to D71996: [libcxx] span: Remove unneeded comparison.

Ping trivially correct change

Jan 7 2020, 11:41 AM · Unknown Object (Project)
miscco added a comment to D71997: [libcxx] span: Fix incorrect return type of span::subspan.

Gentle ping with the relevant quote from the standard

Jan 7 2020, 9:37 AM · Unknown Object (Project)
miscco added inline comments to D71994: SFINAE span default constructor on Extent == 0.
Jan 7 2020, 9:37 AM · Unknown Object (Project)
miscco updated the diff for D71994: SFINAE span default constructor on Extent == 0.
  • [libcxx] span: Check default constructible
Jan 7 2020, 9:37 AM · Unknown Object (Project)
miscco added a comment to D71994: SFINAE span default constructor on Extent == 0.

Added missing include of <version>

Jan 7 2020, 9:37 AM · Unknown Object (Project)
miscco added a comment to D71994: SFINAE span default constructor on Extent == 0.

Added type_traits and concepts check for the different spans

Jan 7 2020, 9:18 AM · Unknown Object (Project)
miscco updated the diff for D71994: SFINAE span default constructor on Extent == 0.
  • [libcxx] span: Check default constructible
Jan 7 2020, 9:09 AM · Unknown Object (Project)

Jan 6 2020

miscco added a comment to D72102: [libc] Add __attribute__((always_inline)) to x86_64 syscall functions..

clang-format comment

Jan 6 2020, 10:04 PM · Unknown Object (Project)

Jan 5 2020

miscco added a comment to D71994: SFINAE span default constructor on Extent == 0.

Library concepts are not yet implemented.

Jan 5 2020, 9:48 PM · Unknown Object (Project)

Jan 3 2020

miscco added a comment to D72036: [libcxx] span: Cleanup includes.

Removed the forward declaration of array as that would be far more involved.

Jan 3 2020, 1:34 AM · Unknown Object (Project)
miscco updated the diff for D72036: [libcxx] span: Cleanup includes.

Do not forward declare array

Jan 3 2020, 1:34 AM · Unknown Object (Project)
miscco added a comment to D71994: SFINAE span default constructor on Extent == 0.

Hm, this fixes a todo that was written by you..

Jan 3 2020, 12:17 AM · Unknown Object (Project)

Jan 1 2020

miscco added a comment to D72036: [libcxx] span: Cleanup includes.

Some comments

Jan 1 2020, 8:34 AM · Unknown Object (Project)

Dec 31 2019

miscco created D72036: [libcxx] span: Cleanup includes.
Dec 31 2019, 4:52 AM · Unknown Object (Project)

Dec 30 2019

miscco updated the diff for D71999: [libcxx][tests] span: Add failing tests for span::first and span::last.

Updating D71999: [libcxx][tests] span: Add failing tests for span::first and span::last

Dec 30 2019, 5:51 AM · Unknown Object (Project)
miscco updated the diff for D71999: [libcxx][tests] span: Add failing tests for span::first and span::last.

Updating D71999: [libcxx][tests] span: Add failing tests for span::first and span::last

Dec 30 2019, 5:51 AM · Unknown Object (Project)
miscco updated the diff for D71994: SFINAE span default constructor on Extent == 0.

better message

Dec 30 2019, 5:41 AM · Unknown Object (Project)
miscco added a reviewer for D71996: [libcxx] span: Remove unneeded comparison: ldionne.
Dec 30 2019, 5:41 AM · Unknown Object (Project)
miscco updated the diff for D71996: [libcxx] span: Remove unneeded comparison.

Do not change the comment...

Dec 30 2019, 5:41 AM · Unknown Object (Project)
miscco added a reviewer for D71997: [libcxx] span: Fix incorrect return type of span::subspan: ldionne.
Dec 30 2019, 5:35 AM · Unknown Object (Project)
miscco added a reviewer for D71998: [libcxx] span: Guard against overflow in span::subspan: ldionne.
Dec 30 2019, 5:35 AM · Unknown Object (Project)
miscco updated the summary of D71995: [libcxx] span: Fix incorrect static asserts.
Dec 30 2019, 5:33 AM · Unknown Object (Project)
miscco added a reviewer for D71999: [libcxx][tests] span: Add failing tests for span::first and span::last: ldionne.
Dec 30 2019, 5:33 AM · Unknown Object (Project)
miscco added reviewers for D71994: SFINAE span default constructor on Extent == 0: ldionne, EricWF.
Dec 30 2019, 5:32 AM · Unknown Object (Project)
miscco abandoned D69466: Guard against overflow in span::subspan.

In order to facilitate the adoption of the changes I have created atomic revisions of the individual changes and will drop this one.

Dec 30 2019, 5:32 AM · Unknown Object (Project)
miscco created D71999: [libcxx][tests] span: Add failing tests for span::first and span::last.
Dec 30 2019, 5:32 AM · Unknown Object (Project)
miscco created D71998: [libcxx] span: Guard against overflow in span::subspan.
Dec 30 2019, 5:26 AM · Unknown Object (Project)
miscco created D71997: [libcxx] span: Fix incorrect return type of span::subspan.
Dec 30 2019, 5:22 AM · Unknown Object (Project)
miscco created D71996: [libcxx] span: Remove unneeded comparison.
Dec 30 2019, 5:17 AM · Unknown Object (Project)
miscco created D71995: [libcxx] span: Fix incorrect static asserts.
Dec 30 2019, 5:08 AM · Unknown Object (Project)
miscco created D71994: SFINAE span default constructor on Extent == 0.
Dec 30 2019, 5:03 AM · Unknown Object (Project)

Dec 18 2019

miscco added a comment to D69466: Guard against overflow in span::subspan.

I removed the static_assert from the front() and back() method and added the appropriate _LIBCPP_ASSERT instead.

Dec 18 2019, 5:08 AM · Unknown Object (Project)
miscco updated the diff for D69466: Guard against overflow in span::subspan.
  • [libcxx] span: Remove incorrect static_asserts
Dec 18 2019, 5:02 AM · Unknown Object (Project)
miscco added a comment to D69466: Guard against overflow in span::subspan.

Scrap my comment about invalid access to an empty span. Adding a static assert to operator[] fails due to evaulation of both branches during compilation:

cpp
    if (s.empty())
    {
        ret = ret &&  ( b ==  s.end());
        ret = ret &&  (cb == s.cend());
    }
    else
    {
        ret = ret &&  (  *b ==  s[0]);
        ret = ret &&  ( &*b == &s[0]);
        ret = ret &&  ( *cb ==  s[0]);
        ret = ret &&  (&*cb == &s[0]);
    }
Dec 18 2019, 2:12 AM · Unknown Object (Project)

Dec 16 2019

miscco updated the diff for D69466: Guard against overflow in span::subspan.
  • [span] Improve eror messages and remove tautological comparison
Dec 16 2019, 7:11 AM · Unknown Object (Project)

Dec 14 2019

miscco added a comment to D69466: Guard against overflow in span::subspan.

Some small comments as I read it again

Dec 14 2019, 3:30 AM · Unknown Object (Project)

Dec 13 2019

miscco added a comment to D69466: Guard against overflow in span::subspan.

Gentle Ping

Dec 13 2019, 11:36 PM · Unknown Object (Project)

Nov 9 2019

miscco updated the diff for D69466: Guard against overflow in span::subspan.
  • Implement P1872R0
Nov 9 2019, 10:46 AM · Unknown Object (Project)

Oct 28 2019

miscco abandoned D68952: Guard against possible overflow in span.subpan.

I messed with arcanist and created a new revision so I am going to close this one

Oct 28 2019, 12:10 PM
miscco added a reviewer for D69466: Guard against overflow in span::subspan: ldionne.
Oct 28 2019, 12:09 PM · Unknown Object (Project)
miscco added a comment to D69466: Guard against overflow in span::subspan.

I also believe that we should add a static assert to operator[] similar to front() and back(). Unfortunately there are multiple tests that rely on operator[] of a statically empty span. Thoughts?

Oct 28 2019, 12:05 PM · Unknown Object (Project)
miscco updated subscribers of D69466: Guard against overflow in span::subspan.

I have added some additional unit tests that should statically fail.

Oct 28 2019, 12:03 PM · Unknown Object (Project)
miscco updated the diff for D69466: Guard against overflow in span::subspan.
  • Add failing tests for span::first
  • Add fail tests for span::last
  • Add fail tests for element access of span and improve the error message
  • SFINAE span default constructor on Extent == 0
Oct 28 2019, 12:00 PM · Unknown Object (Project)
miscco updated the diff for D69466: Guard against overflow in span::subspan.
  • Fix incorrect return type of span::subspan
  • Guard against overflow in span::subspan
Oct 28 2019, 11:34 AM · Unknown Object (Project)

Oct 26 2019

miscco added a comment to D69466: Guard against overflow in span::subspan.

I am just getting used to arcanist so I messed up and created a new revision. What to do here?

Oct 26 2019, 1:39 PM · Unknown Object (Project)
miscco created D69466: Guard against overflow in span::subspan.
Oct 26 2019, 1:32 PM · Unknown Object (Project)

Oct 22 2019

miscco added a comment to D68952: Guard against possible overflow in span.subpan.

I have to appologize, but my linux distribution needs to be reset. I havent had time for that so I only wrote some logical tests and will expand once I find time to setup linux again

Oct 22 2019, 12:21 PM
miscco updated the diff for D68952: Guard against possible overflow in span.subpan.

Fixed preexisting bug and added necessary static_assert in another case

Oct 22 2019, 12:12 PM

Oct 20 2019

miscco added a comment to D68952: Guard against possible overflow in span.subpan.

When implementing span for MS STL I locally used the libcx tests against my implementation, i found that there are some instances where libcxx is not fully conforming (due to rapidly shifting span specification). Should I prepare one big patch or go on incrementally.

Oct 20 2019, 9:32 PM

Oct 14 2019

miscco added a comment to D68952: Guard against possible overflow in span.subpan.

As a side note we could also simplify the non templated subspan method

Oct 14 2019, 11:58 AM
miscco created D68952: Guard against possible overflow in span.subpan.
Oct 14 2019, 11:49 AM

Aug 15 2018

miscco added a comment to D50777: [ADT] Replace APInt::WORD_MAX with APInt::WORDTYPE_MAX.

I do not have commit access. Would you be so kind to push it?

Aug 15 2018, 10:42 PM
miscco added a reviewer for D50777: [ADT] Replace APInt::WORD_MAX with APInt::WORDTYPE_MAX: RKSimon.
Aug 15 2018, 7:02 AM
miscco created D50777: [ADT] Replace APInt::WORD_MAX with APInt::WORDTYPE_MAX.
Aug 15 2018, 7:00 AM