According to sam.littlewood@quantel.com:
Using gpc-971001, The code below fails to compile with errors ' prior parameter's size depends on ...'':
I fixed it! :-) Patch below.
While the changes are small, this was hard to find. The problem is that the size of a conformant array is not even constant at run time, so the compiler produces code to calculate its size. This is the right thing to do in a function declaration but fails in an external declaration where we must prevent the compiler from trying to calculate the size of the array.
Have fun,
Peter
Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [971005] maintainer GNU Pascal [971001] - http://home.pages.de/~gnu-pascal/ [971005]
8< ---------------------------------------------------------------------------
--- gpc-971106/p/util.c Thu Nov 6 17:52:11 1997 +++ gpc/p/util.c Sun Nov 9 18:15:50 1997 @@ -709,8 +709,10 @@ */ int old_value = immediate_size_expand; immediate_size_expand = 0; + size_volatile++; carray = build_array_type (carray, itype); C_TYPE_VARIABLE_SIZE (carray) = 1; + size_volatile--; immediate_size_expand = old_value; } }