|
From: | Hans Aberg |
Subject: | Re: too many warnings from Bison CVS for Pike |
Date: | Tue, 21 Feb 2006 09:59:38 +0100 |
On 21 Feb 2006, at 09:41, Akim Demaille wrote:
One can disable the dynamic stack, and use it with non-POD's, which I suspect some do.What evidence do you have to sustain this claim? Based on the message I've seen, I believe the opposite. People, like me years ago, know that you can have C code manipulate C++ structures properly as long as they are PODs. Trying to use non PODs in yacc.c is not supported, that's the role of lalr1.cc. I'll write a piece of documentation about this.
The question of using non-POD's in the C-parser is not relevant, as it will not be supported. I think though this C++ issue started off like that, before M4 and C++ skeletons.
This suggests: Compiling the C-parser using a C++ compilerAn effort is made to make the C-parser compilable using a C++ standard conforming compiler, as long as the semantic and location types (if used) are POD's. This support may be dropped in future Bison versions.Seems like a reasonable start.
One could say more, but I deliberately deleted it, in part in order to give the developers maximum freedom, and in part, because C++ users should know what to do. For example, exceptions will typically leak parser stack memory (except when the initial static stack array is used), but this is expected. A section on the C++ parser will give hints of using the C++ parser for proper C++ support, so one does not need direct users to that here.
Hans Aberg
[Prev in Thread] | Current Thread | [Next in Thread] |