0,0 → 1,89 |
Siemargl port comments |
|
Used github branch https://github.com/TinyCC/tinycc |
It have a vesion 0.9.26 with heads up to 0.9.27 - see ChangeLog |
|
Kolibri version errata/changelog: |
|
-added TCC_TARGET_MEOS as needed |
-leading_underscore by default is 0 (can use -f[no-]leading-underscore), |
otherwise (error) underscoring all symbols, not only cdecl |
-added message in tccmeos.c about missed symbols when linking KOS executable |
-start.o added automatically, when -nostdlib not used |
-to use standard ktcc lib must add -lck at commandline |
-default search paths are ./include ./lib from executable (under KOS need to |
use -Bpath_to_ktcc and put start.o in current dir) |
-when config.h is ready, compiler can be easy builded as [kos32-]gcc tcc.c libtcc.c |
see also makefile.kos32 |
-silent (kos) -> writes to debugboard |
-impossible using with mingw-gcc compiled lib, incompatible library format: |
.o is PE-format from gcc but ELF from tcc, may be linux-gcc does it ok |
-no symbols (mapfile) for debug, see howtodebugtcc |
|
|
-how to use packed attribute see test82 |
-alias attribute wont work |
-unnamed structs in union may lead to compiler internal error |
-tcc: error: undefined symbol '__tcc_cvt_ftol' |
--in config.h - used workaround (#define COMMIT_4ad186c5ef61_IS_FIXED |
--but this is precision bugfix - see \tests\tests2\000_cvttoftol.c |
-not working: default search path are ./include ./lib from executable |
--under KOS need to use -Bpath_to_ktcc |
--start.o not found using -B (kos) - put near your.c file |
-if static var sized more than 14096+ -> crash compiled .exe (kos) |
---^ stack size set in menuet header at compile time tccmeos.c:177 about 4k |
|
Tests status: |
asmtest + |
abitest not tested (embedding compiler) |
libtcctest not tested (embedding compiler) |
boundtest ----- alloca removed from tcc libtcc.c:945 (really not worked) |
tcctest most test ok, some problems with long double |
vla_test.c + |
|
pp/* + (minor comment error in 13.s) |
|
tests2/* : see below |
|
// errata |
skippin' tests |
test76 fail dollars in identifiers |
test34 fail (array assignment not supported) |
test73 fail compile (no stdint.h), printfloat, ARM specific |
test46 no stdin - removed funtionality read from console, but file ops works |
|
|
libc: |
-no "finished" in title of console program after exit console - use con_exit() |
-bench timing error (0s or 1s) |
-minimal memory allocator |
-memmove cannot overlap |
|
|
libc not full |
no files: |
assert.h |
errno.h |
limits.h |
locale.h |
setjmp.h |
signall.h |
time.h |
check functions: |
|
stdio.h: |
Operations on files: none http://www.cplusplus.com/reference/cstdio/ |
reopen |
setbuf, setvbuf |
scanf, sscanf, vfscanf(C11), vscanf(C11), vsscanf(C11) |
vfprintf, vsfprintf |
|
+fgets, gets |
fputs, puts |
getchar |
putc |
+putchar |
Error-handling: only feof |
Macros: only EOF, NULL, FILE |
|
-all files in libc/kolibrisys catalog are stdcall in header, but in asm cdecl |