* src/bison.simple (union yyalloc, YYSTACK_GAP_MAX, YYSTACK_BYTES,
YYSTACK_RELOCATE): Do not define if yyoverflow is defined, or if
this is a C++ parser and YYSTYPE or YYLTYPE has nontrivial
constructors or destructors.
(yymemcpy) [! defined YYSTACK_RELOCATE]: Do not define; not needed.
(yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
* src/reader.c (parse_union_decl): Define YYSTYPE_IS_TRIVIAL if we
use our YYSTYPE. It must be trivial, or our own union wouldn't be
valid C++ anyway.
(readgram): Define YYSTYPE_IS_TRIVIAL if it is int.
(reader_output_yylsp): Define YYLTYPE_IS_TRIVIAL if we use our
YYLTYPE.
It must be trivial, or our own union wouldn't be valid C++ anyway.
(readgram): Define YYSTYPE_IS_TRIVIAL if it is int.
(reader_output_yylsp): Define YYLTYPE_IS_TRIVIAL if we use our YYLTYPE.
Do not define if yyoverflow is defined, or if this is a C++ parser and
either YYSTYPE or YYLTYPE has nontrivial constructors or destructors.
(yymemcpy) [! defined YYSTACK_RELOCATE]: Do not define; not needed.
(yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
bison fails when trying to output a parser and a header under the
same name.
* src/files.c (compute_output_file_names): Refuse when parser and
header have the same name.
* tests/input.at (Invalid $n, Invalid @n): Likewise.
* tests/output.at (AT_CHECK_OUTPUT): Likewise.
* src/reader.at (readgram): Complain if a rule is not ended with a
semi-colon.
causing more problems than it was curing, since it didn't work
properly on some nonstandard C++ compilers. This can wait
for a proper C++ parser.
* NEWS: Document this.
* doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
of C++, as it's treated like C now.
* src/bison.simple (YYSTD): Remove.
(YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
Treat C++ just like Standard C instead of trying to support
namespace cleanliness.