aboutsummaryrefslogblamecommitdiff
path: root/TODO.rst
blob: 208feadaf0d0788e6897031799248c00b4c277b0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10




                                      




                          
                                                                                 

                                                                               



                                                                                           
                                                                  
                                                                            


                  

                                                                          
                                                                          
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)
  - incomplete type issues
    - function **definition** requires complete return type (function declaration does not)
    - array requires **complete** elem type
    - struct or union requires **complete** fields ( ``struct A;`` vs. ``struct A a;`` ?)
    - pointer may **allow incomplete** type
  - calculate type memory footprint when complete type is required
  - function to 'pointer to function' conversion (according the std 6.3.2/4)

- Not Implemented:

  - complex type name (to be in agreement with complex decl) (almost done)
  - initializer checking
  - typedef support (via adding mid-rule actions to bision to inform flex)