Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 920635 - dev-lang/algol68g-3.5.0 has implicit function declarations in configure logs (GCC-14-SYSTEM)
Summary: dev-lang/algol68g-3.5.0 has implicit function declarations in configure logs ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Maciej Barć
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: implicit-in-configure
  Show dependency tree
 
Reported: 2023-12-24 06:08 UTC by Agostino Sarubbo
Modified: 2024-02-24 21:50 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,102.78 KB, text/plain)
2023-12-24 06:08 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2023-12-24 06:08:55 UTC
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.
Comment 1 Agostino Sarubbo gentoo-dev 2023-12-24 06:08:57 UTC
Created attachment 880268 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2023-12-24 06:08:58 UTC
Found the following implicit function declarations in configure logs:

config.log:936 - finite
Comment 3 Maciej Barć gentoo-dev 2024-01-15 20:38:11 UTC
hm, finite is in math.h for BSDs
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-16 07:36:04 UTC
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 ...
Comment 5 Agostino Sarubbo gentoo-dev 2024-01-17 08:07:33 UTC
gcc14_tinderbox has reproduced this issue with version 3.4.6 - Updating summary.
Comment 6 Agostino Sarubbo gentoo-dev 2024-02-06 08:02:51 UTC
clang-lld_tinderbox has reproduced this issue with version 3.4.7 - Updating summary.
Comment 7 Agostino Sarubbo gentoo-dev 2024-02-06 13:35:16 UTC
ci has reproduced this issue with version 3.5.0 - Updating summary.
Comment 8 Larry the Git Cow gentoo-dev 2024-02-24 21:50:26 UTC
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(-)