Hello all,
I am French and worked at CEA on GCC, see https://arxiv.org/abs/1109.0779 ... On a Linux desktop (AMD Ryzen Threadripper 2970WX Debian/trixie with 64Gbytes RAM and 6.16.10+deb14-rt-amd64) I downloaded smalltalk-3.2.91 and configured it with ./configure --enable-jit --disable-silent-rules --enable-gtk CC=gcc CFLAGS='-O2 -g' the gcc is a snapshot compiled by me: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-linux-gnu/16/lto-wrapper Target: x86_64-linux-gnu Configured with: /usr/src/Lang/gcc-16snap/configure -v --prefix=/usr/local --with-gcc-major-version- only --program-suffix=-16 --enable-shared --enable-plugin --enable-default-pie --with-system-zlib -- disable-multilib --with-tune=native --enable-checking=release --enable-host-shared --build=x86_64- linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu CFLAGS='-g -O2' CXXFLAGS='-g -O2' -- enable-werror build_alias=x86_64-linux-gnu host_alias=x86_64-linux-gnu target_alias=x86_64-linux-gnu --enable-languages=c,c++,jit,lto Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 16.0.0 20250907 (experimental) (GCC) (FWIW, GNU lightning is also installed under /usr/local ...) GNU smalltalk failed to compile with: libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -O2 -g -Wall -Wdeclaration-after-statement -Wno- format -Wpointer-arith -Wno-pointer-sign -Wno-switch -Wwrite-strings -Wno-strict-aliasing -fno-gcse -fstrict-aliasing -MT regex.lo -MD -MP -MF .deps/regex.Tpo -c regex.c -fPIC -DPIC -o .libs/regex.o regex.c: In function 'pre_set_casetable': regex.c:197:1: warning: old-style function definition [-Wold-style-definition] 197 | pre_set_casetable (table) | ^~~~~~~~~~~~~~~~~ regex.c: In function 'calculate_must_string': regex.c:768:1: warning: old-style function definition [-Wold-style-definition] 768 | calculate_must_string (start, end) | ^~~~~~~~~~~~~~~~~~~~~ regex.c: In function 'read_backslash': regex.c:891:1: warning: old-style function definition [-Wold-style-definition] 891 | read_backslash (c) | ^~~~~~~~~~~~~~ regex.c: In function 'read_special': regex.c:924:1: warning: old-style function definition [-Wold-style-definition] 924 | read_special (p, pend, pp) | ^~~~~~~~~~~~ regex.c: In function 'scan_oct': regex.c:974:1: warning: old-style function definition [-Wold-style-definition] 974 | scan_oct (start, len, retlen) | ^~~~~~~~ regex.c: In function 'scan_hex': regex.c:992:1: warning: old-style function definition [-Wold-style-definition] 992 | scan_hex (start, len, retlen) | ^~~~~~~~ regex.c: In function 'pre_compile_pattern': regex.c:1028:1: warning: old-style function definition [-Wold-style-definition] 1028 | pre_compile_pattern (pattern, size, bufp) | ^~~~~~~~~~~~~~~~~~~ regex.c:1243:15: error: too many arguments to function 'store_jump'; expected 0, have 3 1243 | store_jump (b, greedy ? maybe_finalize_jump : finalize_push, | ^~~~~~~~~~ ~ regex.c:153:13: note: declared here 153 | static void store_jump _((char *, int, char *)); | ^~~~~~~~~~ regex.c:1251:11: error: too many arguments to function 'insert_jump'; expected 0, have 4 1251 | insert_jump (on_failure_jump, laststart, b + 3, b); | ^~~~~~~~~~~ ~~~~~~~~~~~~~~~ regex.c:154:13: note: declared here 154 | static void insert_jump _((int, char *, char *, char *)); | ^~~~~~~~~~~ regex.c:1259:19: error: too many arguments to function 'insert_jump'; expected 0, have 4 1259 | insert_jump (try_next, laststart, b + 3, b); | ^~~~~~~~~~~ ~~~~~~~~ regex.c:154:13: note: declared here 154 | static void insert_jump _((int, char *, char *, char *)); | ^~~~~~~~~~~ regex.c:1271:15: error: too many arguments to function 'insert_jump'; expected 0, have 4 1271 | insert_jump (dummy_failure_jump, laststart, laststart + 6, b); | ^~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ regex.c:154:13: note: declared here 154 | static void insert_jump _((int, char *, char *, char *)); | ^~~~~~~~~~~ regex.c:1392:27: error: too many arguments to function 'scan_hex'; expected 0, have 3 1392 | c = scan_hex (p, 2, &numlen); | ^~~~~~~~ ~ regex.c:992:1: note: declared here 992 | scan_hex (start, len, retlen) | ^~~~~~~~ regex.c:1408:27: error: too many arguments to function 'scan_oct'; expected 0, have 3 1408 | c = scan_oct (p, 3, &numlen); | ^~~~~~~~ ~ regex.c:974:1: note: declared here 974 | scan_oct (start, len, retlen) | ^~~~~~~~ regex.c:1742:15: error: too many arguments to function 'store_jump'; expected 0, have 3 1742 | store_jump (fixup_alt_jump, jump, b); | ^~~~~~~~~~ ~~~~~~~~~~~~~~ regex.c:153:13: note: declared here 153 | static void store_jump _((char *, int, char *)); | ^~~~~~~~~~ regex.c:1805:11: error: too many arguments to function 'insert_jump'; expected 0, have 4 1805 | insert_jump (on_failure_jump, begalt, b + 6, b); | ^~~~~~~~~~~ ~~~~~~~~~~~~~~~ regex.c:154:13: note: declared here 154 | static void insert_jump _((int, char *, char *, char *)); | ^~~~~~~~~~~ regex.c:1825:13: error: too many arguments to function 'store_jump'; expected 0, have 3 1825 | store_jump (fixup_alt_jump, jump_past_alt, b); | ^~~~~~~~~~ ~~~~~~~~~~~~~~ regex.c:153:13: note: declared here 153 | static void store_jump _((char *, int, char *)); | ^~~~~~~~~~ regex.c:1923:15: error: too many arguments to function 'insert_jump'; expected 0, have 4 1923 | insert_jump (jump, laststart, b + 3, b); | ^~~~~~~~~~~ ~~~~ regex.c:154:13: note: declared here 154 | static void insert_jump _((int, char *, char *, char *)); | ^~~~~~~~~~~ regex.c:1994:13: error: too many arguments to function 'insert_jump_n'; expected 0, have 5 1994 | insert_jump_n (succeed_n, laststart, b + (nbytes / 2), | ^~~~~~~~~~~~~ ~~~~~~~~~ regex.c:156:13: note: declared here 156 | static void insert_jump_n _((int, char *, char *, char *, unsigned)); | ^~~~~~~~~~~~~ regex.c:2002:13: error: too many arguments to function 'insert_op_2'; expected 0, have 5 2002 | insert_op_2 (set_number_at, laststart, b, 5, lower_bound); | ^~~~~~~~~~~ ~~~~~~~~~~~~~ regex.c:157:13: note: declared here 157 | static void insert_op_2 _((int, char *, char *, int, int)); What did I do wrongly? By the way, can I reuse some of the C code of GNU smalltalk in a GPL licensed inference engine project (RefPerSys on github, C++ mostly) -- Basile STARYNKEVITCH <bas...@starynkevitch.net> 8 rue de la Faïencerie http://starynkevitch.net/Basile/ 92340 Bourg-la-Reine https://github.com/bstarynk France https://github.com/RefPerSys/RefPerSys