Re: [PATCH] libstdc++: Use __builtin_shufflevector for simd split and concat

2024-05-13 Thread Jonathan Wakely
On Tue, 7 May 2024 at 14:42, Matthias Kretz wrote: > > Tested on x86_64-linux-gnu and aarch64-linux-gnu and with Clang 18 on x86_64- > linux-gnu. > > OK for trunk and backport(s)? OK for all. > > -- 8< > > Signed-off-by: Matthias Kretz > > libst

Re: [PATCH] libsupc++: Fix handling of m68k extended real in

2024-09-02 Thread Jonathan Wakely
On Mon, 2 Sept 2024 at 10:02, Andreas Schwab wrote: > > PR libstdc++/116513 > * libsupc++/compare (_S_fp_bits) [__fmt == _M68k_80bit]: Shift > padding out of exponent word. OK for trunk. The code is present since GCC 12.1 so it's your call as target maintainer which branch

Re: [PATCH] [libstdc++-v3] [testsuite] improve future/*/poll.cc calibration

2024-09-02 Thread Jonathan Wakely
On Sat, 31 Aug 2024 at 05:51, Alexandre Oliva wrote: > > > 30_threads/future/members/poll.cc has calibration code that, on > systems with very low clock resolution, may spuriously fail to run. > Even when it does run, low resolution and reasonable > timeouts limit severely the viability of increas

Re: [PATCH v2] [libstdc++] [testsuite] avoid async.cc loss of precision [PR91486]

2024-09-02 Thread Jonathan Wakely
On Thu, 1 Aug 2024 at 11:44, Alexandre Oliva wrote: > > When we get to test_pr91486_wait_until(), we're about 10s past the > float_steady_clock epoch. This is enough for the 1s delta for the > timeout to come out slightly lower when the futex-less wait_until > converts the deadline from float_ste

Re: [PATCH v1 3/9] aarch64: Add minimal C++ support

2024-09-02 Thread Jonathan Wakely
On Mon, 2 Sept 2024, 14:15 Kyrylo Tkachov, wrote: > Hi Evgeny, > > > On 2 Sep 2024, at 15:03, Evgeny Karpov > wrote: > > > > External email: Use caution opening links or attachments > > > > > > The patch resolves compilation issues for the C++ language. Previous > > patch series contributed to C

Re: [PATCH v1 3/9] aarch64: Add minimal C++ support

2024-09-02 Thread Jonathan Wakely
On Mon, 2 Sept 2024, 14:15 Kyrylo Tkachov, wrote: > Hi Evgeny, > > > On 2 Sep 2024, at 15:03, Evgeny Karpov > wrote: > > > > External email: Use caution opening links or attachments > > > > > > The patch resolves compilation issues for the C++ language. Previous > > patch series contributed to C

[committed] libstdc++: Simplify std::any to fix -Wdeprecated-declarations warning

2024-09-03 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. -- >8 -- We don't need to use std::aligned_storage in std::any. We just need a POD type of the right size. The void* union member already ensures the alignment will be correct. Avoiding std::aligned_storage means we don't need to suppress a -Wdeprecated-decla

[committed] libstdc++: Specialize std::disable_sized_sentinel_for for std::move_iterator [PR116549]

2024-09-03 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. -- >8 -- LWG 3736 added a partial specialization of this variable template for two std::move_iterator types. This is needed for the case where the types satisfy std::sentinel_for and are subtractable, but do not model the semantics requirements of std::sized_

[committed] libstdc++: Fix error handling in fs::hard_link_count for Windows

2024-09-03 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. -- >8 -- The recent change to use auto_win_file_handle for std::filesystem::hard_link_count caused a regression. The std::error_code argument should be cleared if no error occurs, but this no longer happens. Add a call to ec.clear() in fs::hard_link_count to

[committed, gcc-14] libstdc++: Fix std::variant to reject array types [PR116381]

2024-09-04 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to gcc-14. -- >8 -- For the backport, rejecting array types is only done in strict modes. libstdc++-v3/ChangeLog: PR libstdc++/116381 * include/std/variant (variant): Fix conditions for static_assert to match the spec. * testsuite/20_u

Re: [PATCH RFA] libstdc++: -Wswitch and ios::openmode

2024-09-05 Thread Jonathan Wakely
On Thu, 5 Sept 2024 at 22:00, Jason Merrill wrote: > > Tested x86_64-pc-linux-gnu, OK for trunk? OK, thanks. > > -- 8< -- > > In addition to marking it as flag_enum, we want to avoid warnings about > not having a case for the implementation detail enumerators > _S_ios_openmode_*. And also for _

Re: [PATCH RFA] libstdc++: avoid __GLIBCXX__ redefinition

2024-09-06 Thread Jonathan Wakely
On Fri, 6 Sept 2024 at 02:47, Jason Merrill wrote: > > On 8/28/24 6:22 AM, Jason Merrill wrote: > > On 8/28/24 6:09 AM, Jonathan Wakely wrote: > >> On Wed, 28 Aug 2024 at 10:58, Jason Merrill wrote: > >>> > >>> On 8/28/24 5:55 AM, Jonathan Wakely wrot

Re: [PATCH RFC] c-family: add attribute flag_enum [PR46457]

2024-09-06 Thread Jonathan Wakely
On 05/09/24 21:44 -0400, Jason Merrill wrote: On 9/4/24 11:02 AM, Marek Polacek wrote: +handle_flag_enum_attribute (tree *node, tree ARG_UNUSED(name), tree args, + int ARG_UNUSED (flags), bool *no_add_attrs) +{ + if (args) +warning (OPT_Wattributes, "%qE attribute

[committed] libstdc++: Fix std::chrono::parse for TAI and GPS clocks

2024-09-06 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. This should be backported too. I noticed while testing this that all the from_stream overloads for time_point specializations use time_point_cast to convert to the correct result type. That's wrong, but I'll fix that separately, as it affects more than just GP

[PATCH] libstdc++: Adjust std::span::iterator to be ADL-proof

2024-09-06 Thread Jonathan Wakely
This proposed patch means that span is not an associated type of span::iterator, which means that we won't try to complete T when doing ADL in the constraints for const_iterator. This makes it more reliable to use std::span. See https://github.com/llvm/llvm-project/issues/107215 for more info on t

Re: [PATCH RFC] c-family: add attribute flag_enum [PR46457]

2024-09-06 Thread Jonathan Wakely
On Fri, 6 Sept 2024 at 20:17, Jason Merrill wrote: > > On 9/6/24 8:56 AM, Jonathan Wakely wrote: > > On 05/09/24 21:44 -0400, Jason Merrill wrote: > >> On 9/4/24 11:02 AM, Marek Polacek wrote: > >>>> +handle_flag_enum_attribute (tree *node, tre

Re: [PATCH RFA] libstdc++: fix C header include guards

2024-09-10 Thread Jonathan Wakely
On Tue, 10 Sept 2024 at 05:10, Jason Merrill wrote: > > Tested x86_64-pc-linux-gnu, OK for trunk? I'm going to have to do some digging ... I _think_ there's some obscure reason for this. Maybe a weird bootstrap situation. Or maybe I made that up as rationale for a scripting error. > > -- 8< -- >

[committed] libstdc++: Add missing exception specifications in tests

2024-09-10 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. -- >8 -- Since r15-3532-g7cebc6384a0ad6 18_support/new_nothrow.cc fails in C++98 mode because G++ diagnoses missing exception specifications for the user-defined (de)allocation functions. Add throw(std::bad_alloc) and throw() for C++98 mode. Similarly, 26_n

[committed] libstdc++: std::string move assignment should not use POCCA trait [PR116641]

2024-09-10 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. Backports to follow. -- >8 -- The changes to implement LWG 2579 (r10-327-gdb33efde17932f) made std::string::assign use the propagate_on_container_copy_assignment (POCCA) trait, for consistency with operator=(const basic_string&). However, this also unintentio

[committed] libstdc++: Only use std::ios_base_library_init() for ELF [PR116159]

2024-09-10 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. Backport to follow. -- >8 -- The undefined std::ios_base_library_init() symbol that is referenced by is only supposed to be used for targets where symbol versioning is supported. The mingw-w64 target defaults to --enable-symvers=gnu due to using GNU ld but

Re: [PATCH RFA] libstdc++: fix C header include guards

2024-09-11 Thread Jonathan Wakely
On Tue, 10 Sept 2024 at 11:12, Jonathan Wakely wrote: > > On Tue, 10 Sept 2024 at 05:10, Jason Merrill wrote: > > > > Tested x86_64-pc-linux-gnu, OK for trunk? > > I'm going to have to do some digging ... I _think_ there's some > obscure reason for this. Maybe

[PATCH 1/2] c++: Make __builtin_launder reject invalid types [PR116673]

2024-09-12 Thread Jonathan Wakely
Tested x86_64-linux. OK for trunk? -- >8 -- The standard says that std::launder is ill-formed for function pointers and cv void pointers, so there's no reason for __builtin_launder to accept them. This change allows implementations of std::launder to defer to the built-in for error checking, alth

[PATCH 2/2] libstdc++: Simplify std::launder definition

2024-09-12 Thread Jonathan Wakely
Tested x86_64-linux. Both GCC and Clang support the __is_function built-in, so we should get the static_assert here. For a compiler that doesn't support it, we rely on __builtin_launder to diagnose function pointers. That's true for Clang, and PATCH 1/2 makes it true for G++. We might want to con

Re: [PATCH 1/2] c++: Make __builtin_launder reject invalid types [PR116673]

2024-09-12 Thread Jonathan Wakely
On Thu, 12 Sept 2024 at 19:38, Patrick Palka wrote: > > On Thu, 12 Sep 2024, Jonathan Wakely wrote: > > > Tested x86_64-linux. OK for trunk? > > > > -- >8 -- > > > > The standard says that std::launder is ill-formed for function pointers > >

[committed] libstdc++: Remove unused alias template in std::optional

2024-09-12 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. -- >8 -- I added this __is_bool alias template in r15-2309-g6d86486292acbe but it isn't actually used so can be removed. libstdc++-v3/ChangeLog: * include/std/optional (__is_bool): Remove. --- libstdc++-v3/include/std/optional | 2 -- 1 file change

[PATCH 1/2 v2] c++: Make __builtin_launder reject invalid types [PR116673]

2024-09-12 Thread Jonathan Wakely
On Thu, 12 Sept 2024 at 16:02, Jason Merrill wrote: > > On 9/12/24 4:49 AM, Jonathan Wakely wrote: > > Tested x86_64-linux. OK for trunk? > > > > -- >8 -- > > > > The standard says that std::launder is ill-formed for function pointers > > a

[PATCH] libstdc++: Enable most of for freestanding

2024-09-12 Thread Jonathan Wakely
This restores support for most of with -ffreestanding. In case there are users who want a minimal freestanding implementation that only provides what the standard guarantees, there's a new macro that disables again. This can be used to write more portable freestanding code that doesn't rely on b

[PATCH] libstdc++: Refactor loops in std::__platform_semaphore

2024-09-12 Thread Jonathan Wakely
You might notice that this removes handling of EINVAL from the call to sem_timedwait. That error can only happen with a negative ts_nsec value, which can only happen for a timestamp before the epoch. We should handle that properly, not just for the case where ts_nsec happens to be negative. I opene

[PATCH] libstdc++: Tweak localized formatting for floating-point types

2024-09-12 Thread Jonathan Wakely
This adds some comments to explain what this rather subtle code is doing. It also replaces string::copy with using char_traits::copy directly, because the bounds checks and length adjustments that string::copy does are redundant here - we already ensure the lengths are correct. Tested x86_64-linux

[PATCH] c++: Fix g++.dg/ext/sve-sizeless-1.C regression

2024-09-13 Thread Jonathan Wakely
I'll wait for Linaro CI to confirm this works, and then push. I didn't see the regression because I only tested on x86_64. -- >8 -- This aarch64-*-* test needs an update for the diagnostic I changed in r15-3614-g9fe57e4879de93. gcc/testsuite/ChangeLog: * g++.dg/ext/sve-sizeless-1.C: Ad

Re: [PATCH] libstdc++: Do not use use memmove for 1-element ranges [PR108846, PR116471]

2024-09-13 Thread Jonathan Wakely
On Fri, 30 Aug 2024 at 11:52, Giuseppe D'Angelo wrote: > > Hello, > > This patch completes the fix for PR108846, extending it to range-based > copy/move algorithms, and also fixes a faulty static_assert in them > (PR116471). > It's a minor improvement over the patch I've attached to PR116471 (I've

Re: [PATCH v2] libstdc++: add default template parameters to algorithms

2024-09-13 Thread Jonathan Wakely
On Sat, 3 Aug 2024 at 00:10, Jonathan Wakely wrote: > > On Fri, 2 Aug 2024 at 23:49, Giuseppe D'Angelo > wrote: > > > > Hello, > > > > as usual thank you for the review. V2 is attached. > > > > On 02/08/2024 14:38, Jonathan Wakely wrote: > &g

Re: [PATCH] libstdc++: Do not use use memmove for 1-element ranges [PR108846, PR116471]

2024-09-13 Thread Jonathan Wakely
On Fri, 13 Sept 2024 at 11:00, Giuseppe D'Angelo wrote: > > Hello, > > Thank you for the review! > > Il 13/09/24 10:49, Jonathan Wakely ha scritto: > > > > But I can make these minor changes locally and push it if you want - > > there's no need for a

Re: [PATCH v2] libstdc++: add default template parameters to algorithms

2024-09-13 Thread Jonathan Wakely
On Fri, 13 Sept 2024 at 11:26, Jonathan Wakely wrote: > > On Sat, 3 Aug 2024 at 00:10, Jonathan Wakely wrote: > > > > On Fri, 2 Aug 2024 at 23:49, Giuseppe D'Angelo > > wrote: > > > > > > Hello, > > > > > > as usual thank yo

Re: [PATCH] libstdc++: Enable most of for freestanding

2024-09-14 Thread Jonathan Wakely
On Sat, 14 Sept 2024 at 10:39, Arsen Arsenović wrote: > > Jonathan Wakely writes: > > > This restores support for most of with -ffreestanding. In case > > there are users who want a minimal freestanding implementation that only > > provides what the standard guarantee

Re: [PATCH v2] libstdc++: add default template parameters to algorithms

2024-09-15 Thread Jonathan Wakely
On Fri, 13 Sept 2024 at 18:14, Patrick Palka wrote: > > On Fri, 13 Sep 2024, Jonathan Wakely wrote: > > > On Sat, 3 Aug 2024 at 00:10, Jonathan Wakely wrote: > > > > > > On Fri, 2 Aug 2024 at 23:49, Giuseppe D'Angelo > > > wrote: > > > >

Re: [PATCH v2] libstdc++: add default template parameters to algorithms

2024-09-15 Thread Jonathan Wakely
On Sun, 15 Sept 2024 at 15:53, Jonathan Wakely wrote: > > On Fri, 13 Sept 2024 at 18:14, Patrick Palka wrote: > > > > On Fri, 13 Sep 2024, Jonathan Wakely wrote: > > > > > On Sat, 3 Aug 2024 at 00:10, Jonathan Wakely wrote: > > > > > >

Re: [PATCH v2] libstdc++: add default template parameters to algorithms

2024-09-15 Thread Jonathan Wakely
On Fri, 13 Sept 2024 at 18:36, Patrick Palka wrote: > > On Fri, 13 Sep 2024, Patrick Palka wrote: > > > > Ah, we very recently implemented P2609R3 which has the following note > > about projected_value_t: https://wg21.link/p2609r3#proposal > > > > Do we want to honor this note here and define proj

[committed] libstdc++: Make PSTL algorithms accept C++20 iterators [PR110512]

2024-09-15 Thread Jonathan Wakely
I posted this for review in January. I've pushed it now. I think the patch is unchanged, but I improved the commit message. Tested x86_64-linux. Pushed to trunk. -- >8 -- This is a step towards implementing the C++23 change P2408R5, "Ranges iterators as inputs to non-Ranges algorithms". C++20 ra

[committed] libstdc++: Add assertion for valid facet type arguments

2024-09-15 Thread Jonathan Wakely
Tested x86_64-linux. Pushed to trunk. -- >8 -- LWG 436 confirmed that const-qualified types are valid arguments for Facet template parameters, but volatile-qualified types are not. Add an assertion to locale::combine to check for valid types. libstdc++-v3/ChangeLog: * include/bits/loca

Re: [PATCH] libstdc++: Enable most of for freestanding

2024-09-15 Thread Jonathan Wakely
On Sat, 14 Sept 2024 at 15:16, Jonathan Wakely wrote: > > On Sat, 14 Sept 2024 at 10:39, Arsen Arsenović wrote: > > > > Jonathan Wakely writes: > > > > > This restores support for most of with -ffreestanding. In case > > > there are users who want

[committed v2] libstdc++: Adjust std::span::iterator to be ADL-proof

2024-09-15 Thread Jonathan Wakely
The v2 patch extends the change to std::basic_stacktrace::iterator. Tested x86_64-linux. Pushed to trunk. -- >8 -- Because std::span can be useful, it makes sense to define std::span::iterator such that Incomplete is not an associated class, and so the compiler won't attempt to complete it when

[PATCH] libstdc++: Avoid forming T* in unique_ptr(auto_ptr&&) constraints [PR116529]

2024-09-15 Thread Jonathan Wakely
Tested x86_64-linux. -- >8 -- PR 116529 shows that std::unique_ptr is currently unusable because the constructor taking std::auto_ptr (which is a non-standard extension since C++17) tries to form the invalid type X&* during overload resolution. We can use the `pointer` type in the constructor con

[committed] libstdc++: Add .editorconfig files

2024-09-16 Thread Jonathan Wakely
As mentioned in the Q&A session in Prague, I've been using these files for years in my local GCC tree to help with formatting libstdc++ files. I'll come up with similar files for the top-level and elsewhere in the GCC tree. As Jakub mentioned, we certainly don't want to trim trailing whitespace fro

Re: [committed] libstdc++: Add .editorconfig files

2024-09-16 Thread Jonathan Wakely
On Mon, 16 Sept 2024 at 10:19, Jonathan Wakely wrote: > > As mentioned in the Q&A session in Prague, I've been using these files > for years in my local GCC tree to help with formatting libstdc++ files. > I'll come up with similar files for the top-level and elsewhere i

Re: [Patch 1/2] Rewrite regex scanner

2013-08-23 Thread Jonathan Wakely
On 23 August 2013 10:15, Tim Shen wrote: > These two patches are not logically relative, but the next patch is > based on this one. > > This patch of the regex scanner(or lexer) supports all styles > specified by N3376. It shall build an abstract layer of regex token > sequence, so that, ideally,

Re: [Patch 2/2] Localization problem in regex

2013-08-23 Thread Jonathan Wakely
On 23 August 2013 10:17, Tim Shen wrote: > Inspired by this mail: http://gcc.gnu.org/ml/libstdc++/2013-08/msg00131.html This is OK too, thanks for the quick fix to the locale issue!

Re: [Patch 2/2] Localization problem in regex

2013-08-23 Thread Jonathan Wakely
On 23 August 2013 15:53, Tim Shen wrote: > On Fri, Aug 23, 2013 at 10:26 PM, Paolo Carlini > wrote: >> Great. But please but the names of the functions you are changing between >> round brackets. You have tons of examples everywhere. > > ...like this? Yes, that makes it clear what part of the fil

Re: [Patch 2/2] Localization problem in regex

2013-08-23 Thread Jonathan Wakely
On 23 August 2013 16:48, Tim Shen wrote: > By the way, do we seariously need to keep ChangeLog in files? Is it > more like a tradition than a solution? After all, we have SVN or Git > now. I remember a mail metioned this but cannot find it >.< It's not a tradition, they are required, see http://ww

Re: [patch libstdc++]: Fix Bug 54314 - [4.8 Regression] undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream, std::allocator >'

2013-09-10 Thread Jonathan Wakely
On 10 September 2013 16:49, Kai Tietz wrote: > > PR/54314 > * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* like > in gnu,ver. OK with s/gnu,ver/gnu.ver/ in the ChangeLog. Thanks.

Re: [v3] More noexcept for vectors

2013-09-16 Thread Jonathan Wakely
On 15 September 2013 10:12, Marc Glisse wrote: > > PR libstdc++/58338 > * include/bits/stl_vector.h > (_Vector_impl::_Vector_impl(_Tp_alloc_type const&), > _Vector_impl::_Vector_impl(_Tp_alloc_type&&), > _Vector_impl::_M_swap_data, > _Vector_base::_Ve

Re: [v3] More noexcept -- 3rd

2013-09-18 Thread Jonathan Wakely
On 18 September 2013 16:51, Marc Glisse wrote: > Hello, > > some more containers... > > In debug array, we already have throw in noexcept functions, but if I > understand correctly it is only because of syntax limitations for constexpr > functions and aborts before throwing, although the use of > _

Re: [v3] More noexcept -- 3rd

2013-09-18 Thread Jonathan Wakely
On 18 September 2013 17:27, Marc Glisse wrote: > On Wed, 18 Sep 2013, Paolo Carlini wrote: >> >> On 09/18/2013 05:51 PM, Marc Glisse wrote: >>> >>> In debug array, we already have throw in noexcept functions, but if I >>> understand correctly it is only because of syntax limitations for >>> conste

Re: [v3] More noexcept -- 3rd

2013-09-18 Thread Jonathan Wakely
On 18 September 2013 17:00, Paolo Carlini wrote: > Hi, > > > On 09/18/2013 05:51 PM, Marc Glisse wrote: >> >> Hello, >> >> some more containers... Great, thanks for working your way through all these! >> In debug array, we already have throw in noexcept functions, but if I >> understand correctly

Re: [v3] plus

2013-09-24 Thread Jonathan Wakely
On 24 September 2013 23:37, Marc Glisse wrote: > Hello, > > this was only minimally tested since trunk is broken at the moment. There > don't seem to be specific tests for the existing functors, so a couple tests > for the new specializations seem good enough. > I've had this sitting in my tree wa

Re: [v3] plus

2013-09-25 Thread Jonathan Wakely
On 25 September 2013 06:41, Marc Glisse wrote: > On Wed, 25 Sep 2013, Jonathan Wakely wrote: > >> I've had this sitting in my tree waiting to do something with, > > > I did ask last week if someone had done it already... Sorry :-\ > >> I'm about to go to

Re: [patch] fix libstdc++/55861

2013-09-26 Thread Jonathan Wakely
On 19 January 2013 23:43, Jonathan Wakely wrote: > PR libstdc++/55861 > * include/std/future (_State_base::_S_check(const shared_ptr&)): > Fix return type. > (__basic_future::_M_get_result()): Const qualify. > (shared_futur

Re: [Patch] Regex Fixes on constants and no-backref in extended

2013-09-26 Thread Jonathan Wakely
On 26 September 2013 22:28, Tim Shen wrote: > Just follow the standard :) > > Booted and tested under -m32, -m64. The ChangeLog entry says "stanard", with that fixed this is OK to commit, thanks!

Re: [Patch] Let ordinary escaping in POSIX regex be valid

2013-09-27 Thread Jonathan Wakely
On 27 September 2013 03:15, Tim Shen wrote: > POSIX ERE says that escaping an ordinary char, say R"\n" is not > permitted, because 'n' is not a special char. However, they also say > that : "Implementations are permitted to extend the language to allow > these. Conforming applications cannot use su

Re: User-define literals for std::complex.

2013-09-27 Thread Jonathan Wakely
On 27 September 2013 05:17, Ed Smith-Rowland wrote: > > The complex user-defined literals finally passed (n3779) with the resolution > to DR1473 allowing the suffix id to touch the quotes (Can't find it but I > put it in not too long ago). I think it's been approved by the LWG and looks like it wi

Re: [Patch] Let ordinary escaping in POSIX regex be valid

2013-09-27 Thread Jonathan Wakely
On 27 September 2013 13:32, Paolo Carlini wrote: > On 9/27/13 4:34 AM, Jonathan Wakely wrote: >> >> On 27 September 2013 03:15, Tim Shen wrote: >>> >>> POSIX ERE says that escaping an ordinary char, say R"\n" is not >>> permitted, because '

[patch] fix libstdc++/57465

2013-09-27 Thread Jonathan Wakely
after it's been on trunk without problems for a while. commit 55531e9c74a5f2b4699250b6b302d49f7dc8c5ae Author: Jonathan Wakely Date: Wed Aug 7 01:38:39 2013 +0100 PR libstdc++/57465 * include/std/functional (_Function_base::_Base_manager::_M_not_empty_function): Fi

Re: [wwwdocs] Mention libstdc++-v3 in 4.9 changes.html

2013-10-02 Thread Jonathan Wakely
On 2 October 2013 11:41, Paolo Carlini wrote: > > Minimally, I would talk about "improved support": the evolution from > -std=c++0x to -std=c++11 meant that we aren't in experimental mode anymore. >From speaking to Jason he's pretty adamant it's still experimental for now :-) My understanding was

Re: Make the 2 versions of delete more similar

2013-10-02 Thread Jonathan Wakely
On 2 October 2013 13:28, Marc Glisse wrote: > Hello, > > I don't understand why those 2 files differ by more than 1 extra argument, > so I am changing that. > > Bootstrap and testsuite on x86_64. > > 2013-10-03 Marc Glisse > > * libsupc++/del_op.cc (operator delete): Don't test for 0 bef

Re: [wwwdocs] Mention libstdc++-v3 in 4.9 changes.html

2013-10-02 Thread Jonathan Wakely
On 2 October 2013 15:52, Tim Shen wrote: > I feel little bit uncomfortable with "new ISO C++ standard, C++11", > since C++14 is already there, so I removed it. Good idea. > Please check the words, since English is not my first language >.< The english is fine, please wait a few hours in case any

Re: [Patch] Fix incorrect behavior of "[[=a=]]" in regex

2013-10-02 Thread Jonathan Wakely
On 2 October 2013 15:26, Tim Shen wrote: > _BracketMatcher<>::_M_add_equivalence_class is misimplemented so I try > `git blame regex_compiler.h`...that's me! > > Booted and tested under -m32, -m64. This is OK to commit, thanks

[v3] fix PR 34106

2012-09-29 Thread Jonathan Wakely
This removes all the code for non-GCC compilers in Tested x86_64, "make check check-parallel", committed to trunk. PR libstdc++/34106 * include/parallel/compatibility.h: Remove non-GCC code. commit 9c3f1fdec9fc7be67cf2c0d45d1b791f167c0aec Author: Jonathan Wakely Date:

[v3] update docs w.r.t PR 54577

2012-09-30 Thread Jonathan Wakely
PR libstdc++/54577 * doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from sequence containers. * doc/html/*: Regenerate. Committed to trunk. commit 56e855e46beb016fcf4f9f293abbb774a9285a46 Author: Jonathan Wakely Date: Sun Sep 30 12:35:19 2012 +0100

Re: __gnu_cxx::rope: __uninitialized_fill_n_a error

2012-09-30 Thread Jonathan Wakely
. Tested x86_64-linux, committed to trunk. commit 293275915de97fc9a627d27a4b8d3143f398486e Author: Jonathan Wakely Date: Sun Sep 30 15:53:11 2012 +0100 * include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using declaration. * testsuite/ext/rope/5.cc: New. diff --git a

PR 53889: Add __gthread_recursive_mutex_destroy

2012-09-30 Thread Jonathan Wakely
-linux. Are the libgcc parts OK for trunk? commit 37d75fef68222e92c4b58870dcfeeb3679e3c718 Author: Jonathan Wakely Date: Sun Sep 30 19:00:51 2012 +0100 libgcc: PR other/53889 * gthr.h (__gthread_recursive_mutex_destroy): Document new required function

Re: PR 53889: Add __gthread_recursive_mutex_destroy

2012-10-01 Thread Jonathan Wakely
On 1 October 2012 20:22, Ian Lance Taylor wrote: > On Sun, Sep 30, 2012 at 11:41 AM, Jonathan Wakely > wrote: >> There is no __gthread_recursive_mutex_destroy function in the gthreads API. >> >> Trying to use __gthread_mutex_destroy fails to compile on platforms >>

Re: PR 53889: Add __gthread_recursive_mutex_destroy

2012-10-02 Thread Jonathan Wakely
On 2 October 2012 07:02, Ian Lance Taylor wrote: > > The libgcc part of this is OK. Thanks, I've committed it and closed the PR.

Re: r192002 breaks mingw-w64 cross compiler

2012-10-05 Thread Jonathan Wakely
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy): Fix variable name. commit 6bd7f9deb11c064e5c22acd8cbd0db163edd09d7 Author: Jonathan Wakely Date: Fri Oct 5 08:33:24 2012 +0100 PR other/53889 * config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy

Re: handle isl and cloog in contrib/download_prerequisites

2012-10-07 Thread Jonathan Wakely
Resending as plain text so the list doesn't reject it ... On Oct 7, 2012 12:00 AM, "NightStrike" wrote: > > On Sat, Oct 6, 2012 at 7:30 AM, Manuel López-Ibáñez > wrote: > > Hi, > > > > GCC now requires ISL and a very new CLOOG but download_prerequisites > > does not download those. Also, there i

Re: handle isl and cloog in contrib/download_prerequisites

2012-10-07 Thread Jonathan Wakely
On 7 October 2012 21:31, Manuel López-Ibáñez wrote: > On 7 October 2012 22:13, Jonathan Wakely wrote: >> >> On Oct 7, 2012 12:00 AM, "NightStrike" wrote: >>> >>> On Sat, Oct 6, 2012 at 7:30 AM, Manuel López-Ibáñez >>> wrote: >>> &g

Re: [PATCH, libstdc++] Add proper OpenBSD support

2012-10-08 Thread Jonathan Wakely
On 8 October 2012 20:45, Mark Kettenis wrote: > Jonathan, > > Any further thoughts about this? I've attached a diff that combines > my origional diff with the change to use the "newlib" locale model on > OpenBSD since they probably should be committed together. Hi, Sorry for the delay, I realise

[v3] Fix PR 54754: use atomic built-ins for libstdc++ parallel mode

2012-10-09 Thread Jonathan Wakely
2012-10-09 Jonathan Wakely PR libstdc++/54754 * include/parallel/compatibility.h: Use atomic built-ins when they are lock-free. Tested x86_64-linux, i386-linux, powerpc64-linux. There are some time-outs when running the 'check-parallel' testsuite on ppc64 wh

Re: [PATCH] revised fix for nanosleep check in GLIBCXX_ENABLE_LIBSTDCXX_TIME for darwin

2012-10-09 Thread Jonathan Wakely
On 9 October 2012 01:39, Jack Howarth wrote: >The --enable-libstdcxx-time=yes configure option fails to validate the > presence of a usable nanosleep() call on darwin due to its use of pre-2008 > POSIX timers. As both nanosleep() and sched_yield() have always been available > on darwin, the att

Re: [PATCH] revised fix for nanosleep check in GLIBCXX_ENABLE_LIBSTDCXX_TIME for darwin

2012-10-09 Thread Jonathan Wakely
On 9 October 2012 14:11, Jack Howarth wrote: > On Tue, Oct 09, 2012 at 09:21:25AM +0100, Jonathan Wakely wrote: >> I don't like the sched_yield macro being set there because it's >> detected correctly by configure anyway, but I'm not going to labour >> t

Re: [PATCH, libstdc++] Add proper OpenBSD support

2012-10-09 Thread Jonathan Wakely
On 9 October 2012 20:48, Mark Kettenis wrote: > > I think it is. The newlib ctype classification is identical to the > traditional BSD scheme that OpenBSD uses. OK, I'll commit your patch tomorrow, thanks.

Re: [v3] Fix Solaris symbol versioning (PR libstdc++/54872)

2012-10-10 Thread Jonathan Wakely
read.o]: [59]  |         0|       418|FUNC |WEAK |0   >  |12     |_ZNSt12system_errorC1ESt10error_codeRKSs > > A reghunt revealed that this was introduced by > > 2012-08-12  Jonathan Wakely   > >        PR libstdc++/52681 >        * src/c++11/thread.cc (thread::_M_start_thr

Re: [PATCH] revised fix for nanosleep check in GLIBCXX_ENABLE_LIBSTDCXX_TIME for darwin

2012-10-10 Thread Jonathan Wakely
rs in the future wondering why > configure says no but their TU says yes. > > At least a comment in the configure bits admitting defeat, people. Committed to trunk like so. commit 1616a77cdcdf619b1621265f33165cf6c74a3eed Author: Jonathan Wakely Date: Thu Oct 11 00:06:14 2012 +0100

Re: [PATCH, libstdc++] Add proper OpenBSD support

2012-10-10 Thread Jonathan Wakely
On 9 October 2012 22:03, Jonathan Wakely wrote: > On 9 October 2012 20:48, Mark Kettenis wrote: >> >> I think it is. The newlib ctype classification is identical to the >> traditional BSD scheme that OpenBSD uses. > > OK, I'll commit your patch tomorrow, thanks. i

Re: [PATCH] revised fix for nanosleep check in GLIBCXX_ENABLE_LIBSTDCXX_TIME for darwin

2012-10-10 Thread Jonathan Wakely
On 11 October 2012 00:09, Jonathan Wakely wrote: > On 9 October 2012 18:49, Benjamin De Kosnik wrote: >> >>> I don't like the sched_yield macro being set there because it's >>> detected correctly by configure anyway, but I'm not going to labour >>&g

Re: [PATCH] revised fix for nanosleep check in GLIBCXX_ENABLE_LIBSTDCXX_TIME for darwin

2012-10-11 Thread Jonathan Wakely
On 11 October 2012 17:05, Jack Howarth wrote: > > Jonathan, > The committed patch results in the expected this_thread::yield() and > this_thread::sleep_for() > support. I did run into a regression at -m32/-m64 on darwin10 (but not > darwin11/12). > > WARNING: program timed out. > FAIL: 30_thr

[patch] fix outdated path in cpp.texi

2012-10-17 Thread Jonathan Wakely
http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html claims the search path for C++ headers starts with /usr/include/g++-v3 which hasn't been true for many years. 2012-10-18 Jonathan Wakely * doc/cpp.texi (Search Path): Fix outdated C++ path. Tested with "make doc html"

[patch] PR 54930: add -Wreturn-local-addr

2012-10-18 Thread Jonathan Wakely
* g++.dg/warn/Wreturn-local-addr.C: New. Tested x86_64-linux, OK for trunk? commit 77abe727e837e052680be8020fa2990cce4d1e9a Author: Jonathan Wakely Date: Wed Oct 17 19:32:10 2012 +0100 gcc/c-family: PR c++/54930 * c.opt (Wreturn_local_addr): Define new option. gc

[v3] add C++11 allocator support to forward_list

2012-10-18 Thread Jonathan Wakely
: New. * testsuite/23_containers/forward_list/allocator/noexcept.cc: New. * testsuite/23_containers/forward_list/allocator/swap.cc: New. Tested x86_64-linux, committed to trunk. commit 2c5b344ef08b72cbf9e21f9859f85e54f3e87f26 Author: Jonathan Wakely Date: Mon Mar 12 22:43:34 2012

[v3] (almost) finish

2012-10-19 Thread Jonathan Wakely
of std::pair objects. * testsuite/20_util/scoped_allocator/2.cc: New. Tested x86_64-linux, committed to trunk. commit 2a969ae20431833dbb4a2dfdf0be03b5d4b716c9 Author: Jonathan Wakely Date: Fri Oct 19 16:58:53 2012 +0100 * include/std/scoped_allocator (__outermost_a

[v3] update C++11 status table

2012-10-19 Thread Jonathan Wakely
The table's a bit out of date * doc/xml/manual/status_cxx2011.xml: Update. Committed to trunk. diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml index 226eef9..6b1ad51 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml +

Re: breakage with "[v3] (almost) finish "

2012-10-19 Thread Jonathan Wakely
On 19 October 2012 21:28, Hans-Peter Nilsson wrote: > Looks like _U is one of those identifiers that should be > avoided: Grep yields: > src/newlib/libc/include/ctype.h:#define _U 01 Argh! my bad, sorry - fix on the way ...

Re: breakage with "[v3] (almost) finish "

2012-10-19 Thread Jonathan Wakely
On 20 October 2012 02:35, Jonathan Wakely wrote: > On 19 October 2012 21:28, Hans-Peter Nilsson wrote: >> Looks like _U is one of those identifiers that should be >> avoided: Grep yields: >> src/newlib/libc/include/ctype.h:#define _U 01 > > Argh! my bad, sorry

Re: [patch] fix outdated path in cpp.texi

2012-10-21 Thread Jonathan Wakely
On 21 October 2012 20:34, Gerald Pfeifer wrote: > On Thu, 18 Oct 2012, Jonathan Wakely wrote: >> http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html claims the search >> path for C++ headers starts with /usr/include/g++-v3 which hasn't been >> true for many years. >>

Re: [PING] [PATCH, libstdc++-v3] Add newlib specific ctype_members.cc

2012-10-21 Thread Jonathan Wakely
alised the 'darwin' option was also undocumented, so I committed the attached patch to the trunk. I haven't regenerated the HTML pages, I plan to do that soon after a few more doc updates. commit 7e0b461312a4304d8f84602732aa19cb718af32c Author: Jonathan Wakely Date: Mon Oct 22

Re: unordered set design modification

2012-10-22 Thread Jonathan Wakely
On 22 October 2012 20:59, François Dumont wrote: > Attached patch applied. > > 2012-10-22 François Dumont > > > * include/bits/unordered_set.h (unordered_set<>): Prefer > aggregation to inheritance with _Hashtable. > (unordered_multiset<>): Likewise. > * include/debug/unordered_s

Bootstrap broken with --disable-checking

2012-10-25 Thread Jonathan Wakely
This seems to fix it, is it correct? (Untested as I'm still waiting for a bootstrap to finish) diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 4b35726..827fd4d 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -1216,11 +1216,13 @@ check_and_process_move (bool *cha

PR libstdc++/55041 update python printers

2012-10-28 Thread Jonathan Wakely
class. (Tr1UnorderedSetPrinter): Likewise. Tested x86_64-linux and committed to trunk. commit a554179e10f867f983ca1915455ceb23a9edad3d Author: Jonathan Wakely Date: Sun Oct 28 13:16:31 2012 + PR libstdc++/55041 * python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update

Re: [patch] fix outdated path in cpp.texi

2012-10-28 Thread Jonathan Wakely
On 28 October 2012 22:21, Gerald Pfeifer wrote: > On Sun, 21 Oct 2012, Jonathan Wakely wrote: >>> I was going to say "Ack", since it's a doc patch, but somehow my >>> own tests on various platforms (FreeBSD, GNU/Linux,...) did not >>> confirm /usr/incl

Re: [patch] fix outdated path in cpp.texi

2012-10-28 Thread Jonathan Wakely
On 29 October 2012 00:08, Jonathan Wakely wrote: > Yes, libdir/gcc/target/version/../../../../include/c++/version would > be more accurate, because libdir is not necessarily /usr > > I'll come up with something better ... I've committed thi

[wwwdocs] gcc-4.7/porting_to.html says C11 not C++11

2012-10-29 Thread Jonathan Wakely
Committed as obvious.

<    9   10   11   12   13   14   15   16   17   18   >