[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] isnan: Add support for TinyCC
From: |
Bruno Haible |
Subject: |
Re: [PATCH] isnan: Add support for TinyCC |
Date: |
Sat, 16 Oct 2010 03:09:54 +0200 |
User-agent: |
KMail/1.9.9 |
Hi Ludo,
> Tested with tcc 0.9.25 on x86_64-linux-gnu.
With tcc 0.9.25 on i386-linux-gnu (I can't even build it for x86_64) I also
get other errors (with a testdir of all posix-modules):
1) In the gltests directory I get this:
/arch/x86-linux/gnu-inst-tcc/0.9.25/bin/tcc -DHAVE_CONFIG_H -I.
-DGNULIB_STRICT_CHECKING=1 -I. -I. -I.. -I./.. -I../gllib -I./../gllib -c -o
test-_Exit.o test-_Exit.c
In file included from test-_Exit.c:21:
In file included from ../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
In file included from ./../gllib/stdlib.h:35:
./../gllib/stdlib.h:35: #include recursion too deep
It's apparently a bug in the #include_next handling, triggered by the
use of multiple equivalent -I options (like -I../gllib -I./../gllib).
2) nextafter not supported
/arch/x86-linux/gnu-inst-tcc/0.9.25/bin/tcc -o test-nextafter
test-nextafter.o ../gllib/libgnu.a
tcc: undefined symbol 'nextafter'
make[4]: *** [test-nextafter] Error 1
3) bug in the preprocessor
/arch/x86-linux/gnu-inst-tcc/0.9.25/bin/tcc -DHAVE_CONFIG_H -I.
-DGNULIB_STRICT_CHECKING=1 -I. -I.. -I../gllib -c -o test-sigaction.o
test-sigaction.c
test-sigaction.c:68: field not found: __sigaction_handler
make[4]: *** [test-sigaction.o] Error 1
After #define sa_handler __sigaction_handler.sa_handler
(from /usr/include/bits/sigaction.h) the token sa_handler expands to
__sigaction_handler.__sigaction_handler.sa_handler
instead of
__sigaction_handler.sa_handler
4)
/arch/x86-linux/gnu-inst-tcc/0.9.25/bin/tcc -DHAVE_CONFIG_H -I.
-DGNULIB_STRICT_CHECKING=1 -I. -I.. -I../gllib -c -o test-strstr.o
test-strstr.c
test-strstr.c:96: '{' expected
make[4]: *** [test-strstr.o] Error 1
This can be fixed in the source file, see patch below.
5) 22 test failures:
FAIL: test-environ
test-fflush2.c:99: assertion failed
FAIL: test-fflush2.sh
test-freading.c:53: assertion failed
FAIL: test-freading
test-frexp.c:103: assertion failed
FAIL: test-frexp-nolibm
test-frexp.c:103: assertion failed
FAIL: test-frexp
test-frexpl.c:127: assertion failed
FAIL: test-frexpl-nolibm
test-frexpl.c:127: assertion failed
FAIL: test-frexpl
test-fseek.c:63: assertion failed
FAIL: test-fseek.sh
test-fseek.c:63: assertion failed
FAIL: test-fseek2.sh
test-fseeko.c:67: assertion failed
FAIL: test-fseeko.sh
test-fseeko.c:67: assertion failed
FAIL: test-fseeko2.sh
test-ftell.c:91: assertion failed
FAIL: test-ftell2.sh
test-ftello.c:99: assertion failed
FAIL: test-ftello2.sh
test-j0.c:37: assertion failed
FAIL: test-j0
test-j1.c:37: assertion failed
FAIL: test-j1
test-jn.c:37: assertion failed
FAIL: test-jn
test-ldexpl.c:89: assertion failed
FAIL: test-ldexpl
test-strtod.c:315: assertion failed
FAIL: test-strtod
compiler didn't detect verification failure 3
FAIL: test-verify.sh
test-y0.c:37: assertion failed
FAIL: test-y0
test-y1.c:37: assertion failed
FAIL: test-y1
test-yn.c:37: assertion failed
FAIL: test-yn
If you care about TinyCC, please make sure that these get reported to the TinyCC
maintainers and fixed.
Bruno
2010-10-15 Bruno Haible <address@hidden>
tests: Make them compile with TinyCC.
* tests/test-strstr.c (main): Remove parentheses around array
initializer.
--- tests/test-strstr.c.orig Sat Oct 16 03:03:43 2010
+++ tests/test-strstr.c Sat Oct 16 02:55:29 2010
@@ -93,18 +93,18 @@
/* Check that a long periodic needle does not cause false positives. */
{
- const char input[] = ("F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD"
- "_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD"
- "_C3_A7_20_EF_BF_BD");
+ const char input[] = "F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD"
+ "_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD"
+ "_C3_A7_20_EF_BF_BD";
const char need[] = "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
const char *result = strstr (input, need);
ASSERT (result == NULL);
}
{
- const char input[] = ("F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD"
- "_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD"
- "_C3_A7_20_EF_BF_BD_DA_B5_C2_A6_20"
- "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD");
+ const char input[] = "F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD"
+ "_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD"
+ "_C3_A7_20_EF_BF_BD_DA_B5_C2_A6_20"
+ "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
const char need[] = "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
const char *result = strstr (input, need);
ASSERT (result == input + 115);