diff options
Diffstat (limited to 'TODO.rst')
-rw-r--r-- | TODO.rst | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/TODO.rst b/TODO.rst new file mode 100644 index 0000000..2d00ec7 --- /dev/null +++ b/TODO.rst @@ -0,0 +1,32 @@ +TODO +==== + +- More detailed checking in regex for: + + - char constant (done) + - string constant (done) + +- Fix: + + - check global definition (if type is complete) when semantic analysis finishes + - local function declaration is not in a local scope (external linkage issue) (will not be fixed) + - incomplete type issues + - function **definition** requires complete return type (function declaration does not) (done) + - array requires **complete** elem type (done) + - struct or union requires **complete** fields (done) + - pointer may **allow incomplete** type (done) + - calculate type memory footprint at proper time + - function to 'pointer to function' conversion (according the std 6.3.2/4) (done) + - vague var table management (done) + - incorrect address reference ``&`` (done) + - const function name (done) + - remove the redundant edge from blocks that break a loop + - ``<<`` operation in pre-calculation (done) + - support ``addui``, ``sll``, etc. (done) + +- Not Implemented: + + - complex type name (to be in agreement with complex decl) (done) + - initializer checking (done) + - typedef support (via adding mid-rule actions to bision to inform flex) (done) + - ``&&`` and ``||`` (done) |