bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C++17 skeleton with move semantics and std::variant


From: Hans Åberg
Subject: Re: C++17 skeleton with move semantics and std::variant
Date: Sat, 14 Apr 2018 10:09:22 +0200


> On 14 Apr 2018, at 07:33, Frank Heckenbach <address@hidden> wrote:
> 
> Hans Åberg wrote:
> 
>>> On 10 Apr 2018, at 17:24, Frank Heckenbach <address@hidden> wrote:
>>> 
>>> Hans Åberg wrote:
>>> 
>>>> Rename, if possible, all these patched files to location-c++17.cc,
>>>> stack-c++17.hh, etc, as they are not in the original distribution.
>>> 
>>> I called it stack-c++11.hh because it only uses move (C++11), not
>>> variants (C++17). And I've explained why I didn't rename
>>> location.cc. If you disagree, please reply to those posts of mine.
>> 
>> Before it gets integrated into the Bison distribution, you might
>> want to put it in the package source directory.
> 
> I won't for my code (but you, or anyone else, may want to). FWIW, I
> need patches to some Debian packages, some of them for years as many
> maintainers don't seem very interested in bug fixes (that don't
> affect them personally), unfortunately. So I keep a directory of all
> such patches, so I can easily reapply them after upgrades, and my
> Bison patch will just join them there, until it's integrated, or
> otherwise forever (probably not the only one): ...

I meant in the source directory of your program.

>> I was able to do it, with the following changes:
>> 
>> In the .yy file, I had to put in "./", to:
>>  %skeleton "./lalr1-c++17.cc"
>> There seems to be a bug in Bison 3.0.4, looking only in the installation 
>> directory if it is not there.
> 
> Bug or feature, I don't know. Maybe it's supposed to work this way.

Check %skeleton in Bison Declaration Summary, 3.7.12.

> I will now submit my changes to savannah. If the maintainers react
> to them, great, and we can discuss the details; otherwise, I think
> doing anything else now would just be a waste of time.

If you get it accepted, there may not be need for special file names: It would 
suffice to set '#if (__cplusplus >= 201103L)' around the C++11 code.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]