Thomas Schneider wrote:
I discovered a program that crashes the GPC compiler, attached.
It doesn't crash the compiler on Mac OS X, but it does cause a runtime error, because you are overflowing the stack.
procedure writeprism(var dianalysis: text; dataprism: trisquare);
Ough. You are passing a very large datastructure as value parameter, which implies that a copy of it is put on the stack. This costs a huge amount of stack and a lot of time. Instead, try procedure writeprism(var dianalysis: text; var dataprism: trisquare);
procedure themain(var da: text); var dataprism: trisquare; (* the data structure for diana *)
It is a local variable of main, therefore it lives on the stack. Instead, try var dataprism: trisquare; (* the data structure for diana *) procedure themain(var da: text); (a rare case where the use global variables is advised). Regards, Adriaan van Os