[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] tcc 0.9.28rc testing: bug in autoconf 2.71 with AC_CHECK_
From: |
Detlef Riekenberg |
Subject: |
[Tinycc-devel] tcc 0.9.28rc testing: bug in autoconf 2.71 with AC_CHECK_DEFINE |
Date: |
Sun, 24 Sep 2023 02:21:39 +0200 |
Hi autoconf team.
During testing of tcc 0.9.28rc,
I found a strange bug in autoconf 2.71 with `AC_CHECK_DEFINE` for `__unix__`.
For comparsion, i added checks for "__unix" and "__linux__":
Overview:
* [__unix__] always found, but the log text is crippled
* __unix__ never found and the log text is crippled
* The second check does not use the cached result from the first check
* When i duplicate the tests, the duplicate test used the cached result
from the previous check, but all other failures remain.
(1: first result: see above, 2: cached result from 1,
3: different result: see above, 4: cached result from 3)
I am using tcc 0.9.28rc on linux
and gcc 12.3.0 produces the same results.
Please test this snipped with the current 2.72rc:
```
AC_CHECK_DEFINE(__unix, CFLAGS="-DFOUND__unix $CFLAGS")
AC_CHECK_DEFINE(__unix__, CFLAGS="-DFOUND__unix__ $CFLAGS")
AC_CHECK_DEFINE(__linux__, CFLAGS="-DFOUND__linux__ $CFLAGS")
AC_CHECK_DEFINE([__unix], CFLAGS="-DFOUNDxx__unix $CFLAGS")
AC_CHECK_DEFINE([__unix__], CFLAGS="-DFOUNDxx__unix__ $CFLAGS")
AC_CHECK_DEFINE([__linux__], CFLAGS="-DFOUNDxx__linux__ $CFLAGS")
```
buggy results:
```
checking for __unix defined... yes
checking for defined... no
checking for __linux__ defined... yes
checking for __unix defined... (cached) yes
checking for defined... yes
checking for __linux__ defined... (cached) yes
```
And yes, when the checks are reordered, ....
```
AC_CHECK_DEFINE([__unix], CFLAGS="-DFOUNDxx__unix $CFLAGS")
AC_CHECK_DEFINE([__unix__], CFLAGS="-DFOUNDxx__unix__ $CFLAGS")
AC_CHECK_DEFINE([__linux__], CFLAGS="-DFOUNDxx__linux__ $CFLAGS")
AC_CHECK_DEFINE(__unix, CFLAGS="-DFOUND__unix $CFLAGS")
AC_CHECK_DEFINE(__unix__, CFLAGS="-DFOUND__unix__ $CFLAGS")
AC_CHECK_DEFINE(__linux__, CFLAGS="-DFOUND__linux__ $CFLAGS")
```
... the results are different:
```
checking for __unix defined... yes
checking for defined... yes
checking for __linux__ defined... yes
checking for __unix defined... (cached) yes
checking for defined... no
checking for __linux__ defined... (cached) yes
```
* What is 2.72rc doing?
* Should i add a bug report for 2.71 to document this bug?
--
Bye bye ... Detlef
- [Tinycc-devel] tcc 0.9.28rc testing: bug in autoconf 2.71 with AC_CHECK_DEFINE,
Detlef Riekenberg <=