news: formatting changes

This commit is contained in:
Akim Demaille
2020-07-01 07:05:48 +02:00
parent 84ef175287
commit 413908e5a4

65
NEWS
View File

@@ -127,6 +127,7 @@ GNU Bison NEWS
An old, well hidden, bug in the generation of IELR parsers was fixed. An old, well hidden, bug in the generation of IELR parsers was fixed.
* Noteworthy changes in release 3.6.4 (2020-06-15) [stable] * Noteworthy changes in release 3.6.4 (2020-06-15) [stable]
** Bug fixes ** Bug fixes
@@ -134,6 +135,7 @@ GNU Bison NEWS
In glr.cc some internal macros leaked in the user's code, and could damage In glr.cc some internal macros leaked in the user's code, and could damage
access to the token kinds. access to the token kinds.
* Noteworthy changes in release 3.6.3 (2020-06-03) [stable] * Noteworthy changes in release 3.6.3 (2020-06-03) [stable]
** Bug fixes ** Bug fixes
@@ -144,6 +146,7 @@ GNU Bison NEWS
Incorrect display of gotos in LAC traces (lalr1.cc). Incorrect display of gotos in LAC traces (lalr1.cc).
* Noteworthy changes in release 3.6.2 (2020-05-17) [stable] * Noteworthy changes in release 3.6.2 (2020-05-17) [stable]
** Bug fixes ** Bug fixes
@@ -156,6 +159,7 @@ GNU Bison NEWS
bison used to emit "nested" comments, which is invalid C. bison used to emit "nested" comments, which is invalid C.
* Noteworthy changes in release 3.6.1 (2020-05-10) [stable] * Noteworthy changes in release 3.6.1 (2020-05-10) [stable]
** Bug fixes ** Bug fixes
@@ -170,6 +174,7 @@ GNU Bison NEWS
In C++, yy::parser::symbol_type now has a public name() member function. In C++, yy::parser::symbol_type now has a public name() member function.
* Noteworthy changes in release 3.6 (2020-05-08) [stable] * Noteworthy changes in release 3.6 (2020-05-08) [stable]
** Backward incompatible changes ** Backward incompatible changes
@@ -392,6 +397,7 @@ GNU Bison NEWS
autocompletion on the existing variables, rather than of the word autocompletion on the existing variables, rather than of the word
"variable". "variable".
* Noteworthy changes in release 3.5.4 (2020-04-05) [stable] * Noteworthy changes in release 3.5.4 (2020-04-05) [stable]
** WARNING: Future backward-incompatibilities! ** WARNING: Future backward-incompatibilities!
@@ -412,6 +418,7 @@ GNU Bison NEWS
Fix api.token.raw support in Java. Fix api.token.raw support in Java.
* Noteworthy changes in release 3.5.3 (2020-03-08) [stable] * Noteworthy changes in release 3.5.3 (2020-03-08) [stable]
** Bug fixes ** Bug fixes
@@ -422,6 +429,7 @@ GNU Bison NEWS
Several unlikely crashes found by fuzzing have been fixed. Several unlikely crashes found by fuzzing have been fixed.
* Noteworthy changes in release 3.5.2 (2020-02-13) [stable] * Noteworthy changes in release 3.5.2 (2020-02-13) [stable]
** Bug fixes ** Bug fixes
@@ -431,6 +439,7 @@ GNU Bison NEWS
The lalr1.cc skeleton properly rejects unsupported values for parse.lac The lalr1.cc skeleton properly rejects unsupported values for parse.lac
(as yacc.c does). (as yacc.c does).
* Noteworthy changes in release 3.5.1 (2020-01-19) [stable] * Noteworthy changes in release 3.5.1 (2020-01-19) [stable]
** Bug fixes ** Bug fixes
@@ -439,6 +448,7 @@ GNU Bison NEWS
Fix compiler warnings. Fix compiler warnings.
* Noteworthy changes in release 3.5 (2019-12-11) [stable] * Noteworthy changes in release 3.5 (2019-12-11) [stable]
** Backward incompatible changes ** Backward incompatible changes
@@ -646,6 +656,7 @@ GNU Bison NEWS
In Java, %define api.prefix was ignored. It now behaves as expected. In Java, %define api.prefix was ignored. It now behaves as expected.
* Noteworthy changes in release 3.4.2 (2019-09-12) [stable] * Noteworthy changes in release 3.4.2 (2019-09-12) [stable]
** Bug fixes ** Bug fixes
@@ -663,12 +674,14 @@ GNU Bison NEWS
When lone carriage-return characters appeared in the input file, When lone carriage-return characters appeared in the input file,
diagnostics could hang forever. diagnostics could hang forever.
* Noteworthy changes in release 3.4.1 (2019-05-22) [stable] * Noteworthy changes in release 3.4.1 (2019-05-22) [stable]
** Bug fixes ** Bug fixes
Portability fixes. Portability fixes.
* Noteworthy changes in release 3.4 (2019-05-19) [stable] * Noteworthy changes in release 3.4 (2019-05-19) [stable]
** Deprecated features ** Deprecated features
@@ -809,6 +822,7 @@ GNU Bison NEWS
system, in December 1987. See the NEWS of Bison 3.3 for the previous system, in December 1987. See the NEWS of Bison 3.3 for the previous
oldest bug. oldest bug.
* Noteworthy changes in release 3.3.2 (2019-02-03) [stable] * Noteworthy changes in release 3.3.2 (2019-02-03) [stable]
** Bug fixes ** Bug fixes
@@ -816,6 +830,7 @@ GNU Bison NEWS
Bison 3.3 failed to generate parsers for grammars with unused nonterminal Bison 3.3 failed to generate parsers for grammars with unused nonterminal
symbols. symbols.
* Noteworthy changes in release 3.3.1 (2019-01-27) [stable] * Noteworthy changes in release 3.3.1 (2019-01-27) [stable]
** Changes ** Changes
@@ -823,6 +838,7 @@ GNU Bison NEWS
The option -y/--yacc used to imply -Werror=yacc, which turns uses of Bison The option -y/--yacc used to imply -Werror=yacc, which turns uses of Bison
extensions into errors. It now makes them simple warnings (-Wyacc). extensions into errors. It now makes them simple warnings (-Wyacc).
* Noteworthy changes in release 3.3 (2019-01-26) [stable] * Noteworthy changes in release 3.3 (2019-01-26) [stable]
A new mailing list was created, Bison Announce. It is low traffic, and is A new mailing list was created, Bison Announce. It is low traffic, and is
@@ -1138,6 +1154,7 @@ GNU Bison NEWS
literal such as "number". The post-fix quantifiers are ? (zero or literal such as "number". The post-fix quantifiers are ? (zero or
one), * (zero or more) and + (one or more). one), * (zero or more) and + (one or more).
* Noteworthy changes in release 3.2.4 (2018-12-24) [stable] * Noteworthy changes in release 3.2.4 (2018-12-24) [stable]
** Bug fixes ** Bug fixes
@@ -1146,6 +1163,7 @@ GNU Bison NEWS
Always provide a copy constructor for symbol_type, even in modern C++. Always provide a copy constructor for symbol_type, even in modern C++.
* Noteworthy changes in release 3.2.3 (2018-12-18) [stable] * Noteworthy changes in release 3.2.3 (2018-12-18) [stable]
** Bug fixes ** Bug fixes
@@ -1153,12 +1171,14 @@ GNU Bison NEWS
Properly support token constructors in C++ with types that include commas Properly support token constructors in C++ with types that include commas
(e.g., std::pair<int, int>). A regression introduced in Bison 3.2. (e.g., std::pair<int, int>). A regression introduced in Bison 3.2.
* Noteworthy changes in release 3.2.2 (2018-11-21) [stable] * Noteworthy changes in release 3.2.2 (2018-11-21) [stable]
** Bug fixes ** Bug fixes
C++ portability issues. C++ portability issues.
* Noteworthy changes in release 3.2.1 (2018-11-09) [stable] * Noteworthy changes in release 3.2.1 (2018-11-09) [stable]
** Bug fixes ** Bug fixes
@@ -1166,6 +1186,7 @@ GNU Bison NEWS
Several portability issues have been fixed in the build system, in the Several portability issues have been fixed in the build system, in the
test suite, and in the generated parsers in C++. test suite, and in the generated parsers in C++.
* Noteworthy changes in release 3.2 (2018-10-29) [stable] * Noteworthy changes in release 3.2 (2018-10-29) [stable]
** Backward incompatible changes ** Backward incompatible changes
@@ -1332,6 +1353,7 @@ GNU Bison NEWS
Portability/warning issues with Flex. Portability/warning issues with Flex.
* Noteworthy changes in release 3.1 (2018-08-27) [stable] * Noteworthy changes in release 3.1 (2018-08-27) [stable]
** Backward incompatible changes ** Backward incompatible changes
@@ -1472,6 +1494,7 @@ GNU Bison NEWS
Useless code was removed from C++ parsers, and some of the generated Useless code was removed from C++ parsers, and some of the generated
constructors are more 'natural'. constructors are more 'natural'.
* Noteworthy changes in release 3.0.5 (2018-05-27) [stable] * Noteworthy changes in release 3.0.5 (2018-05-27) [stable]
** Bug fixes ** Bug fixes
@@ -1502,6 +1525,7 @@ GNU Bison NEWS
On some platforms, some Java and/or C++ tests were failing. On some platforms, some Java and/or C++ tests were failing.
* Noteworthy changes in release 3.0.4 (2015-01-23) [stable] * Noteworthy changes in release 3.0.4 (2015-01-23) [stable]
** Bug fixes ** Bug fixes
@@ -1514,6 +1538,7 @@ GNU Bison NEWS
Several portability issues in tests were fixed. Several portability issues in tests were fixed.
* Noteworthy changes in release 3.0.3 (2015-01-15) [stable] * Noteworthy changes in release 3.0.3 (2015-01-15) [stable]
** Bug fixes ** Bug fixes
@@ -1570,6 +1595,7 @@ GNU Bison NEWS
- calc++ - calc++
a calculator in C++ using variant support and token constructors. a calculator in C++ using variant support and token constructors.
* Noteworthy changes in release 3.0.2 (2013-12-05) [stable] * Noteworthy changes in release 3.0.2 (2013-12-05) [stable]
** Bug fixes ** Bug fixes
@@ -1594,6 +1620,7 @@ GNU Bison NEWS
When C++ variant support is enabled, an error triggered via YYERROR, but When C++ variant support is enabled, an error triggered via YYERROR, but
not caught via error recovery, resulted in a double deletion. not caught via error recovery, resulted in a double deletion.
* Noteworthy changes in release 3.0.1 (2013-11-12) [stable] * Noteworthy changes in release 3.0.1 (2013-11-12) [stable]
** Bug fixes ** Bug fixes
@@ -1625,6 +1652,7 @@ GNU Bison NEWS
Bugs and portability issues. Bugs and portability issues.
* Noteworthy changes in release 3.0 (2013-07-25) [stable] * Noteworthy changes in release 3.0 (2013-07-25) [stable]
** WARNING: Future backward-incompatibilities! ** WARNING: Future backward-incompatibilities!
@@ -2221,6 +2249,7 @@ GNU Bison NEWS
There are operator- and operator-= for 'location'. Negative line/column There are operator- and operator-= for 'location'. Negative line/column
increments can no longer underflow the resulting value. increments can no longer underflow the resulting value.
* Noteworthy changes in release 2.7.1 (2013-04-15) [stable] * Noteworthy changes in release 2.7.1 (2013-04-15) [stable]
** Bug fixes ** Bug fixes
@@ -2231,6 +2260,7 @@ GNU Bison NEWS
*** Fix some compiler warnings (lalr1.cc) *** Fix some compiler warnings (lalr1.cc)
* Noteworthy changes in release 2.7 (2012-12-12) [stable] * Noteworthy changes in release 2.7 (2012-12-12) [stable]
** Bug fixes ** Bug fixes
@@ -2355,6 +2385,7 @@ GNU Bison NEWS
The translation of midrule actions is now described. The translation of midrule actions is now described.
* Noteworthy changes in release 2.6.5 (2012-11-07) [stable] * Noteworthy changes in release 2.6.5 (2012-11-07) [stable]
We consider compiler warnings about Bison generated parsers to be bugs. We consider compiler warnings about Bison generated parsers to be bugs.
@@ -2374,10 +2405,12 @@ GNU Bison NEWS
When possible, yylloc is correctly initialized before calling yylex. It When possible, yylloc is correctly initialized before calling yylex. It
is no longer necessary to initialize it in the %initial-action. is no longer necessary to initialize it in the %initial-action.
* Noteworthy changes in release 2.6.4 (2012-10-23) [stable] * Noteworthy changes in release 2.6.4 (2012-10-23) [stable]
Bison 2.6.3's --version was incorrect. This release fixes this issue. Bison 2.6.3's --version was incorrect. This release fixes this issue.
* Noteworthy changes in release 2.6.3 (2012-10-22) [stable] * Noteworthy changes in release 2.6.3 (2012-10-22) [stable]
** Bug fixes ** Bug fixes
@@ -2422,6 +2455,7 @@ GNU Bison NEWS
"function declared 'noreturn' should not return") have also been "function declared 'noreturn' should not return") have also been
addressed. addressed.
* Noteworthy changes in release 2.6.2 (2012-08-03) [stable] * Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
** Bug fixes ** Bug fixes
@@ -2438,6 +2472,7 @@ GNU Bison NEWS
The generated files no longer end (nor start) with empty lines. The generated files no longer end (nor start) with empty lines.
* Noteworthy changes in release 2.6.1 (2012-07-30) [stable] * Noteworthy changes in release 2.6.1 (2012-07-30) [stable]
Bison no longer executes user-specified M4 code when processing a grammar. Bison no longer executes user-specified M4 code when processing a grammar.
@@ -2476,6 +2511,7 @@ GNU Bison NEWS
will display two values for each typed and untyped symbol (provided will display two values for each typed and untyped symbol (provided
that YYSTYPE has both "ival" and "fval" fields). that YYSTYPE has both "ival" and "fval" fields).
* Noteworthy changes in release 2.6 (2012-07-19) [stable] * Noteworthy changes in release 2.6 (2012-07-19) [stable]
** Future changes ** Future changes
@@ -2609,6 +2645,7 @@ GNU Bison NEWS
#endif /* !BAR_FOO_H */ #endif /* !BAR_FOO_H */ #endif /* !BAR_FOO_H */ #endif /* !BAR_FOO_H */
* Noteworthy changes in release 2.5.1 (2012-06-05) [stable] * Noteworthy changes in release 2.5.1 (2012-06-05) [stable]
** Future changes: ** Future changes:
@@ -2706,6 +2743,7 @@ GNU Bison NEWS
Running "make install-pdf" (or -dvi, -html, -info, and -ps) no longer Running "make install-pdf" (or -dvi, -html, -info, and -ps) no longer
halts in the middle of its course. halts in the middle of its course.
* Noteworthy changes in release 2.5 (2011-05-14) * Noteworthy changes in release 2.5 (2011-05-14)
** Grammar symbol names can now contain non-initial dashes: ** Grammar symbol names can now contain non-initial dashes:
@@ -3061,6 +3099,7 @@ GNU Bison NEWS
This bug has been fixed. This bug has been fixed.
* Noteworthy changes in release 2.4.3 (2010-08-05) * Noteworthy changes in release 2.4.3 (2010-08-05)
** Bison now obeys -Werror and --warnings=error for warnings about ** Bison now obeys -Werror and --warnings=error for warnings about
@@ -3081,6 +3120,7 @@ GNU Bison NEWS
** Minor documentation fixes. ** Minor documentation fixes.
* Noteworthy changes in release 2.4.2 (2010-03-20) * Noteworthy changes in release 2.4.2 (2010-03-20)
** Some portability problems that resulted in failures and livelocks ** Some portability problems that resulted in failures and livelocks
@@ -3175,6 +3215,7 @@ GNU Bison NEWS
message translations were not installed although supported by the message translations were not installed although supported by the
host system. host system.
* Noteworthy changes in release 2.4.1 (2008-12-11) * Noteworthy changes in release 2.4.1 (2008-12-11)
** In the GLR defines file, unexpanded M4 macros in the yylval and yylloc ** In the GLR defines file, unexpanded M4 macros in the yylval and yylloc
@@ -3200,6 +3241,7 @@ GNU Bison NEWS
** A few minor improvements to the Bison manual. ** A few minor improvements to the Bison manual.
* Noteworthy changes in release 2.4 (2008-11-02) * Noteworthy changes in release 2.4 (2008-11-02)
** %language is an experimental feature. ** %language is an experimental feature.
@@ -3215,6 +3257,7 @@ GNU Bison NEWS
** Several bugs in the C++ skeleton and the experimental Java skeleton have been ** Several bugs in the C++ skeleton and the experimental Java skeleton have been
fixed. fixed.
* Noteworthy changes in release 2.3b (2008-05-27) * Noteworthy changes in release 2.3b (2008-05-27)
** The quotes around NAME that used to be required in the following directive ** The quotes around NAME that used to be required in the following directive
@@ -3401,6 +3444,7 @@ GNU Bison NEWS
** The nonfunctional --no-parser, -n, and %no-parser options have been ** The nonfunctional --no-parser, -n, and %no-parser options have been
completely removed from Bison. completely removed from Bison.
* Noteworthy changes in release 2.3a (2006-09-13) * Noteworthy changes in release 2.3a (2006-09-13)
** Instead of %union, you can define and use your own union type ** Instead of %union, you can define and use your own union type
@@ -3515,6 +3559,7 @@ GNU Bison NEWS
The old spelling still works, but is not documented and may be removed The old spelling still works, but is not documented and may be removed
in a future release. in a future release.
* Noteworthy changes in release 2.3 (2006-06-05) * Noteworthy changes in release 2.3 (2006-06-05)
** GLR grammars should now use "YYRECOVERING ()" instead of "YYRECOVERING", ** GLR grammars should now use "YYRECOVERING ()" instead of "YYRECOVERING",
@@ -3523,6 +3568,7 @@ GNU Bison NEWS
** It is now documented that any definition of YYSTYPE or YYLTYPE should ** It is now documented that any definition of YYSTYPE or YYLTYPE should
be to a type name that does not contain parentheses or brackets. be to a type name that does not contain parentheses or brackets.
* Noteworthy changes in release 2.2 (2006-05-19) * Noteworthy changes in release 2.2 (2006-05-19)
** The distribution terms for all Bison-generated parsers now permit ** The distribution terms for all Bison-generated parsers now permit
@@ -3605,6 +3651,7 @@ GNU Bison NEWS
** DJGPP support added. ** DJGPP support added.
* Noteworthy changes in release 2.1 (2005-09-16) * Noteworthy changes in release 2.1 (2005-09-16)
** The C++ lalr1.cc skeleton supports %lex-param. ** The C++ lalr1.cc skeleton supports %lex-param.
@@ -3631,6 +3678,7 @@ GNU Bison NEWS
print 'syntax error, unexpected number' instead of 'syntax error, print 'syntax error, unexpected number' instead of 'syntax error,
unexpected "number"'. unexpected "number"'.
* Noteworthy changes in release 2.0 (2004-12-25) * Noteworthy changes in release 2.0 (2004-12-25)
** Possibly-incompatible changes ** Possibly-incompatible changes
@@ -3694,6 +3742,7 @@ GNU Bison NEWS
- Semicolons are now allowed before "|" in grammar rules, as POSIX requires. - Semicolons are now allowed before "|" in grammar rules, as POSIX requires.
* Noteworthy changes in release 1.875 (2003-01-01) * Noteworthy changes in release 1.875 (2003-01-01)
** The documentation license has been upgraded to version 1.2 ** The documentation license has been upgraded to version 1.2
@@ -3814,6 +3863,7 @@ GNU Bison NEWS
ago, but nobody noticed until we recently asked someone to try ago, but nobody noticed until we recently asked someone to try
building Bison with a K&R C compiler. building Bison with a K&R C compiler.
* Noteworthy changes in release 1.75 (2002-10-14) * Noteworthy changes in release 1.75 (2002-10-14)
** Bison should now work on 64-bit hosts. ** Bison should now work on 64-bit hosts.
@@ -3845,6 +3895,7 @@ GNU Bison NEWS
was incorrectly rejected: $1 is defined in the second midrule was incorrectly rejected: $1 is defined in the second midrule
action, and is equal to the $$ of the first midrule action. action, and is equal to the $$ of the first midrule action.
* Noteworthy changes in release 1.50 (2002-10-04) * Noteworthy changes in release 1.50 (2002-10-04)
** GLR parsing ** GLR parsing
@@ -3989,6 +4040,7 @@ GNU Bison NEWS
** GNU M4 is now required when using Bison. ** GNU M4 is now required when using Bison.
* Noteworthy changes in release 1.35 (2002-03-25) * Noteworthy changes in release 1.35 (2002-03-25)
** C Skeleton ** C Skeleton
@@ -4004,6 +4056,7 @@ GNU Bison NEWS
This kludge also addresses some C++ problems when the stack was This kludge also addresses some C++ problems when the stack was
extended. extended.
* Noteworthy changes in release 1.34 (2002-03-12) * Noteworthy changes in release 1.34 (2002-03-12)
** File name clashes are detected ** File name clashes are detected
@@ -4024,6 +4077,7 @@ GNU Bison NEWS
** Fix test suite portability problems. ** Fix test suite portability problems.
* Noteworthy changes in release 1.33 (2002-02-07) * Noteworthy changes in release 1.33 (2002-02-07)
** Fix C++ issues ** Fix C++ issues
@@ -4033,6 +4087,7 @@ GNU Bison NEWS
** Catch invalid @n ** Catch invalid @n
As is done with $n. As is done with $n.
* Noteworthy changes in release 1.32 (2002-01-23) * Noteworthy changes in release 1.32 (2002-01-23)
** Fix Yacc output file names ** Fix Yacc output file names
@@ -4041,6 +4096,7 @@ GNU Bison NEWS
** Italian, Dutch translations ** Italian, Dutch translations
* Noteworthy changes in release 1.31 (2002-01-14) * Noteworthy changes in release 1.31 (2002-01-14)
** Many Bug Fixes ** Many Bug Fixes
@@ -4128,6 +4184,7 @@ GNU Bison NEWS
** --output ** --output
New, aliasing "--output-file". New, aliasing "--output-file".
* Noteworthy changes in release 1.30 (2001-10-26) * Noteworthy changes in release 1.30 (2001-10-26)
** "--defines" and "--graph" have now an optional argument which is the ** "--defines" and "--graph" have now an optional argument which is the
@@ -4139,6 +4196,7 @@ GNU Bison NEWS
** Portability fixes. ** Portability fixes.
* Noteworthy changes in release 1.29 (2001-09-07) * Noteworthy changes in release 1.29 (2001-09-07)
** The output file does not define const, as this caused problems when used ** The output file does not define const, as this caused problems when used
@@ -4174,6 +4232,7 @@ GNU Bison NEWS
** @$ ** @$
Automatic location tracking. Automatic location tracking.
* Noteworthy changes in release 1.28 (1999-07-06) * Noteworthy changes in release 1.28 (1999-07-06)
** Should compile better now with K&R compilers. ** Should compile better now with K&R compilers.
@@ -4184,11 +4243,13 @@ GNU Bison NEWS
** There is now a FAQ. ** There is now a FAQ.
* Noteworthy changes in release 1.27 * Noteworthy changes in release 1.27
** The make rule which prevented bison.simple from being created on ** The make rule which prevented bison.simple from being created on
some systems has been fixed. some systems has been fixed.
* Noteworthy changes in release 1.26 * Noteworthy changes in release 1.26
** Bison now uses Automake. ** Bison now uses Automake.
@@ -4206,6 +4267,7 @@ GNU Bison NEWS
** Generated parsers should now work even on operating systems which do ** Generated parsers should now work even on operating systems which do
not provide alloca(). not provide alloca().
* Noteworthy changes in release 1.25 (1995-10-16) * Noteworthy changes in release 1.25 (1995-10-16)
** Errors in the input grammar are not fatal; Bison keeps reading ** Errors in the input grammar are not fatal; Bison keeps reading
@@ -4231,6 +4293,7 @@ the parser engine; a project can now use its own parser engine.
The actions go into a separate file called NAME.act, in the form of The actions go into a separate file called NAME.act, in the form of
a switch statement body. a switch statement body.
* Noteworthy changes in release 1.23 * Noteworthy changes in release 1.23
The user can define YYPARSE_PARAM as the name of an argument to be The user can define YYPARSE_PARAM as the name of an argument to be
@@ -4240,10 +4303,12 @@ by casting it to the proper pointer type.
Line numbers in output file corrected. Line numbers in output file corrected.
* Noteworthy changes in release 1.22 * Noteworthy changes in release 1.22
--help option added. --help option added.
* Noteworthy changes in release 1.20 * Noteworthy changes in release 1.20
Output file does not redefine const for C++. Output file does not redefine const for C++.