On Tuesday 13 May 2008 11:20:16 Hans Aberg wrote: > On 13 May 2008, at 10:53, Frans Englich wrote: > > yyoverflow is undefined. Even undefined it to be sure. > > The file yacc.c has a segment looking like: > #ifdef yyoverflow > yyoverflow (YY_("memory exhausted"), ... > > #else /* no yyoverflow */ > # ifndef YYSTACK_RELOCATE > goto yyexhaustedlab; > # else > ... > And only yyoverflow and yyexhaustedlab can cause "memory exhausted" > be written. > > So if yyoverflow is undefined, for some reason, YYSTACK_RELOCATE is > not defined. - I thought this was th default. So perhpas check if it > is not a bug, and report to Bug-Bison.
It's not defined, and it seems to be caused by this piece: if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) I fail in two ways here: * I use C++ code, so __cplusplus is defined * YYLTYPE_IS_TRIVIAL is defined to 0, although undefining it doesn't seem to break anything. My YYSTYPE is a C++ class which has several public non-POD members. YYLTYPE_IS_TRIVIAL is neither mentioned in the manual. Cheers, Frans _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison