ref: 4506a7ac70b36365f7448c3fe3840550f3230874
dir: /cc1/TODO/
* Verify correctness in initializators * emit automatic initializators * Implement bitfields * Define data structure shared between cc1 and cc2 with the type information * Rewrite error recovery code, and ensure correct state after recovery * Parse correctly all integer and float constants * Add C99 features (almost all the new features of C99 are missed) * Add correct emit for any kind of constant * Add warning when some ANSI limit is violated. * Free memory in emit after some error happened. * Rewrite initializers to deal with the idea of "current object"