[Bug libstdc++/107761] Implement C++23

2023-12-26 Thread cooky.ykooc922 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

--- Comment #7 from Desmond Gold  ---
Here's an updated version of the implementation with following changes:
+ followed coding style of GNU (maybe not all)
+ added initial implementation of std::submdspan facilities (without
constraints and preconditions yet)
+ tweaked some of the problems in previous implementation

https://godbolt.org/z/Mxs1YP8n7

summary
+ implemented c++23 
+ implemented c++26 std::submdspan facilities in 
  + added c++23 feature (concepts only): '__tuple_like' and '__pair_like'
to be used by '__mdspan::__index_pair_like'
  + added alias template '_Nth_type_t' which would supposedly be placed
inside 
+ still no documentations, incomplete preconditions and constraints, and
incomplete tests

[Bug libstdc++/107761] Implement C++23

2023-12-24 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

--- Comment #6 from Jonathan Wakely  ---
OK that's great, thanks for clarifying. (I haven't looked at the impl on
godbolt yet, sorry)

[Bug libstdc++/107761] Implement C++23

2023-12-23 Thread cooky.ykooc922 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

--- Comment #5 from Desmond Gold  ---
when I mentioned being "inspired by," I was referring to drawing guidance from
existing reference implementations like libc++, STL, and Kokkos for the
 implementation in libstdc++. Specifically, for how they implement the
preconditions and layout_stride. I apologize for not explicitly defining what I
meant by "inspiration" earlier. However, it's important to note that my work
primarily adheres to the standards' definitions rather than directly
replicating code. This approach ensures alignment with the intended
functionality while respecting authorship, copyright, and licensing concerns.
>From the link you've checked out, you'll notice the implementation is still a
work in progress. It's incomplete and would greatly benefit from additional
feedback to incorporate the missing elements :>

[Bug libstdc++/107761] Implement C++23

2023-12-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

--- Comment #4 from Jonathan Wakely  ---
What does "inspired by" mean? We need to be careful of authorship, copyright
ownership, and licensing.

[Bug libstdc++/107761] Implement C++23

2023-12-23 Thread cooky.ykooc922 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

Desmond Gold  changed:

   What|Removed |Added

 CC||cooky.ykooc922 at gmail dot com

--- Comment #3 from Desmond Gold  ---
I've implemented c++23 features for  in libstdc++ (hopefully) which is
inspired by other reference implementations (libc++, STL, Kokkos).

https://godbolt.org/z/Gc8vvjaT9

however:
+ no optimizations yet (this includes SBO)
+ no 'stronger' and complete tests yet
+ no documentation yet
+ some assertions have no messages

[Bug libstdc++/107761] Implement C++23

2023-08-20 Thread gonzalo.gadeschi at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

--- Comment #2 from gnzlbg  ---
Update: the reference implementation is now merged into libc++ and will release
with LLVM 17.

[Bug libstdc++/107761] Implement C++23

2022-12-08 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Last reconfirmed||2022-12-08

--- Comment #1 from Andrew Pinski  ---
.