https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: dev-lang/algol68g-3.4.4 has implicit function declarations in configure logs (GCC-14-SYSTEM). Discovered on: amd64 (internal ref: gcc14_tinderbox) NOTE: (GCC-14-SYSTEM) in the summary means that the bug was found on a machine that runs gcc-14 but this bug MAY or MAY NOT BE related to the new compiler See also: https://bugs.gentoo.org/898488#c4.
Created attachment 880268 [details] build.log build log and emerge --info
Found the following implicit function declarations in configure logs: config.log:936 - finite
hm, finite is in math.h for BSDs
I didn't catch all the IRC discussion, but it's not an FP. With ago's log (which uses GCC 14 which is stricter), we get: >checking for finite... no If, with GCC 14, I force it to ignore the error (revert to the old behaviour), we get: >checking for finite... yes The problem is that finite _is_ in math.h even on glibc, but it's an extension (not POSIX). glibc exposes it by default with -std=gnu* (which is itself the default), but algol68g passes -std=c*, which means you have to opt-in to extensions. You can see this with just: ``` #include <math.h> int main() { int a = finite(0.0); return 0; } ``` ``` $ gcc /tmp/test.c -O2 -std=c17 -c ; echo $? /tmp/test.c: In function ‘main’: /tmp/test.c:5:17: error: implicit declaration of function ‘finite’; did you mean ‘isfinite’? [-Wimplicit-function-declaration] 5 | int a = finite(0.0); | ^~~~~~ | isfinite 1 ``` vs ``` $ gcc /tmp/foo2.c -O2 -std=gnu17 -c ; echo $? 0 ``` The -std=c17 comes from: > A68G_AC_PROG_CC_CFLAGS([--std=c17]) i.e. upstream asked for standard C and they got it ;) They can either add #define _GNU_SOURCE (or similar) to the test _and_ then make sure that it's defined before including <math.h> anywhere isfinite is used in the program itself, or they could switch to gnu17 if available, or ...
gcc14_tinderbox has reproduced this issue with version 3.4.6 - Updating summary.
clang-lld_tinderbox has reproduced this issue with version 3.4.7 - Updating summary.
ci has reproduced this issue with version 3.5.0 - Updating summary.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fab72ac1e66a17fc0771178695daa44a6dc22fe1 commit fab72ac1e66a17fc0771178695daa44a6dc22fe1 Author: Maciej Barć <xgqt@gentoo.org> AuthorDate: 2024-02-24 21:19:25 +0000 Commit: Maciej Barć <xgqt@gentoo.org> CommitDate: 2024-02-24 21:50:21 +0000 dev-lang/algol68g: bump to 3.5.1 Closes: https://bugs.gentoo.org/920635 Signed-off-by: Maciej Barć <xgqt@gentoo.org> dev-lang/algol68g/Manifest | 1 + dev-lang/algol68g/algol68g-3.5.1.ebuild | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2edad41407f0fbed68610b8db3012670cb542e98 commit 2edad41407f0fbed68610b8db3012670cb542e98 Author: Maciej Barć <xgqt@gentoo.org> AuthorDate: 2024-02-24 21:22:37 +0000 Commit: Maciej Barć <xgqt@gentoo.org> CommitDate: 2024-02-24 21:50:22 +0000 dev-lang/algol68g: drop old 3.5.0 Bug: https://bugs.gentoo.org/920635 Signed-off-by: Maciej Barć <xgqt@gentoo.org> dev-lang/algol68g/Manifest | 1 - dev-lang/algol68g/algol68g-3.5.0.ebuild | 41 --------------------------------- 2 files changed, 42 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f0bbd0858d22072072ba3b9e448ab7bef55a683 commit 3f0bbd0858d22072072ba3b9e448ab7bef55a683 Author: Maciej Barć <xgqt@gentoo.org> AuthorDate: 2024-02-24 21:22:16 +0000 Commit: Maciej Barć <xgqt@gentoo.org> CommitDate: 2024-02-24 21:50:21 +0000 dev-lang/algol68g: drop old 3.4.7 Bug: https://bugs.gentoo.org/920635 Signed-off-by: Maciej Barć <xgqt@gentoo.org> dev-lang/algol68g/Manifest | 1 - dev-lang/algol68g/algol68g-3.4.7.ebuild | 41 --------------------------------- 2 files changed, 42 deletions(-)