Refactoring:
- eliminate target_architecture.h and replace with stuff in lang_features.h
-- create structures for variables and functions, removing the omnipotent
- declaration
Lexer:
- Add preprocessor code.
- print initialisation type_path for initializer errors
ast2firm:
-- handle non-constant initializers
- output source file positions for panics.
- handle bitfield members with 0 correctly (standard says they finish the
current unit)
-- merge functions entities declared in lokal scope
Missing Errors:
-- check switches for double cases
Missing Warnings:
- dead assignments (int x = 5; x = bla(); -> dead assignment at x = 5;)
-- check switches for all enums values
- catch the if(k = b) cases, maybe require all assignments to be in parentheses
(but some few exceptions like toplevel, nested assignments)
main/driver:
- delete output file if we had an error
-
-Spec-Status:
-164.gzip: works
-175.vpr: works
-176.gcc: sometimes works...
-181.mcf: works
-186.crafty: works
-253.perlbmk: works
-254.gap: works
-255.vortex: works
-256.bzip2: works
-300.twolf: works