This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] More of condition_variable_any


Here's another implementation of std::condition_variable_any.  Unless
anyone can see anything wrong I plan to commit it to trunk.

I've removed the notify_one and notify_all exports as they are not
exported in any released version, and can be defined line in the
header.  I'd prefer to also define the constructor and destructor
inline but that would change exports that are already part of
libstdc++.so.6.0.13 (unfortunate, because condition_variable_any was
unusable until now.)

The removed tests checked that condition_variable_any is a
standard-layout type and has the same size+alignment as
pthread_cond_t, but neither of those is required by the WP nor IMHO
necessary.

2010-02-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

        * include/std/condition_variable (condition_variable): Prevent ADL.
        (condition_variable_any): Provide definitions for all members.
        * src/condition_variable.cc (condition_variable_any): Adjust
        definitions.
        * config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
        * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
        Adjust dg-error line number.
        * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
        Likewise.
        * testsuite/30_threads/condition_variable_any/members/1.cc: New.
        * testsuite/30_threads/condition_variable_any/members/2.cc: New.
        * testsuite/30_threads/condition_variable_any/requirements/
        standard_layout.cc: Remove.
        * testsuite/30_threads/condition_variable_any/native_handle/
        typesizes.cc: Remove.

Tested x86_64/Linux

Attachment: cv_any.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]