diff options
| author | bellard <bellard> | 2002-08-18 14:44:08 +0000 |
|---|---|---|
| committer | bellard <bellard> | 2002-08-18 14:44:08 +0000 |
| commit | 5370be48e2f34b19c4e2b7729a00a7bc8e987dbd (patch) | |
| tree | d4873ca90422c5e2d5650d07b82532c9f436858d /TODO | |
| parent | f946dffd336e0dead7d06e3d9fb5d659d1be0104 (diff) | |
| download | tinycc-5370be48e2f34b19c4e2b7729a00a7bc8e987dbd.tar.gz tinycc-5370be48e2f34b19c4e2b7729a00a7bc8e987dbd.tar.bz2 | |
updated
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -2,28 +2,28 @@ TODO list: - add separate symbol/offset handling (= fix some constant initialisation bugs) +- setjmp is not supported properly in bound checking. - add 'CType' structure to optimize type handling (= compile even faster) - suppress unneeded hash table for Symbols (= compile even faster) -- +- add checks for multiple including of same file (= compile even faster) - better local variables handling (needed for other targets) -- setjmp is not supported properly in bound checking. -- To check: bound checking and float/long long/struct copy code -- To fix: 'sizeof' generate code if too complex expression is given. - fix bound check code with '&' on local variables (currently done only for local arrays). +- To check: bound checking and float/long long/struct copy code +- To fix: 'sizeof' generate code if too complex expression is given. - free all allocated data and use longjmp for errors (useful for libtcc use) Not critical: - C99: add variable size arrays - C99: add complex types -- add PowerPC or ARM code generator and improve codegen for RISC (need - to suppress VT_LOCAL and use a base register instead). -- interactive mode / integrated debugger - 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 initialized). +- add PowerPC or ARM code generator and improve codegen for RISC (need + to suppress VT_LOCAL and use a base register instead). +- interactive mode / integrated debugger - fix preprocessor symbol redefinition - better constant opt (&&, ||, ?:) - add portable byte code generator and interpreter for other @@ -33,3 +33,6 @@ 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). |
