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

2016-03-10 Thread Ed Smith-Rowland
Here is a small patch to allow the special maths functions that came in with TR29124 into C++17 in Jacksonville. I am leaving the TR29124 access with __STDCPP_WANT_MATH_SPEC_FUNCS__ for C++ < 17. I added the SD-6 feature macro: #define __cpp_lib_math_special_functions 20163L Passes testing on

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

2016-03-10 Thread Ed Smith-Rowland
On 03/10/2016 03:48 AM, Jakub Jelinek wrote: On Thu, Mar 10, 2016 at 03:44:26AM -0500, Ed Smith-Rowland wrote: Here is a small patch to allow the special maths functions that came in with TR29124 into C++17 in Jacksonville. I am leaving the TR29124 access with __STDCPP_WANT_MATH_SPEC_FUNCS__

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

2016-03-10 Thread Ed Smith-Rowland
On 03/10/2016 05:24 AM, Tobias Burnus wrote: Ed Smith-Rowland wrote: --- include/bits/specfun.h (svn+ssh://e...@gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/include) (working copy) +++ svn+ssh://e...@gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/include (revision 234098) @@ -1,6 +1,6

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

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: Another C++11 experimental thing...

2015-12-28 Thread Ed Smith-Rowland
On 12/27/2015 11:30 AM, Jonathan Wakely wrote: I think we should change the language in the c++0x_warning.h: Agreed, OK for trunk and gcc-5-branch, thanks. N.B. s/Ramove/Remove/ in the changelog. Done, Here are the patch and CL as applied to trunk and gcc-5. Thanks, Ed Index: include/bits/

TR29124 C++ Special Maths - Make pull functions into global namespace.

2016-01-20 Thread Ed Smith-Rowland
Now that libstdc++ installs a proper math.h we can piggyback on that to put in the last bit of TR29124. This patch adds the math special functions to c_compatibility/math.h in the global namespace. I remove the XFAILs from the compile_2.cc tests. This converts 21 XFAILs into 21 PASSes. Teste

Re: TR29124 C++ Special Maths - Make pull functions into global namespace.

2016-01-21 Thread Ed Smith-Rowland
On 01/21/2016 07:29 AM, Jonathan Wakely wrote: On 20/01/16 20:30 -0500, Ed Smith-Rowland wrote: Now that libstdc++ installs a proper math.h we can piggyback on that to put in the last bit of TR29124. This patch adds the math special functions to c_compatibility/math.h in the global namespace

Re: TR29124 C++ Special Maths - Make pull functions into global namespace.

2016-01-22 Thread Ed Smith-Rowland
On 01/22/2016 05:39 AM, Jonathan Wakely wrote: On 21/01/16 19:07 -0500, Ed Smith-Rowland wrote: On 01/21/2016 07:29 AM, Jonathan Wakely wrote: On 20/01/16 20:30 -0500, Ed Smith-Rowland wrote: Now that libstdc++ installs a proper math.h we can piggyback on that to put in the last bit of

Another C++11 experimental thing...

2015-12-25 Thread Ed Smith-Rowland
I think we should change the language in the c++0x_warning.h: Index: include/bits/c++0x_warning.h === --- include/bits/c++0x_warning.h(revision 231922) +++ include/bits/c++0x_warning.h(working copy) @@ -29,9 +29,9 @@

Note new TR29124 Special math functions on the web pages.

2015-12-25 Thread Ed Smith-Rowland
anch is for development of TR29124 Special math Functions, > for the C++ runtime library > See href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3060.pdf";> > . It is maintained by Ed Smith-Rowland > <mailto:3dw...@verizon.net";>3dw...@verizon.net>. >

[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>

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++, 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: 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

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

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.

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

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

[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++] 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

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-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/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 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

[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

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 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 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

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

[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    

[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

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

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 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, 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: [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++/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: TR1 Special Math

2015-10-25 Thread Ed Smith-Rowland
On 10/24/2015 11:38 PM, Jonathan Wakely wrote: On 8 May 2015 at 15:05, Ed Smith-Rowland <3dw...@verizon.net> wrote: On 05/07/2015 12:06 PM, Jonathan Wakely wrote: Hi Ed, The C++ committee is considering the http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4437.pdf proposal to

[wwwdocs] Remove extra SD-6 column in C++14 language stats.

2015-04-19 Thread Ed Smith-Rowland
I accidentally added an extra column to the C++14 language stats by duplicating a column for the SD-6 feature test macros. This one-liner fixes it. I'll need someone to apply this... Sorry. Ed ? class_key.txt ? help ? patch ? patch_cxx14 ? patch_cxx14_2 ? patch_cxx14_3 ? patch_cxx1y ? patch_

[PATCH] [libstdc++] Add uniform container erasure.

2015-04-30 Thread Ed Smith-Rowland
This has been in me tree for a good while. It is fairly simple and adds C++ experimental container erasure. Builds and tests cleanly on x86_64-linux. OK? Index: include/Makefile.am === --- include/Makefile.am (revision 222573) +++

Re: [PATCH] [libstdc++] Add uniform container erasure.

2015-04-30 Thread Ed Smith-Rowland
And make_array, which isn't in the working paper yet, so I'd prefer to leave that part out for now. D'oh! Sorry about that.. Removed. The Doxygen @headername command tells users which header they are supposed to include, rather than this one. Since there is no header that's wrong. I'd just

Re: [PATCH] [libstdc++] Add uniform container erasure.

2015-05-01 Thread Ed Smith-Rowland
On 04/30/2015 02:01 PM, Daniel Krügler wrote: Shouldn't the "one-liner" forwarding function templates be declared as inline? - Daniel You are right. This builds and tests clean on x86_64-linux. OK? 2015-05-01 Edward Smith-Rowland <3dw...@verizon.net> Inline one-line erasure dispat

Re: [wwwdocs] C++ SD-6 feature test column for cxx0x.html and cxx1y.html

2015-01-25 Thread Ed Smith-Rowland
On 01/25/2015 05:04 PM, Gerald Pfeifer wrote: Hi Ed, On Friday 2015-01-02 13:59, Ed Smith-Rowland wrote: I would like peoples opinion of adding another column to the tables indicating C++ feature status for C++11 and C++14 that contains the relevant SD-6 feature macro. Sure, that makes sense

Add a blurb about __has_cpp_attribute and __has_attribute to gcc-5/changes.

2015-01-26 Thread Ed Smith-Rowland
Gerald, Could I get a hand on checking in this last addition? -m 'Add a blurb to htdocs/gcc-5/changes.html to explain the __has_cpp_attribute and the equivalent __has_attribute macros.' Thanks, Ed Sorry, I forgot to add gcc-patches. Index: htdocs/gcc-5/changes.html

PR c++/64626 - C++14 single quote should not always be a digit separator

2015-03-08 Thread Ed Smith-Rowland
I just look to see if a lexed number in libcpp ends in a '. If so, back up one character and let string processing handle it. I get one warning and one error for each instance but I'd rather not error when it should pass. Built and tests clean on x86_64-linux. OK? libcpp/ 2015-03-09 Edwa

Re: PR c++/64626 - C++14 single quote should not always be a digit separator

2015-03-09 Thread Ed Smith-Rowland
On 03/08/2015 02:52 PM, Jakub Jelinek wrote: On Sun, Mar 08, 2015 at 02:33:03PM -0400, Ed Smith-Rowland wrote: I just look to see if a lexed number in libcpp ends in a '. If so, back up one character and let string processing handle it. I get one warning and one error for each instance bu

Re: PR c++/64626 - C++14 single quote should not always be a digit separator

2015-03-09 Thread Ed Smith-Rowland
Forget this last patch. The syntax of my dg lines was wrong and I'm seeing errors I'm not sure I like. I need to look at this further. I'm sorry for the noise.

Re: PR c++/64626 - C++14 single quote should not always be a digit separator

2015-03-15 Thread Ed Smith-Rowland
OK, Here is a new try at PR c++/64626 - C++14 single quote should not always be a digit separator. I decided to look for multiple terminating single quotes. The test cases have bee adjusted and debugged. Built and tested on x86_64-linux. Ed libcpp/ 2015-03-16 Edward Smith-Rowland <3dw.

Re: [C++17] Implement N3928 - Extending static_assert

2015-06-15 Thread Ed Smith-Rowland
On 06/15/2015 12:05 PM, Jason Merrill wrote: On 05/20/2015 11:28 AM, Jason Merrill wrote: On 05/02/2015 04:16 PM, Ed Smith-Rowland wrote: This extends' static assert to not require a message string. I elected to make this work also for C++11 and C++14 and warn only with -pedantic. I think

Re: [C++17] Implement N3928 - Extending static_assert

2015-06-17 Thread Ed Smith-Rowland
On 06/17/2015 10:23 AM, Jason Merrill wrote: On 06/15/2015 07:14 PM, Ed Smith-Rowland wrote: I wanted to fix it up as per your suggestion. If someone wants it now I can retest and commit. Otherwise give me a bit more time. Someone in LWG was asking about it, and I figured it wouldn't

Re: [C++17] Implement N3928 - Extending static_assert

2015-06-24 Thread Ed Smith-Rowland
On 06/17/2015 03:22 PM, Jason Merrill wrote: On 06/17/2015 01:53 PM, Ed Smith-Rowland wrote: I tried the obvious: an error message with %qE and got 'false'. constexpr values are evaluated early on. Is there a possibility that late folding could help or is that completely differe

[PATCH, C++-1z] Implement N4197 - Adding u8 character literals

2015-06-27 Thread Ed Smith-Rowland
I apologize to all who got this earlier. I forgot to send to the list. This patch adds UTF-8 character literals to C++: auto c = u8'c'; This is mostly a straight forward preprocessor exercise. I only allow these characters in -std=c++1z and -std=gnu++1z. I figure we can expand that easily w

Re: TR1 Special Math

2015-11-13 Thread Ed Smith-Rowland
On 11/13/2015 10:32 AM, Jonathan Wakely wrote: On 25 October 2015 at 20:48, Jonathan Wakely wrote: On 25 October 2015 at 17:46, Ed Smith-Rowland <3dw...@verizon.net> wrote: On 10/24/2015 11:38 PM, Jonathan Wakely wrote: On 8 May 2015 at 15:05, Ed Smith-Rowland <3dw...@verizon.net>

Re: Aw: Re: TR1 Special Math

2015-11-16 Thread Ed Smith-Rowland
On 11/16/2015 07:28 PM, Florian Goth wrote: Hi all, just a quick note that I'm still around... Any particular pointers how I can help in improving the implementation? Cheers, Florian. Gesendet: Samstag, 14. November 2015 um 21:40 Uhr Von: "Ed Smith-Rowland" <3dw...@verizon.

Re: [libstdc++ PATCH] Implement observer_ptr

2015-05-01 Thread Ed Smith-Rowland
On 05/01/2015 05:01 PM, Jonathan Wakely wrote: On 01/05/15 16:37 +0300, Ville Voutilainen wrote: Tested on Linux-x64. Implement observer_ptr. Thanks! Committed with some minor formatting changes. I've also committed this to add feature-test macros and update the docs. Tested powerpc64le-l

Re: [libstdc++ PATCH] Implement observer_ptr

2015-05-02 Thread Ed Smith-Rowland
On 05/02/2015 05:42 AM, Jonathan Wakely wrote: On 02/05/15 10:40 +0100, Jonathan Wakely wrote: On 01/05/15 22:02 -0400, Ed Smith-Rowland wrote: On 05/01/2015 05:01 PM, Jonathan Wakely wrote: On 01/05/15 16:37 +0300, Ville Voutilainen wrote: Tested on Linux-x64. Implement observer_ptr

[C++17] Implement N3928 - Extending static_assert

2015-05-02 Thread Ed Smith-Rowland
This extends' static assert to not require a message string. I elected to make this work also for C++11 and C++14 and warn only with -pedantic. I think many people just write static_assert(thing, ""); . I took the path of building an empty string in the parser in this case. I wasn't sure if s

Re: C/C++ PATCH to allow deprecating enum values (PR c/47043)

2015-05-06 Thread Ed Smith-Rowland
In addition to a PR this is 1/2 of a C=+17 feature. (The other half - really a separate thing - is attributes on namespaces). I wonder if we should pedwarn for < C++17? Or it could be just an extension for < C++17 - I guess that would match with clang. if (SCOPED_ENUM_P (newtag)) diff --g

Re: C/C++ PATCH to allow deprecating enum values (PR c/47043)

2015-05-07 Thread Ed Smith-Rowland
On 05/07/2015 09:59 AM, Marek Polacek wrote: On Wed, May 06, 2015 at 11:17:20PM -0400, Ed Smith-Rowland wrote: In addition to a PR this is 1/2 of a C=+17 feature. (The other half - really a separate thing - is attributes on namespaces). Ah, nice, I wasn't aware. For the record, this is

[PING] [C++17] Implement N3928 - Extending static_assert

2015-05-19 Thread Ed Smith-Rowland
On 05/02/2015 04:16 PM, Ed Smith-Rowland wrote: This extends' static assert to not require a message string. I elected to make this work also for C++11 and C++14 and warn only with -pedantic. I think many people just write static_assert(thing, ""); . I took the path of bu

Re: C/C++ PATCH to allow deprecating enum values (PR c/47043)

2015-05-23 Thread Ed Smith-Rowland
On 05/22/2015 06:19 PM, Mikhail Maltsev wrote: On 22.05.2015 12:10, Marek Polacek wrote: Thanks, applied. Here's the final version. By the way, we have a feature test macro, __cpp_attributes=200809 which can be used to determine, whether C++11 attribute syntax is supported by the compiler. I

Change __cpp_concepts to __cpp_experimental_concepts

2015-08-07 Thread Ed Smith-Rowland
Jason, My reading of 1.5 Feature-testing recommendations (Informative) /2 ... The recommended macro name is __cpp_experimental_ followed by the string in the “Macro name suffix” column in Table 1. ... Says change __cpp_concepts to __cpp_experimental_concepts Cool beans on getting this in. E

[v3 PATCH] Add C++11

2015-08-13 Thread Ed Smith-Rowland
Greetings, Now that most systems have uchar.h for conversion between char16_t* and char32_t* to multibyte (analogue of wchar.h and cwchar) i think we should check off this last little crumb of C++11. I submitted this a while back but Jonathan suggested improvements and it took me a hot minut

Re: [v3 PATCH] Add C++11

2015-08-14 Thread Ed Smith-Rowland
On 08/13/2015 10:51 AM, Jonathan Wakely wrote: On 13/08/15 10:37 -0400, Ed Smith-Rowland wrote: Greetings, Now that most systems have uchar.h for conversion between char16_t* and char32_t* to multibyte (analogue of wchar.h and cwchar) i think we should check off this last little crumb of C

Re: [v3 PATCH] Add C++11

2015-08-14 Thread Ed Smith-Rowland
OK. This tested clean because it didn't install the headers. So Jonathan. I am going to throw in the sponge on the configury. Could you have a look and carry this over the finish line? Ed

Re: [wwwdocs] Add feature-testing macros and std::is_final to gcc-5/changes.html

2014-10-02 Thread Ed Smith-Rowland
On 10/02/2014 06:14 AM, Jonathan Wakely wrote: On 02/10/14 11:12 +0100, Jonathan Wakely wrote: Note Ed's recent changes. Committed to CVS. And fix a markup error that I expected xmllint to catch :-( Thank you! I tried to do this and couldn't for permissions. I'm probably not doing it right.

std::is_final for gcc-4.9 branch.

2014-10-02 Thread Ed Smith-Rowland
Built and tested clean on x86_64-linux. OK? Ed 2014-10-03 Edward Smith-Rowland <3dw...@verizon.net> * include/std/type_traits: Add is_final<> type trait for C++14. * testsuite/util/testsuite_tr1.h: Add * testsuite/20_util/is_final/requirements/ explicit_insta

SD-6 C++ feature-testing macros for 4.9

2014-10-04 Thread Ed Smith-Rowland
trait going on the branch too). - Original Message - From: "Jason Merrill" To: "Ed Smith-Rowland" <3dw...@verizon.net>, "Jonathan Wakely" Cc: gcc-patches@gcc.gnu.org, "thiago macieira" Sent: Thursday, 2 October, 2014 4:40:03 PM Subject: Re

Allow [[deprecated]] even for C++11 (with pedwarn)

2014-10-05 Thread Ed Smith-Rowland
Greetings, There was some feeling that not allowing [[deprecated]] for C++ was a little extreme. This patch builds and tests clean on x86_64-linux. OK? Ed gcc/c-family: 2014-10-06 Edward Smith-Rowland <3dw...@verizon.net> * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecat

Re: [wwwdocs] Add feature-testing macros and std::is_final to gcc-5/changes.html

2014-10-07 Thread Ed Smith-Rowland
On 10/02/2014 10:24 AM, Jonathan Wakely wrote: On 02/10/14 10:09 -0400, Ed Smith-Rowland wrote: On 10/02/2014 06:14 AM, Jonathan Wakely wrote: On 02/10/14 11:12 +0100, Jonathan Wakely wrote: Note Ed's recent changes. Committed to CVS. And fix a markup error that I expected xmllint to

Re: [4.9 PATCH, testsuite]: Fix g++.dg/cpp1y/feat-cxx14.C testsuite errors

2014-10-09 Thread Ed Smith-Rowland
On 10/09/2014 05:54 PM, Mike Stump wrote: On Oct 9, 2014, at 11:56 AM, Uros Bizjak wrote: 2014-10-09 Uros Bizjak * g++.dg/cpp1y/feat-cxx14.C: Variable templates not in yet. (dg-do): Use c++1y target. Tested on x86_64. OK for branch? So, I need Ed or Jason to review it… Yes, plea

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-26 Thread Ed Smith-Rowland
On 06/25/2014 10:03 AM, Andrew Sutton wrote: I did a full 3-stage bootstrap which is the default these days. I'll try --disable-bootstrap and see what happens. I just did a full bootstrap build and got the same errors. The errors are correct for C++11, which was enabled by default in this branch

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-26 Thread Ed Smith-Rowland
So is C++14 a done deal with a __cplusplus date and all? I've been waiting for some news or a trip report from Rapperswil and have seen nothing on isocpp. I've been thinking of adding a thing or two to C++1z like clang has - The Disabling trigraph expansion by default looks easy. Ed

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-27 Thread Ed Smith-Rowland
On 06/26/2014 11:28 PM, Jason Merrill wrote: On 06/26/2014 09:38 PM, Ed Smith-Rowland wrote: So is C++14 a done deal with a __cplusplus date and all? The C++14 draft was finalized at the February meeting in Issaquah; the ratification process isn't quite done, but I haven't heard

Re: [Bug c++/60249] [c++11] Compiler goes into semi-infinite loop with wrong usage of user defined string literals

2014-06-28 Thread Ed Smith-Rowland
On 06/27/2014 05:39 PM, paolo.carlini at oracle dot com wrote: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60249 --- Comment #5 from Paolo Carlini --- Patch looks *great*. If it works, please send it to mailing list ASAP. I think I finally got these weird user-defined string literal bugs. "D

[PATCH PR C++/58781, 59867, 60249 ] Various user-defined string literal issues involving character encodings, dropped bytes, semi-infinite loops

2014-06-28 Thread Ed Smith-Rowland
ates (not available in C++11). Built and tested clean on x86_64-linux. OK? I would also like to apply this to 4.9. Ed Smith-Rowland cp/ 2014-06-28 Edward Smith-Rowland <3dw...@verizon.net> PR c++/58781 PR c++/60249 PR c++/59867 * parser.c (cp_parser

PR C++/60209 - Declaration of user-defined literal operator cause error

2014-07-03 Thread Ed Smith-Rowland
Support operator"" ""(...) per CWG 1473. I'll be AFK over the holiday. Bootstrapped and tested on x86_64-linux. OK? I'm less sure if this is appropriate for 4.9. Index: cp/parser.c === --- cp/parser.c (revision 212248) +++ cp/par

[C++ Patch] PR 58155 - -Wliteral-suffix warns about tokens which are skipped

2014-07-07 Thread Ed Smith-Rowland
This patch addresses an old issue of warning about macro touching string literal even if the code is skipped: #define BAZ "baz" #if 0 "bar"BAZ #endif Just skip the warning Wliteral-suffix if the preprocessor is skipping. Built and tested on x86_64-linux. OK? And for 4.9

[PATCH, libstdc++] Add the logistic distribution as an extension

2014-07-10 Thread Ed Smith-Rowland
The title says it all. I've been bootstrapping and testing with this on x86_64-linux for a month. OK? Ed 2014-07-10 Edward Smith-Rowland <3dw...@verizon.net> Add the logistic_distribution as an extension. * include/ext/random: Add the logistic_distribution. * includ

[PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.

2014-07-10 Thread Ed Smith-Rowland
Here are some C++ versioning changes reflecting C++14 status and adding c++1z. It is a followup to Jason's patch on 2014-06-26 adding std=c++1z, etc. This will allow us to start making C++1z changes to the preprocessor (n3981 remove trigraphs). In fact, I made trigraphs opt-in for both c++1z

[PATCH preprocessor/61389] - libcpp diagnostics shouldn't talk about ISO C99 for C++ input files

2014-07-10 Thread Ed Smith-Rowland
Here is a preprocessor patch to make error messages show C++11 and other relevant C++ language instead of C99. Built and tested on x86_64-linux. OK? libcpp/ 2014-07-09 Edward Smith-Rowland <3dw...@verizon.net> PR CPP/61389 * macro.c (_cpp_arguments_ok, parse_params, create

[PATCH libstdc++] Buglet in gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C

2014-07-10 Thread Ed Smith-Rowland
Index: gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C === --- gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C(revision 212440) +++ gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C(working copy) @@ -7,7 +7,7 @@ i = 1048''576; // { dg-error

Re: [PATCH, libstdc++] Add the logistic distribution as an extension

2014-07-11 Thread Ed Smith-Rowland
On 07/10/2014 06:16 AM, Paolo Carlini wrote: .. I have another comment: are we sure the usual strategy: template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, this->_M_param); } doesn't make sense here too? Paolo. >> Look OK

Re: [PATCH, libstdc++] Add the logistic distribution as an extension

2014-07-11 Thread Ed Smith-Rowland
On 07/11/2014 11:42 AM, Paolo Carlini wrote: Hi, On 07/11/2014 05:38 PM, Ed Smith-Rowland wrote: OK? Ok, thanks, but please adjust the dates you have on the testcases to the date of the actual commit (I suppose today or tomorrow) Thanks again! Paolo. As committed. Thanks all for looking

[PATCH] PR C++/60209 - Declaration of user-defined literal operator cause error

2014-07-12 Thread Ed Smith-Rowland
PING! Support operator"" ""(...) per CWG 1473. This brings full string parsing to literal operator declarations including string chunk concatenation and appropriate errors. Bootstrapped and tested on x86_64-linux. OK? I'm less sure if this is appropriate for 4.9 even when it opens. cp/

[PATCH] PR preprocessor/23827 - standard C++ should not have hex float preprocessing tokens

2014-07-12 Thread Ed Smith-Rowland
Greetings, This old bug involved C++98 accepting hex floats without complaint. I also split the error messages between C and C++ like in the recent PR 61389 patch. Bootstrapped and tested clean on x86_64-linux. OK? libcpp/ 2014-07-12 Edward Smith-Rowland <3dw...@verizon.net> PR

Re: [PATCH] libstdc++: add uniform on sphere distribution

2014-07-13 Thread Ed Smith-Rowland
> are these dummy implementations intended? Yes. There is no state. The only parameter is the dimensionality which is a template parameter. We do often serialize underlying helper distributions, in your case the normal distribution _M_n. While the normal distribution mean and stddev are tr

Re: [PATCH] libstdc++: add uniform on sphere distribution

2014-07-13 Thread Ed Smith-Rowland
On 07/13/2014 10:11 AM, Ulrich Drepper wrote: On Sun, Jul 13, 2014 at 9:55 AM, Ed Smith-Rowland <3dw...@verizon.net> wrote: So I would just serialize _M_n here. It has fixed parameters. This would mean unnecessary work. When you try to use the parameter of the sphere distribution the

Re: [PATCH] libstdc++: add uniform on sphere distribution

2014-07-16 Thread Ed Smith-Rowland
On 07/14/2014 04:14 AM, Paolo Carlini wrote: Hi, On 07/14/2014 09:58 AM, Andreas Schwab wrote: FAIL: ext/random/arcsine_distribution/cons/default.cc (test for excess errors) Excess errors: /daten/aranym/gcc/gcc-20140714/libstdc++-v3/include/ext/random.tcc:1587:22: error: '_M_n' was not declar

Re: Patch for constexpr variable templates

2014-07-21 Thread Ed Smith-Rowland
Braden, I've played with this and it seems to work nicely. Only one comment: Could you put the test cases in the C++14 subdirectory? g++.dg/template/cpp1y/var-templ1.C ^ We should CC Jason on all this. Also, do you have your FSF paperwork in place? Thanks, Ed

Implement N4051 - Allow typename in a template template parameter

2014-07-21 Thread Ed Smith-Rowland
This little annoyance has bugged me a couple of times over the years: template struct A {}; template using B = int; template class X> struct C; C ca; // ok C cb; // ok, not a class template template typename X> struct D; // error, cannot use typename here C++17 it seems allows typename in tem

Re: Implement N4051 - Allow typename in a template template parameter

2014-07-22 Thread Ed Smith-Rowland
On 07/22/2014 01:56 AM, Ville Voutilainen wrote: +/* Parse a type-parameter-key. + + type-parameter-key: + class + typedef + + Returns the kind of type-parameter-key specified, or none_type to indicate + error. */ + Typo above, should be typename, not typedef. Thanks! New patch

Re: Patch for constexpr variable templates

2014-07-23 Thread Ed Smith-Rowland
Braden, Great work on this. In addition to helping with constraints there is at least one new library feature that depends on constexpr variable templates. For my two cents it would be good to get just the constexpr variable templates, aka n3651, in now as a first stage - it's quite usable.

Re: Implement N4051 - Allow typename in a template template parameter

2014-07-23 Thread Ed Smith-Rowland
On 07/23/2014 06:05 AM, Jason Merrill wrote: On 07/22/2014 01:53 PM, Ed Smith-Rowland wrote: +if (cxx_dialect < cxx1z) + { +/* Look for the `class' keyword. */ +cp_parser_require_keyword (parser, RID_CLASS, RT_CLASS); + } +else + { +/*

Re: Implement N4051 - Allow typename in a template template parameter

2014-07-24 Thread Ed Smith-Rowland
On 07/24/2014 11:32 AM, Jason Merrill wrote: On 07/23/2014 10:31 PM, Ed Smith-Rowland wrote: +pedwarn (token->location, OPT_Wpedantic, + "ISO C++ forbids typename key in template template parameter"); This should mention -std=c++1z. + if (tag_type

Re: Make the string_view literal operators constexpr like the ctors they call.

2014-07-24 Thread Ed Smith-Rowland
On 03/08/2014 01:33 PM, Jonathan Wakely wrote: On 8 March 2014 16:29, Ed Smith-Rowland wrote: On 03/08/2014 11:27 AM, Ed Smith-Rowland wrote: The title says it all. This was just an oversight in the original patch. This could wait until stage 1 obviously. I just wanted to post it. There

Re: Patch for constexpr variable templates

2014-07-25 Thread Ed Smith-Rowland
How difficult would it be to make partial specializations work: // Write n*pi once for every possible type template constexpr Tp npi = N * Tp(3.1415926535897932385L); // Partial specialization for int type. template constexpr double npi = N * double(3.1415926535897932385L);

Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.

2014-07-26 Thread Ed Smith-Rowland
On 07/16/2014 12:18 PM, Mike Stump wrote: On Jul 16, 2014, at 7:51 AM, Ed Smith-Rowland <3dw...@verizon.net> wrote: Deprecate c++1y. Chane language to reflect greater confidence in C++14 Chane -> Change. I looked at your patch, all seems fine. I like the documentation edit

  1   2   3   4   >