Changeset 331 for EcnlProtoTool/trunk/tcc-0.9.27/TODO
- Timestamp:
- Jan 21, 2018, 12:10:09 AM (6 years ago)
- Location:
- EcnlProtoTool/trunk/tcc-0.9.27
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/tcc-0.9.27/TODO
r279 r331 3 3 Bugs: 4 4 5 - fix macro substitution with nested definitions (ShangHongzhang)5 - i386 fastcall is mostly wrong 6 6 - FPU st(0) is left unclean (kwisatz haderach). Incompatible with 7 7 optimized gcc/msc code 8 9 - constructors10 - cast bug (Peter Wang)11 - define incomplete type if defined several times (Peter Wang).12 - configure --cc=tcc (still one bug in libtcc1.c)13 - test binutils/gcc compile14 - tci patch + argument.15 - see -lxxx bug (Michael Charity).16 8 - see transparent union pb in /urs/include/sys/socket.h 17 9 - precise behaviour of typeof with arrays ? (__put_user macro) … … 22 14 (net/ipv4/ip_output.c) 23 15 - fix function pointer type display 24 - check lcc test suite -> fix bitfield binary operations25 16 - check section alignment in C 26 17 - fix invalid cast in comparison 'if (v == (int8_t)v)' … … 28 19 - fix static functions declared inside block 29 20 - fix multiple unions init 30 - sizeof, alignof, typeof can still generate code in some cases.31 - Fix the remaining libtcc memory leaks.32 21 - make libtcc fully reentrant (except for the compilation stage itself). 22 - struct/union/enum definitions in nested scopes (see also Debian bug #770657) 23 - __STDC_IEC_559__: float f(void) { static float x = 0.0 / 0.0; return x; } 24 - memory may be leaked after errors (longjmp). 25 26 Portability: 27 28 - it is assumed that int is 32-bit and sizeof(int) == 4 29 - int is used when host or target size_t would make more sense 30 - TCC handles target floating-point (fp) values using the host's fp 31 arithmetic, which is simple and fast but may lead to exceptions 32 and inaccuracy and wrong representations when cross-compiling 33 34 Linking: 35 36 - static linking (-static) does not work 33 37 34 38 Bound checking: 35 39 36 - '-b' bug.37 40 - fix bound exit on RedHat 7.3 38 41 - setjmp is not supported properly in bound checking. … … 46 49 - disable-asm and disable-bcheck options 47 50 - __builtin_expect() 48 - improve '-E' option.49 51 - atexit (Nigel Horne) 50 - packed attribute51 52 - C99: add complex types (gcc 3.2 testsuite issue) 52 53 - postfix compound literals (see 20010124-1.c) 54 - interactive mode / integrated debugger 53 55 54 56 Optimizations: … … 66 68 boolean variable to tell if compound literal was already 67 69 initialized). 68 - add PowerPC or ARM codegenerator and improve codegen for RISC (need70 - add PowerPC generator and improve codegen for RISC (need 69 71 to suppress VT_LOCAL and use a base register instead). 70 - interactive mode / integrated debugger71 72 - fix preprocessor symbol redefinition 72 - better constant opt (&&, ||, ?:)73 73 - add portable byte code generator and interpreter for other 74 74 unsupported architectures. … … 77 77 check exception code (exception filter func). 78 78 - handle void (__attribute__() *ptr)() 79 - VLAs are implemented in a way that is not compatible with signals: 80 http://lists.gnu.org/archive/html/tinycc-devel/2015-11/msg00018.html 79 81 80 82 Fixed (probably): … … 92 94 - function pointers/lvalues in ? : (linux kernel net/core/dev.c) 93 95 - win32: add __stdcall, check GetModuleHandle for dlls. 96 - macro substitution with nested definitions (ShangHongzhang) 97 - with "-run" and libtcc, a PLT is now built. 98 - '-E' option was improved 99 - packed attribute is now supported 100 - ARM and ARM64 code generators have been added.
Note:
See TracChangeset
for help on using the changeset viewer.