mirror of
https://git.savannah.gnu.org/git/gperf.git
synced 2025-12-02 13:09:22 +00:00
* src/options.cc (Options::parse_options): Bump copyright year. * NEWS: Mention a few more changes.
118 lines
4.3 KiB
Plaintext
118 lines
4.3 KiB
Plaintext
New in 3.2:
|
|
* The input file may now use Windows line terminators (CR/LF) instead of
|
|
Unix line terminators (LF).
|
|
Note: This is an incompatible change. If you want to use a keyword that
|
|
ends in a CR byte, such as xyz<CR>, write it as "xyz\r".
|
|
* The generated code avoids several types of warnings:
|
|
- "implicit fallthrough" warnings in 'switch' statements.
|
|
- "unused parameter" warnings regarding 'str' or 'len'.
|
|
- "missing initializer for field ..." warnings.
|
|
- "zero as null pointer constant" warnings.
|
|
|
|
New in 3.1:
|
|
* The generated C code is now in ANSI-C by default. If you want to support
|
|
pre-ANSI-C compilers, you need to provide the option --language=C on the
|
|
command line or %language=C in the source file.
|
|
* The 'len' parameter of the hash function and of the lookup function is now
|
|
of type 'size_t' instead of 'unsigned int'. This makes it safe to call these
|
|
functions with strings of length > 4 GB, on 64-bit machines.
|
|
* Added option --constants-prefix.
|
|
* Added declaration %define constants-prefix.
|
|
|
|
New in 3.0.4:
|
|
|
|
* gperf is now licensed under the GPL version 3 or newer.
|
|
* The generated C code gives less warnings with gcc-4.2.x in c99 or gnu99 mode.
|
|
|
|
New in 3.0.3:
|
|
|
|
* The generated C code is compatible with gcc-4.3.x in c99 or gnu99 mode.
|
|
|
|
New in 3.0.2:
|
|
|
|
* Compiles with g++-4.0.x.
|
|
* Added option --length-table-name.
|
|
* Added declaration %define length-table-name.
|
|
* Fixed #line directives for filenames containing backslashes.
|
|
|
|
New in 3.0.1:
|
|
|
|
* Bug fix.
|
|
|
|
New in 3.0:
|
|
|
|
* Added option --output that allows to specify the output file name.
|
|
* Some options have been renamed:
|
|
--hash-fn-name=NAME --> --hash-function-name=NAME
|
|
--lookup-fn-name=NAME --> --lookup-function-name=NAME
|
|
--compare-strlen --> --compare-lengths
|
|
--global --> --global-table
|
|
The older variants are still supported for backward compatibility.
|
|
* The following options can now be specified inside the input file:
|
|
%delimiters=DELIMITER-LIST
|
|
%struct-type
|
|
%ignore-case
|
|
%language=LANGUAGE-NAME
|
|
%define slot-name NAME
|
|
%define initializer-suffix INITIALIZERS
|
|
%define hash-function-name NAME
|
|
%define lookup-function-name NAME
|
|
%define class-name NAME
|
|
%7bit
|
|
%compare-lengths
|
|
%compare-strncmp
|
|
%readonly-tables
|
|
%enum
|
|
%includes
|
|
%global-table
|
|
%pic
|
|
%define string-pool-name NAME
|
|
%null-strings
|
|
%define word-array-name NAME
|
|
%switch=COUNT
|
|
%omit-struct-type
|
|
* When the option -k is not given, the default key positions are now
|
|
computed depending on the set of keywords.
|
|
* If the input file is given by name, the output file will now contain
|
|
#line directives referring to the input file.
|
|
* Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" }
|
|
or { "abc", "acb", "bca", "cab" }, are now handled by gperf without
|
|
requiring the option -D.
|
|
* The generated table is usually much smaller than it was with earlier
|
|
versions of gperf.
|
|
* Added option -m/--multiple-iterations that allows to further reduce the
|
|
size of the generated table.
|
|
* When the search for a good hash function is not immediately successful,
|
|
the table's size will grow as needed. Earlier versions of gperf bailed
|
|
out with an "Internal error, duplicate hash code value".
|
|
* The options -f/--fast and -o/--occurrence-sort have no effect any more.
|
|
* Added options -P/--pic and --null-strings that optimize the generated code
|
|
for use in shared libraries. -P/--pic does a perfect optimization but may
|
|
require some small code changes (see the documentation for details), whereas
|
|
--null-strings does only a half-hearted optimization but works without
|
|
needing any change to surrounding code.
|
|
* Added option --ignore-case that produces a case independent lookup function.
|
|
* Bug fixes.
|
|
|
|
New in 2.7.2:
|
|
|
|
* Keywords may now be enclosed in double quotes; this permits the use of
|
|
'#', ',', space or NUL inside keywords.
|
|
* Bug fixes.
|
|
|
|
New in 2.7.1:
|
|
|
|
* Added option "-F" for gcc.
|
|
|
|
New in 2.7:
|
|
|
|
* gperf is now a stand-alone package, untied from libg++.
|
|
* Autoconfiguring.
|
|
* Removed the "-a" and "-g" options, extended the "-L" option instead.
|
|
* Removed the "-p" option, it is the default.
|
|
* Added long options ("--help", "--version" etc.).
|
|
* 8-bit cleanliness is now the default; use "-7" to get the old behaviour.
|
|
* Compiles with any C++ compiler.
|
|
* Numerous small improvements.
|
|
|