From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3994 invoked by alias); 17 Jan 2015 05:57:30 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 3967 invoked by uid 89); 17 Jan 2015 05:57:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-wi0-f173.google.com Received: from mail-wi0-f173.google.com (HELO mail-wi0-f173.google.com) (209.85.212.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Sat, 17 Jan 2015 05:57:25 +0000 Received: by mail-wi0-f173.google.com with SMTP id r20so6325032wiv.0; Fri, 16 Jan 2015 21:57:23 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.194.62.235 with SMTP id b11mr9855256wjs.73.1421474242984; Fri, 16 Jan 2015 21:57:22 -0800 (PST) Received: by 10.194.104.34 with HTTP; Fri, 16 Jan 2015 21:57:22 -0800 (PST) Date: Sat, 17 Jan 2015 06:45:00 -0000 Message-ID: Subject: Re: [patch libstdc++] Optimize synchronization in std::future if futexes are available. From: David Edelsohn To: Torvald Riegel Cc: GCC Patches , "libstdc++@gcc.gnu.org" , Jonathan Wakely Content-Type: text/plain; charset=ISO-8859-1 X-SW-Source: 2015-01/txt/msg01518.txt.bz2 This patch has broken bootstrap on AIX May I mention that this really should have been tested on systems other than x86 Linux. In file included from /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/ future:44:0, from /nasfarm/edelsohn/src/src/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc:30: /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:223:5: error: 'mutex' does not name a type mutex _M_mutex; ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:224:5: error: 'condition_variable' does not name a type condition_variable _M_condvar; ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'unsigned int std::__atomic_futex_unsigned<_Waiter_bit>::_M_load(std::memory_order)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:232:19: error: 'mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:232:24: error: template argument 1 is invalid unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:232:33: error: '_M_mutex' was not declared in this scope unique_lock __lock(_M_mutex); /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'unsigned int std::__atomic_futex_unsigned<_Waiter_bit>::_M_load_when_not_equal(unsigned int, std::memory_order)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:239:19: error: 'mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:239:24: error: template argument 1 is invalid unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:239:33: error: '_M_mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:241:2: error: '_M_condvar' was not declared in this scope _M_condvar.wait(__lock); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'void std::__atomic_futex_unsigned<_Waiter_bit>::_M_load_when_equal(unsigned int, std::memory_order)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:248:19: error: 'mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:248:24: error: template argument 1 is invalid unique_lock __lock(_M_mutex); /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:248:33: error: '_M_mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:250:2: error: '_M_condvar' was not declared in this scope _M_condvar.wait(__lock); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'bool std::__atomic_futex_unsigned<_Waiter_bit>::_M_load_when_equal_for(unsigned int, std::memory_order, const std::chrono::duration<_Rep, _Period>&)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:258:19: error: 'mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:258:24: error: template argument 1 is invalid unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:258:33: error: '_M_mutex' was not declared in this scope unique_lock __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:259:14: error: '_M_condvar' was not declared in this scope return _M_condvar.wait_for(__lock, __rtime, ^ etc. - David