Re: [[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2021-02-04 Thread Ed Smith-Rowland via Gcc-patches
On 2/4/21 6:31 AM, Tam S. B. wrote: `__cpp_size_t_suffix` is defined as 202006L, but the draft standard says 202011L: http://eel.is/c++draft/cpp.predefined#tab:cpp.predefined.ft-row-48 I looks like you're right. Both the latest draft and https://isocpp.org/std/standing-documents/sd-6-sg10-fea

[wwwdocs] Mention C++23 flags and addition of size_t literals.

2021-02-03 Thread Ed Smith-Rowland via Gcc-patches
I pushed this patch to update changes to mention the C++23 flags and the size_t literals. Ed commit bfc68f3f88406a07757d111a0f894426a6bc4522 Author: Ed Smith-Rowland <3dw...@verizon.net <mailto:3dw...@verizon.net>> Date: Wed Feb 3 14:23:00 2021 -0500 Mention C++23 flags

Re: [[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2021-02-01 Thread Ed Smith-Rowland via Gcc-patches
On 2/2/21 12:12 AM, Jason Merrill wrote: On 2/1/21 9:15 PM, Ed Smith-Rowland wrote: On 2/1/21 2:23 PM, Jakub Jelinek wrote: On Mon, Feb 01, 2021 at 01:46:13PM -0500, Ed Smith-Rowland wrote: @@ -0,0 +1,8 @@ +// { dg-do compile { target c++23 } } + +#include +#include + +static_assert(std

Re: [[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2021-02-01 Thread Ed Smith-Rowland via Gcc-patches
On 2/1/21 2:23 PM, Jakub Jelinek wrote: On Mon, Feb 01, 2021 at 01:46:13PM -0500, Ed Smith-Rowland wrote: @@ -0,0 +1,8 @@ +// { dg-do compile { target c++23 } } + +#include +#include + +static_assert(std::is_same_v); +static_assert(std::is_same_v); Shouldn't this be std::make_signed:

Re: [[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2021-02-01 Thread Ed Smith-Rowland via Gcc-patches
On 2/1/21 10:33 AM, Jason Merrill wrote: On 1/30/21 6:22 PM, Ed Smith-Rowland wrote: On 1/27/21 3:32 PM, Jakub Jelinek wrote: On Sun, Oct 21, 2018 at 04:39:30PM -0400, Ed Smith-Rowland wrote: This patch implements C++2a proposal P0330R2 Literal Suffixes for ptrdiff_t and size_t*.  It'

Re: [[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2021-01-30 Thread Ed Smith-Rowland via Gcc-patches
On 1/27/21 3:32 PM, Jakub Jelinek wrote: On Sun, Oct 21, 2018 at 04:39:30PM -0400, Ed Smith-Rowland wrote: This patch implements C++2a proposal P0330R2 Literal Suffixes for ptrdiff_t and size_t*.  It's not official yet but looks very likely to pass.  It is incomplete because I'm l

Re: [[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2021-01-27 Thread Ed Smith-Rowland via Gcc-patches
On 1/27/21 3:32 PM, Jakub Jelinek wrote: On Sun, Oct 21, 2018 at 04:39:30PM -0400, Ed Smith-Rowland wrote: This patch implements C++2a proposal P0330R2 Literal Suffixes for ptrdiff_t and size_t*.  It's not official yet but looks very likely to pass.  It is incomplete because I'm l

Re: [RFC] Remove include/precompiled/expc++.h

2020-10-16 Thread Ed Smith-Rowland via Gcc-patches
On 10/15/20 7:21 PM, Jonathan Wakely wrote: Ed, In commit r232377 (aka 2be75957b80b640c0aac4356ab861edd0c2f1b9d in the git repo) you added a new header to the include/precompiled directory. That wasn't mentioned in the ChangeLog, wasn't in the patch posted to https://gcc.gnu.org/legacy-ml/libstd

Fwd: [PATCH,libstdc++] C++ constexpr tuple is broken.

2019-11-16 Thread Ed Smith-Rowland via gcc-patches
I missed a file in my recent patch for C++20 constexpr tuple. Bestrafe Mich. Ed 2019-11-16 Edward Smith-Rowland <3dw...@verizon.net> Repair the part of C++20 p1032 Misc constexpr bits. * include/bits/uses_allocator.h (__uses_alloc0::_Sink::operaror=) (__use_alloc(const _Alloc&)) : Conste

[PATCH, libstdc++] More

2019-11-15 Thread Ed Smith-Rowland via gcc-patches
First of all, the redo of the iterator portion in response to https://gcc.gnu.org/ml/gcc-patches/2019-11/msg01467.html passed testing. This patch contains constexpr char_traits. I also found an old extension that had been left out of the constexpr bandwagon that I caught up. This patch also

[RFC, libstdc++] Implement C++20 P1208R6 - source_location.

2019-11-08 Thread Ed Smith-Rowland via gcc-patches
"works" and it might make useful fodder for the next round. Ed gcc/ChangeLog 2019-11-08 Ed Smith-Rowland <3dw...@verizon.net> Implement C++20 P1208R6 - source_location. Implement column with a __builtin_COLUMN for both std and experimental. The std curr

Re: [PATCH, libstdc++] Doc changes for constexpr additions for C++20 status.

2019-09-09 Thread Ed Smith-Rowland via gcc-patches
On 9/9/19 5:41 AM, Jonathan Wakely wrote: On 05/09/19 15:45 -0400, Ed Smith-Rowland via libstdc++ wrote: Here is a patch to the libstdc++ docs re constexpr additions. They reflect the latest macro assignments AFAICT. Constexpr interator reqs are implemented in 9.1, the rest for 10.1. Ok

Re: We should mark "Should Span be Regular? P1085R2" as well.

2019-09-09 Thread Ed Smith-Rowland via gcc-patches
On 9/9/19 5:38 AM, Jonathan Wakely wrote: On 06/09/19 18:08 -0400, Ed Smith-Rowland via libstdc++ wrote: As the title says. was (correctly) delivered without comparison ops. so we chould check off p1085. Indeed, thanks! This includes the status updates for constexpr lib diffs posted

[PATCH, libstdc++] Doc changes for constexpr additions for C++20 status.

2019-09-05 Thread Ed Smith-Rowland via gcc-patches
Here is a patch to the libstdc++ docs re constexpr additions. They reflect the latest macro assignments AFAICT. Constexpr interator reqs are implemented in 9.1, the rest for 10.1. Ok? Should I bother adding the Constexpr interator requirements to the gcc-9 branch docs? Ed Index: doc/html/

Re: Implement C++20 p1424 - 'constexpr' feature macro concerns.

2019-08-21 Thread Ed Smith-Rowland via gcc-patches
On 8/20/19 6:14 PM, Jonathan Wakely wrote: On 16/08/19 22:39 -0400, Ed Smith-Rowland via libstdc++ wrote: The latest draft and I guess the above paper changed the macro names for the C++20 constexpr lib featues. __cpp_lib_constexpr_algorithms ->__cpp_lib_constexpr. The __cpp_lib_conste

Implement C++20 p1424 - 'constexpr' feature macro concerns.

2019-08-16 Thread Ed Smith-Rowland via gcc-patches
The latest draft and I guess the above paper changed the macro names for the C++20 constexpr lib featues. __cpp_lib_constexpr_algorithms ->__cpp_lib_constexpr. This patch changes the name but not the date because I still have some work to do before I can ship the "miscellaneous" constexpr mate

Re: [PATCH 2/3] C++20 constexpr lib part 2/3 - swappish functions.

2019-08-14 Thread Ed Smith-Rowland via gcc-patches
On 8/13/19 7:14 AM, Jonathan Wakely wrote: On 01/08/19 13:16 -0400, Ed Smith-Rowland via libstdc++ wrote: Greetings, Here is a patch for C++20 p0879 - Constexpr for swap and swap related functions. This essentially constexprifies the rest of . Built and tested with C++20 (and pre-c++20) on

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-07 Thread Ed Smith-Rowland via gcc-patches
On 8/6/19 11:30 AM, Steve Ellcey wrote: Ed, I have run into an ICE that I tracked down to this patch: commit 02fefffe6b78c4c39169206aa40fb53f367ecba8 Author: emsr Date: Thu Aug 1 15:25:42 2019 + 2019-08-01 Edward Smith-Rowland <3dw...@verizon.net> Implement C++20 p0

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-01 Thread Ed Smith-Rowland via gcc-patches
On 8/1/19 3:45 PM, Jonathan Wakely wrote: On 01/08/19 11:47 -0400, Ed Smith-Rowland via libstdc++ wrote: On 8/1/19 6:56 AM, Jonathan Wakely wrote: On 31/07/19 10:50 -0400, Ed Smith-Rowland via libstdc++ wrote: Here is the patch for * Implement C++20 p0202 - Add constexpr Modifiers to

[PATCH 2/3] C++20 constexpr lib part 2/3 - swappish functions.

2019-08-01 Thread Ed Smith-Rowland via gcc-patches
Greetings, Here is a patch for C++20 p0879 - Constexpr for swap and swap related functions. This essentially constexprifies the rest of . Built and tested with C++20 (and pre-c++20) on x86_64-linux. Ok? Regards, Ed Smith-Rowland 2019-08-01 Edward Smith-Rowland <3dw...@verizon.

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-01 Thread Ed Smith-Rowland via gcc-patches
On 8/1/19 6:56 AM, Jonathan Wakely wrote: On 31/07/19 10:50 -0400, Ed Smith-Rowland via libstdc++ wrote: Here is the patch for * Implement C++20 p0202 - Add constexpr Modifiers to Functions in and Headers. * Implement C++20 p1023 - constexpr comparison operators for std::array. Relative

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-07-31 Thread Ed Smith-Rowland via gcc-patches
Here is the patch for * Implement C++20 p0202 - Add constexpr Modifiers to Functions in and Headers. * Implement C++20 p1023 - constexpr comparison operators for std::array. Relative to the last effort it is rebased on more recent trunk and I added to . There's some chance that I'll have

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-07-11 Thread Ed Smith-Rowland via gcc-patches
On 7/6/19 3:55 AM, Ville Voutilainen wrote: Blargh! But that's fine; the result of copy is not stored in a constexpr variable, but the function return is static_asserted so we have sufficiently tested that std::copy is indeed constexpr-compatible since it appears in a function that is evaluated

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-07-05 Thread Ed Smith-Rowland via gcc-patches
On 7/2/19 8:11 AM, Jonathan Wakely wrote: One more comment. In this: +#if __cplusplus > 201703L \ +?? && defined(_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED) +?? if (__builtin_is_constant_evaluated()) can be simplified to just: #ifdef __cpp_lib_is_constant_evaluated if (s

Re: Fail building modula2.

2019-06-30 Thread Ed Smith-Rowland via gcc-patches
Gaius, I missed the fact that there are two patch sets.?? Things built like a charm.?? Testing now. Thank you. Ed

Fail building modula2.

2019-06-28 Thread Ed Smith-Rowland via gcc-patches
1: recipe for target 'stage2-bubble' failed make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory '/home/ed/obj_modula2' Makefile:1002: recipe for target 'all' failed make: *** [all] Error 2 -- Thanks, Ed Smith-Rowland

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-06-27 Thread Ed Smith-Rowland via gcc-patches
On 6/27/19 1:06 PM, Ville Voutilainen wrote: On Thu, 27 Jun 2019 at 19:55, Ed Smith-Rowland via libstdc++ wrote: I don't think this will work in a constant expression: ?? /// Assign @p __new_val to @p __obj and return its previous value. ?? template +?? _GLIBCXX20_CONSTEXPR ?? i

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-06-27 Thread Ed Smith-Rowland via gcc-patches
On 6/27/19 11:41 AM, Jonathan Wakely wrote: On 26/06/19 19:13 -0400, Ed Smith-Rowland via libstdc++ wrote: Here is the first of three patches for C++20 constexpr library. ?? Implement C++20 p0202 - Add constexpr Modifiers to Functions in and Headers. ??Implement C++20 p1023

[PATCH] C++20 constexpr lib part 2/3

2019-06-26 Thread Ed Smith-Rowland via gcc-patches
=unix/-std=gnu++2a -k -j4 OK for trunk (after part 1 is in)? Ed Smith-Rowland 2019-06-26 Edward Smith-Rowland <3dw...@verizon.net> Implement C++20 p0879 - Constexpr for swap and swap related functions. * include/bits/algorithmfwd.h (__cpp_lib_constexpr_swap_algo

[PATCH 1/3] C++20 constexpr lib part 1/3

2019-06-26 Thread Ed Smith-Rowland via gcc-patches
=--target_board=unix/-std=gnu++2a -k -j4 OK for trunk? Ed Smith-Rowland 2019-06-26 Edward Smith-Rowland <3dw...@verizon.net> Implement C++20 p0202 - Add Constexpr Modifiers to Functions in and Headers. Implement C++20 p1023 - constexpr comparison operators for std:

Re: Test for C++20 p0858 - ConstexprIterator requirements.

2019-06-10 Thread Ed Smith-Rowland via gcc-patches
On 6/10/19 2:43 AM, Ville Voutilainen wrote: On Mon, 10 Jun 2019 at 02:53, Ed Smith-Rowland <3dw...@verizon.net> wrote: Darn it, I had those constexpr lib patches in tree. Attached are what I just committed to gcc-9 and passes there. Those std::copy didn't really add anything an

Re: Test for C++20 p0858 - ConstexprIterator requirements.

2019-06-09 Thread Ed Smith-Rowland via gcc-patches
On 6/9/19 6:28 PM, Jonathan Wakely wrote: On 10/06/19 00:03 +0200, Rainer Orth wrote: Hi Ed, I had supplied the option for gnu++2a by hand and they passed.?? They were not UNSUPPORTED. I just added the dg-options (at very top) and reran the testsuite without fancy tricks (except for gnu++2a).

Re: Test for C++20 p0858 - ConstexprIterator requirements.

2019-06-09 Thread Ed Smith-Rowland via gcc-patches
On 6/8/19 4:28 PM, Jonathan Wakely wrote: On 08/06/19 12:05 -0400, Ed Smith-Rowland wrote: On 6/7/19 11:42 AM, Jonathan Wakely wrote: On 01/06/19 15:40 -0400, Ed Smith-Rowland via libstdc++ wrote: On 6/1/19 2:42 PM, Ville Voutilainen wrote: On Sat, 1 Jun 2019 at 21:09, Ed Smith-Rowland <

Re: Test for C++20 p0858 - ConstexprIterator requirements.

2019-06-08 Thread Ed Smith-Rowland via gcc-patches
On 6/7/19 11:42 AM, Jonathan Wakely wrote: On 01/06/19 15:40 -0400, Ed Smith-Rowland via libstdc++ wrote: On 6/1/19 2:42 PM, Ville Voutilainen wrote: On Sat, 1 Jun 2019 at 21:09, Ed Smith-Rowland <3dw...@verizon.net> wrote: On 5/31/19 6:29 PM, Ville Voutilainen wrote: On Sat, 1 Jun 2

Re: Test for C++20 p0858 - ConstexprIterator requirements.

2019-06-01 Thread Ed Smith-Rowland via gcc-patches
On 6/1/19 2:42 PM, Ville Voutilainen wrote: On Sat, 1 Jun 2019 at 21:09, Ed Smith-Rowland <3dw...@verizon.net> wrote: On 5/31/19 6:29 PM, Ville Voutilainen wrote: On Sat, 1 Jun 2019 at 01:24, Ed Smith-Rowland via libstdc++ wrote: Greetings, Iterators for and are usabe in a con

Re: Test for C++20 p0858 - ConstexprIterator requirements.

2019-06-01 Thread Ed Smith-Rowland via gcc-patches
On 5/31/19 6:29 PM, Ville Voutilainen wrote: On Sat, 1 Jun 2019 at 01:24, Ed Smith-Rowland via libstdc++ wrote: Greetings, Iterators for and are usabe in a constexpr context since C++2017. This just adds a compile test to make sure and check a box for C++20 p0858 - ConstexprIterator

Test for C++20 p0858 - ConstexprIterator requirements.

2019-05-31 Thread Ed Smith-Rowland via gcc-patches
Greetings, Iterators for and are usabe in a constexpr context since C++2017. This just adds a compile test to make sure and check a box for C++20 p0858 - ConstexprIterator requirements. Ed 2019-06-03 Edward Smith-Rowland <3dw...@verizon.net> Test for C++20 p0858 - ConstexprIt

Re: [PATCH,libstdc++] C++-20 costexpr and

2019-05-30 Thread Ed Smith-Rowland via gcc-patches
On 5/30/19 5:05 PM, Ed Smith-Rowland via libstdc++ wrote: Greetings, I was not quite able to finish this in for gcc9 but here is the patch for: ?? Implement C++20 p0202 - Add Constexpr Modifiers to Functions ??in and Headers. ??Implement C++20 p1023 - constexpr comparison

[PATCH,libstdc++] C++-20 costexpr and

2019-05-30 Thread Ed Smith-Rowland via gcc-patches
concerns with the last patch attempts [https://gcc.gnu.org/ml/libstdc++/2019-03/msg00132.html]. The patch is large because of test cases but really just boils down to adding constexpr for c++2a. The patch passes for gnu++2a and pre-gnu++2a on x86_64-linux. OK for trunk? Ed Smith-Rowland 2019

Implement numeric_limits<__float128>.

2019-05-10 Thread Ed Smith-Rowland via gcc-patches
aight from libstdc++.  This is the first patch. Next will be and then a bit later. It's pretty straightforward but others might have tips on configuration (and anything else ;-)).  Built and tested of x86_64-linux. Ok? Ed 2019-05-11 Ed Smith-Rowland <3dw...@verizon.net&g

Re: Implement C++20 constexpr , , and

2019-03-29 Thread Ed Smith-Rowland via gcc-patches
On 3/29/19 12:39 PM, Jakub Jelinek wrote: On Fri, Mar 29, 2019 at 12:02:48PM -0400, Ed Smith-Rowland wrote: This differs from the previous patch in actually testing constexpr :-\ and in the addition of wrappers for __builtin_memmove and __builtin_memcmp that supply constexpr branches if C++20

Re: Implement C++20 constexpr , , and

2019-03-29 Thread Ed Smith-Rowland via gcc-patches
On 3/29/19 11:12 AM, Jakub Jelinek wrote: On Fri, Mar 29, 2019 at 11:07:53AM -0400, Jason Merrill wrote: On Tue, Mar 19, 2019 at 4:57 PM Ed Smith-Rowland via gcc-patches wrote: On 3/18/19 6:18 PM, Jonathan Wakely wrote: On 17/03/19 22:54 -0400, Ed Smith-Rowland via libstdc++ wrote: I'm

Re: Implement C++20 constexpr , , and

2019-03-29 Thread Ed Smith-Rowland via gcc-patches
On 3/29/19 9:23 AM, Jakub Jelinek wrote: On Fri, Mar 29, 2019 at 09:10:26AM -0400, Ed Smith-Rowland via gcc-patches wrote: Greetings, This patch implements C++20 constexpr for , , . It's a large patch but only affects C++20 and the volume is mostly test cases. This differs from the pre

Re: Implement C++20 constexpr , , and

2019-03-29 Thread Ed Smith-Rowland via gcc-patches
Greetings, This patch implements C++20 constexpr for , , . It's a large patch but only affects C++20 and the volume is mostly test cases. This differs from the previous patch in actually testing constexpr :-\ and in the addition of wrappers for __builtin_memmove and __builtin_memcmp that su

Re: Implement C++20 constexpr , , and

2019-03-19 Thread Ed Smith-Rowland via gcc-patches
On 3/19/19 4:57 PM, Ed Smith-Rowland via libstdc++ wrote: On 3/18/19 6:18 PM, Jonathan Wakely wrote: On 17/03/19 22:54 -0400, Ed Smith-Rowland via libstdc++ wrote: Greetings, This patch implements C++20 p0202 - Add Constexpr Modifiers to Functions in and Headers and C++20 p1023

Re: Implement C++20 constexpr , , and

2019-03-19 Thread Ed Smith-Rowland via gcc-patches
On 3/18/19 6:18 PM, Jonathan Wakely wrote: On 17/03/19 22:54 -0400, Ed Smith-Rowland via libstdc++ wrote: Greetings, This patch implements C++20 p0202 - Add Constexpr Modifiers to Functions in and Headers and C++20 p1023 - constexpr comparison operators for std::array. The patch is

Re: Implement C++20 constexpr , , and

2019-03-18 Thread Ed Smith-Rowland via gcc-patches
On 3/18/19 6:18 PM, Jonathan Wakely wrote: On 17/03/19 22:54 -0400, Ed Smith-Rowland via libstdc++ wrote: Greetings, This patch implements C++20 p0202 - Add Constexpr Modifiers to Functions in and Headers and C++20 p1023 - constexpr comparison operators for std::array. The patch is

Implement C++20 constexpr , , and

2019-03-17 Thread Ed Smith-Rowland via gcc-patches
Greetings, This patch implements C++20 p0202 - Add Constexpr Modifiers to Functions in and Headers and C++20 p1023 - constexpr comparison operators for std::array. The patch is large because of the testsuite additions. Basically, the algorithms and the array comparison operators are all m

Re: [PATCH] PR libstdc++/88996 Implement P0439R0 - C++20 - Make std::memory_order a scoped enumeration.

2019-03-04 Thread Ed Smith-Rowland
On 3/4/19 3:05 PM, Jonathan Wakely wrote: On 04/02/19 14:26 +, Jonathan Wakely wrote: On 24/01/19 14:50 -0500, Ed Smith-Rowland wrote: PR libstdc++/88996 Implement P0439R0 Make std::memory_order a scoped enumeration. * include/bits/atomic_base.h: For C++20 make memory_order a

Re: [libstc++] Don't throw in std::assoc_legendre for m > l

2019-03-04 Thread Ed Smith-Rowland
This is actually PR libstdc++/86655. Thank you for reminding me Andre. I remove the throw for m > l and just return 0.  This is also done for sph_legendre. This build and tests clean on x86_64-linux. OK? Ed 2018-03-04 Edward Smith-Rowland <3dw...@verizon.net> PR libstdc++/86655

[PATCH] PR libstdc++/88996 Implement P0439R0 - C++20 - Make std::memory_order a scoped enumeration.

2019-01-24 Thread Ed Smith-Rowland
Greetings, This makes memory_order in a scoped enum *only* for C++20. This is built and tested on x86_64-linux. OK? Index: include/bits/atomic_base.h === --- include/bits/atomic_base.h (revision 268246) +++ include/bits/atomic_

Re: [RFA] fix copyright year range in libstdc++ test file

2019-01-01 Thread Ed Smith-Rowland
On 1/1/19 12:45 AM, Joel Brobecker wrote: Hello, In working on updating the copyright year notices for the GDB files, I noticed something very minor regarding the patch which added the file below (the same file was copied in gdb's testsuite); it looks like the year range for one of the files is

[PATCH PR libstdc++/88341] -

2018-12-04 Thread Ed Smith-Rowland
Committed as obvious 266788. Ed 2018-12-03 Edward Smith-Rowland <3dw...@verizon.net> PR libstdc++/88341 - Complex norm doesn't compile with C++11 * include/std/complex (_S_do_it): Make C++20 constexpr. * testsuite/26_numerics/complex/value_operations/pr88341.cc: New t

Re: [PATCH, libstdc++, C++20] Implement P0457R2 String Prefix and Suffix Checking.

2018-11-30 Thread Ed Smith-Rowland
On 11/30/18 5:33 AM, Jonathan Wakely wrote: On 29/11/18 21:35 -0500, Ed Smith-Rowland wrote: Greetings, This patch implements starts_with and ends_with for basic_string and basic_string_view for C++20. This was on my TODO list, thanks for taking care of it. +#if __cplusplus > 2017

[PATCH, libstdc++, C++20] Implement P0457R2 String Prefix and Suffix Checking.

2018-11-29 Thread Ed Smith-Rowland
Greetings, This patch implements starts_with and ends_with for basic_string and basic_string_view for C++20. This builds and tests cleanly on x86_64-linux. Ed 2018-11-30 Edward Smith-Rowland <3dw...@verizon.net> Implement P0457R2 String Prefix and Suffix Checking. * incl

[PATCH, libstdc++] Uniform container erasure for c++20 returning number of erasures.

2018-11-29 Thread Ed Smith-Rowland
This version of erase_if/erase returning number erased actually build and tests cleanly on x86_64-linux. Is this what you has in mind for this?  I basically return the number of erased items for all the things Ed

Re: [PATCH, libstdc++] Uniform container erasure for c++20.

2018-11-29 Thread Ed Smith-Rowland
On 11/26/18 6:18 AM, Jonathan Wakely wrote: On 24/11/18 13:54 -0500, Ed Smith-Rowland wrote: All, I's very late but uniform container erasure is, I think, the last little tidbit to graduate from fundamentals/v2 to std at the last meeting.  I think it would be a shame not to nudge this

Re: [PATCH, libstdc++] Uniform container erasure for c++20.

2018-11-29 Thread Ed Smith-Rowland
On 11/29/18 9:09 AM, Jonathan Wakely wrote: On 29/11/18 08:47 -0500, Ed Smith-Rowland wrote: Fixed with 266616. Thanks! Index: include/std/deque === --- include/std/deque    (revision 266567) +++ include/std/deque    (working

Re: [PATCH, libstdc++] Uniform container erasure for c++20.

2018-11-29 Thread Ed Smith-Rowland
On 11/28/18 7:25 PM, Jonathan Wakely wrote: On 28/11/18 12:12 -0500, Ed Smith-Rowland wrote: Index: testsuite/21_strings/basic_string/erasure.cc === --- testsuite/21_strings/basic_string/erasure.cc (nonexistent) +++ testsuite

Re: [PATCH, libstdc++] Uniform container erasure for c++20.

2018-11-28 Thread Ed Smith-Rowland
On 11/26/18 6:18 AM, Jonathan Wakely wrote: On 24/11/18 13:54 -0500, Ed Smith-Rowland wrote: All, I's very late but uniform container erasure is, I think, the last little tidbit to graduate from fundamentals/v2 to std at the last meeting.  I think it would be a shame not to nudge this

[PATCH, libstdc++] Uniform container erasure for c++20.

2018-11-24 Thread Ed Smith-Rowland
All, I's very late but uniform container erasure is, I think, the last little tidbit to graduate from fundamentals/v2 to std at the last meeting.  I think it would be a shame not to nudge this into gcc-9.  The routines are very short so I just copied them. Ditto the testcases (with adjustment

Re: [PATCH, libstdc++] Implement P0415 More constexpr for std::complex.

2018-11-20 Thread Ed Smith-Rowland
On 11/19/18 6:13 AM, Jonathan Wakely wrote: On 16/11/18 19:39 -0500, Ed Smith-Rowland wrote: @@ -322,67 +323,43 @@   //@{   ///  Return new complex value @a x plus @a y.   template -    inline complex<_Tp> +    inline _GLIBCXX20_CONSTEXPR complex<_Tp>     operator+(const compl

Re: [PATCH, libstdc++] Implement P0415 More constexpr for std::complex.

2018-11-16 Thread Ed Smith-Rowland
On 11/16/18 3:53 PM, Ed Smith-Rowland wrote: On 11/16/18 12:38 PM, Daniel Krügler wrote: Am Fr., 16. Nov. 2018 um 18:13 Uhr schrieb Ed Smith-Rowland <3dw...@verizon.net>: Greetings, This is late but I wanted to put it out there just to finish a thing. It's fairly straightforward c

Re: [PATCH, PR libstdc++/83566] - cyl_bessel_j returns wrong result for x>1000

2018-11-16 Thread Ed Smith-Rowland
On 11/16/18 5:32 PM, Michele Pezzutti wrote: Hi. My Copyright assignment process is complete (done in Feb 2018). Michele On 16/11/2018 18:23, Ed Smith-Rowland wrote: All, This patch has been in my queue for a while. I believe it is waiting on Copyright assignment for Michele. Is this

Re: [PATCH, libstdc++] Implement P0415 More constexpr for std::complex.

2018-11-16 Thread Ed Smith-Rowland
On 11/16/18 12:38 PM, Daniel Krügler wrote: Am Fr., 16. Nov. 2018 um 18:13 Uhr schrieb Ed Smith-Rowland <3dw...@verizon.net>: Greetings, This is late but I wanted to put it out there just to finish a thing. It's fairly straightforward constexpr of operators and some simple functi

[PATCH, PR libstdc++/83566] - cyl_bessel_j returns wrong result for x>1000

2018-11-16 Thread Ed Smith-Rowland
All, This patch has been in my queue for a while. I believe it is waiting on Copyright assignment for Michele. Is this still true? Ed 2018-11-16 Michele Pezzutti Edward Smith-Rowland <3dw...@verizon.net> PR libstdc++/83566 - cyl_bessel_j returns wrong result for x>1

[PATCH, libstdc++] Implement P0415 More constexpr for std::complex.

2018-11-16 Thread Ed Smith-Rowland
Greetings, This is late but I wanted to put it out there just to finish a thing. It's fairly straightforward constexpr of operators and some simple functions for std::complex. The only thing that jumped out was the norm function.  We had this:     struct _Norm_helper     {   template    

Re: [PATCH libquadmath/PR68686]

2018-11-05 Thread Ed Smith-Rowland
On 11/5/18 1:19 PM, Joseph Myers wrote: On Sun, 4 Nov 2018, Ed Smith-Rowland wrote: I looked in glibc.  Unfortunately, I see how they have the same mistake: glibc/math/w_tgammal_compat.c:     long double     __tgammal(long double x)     {         int local_signgam;         long double y

Re: [PATCH libquadmath/PR68686]

2018-11-04 Thread Ed Smith-Rowland
On 11/3/18 10:09 PM, Jeff Law wrote: On 10/23/18 7:45 PM, Ed Smith-Rowland wrote: Greetings, This is an almost trivial patch to get the correct sign for tgammaq. I don't have a testcase as I don't know where to put one. OK? Ed Smith-Rowland tgammaq.CL 2018-10-24 Edward Smi

Re: [PATCH libquadmath/PR68686]

2018-11-04 Thread Ed Smith-Rowland
On 11/3/18 10:09 PM, Jeff Law wrote: On 10/23/18 7:45 PM, Ed Smith-Rowland wrote: Greetings, This is an almost trivial patch to get the correct sign for tgammaq. I don't have a testcase as I don't know where to put one. OK? Ed Smith-Rowland tgammaq.CL 2018-10-24 Edward Smi

[PATCH libquadmath/PR68686]

2018-10-23 Thread Ed Smith-Rowland
Greetings, This is an almost trivial patch to get the correct sign for tgammaq. I don't have a testcase as I don't know where to put one. OK? Ed Smith-Rowland 2018-10-24 Edward Smith-Rowland <3dw...@verizon.net> PR libquadmath/68686 * math/tgammaq.c: Correct sign for n

[[C++ PATCH]] Implement C++2a P0330R2 - Literal Suffixes for ptrdiff_t and size_t

2018-10-21 Thread Ed Smith-Rowland
thinking of making this feature available as an extension to all of C/C++ perhaps with appropriate pedwarn. Opinions? Ed Smith-Rowland [*] http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0330r2.html Index: gcc/c-family/c-cppbuiltin.c ==

Re: RFC: What should go in our header?

2018-06-17 Thread Ed Smith-Rowland
On 06/15/2018 11:52 AM, Jonathan Wakely wrote: C++20 adds a header, which should define all the library feature test macros, as well as implementation-specific macros like _GLIBCXX_RELEASE and __GLIBCXX__. We should decide whether to implement by simply including and then adding the feature t

Re: [libstdc++, PATCH] PR libstdc++/83140 - assoc_legendre returns negated value when m is odd.

2018-05-11 Thread Ed Smith-Rowland
which always causes a failure: +FAIL: tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc (test for excess errors) Excess errors: Undefined first referenced symbol in file main/usr/l

Re: [libstdc++, PATCH] PR libstdc++/83140 - assoc_legendre returns negated value when m is odd.

2018-05-10 Thread Ed Smith-Rowland
On 05/10/2018 01:44 PM, Rainer Orth wrote: Hi Ed, 2018-05-07  Edward Smith-Rowland  <3dw...@verizon.net> PR libstdc++/83140 - assoc_legendre returns negated value when m is odd * include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase argument defaulted to +1.  Doxy

Quo Vadis tr1? Was: [libstdc++, PATCH] PR libstdc++/83140 - assoc_legendre returns negated value when m is odd.

2018-05-10 Thread Ed Smith-Rowland
All, We could consider dropping the TR1 support, and just provide these functions for ISO/IEC 29124:2010 in C++11 (or later) and for C++17. But that decision should be taken separately, and should only happen on trunk anyway so we need to use _Tp(+1) here. I am in favour of splitting new versi

Re: [libstdc++, PATCH] PR libstdc++/83140 - assoc_legendre returns negated value when m is odd.

2018-05-10 Thread Ed Smith-Rowland
On 05/09/2018 05:30 AM, Jonathan Wakely wrote: On 07/05/18 12:39 -0400, Ed Smith-Rowland wrote: All, We were using a different convention for P_l^m assoc_legendre(int l, int m, FloatTp x)  - the so-called Condon-Shortley convention which includes (-1)^m.  This unfortunately is common

[libstdc++, PATCH] PR libstdc++/83140 - assoc_legendre returns negated value when m is odd.

2018-05-07 Thread Ed Smith-Rowland
All, We were using a different convention for P_l^m assoc_legendre(int l, int m, FloatTp x)  - the so-called Condon-Shortley convention which includes (-1)^m.  This unfortunately is common. This factor is taken out to match the standard.  The underlying __detail code has an arg that allows

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-05-06 Thread Ed Smith-Rowland
Michele, So I think the patch you had plus tests testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc plus I'd like the new tests also in   testsuite/special_functions/08_cyl_bess

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-05-05 Thread Ed Smith-Rowland
On 01/08/2018 02:08 PM, Michele Pezzutti wrote: Formatting fixed. diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc index 7ac733d..5f8fc9f 100644 --- a/libstdc++-v3/include/tr1/bessel_function.tcc +++ b/libstdc++-v3/include/tr1/bessel_func

Re: [PATCH] PR libstdc++/80506 fix constant used in condition

2018-05-05 Thread Ed Smith-Rowland
On 04/26/2017 05:16 AM, Jonathan Wakely wrote: On 26/04/17 11:14 +0200, Paolo Carlini wrote: .. or maybe using the wrong constant only impacts the performance?!? Yes, I think so. I did some very simple sanity tests and the numbers were identical before and after. I was backporting this and

[libstdc++; pr66689; pr68397] Backport special function fixes to 7.

2018-04-26 Thread Ed Smith-Rowland
I'm thinking of going back on my choice not to fix special function bugs on 7. These build and test clean on gcc-7. OK? 2018-04-30 Edward Smith-Rowland <3dw...@verizon.net> PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values * include/tr1/ell_integral.tc

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-05 Thread Ed Smith-Rowland
On 01/04/2018 03:54 PM, Michele Pezzutti wrote: On 01/04/2018 06:16 PM, Ed Smith-Rowland wrote: On 01/03/2018 02:49 PM, Michele Pezzutti wrote: Hi. On 01/02/2018 05:43 PM, Michele Pezzutti wrote: On 01/02/2018 02:28 AM, Ed Smith-Rowland wrote: I like the patch. I have a similar one in

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-04 Thread Ed Smith-Rowland
On 01/03/2018 02:49 PM, Michele Pezzutti wrote: Hi. On 01/02/2018 05:43 PM, Michele Pezzutti wrote: On 01/02/2018 02:28 AM, Ed Smith-Rowland wrote: I like the patch. I have a similar one in the tr29124 branch. Anyway, I got held up and I think it's good to have new folks looking

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-02 Thread Ed Smith-Rowland
On 01/02/2018 04:41 PM, Michele Pezzutti wrote: On 01/02/2018 05:59 PM, Ed Smith-Rowland wrote: OK, on *third* look summing up to k = nu/2 at minimum will a achieve the result of not blowing up the asymptotic series: nu^2 - (2k-1)^2.  And it will do that without a check. This stopping

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-02 Thread Ed Smith-Rowland
On 12/31/2017 09:38 PM, Michele Pezzutti wrote: Hi. This patch intends to fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders. Seehttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=83566 forissue description.     * libstdc++-v3/include/tr1/bessel_function.tcc   Series

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-01 Thread Ed Smith-Rowland
On 12/31/2017 09:38 PM, Michele Pezzutti wrote: Hi. This patch intends to fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders. Seehttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=83566 forissue description.     * libstdc++-v3/include/tr1/bessel_function.tcc   Series

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-01 Thread Ed Smith-Rowland
On 12/31/2017 09:38 PM, Michele Pezzutti wrote: Hi. This patch intends to fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders. Seehttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=83566 forissue description.     * libstdc++-v3/include/tr1/bessel_function.tcc   Series

Re: [libstdc++] Expose Airy functions.

2017-11-18 Thread Ed Smith-Rowland
Here is the final patch fir libstdc++ Airy functions... 2017-11-18 Edward Smith-Rowland <3dw...@verizon.net> * include/bits/specfun.h: Expose airy_ai and airy_bi. * include/tr1/modified_bessel_func.tcc: Treat NaN and inf arg, return. * testsuite/ext/special_functions/ai

Re: [PATCH libstdc++/66689] comp_ellint_3 and ellint_3 return garbage values

2017-11-18 Thread Ed Smith-Rowland
On 11/17/2017 03:54 PM, Jonathan Wakely wrote: Hmm, you're probably right. I'd be tempted to though. I had an idea.  What about a macro _GLIBCXX_ELLINT_3_POS_NU or something that: 1. would allow users to detect which convention is on by default. 2. They could set or unset to get the other c

[PATCH libquadmath, pr68686] tgammaq(x) is always negative for noninteger x < 0

2017-11-13 Thread Ed Smith-Rowland
Here is a patch for tammaq for negative argument pr68686. I know about depending on ports from upstream but this was done recently and this (tgammaq) was left out. This patch is basically a one-liner. I have test cases but libquadmath doesn't have a testsuite. One test just shows alternating

[PATCH, libstdc++] PR libstdc++/68397 std::tr1::expint fails ... long double arguments.

2017-04-20 Thread Ed Smith-Rowland
Here is a patch for PR libstdc++/68397 std::tr1::expint fails in __expint_En_cont_frac for some long double arguments due to low __max_iter value. The proposed resolution of increasing the max_iter to 1000 is a simple and obvious fix. Built and tested on x86_64-linux. OK? Ed 2017-04-2

Re: Add uniform_inside_sphere_distribution

2016-10-26 Thread Ed Smith-Rowland
On 10/26/2016 05:01 AM, Jonathan Wakely wrote: On 25/10/16 08:20 -0400, Ed Smith-Rowland wrote: +explicit +param_type(_RealType __radius = _RealType(1)) +: _M_radius(__radius) +{ + _GLIBCXX_DEBUG_ASSERT(_M_radius > _RealType(0)); Nowadays we're able to do

Re: Add uniform_inside_sphere_distribution

2016-10-25 Thread Ed Smith-Rowland
All, Here is the library extension for uniform_inside _sphere_distribution. It works from discs and has been tested up through 12-dimentional spheres. The patch dispatches to rejection for Dim<8, transform otherwise as discussed earlier. Builds and tests cleanly on x86_64-linux. OK? Ed Inde

[libstdc++, C++17] Implement C++17 P0330 size_t UDL.

2016-07-20 Thread Ed Smith-Rowland
This patch defines operator""zu(unsigned long long __n) for size_t literals. for (auto k = 0zul; k < v.size(); ++k) ... Testing on x86-64-linux is finishing but I'm past these tests. OK? Ed 2016-07-21 Edward Smith-Rowland <3dw...@verizon.net> Implement C++17 P0330 size_t

Re: [libstdc++] Add C++17clamp

2016-07-15 Thread Ed Smith-Rowland
OK for trunk, thanks. I didn't see a feature test in any of the SD-6 papers or P0025. p0096r3 proposes __cpp_lib_clamp = 201603. I added the feature macro and committed the attached as 238383. Thanks, Ed 2016-07-15 Edward Smith-Rowland <3dw...@verizon.net> Implement C++17 P002

[libstdc++] Add C++17clamp

2016-07-14 Thread Ed Smith-Rowland
Here is an implementation of P0025 An algorithm to "clamp" a value between a pair of boundary values. Testing is almost finished - looks good so far. OK if testing passes? I didn't see a feature test in any of the SD-6 papers or P0025. 2016-07-15 Edward Smith-Rowland <3dw...@verizon.net>

Edit the C++14 library warning header to not indicate experimental.

2016-04-17 Thread Ed Smith-Rowland
Since the default is C++14 it seems apropos to *not* treat that C++ version thusly in the warning in libstdc++. Ed OK for trunk? And maybe some 6 branch later? 2016-04-17 Edward Smith-Rowland <3dw...@verizon.net> * include/bits/c++14_warning.h: Do not refer C++14 as experimental.

Document C++ Special Math Functions.

2016-04-08 Thread Ed Smith-Rowland
I wanted to ship the TR29124 special math functions in libstdc++ with some documentation. More could be done but this covers the function definitions, argument ranges, template parms, and arguments. There is a little mainpage with some overview, history, biblio, and links. 2016-04-08 Edward Sm

Re: Add C++ special math functions to C++17

2016-03-11 Thread Ed Smith-Rowland
On 03/11/2016 10:55 AM, Jonathan Wakely wrote: The change approved in Jacksonville was to only add the special functions to and not That's easy. OK, since they changed that and the macro and made it nonconditional I should also drop the old-style macros __WANT_MATH_CANNEVERREMEMBER__ and th

  1   2   3   4   >