Frank Heckenbach wrote:
Adriaan van Os wrote:
The devil is in the details. For me, a compiler is a professional tool and the quality of the tool is more important than new features. A handful of weak points may become serious deployment obstacles.
Current GPC problems:
- wrong line numbers in debug code
- wrong and/or incomplete debug-symbol info, notably for 64-bit code
- order-2 performance of unit symbol loading
- order-2 performance of operator overloading symbols
http://www2.gnu-pascal.de/crystal/gpc/en/mail12897.html 5. stalled GCC back-end development/integration (a show stopper when the target OS requires a recent GCC)
<snip>
For (3) and (4) it wouldn't help, but if the new compiler was written in a high-level language (i.e., C++ or its own new Pascal dialect) using high-level data structures (e.g., template based), it would make it easier to tackle those problems.
If each unit compiles into a separate C++ header file, C++ compilation times will suffer, even if the headers are precompiled. One way I can think of to get around that is a whole-program Pascal compilation mode that translates into one whole-program C++ file that copies only those unit-declarations that are actually used in the program.
Regards,
Adriaan van Os