I reduced my game code to the needed data types and code.
The same happens if I use new.
I'm not sure if this is really a compiler bug. I wrote another program doing the same, without this error. But I cannot find the bug.
My compiler version is
Using built-in specs. Configured with: ../src/configure -v --enable-languages=c,pascal --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --disable-libmudflap --enable-checking=release i486-linux-gnu Thread model: posix gpc version 20070904, based on gcc-4.1.3 20080420 (prerelease) (Debian 2.1-4.1.2-22)
The error message is
bug.pas:75: internal compiler error: in process_otherwise, at p/typecheck.c:4407 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://www.gnu-pascal.de/todo.html for instructions. For Debian GNU/Linux specific bug reporting instructions, see URL:file:///usr/share/doc/gcc-4.1/README.Bugs.