File: NEWS

package info (click to toggle)
gperf 3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,144 kB
  • sloc: exp: 23,423; ansic: 18,851; cpp: 5,957; sh: 5,300; perl: 2,118; makefile: 634
file content (127 lines) | stat: -rw-r--r-- 4,537 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
New in 3.3:

* Speedup: gperf is now between 2x and 2.5x faster.

New in 3.2.1:

* The generated code avoids -Wundef warnings in C++ mode.

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.