Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-06-12 12:18:55


"Gennadiy Rozental" <gennadiy.rozental_at_[hidden]> writes:

> "Jonathan Wakely" <cow_at_[hidden]> wrote in message
> news:20050607155238.GA783_at_compsoc.man.ac.uk...
>> On Mon, Jun 06, 2005 at 10:57:02PM +0200, Janusz Piwowarski wrote:
>>
>>> Hello all,
>>>
>>> I'm attaching a patch for ifstream_line_iterator_test regression
>>> failure. It's probably gcc bug (i test it for mingw 3.4.2, but i
>>> noticed same error in linux tests), because compiler generates
>>> copy constructor for temporary variables and never use it (for those
>>> who want to test it in linux environment i'm attaching minimal
>>> example).
>>
>> If I understand you correctly, this is a bug in the code, not GCC:
>> http://gcc.gnu.org/bugs.html#cxx_rvalbind
>
> Yep. That'ts the "feature" preventing compilation (I still not sure why
> standard require copy constructor in this case). So now any temporary of
> noncopyable type couldn't participate in comparison operator. I've decided
> not to fight this. Let's just make them non-temporary.

CWG issue 391 (in ready status) requires direct binding and eliminates
the requirement for the accessible copy ctor. But no compilers have
been changed to implement this resolution yet. I know the GCC won't
make a move until the resolution is "written in stone."

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk