#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 ! Test translation of "DIM <dimens> <mulltiple arrays>" in icode output.
// 3 %recordformat arrfm(%integerarray a,b(10:20))
struct ARRFM {
union {
struct {
int A[11];
int B[11];
};
};
};
// 4 %record (arrfm) arrs
struct ARRFM ARRS;
// 5
// 6 ! DIM not BOUNDS so only 1-D arrays can be used in a recordformat
// 7 !!%recordformat arr2fm(%integerarray p,q(10:20, -3:-2))
// 8 !!%record (arr2fm) arrs2
// 9
// 10 ! btw EMAS imp originally allowed dynamicall bound arrays in rcordformats!
// 11 ! - presumably had to claim the space off the stack just like regular arrays
// 12 ! when used. (alloca in unix terms)
// 13
// 14 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}