Subject: Re: [proto] Recent (rvalue support) changes in proto causes a whole bunch of regressions in Spirit
From: Joel de Guzman (joel_at_[hidden])
Date: 2011-10-10 19:50:33
On 10/11/2011 2:04 AM, Eric Niebler wrote:
> On 10/10/2011 2:08 AM, Joel de Guzman wrote:
>> On 10/10/2011 1:52 PM, Joel de Guzman wrote:
>>> On 10/10/2011 12:38 PM, Eric Niebler wrote:
>>>> Bummer. I suggest adding an rvalue ref overload of operator%= that
>>>> shares an implementation with the const lvalue one. Should just be a few
>>>> lines of code. Is that a problem?
>>> Not really a problem. But, %= is just an example of the problems
>>> (plural with an s). We suspect that it is more widespread. I'll
>>> see how pervasive the changes need to be and get back to you.
>> Ok, adding the %= for rvalue refs for Qi and Karma fixed a lot of
>> the failing tests. However, I am not sure how to fix the tests
>> involving Lex (crashes on VC10 but OK on GCC). The compiler
>> tutorial I am working on also got broken. I am not sure what else
>> in the examples got broken. It's quite difficult to ascertain
>> where the problem is because the code builds without errors
>> but either crashes or does not work as expected at runtime.
>> This is an insidious critter.
>> Hartmut, I committed the fix for Qi and Karma. Can you please
>> take a look at the Lex regressions? There's a good chance
>> that the problem with the examples is also related to the Lex
> I just ran the spirit_v2/lex and spirit_v2/lex_regressions test suites
> on msvc-10.0, and everything passed for me. Is this fixed already? Let
> me know asap so I know whether to revert my Proto changes.
Everything's green now, Eric. The problem was not pervasive after
all; just a couple of fixes solved everything.
There's no need to revert. It makes me wonder though if we've missed
something that will blow up in the future. I'll probably have to
scrutinize classes that use proto::extends and check for overloads.
You might want to warn other proto users of this potential
-- Joel de Guzman http://www.boostpro.com http://boost-spirit.com
Proto list run by eric at boostpro.com