blob: 2d00ec7a68b7a191adfa764e9eba5f7a7dbf8309 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)
|