Bruno Haible
a041291c80
Remove all occurrences of reinterpret_cast<>.
...
* src/keyword-list.h (Keyword_List): Add template parameter list <KT>.
(KeywordExt_List): Define as a typedef, not as a subclass.
(copy_list, delete_list, mergesort_list): Templatize accordingly.
* src/keyword-list.icc (Keyword_List): Add template parameter list <KT>.
(KeywordExt_List): Remove method definitions.
* src/keyword-list.cc (Keyword_List): Add template parameter list <KT>.
(copy_list, mergesort_list): Remove definitions on subclass.
Add explicit template instantiation.
* src/keyword.h (Keyword_Factory): Add template parameter list <KT>.
* src/keyword.cc (Keyword_Factory): Likewise.
Add explicit template instantiation.
* src/input.h (Input): Add template parameter list <KT>.
* src/input.cc (Input): Likewise. Add explicit template instantiation.
* src/main.cc (KeywordExt_Factory): Define as a typedef, not as a
subclass.
(main): Update.
2025-04-05 14:18:27 +02:00
Bruno Haible
67c697622f
Make output on Windows identical to output on Unix.
...
* src/options.cc (Options::print_options): Drop a ".exe" suffix from the
program name before printing it.
2025-04-05 10:23:32 +02:00
Bruno Haible
2dd5061f4d
Avoid "-Wzero-as-null-pointer-constant" warnings on the generated code.
...
Reported in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00123.html >.
* src/output.cc (Output::output_lookup_function_body): To denote a null
pointer, emit a cast expression instead of plain "0".
* tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
tests/cplusplus.exp, tests/gpc.exp, tests/incomplete.exp,
tests/java.exp, tests/languages.exp, tests/modula2.exp, tests/objc.exp,
tests/permut2.exp, tests/permut3.exp, tests/permutc2.exp,
tests/test-4.exp: Update.
2024-11-16 08:23:49 +01:00
Bruno Haible
0246553284
Fix build (regression 2024-04-04).
...
Reported by Pádraig Brady <P@draigBrady.com > in
<https://lists.gnu.org/archive/html/bug-gperf/2024-06/msg00000.html >.
* doc/configure.ac: Invoke AC_CONFIG_AUX_DIR, needed for locating
install-sh.
* lib/configure.ac: Likewise.
* src/configure.ac: Likewise.
* tests/configure.ac: Likewise.
2024-06-05 11:31:18 +02:00
Bruno Haible
84183912e0
Remove outdated Autoconf macro.
...
* aclocal.m4 (CL_PROG_INSTALL): Remove macro.
* doc/configure.ac: Invoke AC_PROG_INSTALL instead of CL_PROG_INSTALL.
* lib/configure.ac: Likewise.
* src/configure.ac: Likewise.
2024-04-04 15:10:51 +02:00
Bruno Haible
ce5106eb19
Avoid "clang -Wimplicit-fallthrough" warnings also in C mode.
...
* src/output.cc (Output::output_hash_function): Enhance the fallthrough
marker, to include clang >= 10 in C mode.
* tests/*.exp: Update.
2023-09-07 12:55:29 +02:00
Bruno Haible
8d68fff1c7
Avoid "gcc -Wmissing-field-initializers" warnings on the generated code.
...
* src/options.h (Options::has_initializer_suffix): New declaration.
* src/options.cc (Options::has_initializer_suffix): New function.
* src/output.cc (Output::output_keyword_table): If option -t is
specified and option -F is not specified, emit '#pragma GCC diagnostic'
lines, to silence -Wmissing-field-initializers warnings from gcc or
clang.
* tests/charsets.exp: Update.
* tests/gpc.exp: Likewise.
* tests/incomplete.exp: Likewise.
* tests/languages.exp: Likewise.
* tests/objc.exp: Likewise.
* tests/test-4.exp: Likewise.
2023-09-05 21:20:51 +02:00
Bruno Haible
91ed1621cc
Avoid "gcc -Wunused-parameter" warnings on the generated hash function.
...
Reported by Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com > in
<https://savannah.gnu.org/bugs/index.php?64393 >.
* src/output.cc (Output::output_hash_function): If str is not used, emit
a cast from str to void. If len is not used, emit a cast from len to
void.
* tests/permut2.exp: Update.
* tests/permut3.exp: Likewise.
* tests/permutc2.exp: Likewise.
2023-07-08 12:30:47 +02:00
Bruno Haible
1862c6e57a
Add support for reproducible builds.
...
Suggested by Richard Purdie <richard.purdie@linuxfoundation.org > in
<https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html >.
* autogen.sh: Import also lib/filename.h.
* Makefile.in (IMPORTED_FILES): Add lib/filename.h.
* src/options.cc: Include filename.h.
(Options::print_options): Print only the base name of the program name.
* tests/*.exp: Update.
2022-07-05 07:51:46 +02:00
Bruno Haible
6d53a2dbe0
Release gperf-3.2.
...
* src/version.cc (version_string): Bump to 3.2.
* src/options.cc (Options::parse_options): Bump copyright year.
* tests/*.exp: Update.
* doc/gperf.texi: Bump date.
2022-01-05 12:59:54 +01:00
Michael Drake
96ebd0b95d
Honor --readonly-tables when outputting table for --ignore-case.
...
* src/output.cc (output_upperlower_table): Add 'const' when suitable.
2021-06-06 11:23:17 +02:00
Bruno Haible
8cb07d4235
Fix warnings from Autoconf 2.69c.
...
* configure.ac: Invoke AC_INIT, AC_OUTPUT without arguments.
* doc/configure.ac: Likewise.
* lib/configure.ac: Likewise.
* src/configure.ac: Invoke AC_INIT, AC_OUTPUT without arguments. Use
AC_CACHE_CHECK, AC_LANG_PUSH/AC_LANG_POP, AC_COMPILE_IFELSE
* tests/configure.ac: Invoke AC_INIT, AC_OUTPUT without arguments. Use
ac_cv_c_compiler_gnu instead of ac_cv_prog_gcc, and
ac_cv_cxx_compiler_gnu instead of ac_cv_prog_gxx. Don't use 'test' with
option '-a'.
2020-10-05 00:45:25 +02:00
Bruno Haible
4706572628
Update after gnulib changed.
...
* configure.ac (AC_PREREQ): Require Autoconf >= 2.64.
* doc/configure.ac (AC_PREREQ): Likewise.
* lib/configure.ac (AC_PREREQ): Likewise.
* src/configure.ac (AC_PREREQ): Likewise.
* tests/configure.ac (AC_PREREQ): Likewise.
* autogen.sh: Update comment.
2020-08-30 02:06:20 +02:00
Bruno Haible
0a2ed64ff7
Rely entirely on the GNU Build System.
...
* Makefile.vms: Remove file.
* INSTALL.vms: Remove file.
* Makefile.in (SOURCE_FILES): Remove them.
* Makefile.devel (src/config.h_vms): Remove target.
(totally-clean): Update.
* src/Makefile.in (GENERATED_FILES): Remove config.h_vms.
2020-02-11 03:14:38 +01:00
Bruno Haible
9f4f11ab13
Update after gnulib changed.
2018-10-24 11:59:45 +02:00
Bruno Haible
b3c3566855
Prefer https URLs where possible.
2018-09-17 16:53:00 +02:00
Bruno Haible
50840436d5
Avoid "implicit fallthrough" warnings also from clang.
2018-09-09 01:14:20 +02:00
Bruno Haible
5f4cf73df2
Don't print uninitialized hash values in debug mode.
2018-09-08 16:37:56 +02:00
Bruno Haible
24f492fd8d
Improve the speed of the positions search.
2018-09-08 16:08:09 +02:00
Bruno Haible
947854520b
Really prefer more efficient hash functions over less efficient ones.
2018-09-08 15:56:21 +02:00
Bruno Haible
a720310c28
Correct width of columns when outputting the asso_values array.
...
Patch by Frank Wojcik <frankw@touristinresidence.com >.
* src/output.cc (Output::output_hash_function): Increase the
field_width by 1 if _max_hash_value+1 is a power of 10.
2018-09-08 15:36:36 +02:00
Bruno Haible
0d37a8763d
Avoid "implicit fallthrough" warnings in the generated code.
2018-07-26 02:00:39 +02:00
Bruno Haible
13c9383b10
Support input files with CR/LF line terminators.
2018-04-24 09:25:10 +02:00
Bruno Haible
283b51086a
Don't use an undocumented Autoconf macro.
2018-01-23 08:59:13 +01:00
Bruno Haible
a459641a53
Initialize the Keyword::_lineno field through the constructor.
2017-04-16 17:39:15 +02:00
Bruno Haible
825b077bf4
Fix copyright years.
2017-02-22 15:32:38 +01:00
Marcel Schaible
d551865672
Adjusted the version information for the release
2017-01-02 19:00:16 +01:00
Bruno Haible
a705809f3d
Drop the inline specifiers from the generated lookup function.
2016-11-26 18:42:05 +01:00
Bruno Haible
0414be8fff
Change mailing list address to <bug-gperf@gnu.org>.
2016-11-26 18:08:57 +01:00
Bruno Haible
d519d1a821
Change the 'len' parameter type to 'size_t'.
2016-11-26 17:54:33 +01:00
Bruno Haible
b468e3aae0
Avoid warning in output code on 64-bit native Windows platforms.
2016-11-26 02:54:25 +01:00
Bruno Haible
baf89d87f0
Don't use 'register' storage-class specifier in C++ output code.
2016-11-26 02:26:31 +01:00
Bruno Haible
658e826478
Avoid 'warning: use of old-style cast' in output code.
2016-11-26 02:25:50 +01:00
Bruno Haible
bbe4d732f3
Avoid 'warning: implicit conversion changes signedness' in output code.
2016-11-26 02:25:44 +01:00
Bruno Haible
b3356507ce
Avoid 'warning: implicit conversion changes signedness' in output code.
2016-11-26 01:05:14 +01:00
Bruno Haible
efd1fd8439
Fix g++ -Wall warnings.
2016-11-25 20:03:51 +01:00
Bruno Haible
0003342367
Fix "make clean" with MSVC.
2012-07-01 19:02:44 +02:00
Bruno Haible
064483191f
Fix compilation error with MSVC.
2012-07-01 18:07:20 +02:00
Bruno Haible
bf93ebd28e
Remove old infrastructure for building with MSVC.
2012-07-01 18:05:30 +02:00
Bruno Haible
238fa3bf09
Move build infrastructure files to build-aux/.
2012-07-01 16:44:26 +02:00
Bruno Haible
008922a2e9
Remove autotools generated files from version control.
2012-07-01 16:04:36 +02:00
Bruno Haible
9386cd6fc4
Create tarballs through an Automake-like "make dist" command.
2012-07-01 15:40:25 +02:00
Bruno Haible
b392998058
Regenerated with autoconf-2.69.
2012-04-28 20:58:26 +02:00
Bruno Haible
00e5f0c388
Bump copyright year.
2011-01-16 16:56:58 +01:00
Bruno Haible
5ac5f15a74
New option --constants-prefix.
2011-01-16 16:45:09 +01:00
Bruno Haible
61edba6dde
Regenerated with autoconf-2.68.
2011-01-16 11:06:15 +01:00
Bruno Haible
181d4eaa29
Regenerated with autoconf-2.67.
2010-07-31 19:05:15 +02:00
Bruno Haible
22f5f3d712
Regenerated with autoconf 2.66.
2010-07-03 13:01:28 +02:00
Bruno Haible
b4eb8c5c5e
Avoid g++ warnings.
2009-12-22 11:57:02 +01:00
Bruno Haible
ce9b2f4eb4
Support CPPFLAGS as mandated by GNU standards.
2009-12-22 11:41:37 +01:00