Using inline functions causes compiler internal error 200311075
Original Reporter info from Mantis: ilyalyu
-
Reporter name: Ilya Lyubinskiy
Original Reporter info from Mantis: ilyalyu
- Reporter name: Ilya Lyubinskiy
Description:
Unfortunately, I could not reproduce this error in a small sample. So, I will try to describe the conditions when it occurs.
- It occurs in a program with many units.
- It occurs only when I compile without -B switch (i.e. in a situation when the compiler does not recompile units that were not modified since last compilation).
- If I compile with -B switch, that causes all units to be recompiled, the error does not occur.
- Let's say that UnitB uses UnitA, and the later contains inline function. The error occurs during the compilation of UnitB. The error message states:
UnitA (&LtPos;Line>,&LtPos;Col>) Fatal: Internal error 200311075
UnitA (&LtPos;Line>,&LtPos;Col>) Fatal: Compilation aborted
The line &LtPos;Line> contains keyword "interface", while the &LtPos;Col> is beyond the end of line.
- UnitA that actually contains inline function is compiled without error.
I tried to write a short sample program with 3 units, but it is compiled without any errors. Removing "inline" keyword or compiling with -B switch solves the problem.
Mantis conversion info:
- Mantis ID: 9076
- Version: 2.0.4
- Fixed in version: 2.2.0
- Fixed in revision: 7683 (#dc02fdbc)