diff options
| author | bellard <bellard> | 2002-11-24 15:58:28 +0000 |
|---|---|---|
| committer | bellard <bellard> | 2002-11-24 15:58:28 +0000 |
| commit | 122198a8c22633c939cb3496d4d327497311abdf (patch) | |
| tree | 3c8d4864656ed543cf2cd0bad6636e200ede68c2 /TODO | |
| parent | b9d9425993372aee0dc782cec7d6b379e48dcfab (diff) | |
| download | tinycc-122198a8c22633c939cb3496d4d327497311abdf.tar.gz tinycc-122198a8c22633c939cb3496d4d327497311abdf.tar.bz2 | |
update
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 33 |
1 files changed, 26 insertions, 7 deletions
@@ -1,8 +1,22 @@ TODO list: -- add 'CType' structure to optimize type handling (= compile even faster) -- suppress unneeded hash table for Symbols (= compile even faster) +- finish varargs.h support - add alloca() +- fix static functions declared inside block +- fix bitfield binary operations +- C99: add variable size arrays +- C99: add complex types +- GCC: add statment expressions +- ignore __extension__ keyword (see 20010328-1.c). +- Add __restrict keyword (20010611-1.c). +- postfix compound literals (see 20010124-1.c) +- handle '? x, y : z' in reversed function arguments or unsized + variable initialization (',' is considered incorrectly as separator + in preparser) : use a "record" parse mode ? +- fix multiple unions init +- test includes in libtcc_test. +- look at GCC 3.2 compatibility problems. +- add option for auto run - implement minimal 'asm' extension - setjmp is not supported properly in bound checking. - better local variables handling (needed for other targets) @@ -15,10 +29,14 @@ TODO list: - make libtcc fully reentrant (except for the compilation stage itself). - '-MD' option +Optimizations: + +- suppress specific anonymous symbol handling +- more parse optimizations (=even faster compilation) +- memory alloc optimizations (=even faster compilation) + Not critical: -- C99: add variable size arrays -- C99: add complex types - C99: fix multiple compound literals inits in blocks (ISOC99 normative example - only relevant when using gotos! -> must add boolean variable to tell if compound literal was already @@ -35,6 +53,7 @@ Not critical: al. check GetModuleHandle for dlls. check exception code (exception filter func). - handle void (__attribute__() *ptr)() -- handle '? x, y : z' in reversed function arguments or unsized - variable initialization (',' is considered incorrectly as separator - in preparser). + + + + |
