Re: [v3] PR 53270 fix hppa-linux bootstrap regression

2012-07-22 Thread Jonathan Wakely
Here's a simpler solution for the 4.6 branch, which is a bit hacky but only affects hppa-linux with LinuxThreads in C++0x mode. PR libstdc++/53270 * acinclude.m4 (GLIBCXX_GTHREADS_CXX11_COPY_ASSIGN): Define. * configure.ac (GLIBCXX_GTHREADS_CXX11_COPY_ASSIGN): Use it.

Re: [v3] PR 53270 fix hppa-linux bootstrap regression

2012-07-16 Thread Jonathan Wakely
On 16 July 2012 22:48, Jonathan Wakely wrote: > On 7 July 2012 18:16, Jonathan Wakely wrote: >> >> My preference is (1) for 4.7 and (4) for 4.6 but the changes are not >> ones I feel comfortable making on release branches without other >> opinions. Please comment :-) > > No comments? > > Then I'm

Re: [v3] PR 53270 fix hppa-linux bootstrap regression

2012-07-16 Thread Jonathan Wakely
On 7 July 2012 18:16, Jonathan Wakely wrote: > > My preference is (1) for 4.7 and (4) for 4.6 but the changes are not > ones I feel comfortable making on release branches without other > opinions. Please comment :-) No comments? Then I'm going for my preferences as stated above.

Re: [v3] PR 53270 fix hppa-linux bootstrap regression

2012-07-07 Thread Jonathan Wakely
On 14 June 2012 23:23, Jonathan Wakely wrote: > We've known for ages that it's not portable to do: > > __gthread_mutex_t tmp = __GTHREAD_MUTEX_INIT; > _M_mutex = __tmp; > > As PR 53270 shows, the copy assignment now actually fails in C++11 > mode on platforms using LinuxThreads, because the mutex h

Re: [v3] PR 53270 fix hppa-linux bootstrap regression

2012-06-19 Thread Jonathan Wakely
On 14 June 2012 23:23, Jonathan Wakely wrote: > > For 4.6.4 and 4.7.2 I plan to make a less intrusive change, #undef'ing > the __GTHREAD_MUTEX_INIT, _GTHREAD_RECURSIVE_MUTEX_INIT and > __GTHREAD_COND_INIT macros on hppa-linux in C++11 mode, so that the > init functions are used instead.  This fixes

[v3] PR 53270 fix hppa-linux bootstrap regression

2012-06-14 Thread Jonathan Wakely
We've known for ages that it's not portable to do: __gthread_mutex_t tmp = __GTHREAD_MUTEX_INIT; _M_mutex = __tmp; As PR 53270 shows, the copy assignment now actually fails in C++11 mode on platforms using LinuxThreads, because the mutex has a volatile member so in C++11 mode the copy assignment