compiler/libec: (#18, #26, #439, #685) Fixed serious performance issues and warnings ('declared inside parameter list')
- Proper identification of dependencies between C external declarations (edges of the graph)
- Implementation of a Topological Sort with support for breaking edges with forward declarations
- Algorithm based on description and pseudo code from en.wikipedia.org/wiki/Topological_sorting (first described by Kahn, 1962)
- (#18) Since we no longer have spurious warnings from bad generated C code, it is no longer necessary to perform any kind of
filtering in the IDE build output and parallel builds will show all warnings
- Removed precompiled rules and source files as the grammar files now build as fast as any other files
- Fixed duplicate 'static' qualifiers for self watchers in classes declare static
- Improvements to the generated C code to reduce the number of differences with the bootstrap and not hard code struct sizes
- Using actual size of structs and sizeof(void *)
- Passing 0xF000F000 to eMember_/eClass_AddDataMember for 'alignment' now means 'pointer size alignment'