Jonathan Wakely | 1 Feb 2012 01:23
Picon

Re: [v3] proposed fix for libstdc++/49204 causes abi_check failure

A bit later than I originally planned, but this is now committed, as attached.

2012-02-01  Jonathan Wakely  <jwakely.gcc <at> gmail.com>

        PR libstdc++/49204
        * include/std/future (__future_base::_State_base::wait()): Use lambda
        expression for predicate and remove redundant test.
        (__future_base::_State_base::wait_for()): Return future_status and
        use lambda expression for predicate.
        (__future_base::_State_base::wait_until()): Likewise.
        (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
        (__future_base::_Async_state): Replace with _Async_state_common
        class for non-dependent functionality and _Async_state_impl class
        template for dependent functionality.
        (__future_base::_Async_state_common::_M_join): Serialize attempts to
        join thread.
        (__future_base::_Async_state_common::_M_run_deferred): Join.
        (__future_base::_Async_state::_M_do_run): Replace with lambda.
        * src/c++11/future.cc (__future_base::_Async_state_common): Define
        destructor, so key function is in the library.
        * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
        * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
        future_status return instead of bool.
        * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
        * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
        * testsuite/30_threads/future/members/wait_until.cc: Likewise.
        * testsuite/30_threads/future/members/wait_for.cc: Likewise.
        * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
        * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
        * testsuite/30_threads/promise/members/swap.cc: Likewise.
(Continue reading)

Benjamin Kosnik | 3 Feb 2012 21:24
Picon
Favicon

Re: [v3] libstdc++/51811


> Different patch attached?

Indeed, sorry. Here's the right one.

-benjamin
Attachment (20120203-1.patch): text/x-patch, 9 KiB
Benjamin Kosnik | 3 Feb 2012 22:12
Picon
Favicon

[v3] libstdc++/49445


I'm just going to check in this PR's derived test case, since it seems
like something we should be tracking.

tested x86/linux

-benjamin
Attachment (20120203-2.patch): text/x-patch, 1893 bytes
Paolo Carlini | 5 Feb 2012 12:21
Picon
Favicon

[v3] libstdc++/52119

Hi,

the library bits seem straightforward enough to go in now. Of course the 
substantive issue seems C++ front end diagnostics, post 4.7.0 material.

Sanity checked x86_64-linux.

Thanks,
Paolo.

///////////////////
2012-02-05  Jeffrey Yasskin  <jyasskin <at> gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini <at> oracle.com>

	PR libstdc++/52119
	* include/std/limits (__glibcxx_min): Fix to aboid undefined behavior.
Index: include/std/limits
===================================================================
--- include/std/limits	(revision 183904)
+++ include/std/limits	(working copy)
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 // The template and inlines for the numeric_limits classes. -*- C++ -*-

 // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-// 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
(Continue reading)

François Dumont | 5 Feb 2012 18:29
Picon

debug safe iterator patch

Hi

     Here is a small performance patch for the debug mode. Nothing 
urgent, just tell me if I can apply it on trunk at the moment.

2012-02-05  François Dumont <fdumont <at> gcc.gnu.org>

     * include/debug/safe_iterator.h
     (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
     creation of a _Safe_iterator instance to do the check.

     Tested under x86_64 linux debug mode.

François
Attachment (safe_iterator.patch): text/x-patch, 577 bytes
Paolo Carlini | 5 Feb 2012 18:30
Picon
Favicon

Re: debug safe iterator patch

On 02/05/2012 06:29 PM, François Dumont wrote:
> Hi
>
>     Here is a small performance patch for the debug mode. Nothing 
> urgent, just tell me if I can apply it on trunk at the moment.
It impacts only debug-mode, thus it's pretty safe. If you tested it 
check-debug I guess you can commit it to mainline even now.

Thanks,
Paolo.

Uros Bizjak | 6 Feb 2012 14:39
Picon

[v3] Update alpha-linux baselines for GCC 4.7

Hello!

This patch updates baseline symbols for alpha-linux-gnu.

2012-02-06  Uros Bizjak  <ubizjak <at> gmail.com>

        * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.

OK for mainline?

Uros.
Index: config/abi/post/alpha-linux-gnu/baseline_symbols.txt
===================================================================
--- config/abi/post/alpha-linux-gnu/baseline_symbols.txt	(revision 183927)
+++ config/abi/post/alpha-linux-gnu/baseline_symbols.txt	(working copy)
 <at>  <at>  -43,6 +43,10  <at>  <at> 
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv <at>  <at> GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv <at>  <at> GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_ <at>  <at> GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb <at>  <at> GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv <at>  <at> GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv <at>  <at> GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_ <at>  <at> GLIBCXX_3.4.17
 FUNC:_ZN14__gnu_parallel9_Settings3getEv <at>  <at> GLIBCXX_3.4.10
 FUNC:_ZN14__gnu_parallel9_Settings3setERS0_ <at>  <at> GLIBCXX_3.4.10
 FUNC:_ZN9__gnu_cxx12__atomic_addEPVii <at>  <at> GLIBCXX_3.4
 <at>  <at>  -877,6 +881,7  <at>  <at> 
 FUNC:_ZNSaIwEC2Ev <at>  <at> GLIBCXX_3.4
(Continue reading)

François Dumont | 6 Feb 2012 21:21
Picon

Re: debug safe iterator patch

Attached patch applied

2012-02-06  François Dumont <fdumont <at> gcc.gnu.org>

         * include/debug/safe_iterator.h
         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
         creation of a _Safe_iterator instance to do the check.

François

On 02/05/2012 06:30 PM, Paolo Carlini wrote:
> On 02/05/2012 06:29 PM, François Dumont wrote:
>> Hi
>>
>>     Here is a small performance patch for the debug mode. Nothing 
>> urgent, just tell me if I can apply it on trunk at the moment.
> It impacts only debug-mode, thus it's pretty safe. If you tested it 
> check-debug I guess you can commit it to mainline even now.
>
> Thanks,
> Paolo.
>

Attachment (safe_iterator.patch): text/x-patch, 577 bytes
Jakub Jelinek | 7 Feb 2012 10:13
Picon
Favicon

Re: Gthreads patch to disable static initializer macros

On Tue, Feb 07, 2012 at 09:11:38AM +0000, Jonathan Wakely wrote:
> gthr-posix.h changes OK as attached, with this ChangeLog?

Okay.  Thanks.

> libgcc/
> 2012-02-07  Jonathan Wakely  <jwakely.gcc <at> gmail.com>
> 
>         PR libstdc++/51906
>         PR libstdc++/51296
>         * gthr-posix.h: Allow static initializer macros to be disabled.
>         (__gthrw_pthread_cond_init): Define weak reference unconditionally.
> 
> libstdc++-v3/
> 2012-02-07  Jonathan Wakely  <jwakely.gcc <at> gmail.com>
> 
>         PR libstdc++/51296
>         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
>         * src/c++11/condition_variable.cc (condition_variable): Use macro for
>         initializer function.
> 
>         PR libstdc++/51906
>         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
>         recursive mutexes.
> 
> Tested x86_64-linux with --enable-languages=c,c++,objc,obj-c++, both
> with and without the new _GTHREAD_USE_XXX_INIT_FUNC macros defined.
> 
> Also tested on i686-linux, powerpc-linux, x86_64-netbsd with default
> configuration and just --enable-languages=c,c++
(Continue reading)

Jonathan Wakely | 7 Feb 2012 23:26
Picon

[v3] remove duplicate target selectors

I added powerpc-ibm-aix* to some tests twice with an overzealous sed
command, this fixes it.

        * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
        selector.
        * testsuite/30_threads/call_once/49668.cc: Likewise.
        * testsuite/30_threads/call_once/call_once1.cc: Likewise.
        * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
        * testsuite/30_threads/mutex/cons/1.cc: Likewise.
        * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
        * testsuite/30_threads/mutex/lock/1.cc: Likewise.
        * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
        * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
        * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
        * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
        * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
        * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
        * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
        * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
        * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
        * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
        * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
        * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
        * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
        * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
        * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
        * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
        * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.

Tested x86_64-linux, committed to trunk.
(Continue reading)


Gmane