> On 19 Jan 2015, at 11:50, Akim Demaille <a...@lrde.epita.fr> wrote:
> 
>> Le 19 janv. 2015 à 11:18, Hans Aberg <haber...@telia.com> a écrit :
>> 
>>> I will stick to C++98 in the generated parsers.  
>> 
>> Compilers move much faster now: a few years both GCC & Clang were shaky on 
>> C++11, but now, the latter works without a hitch.
> 
> The problem is not compilers, but what is installed on existing
> machines.

Right. But are there a lot of machines with outdated C++ compilers used for 
Bison? - Unlike C, were old compilers used to be common.

>>> Yet, I agree,
>>> it would be nice to find the spots in the generated code where,
>>> using some #if checks, std::move could be used.
>> 
>> Perhaps there might be a better method than macros.
> 
> No, there is currently no alternative to generate C++98/C++11/C++14
> dependent code.

I had in mind once being C++11/C++14 mode.

>> Perhaps it is not needed: the compiler inserts std::move in code like:
>> int main () {
>> A a, b, c, d, e;
>> e = a*b + c*d;
> 
> Well, this is an rvalue, so it is expected to move the result.

So it may suffice to have move constructors in the class variant.



Reply via email to