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: 1. wrong line numbers in debug code 2. wrong and/or incomplete debug-symbol info, notably for 64-bit code 3. order-2 performance of unit symbol loading 4. 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