#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2
// 3 %routine BD(%integer p, q)
void BD(int P, int Q) {
// 4 %end
return;
} /* end of BD */
// ?Q unused
// ?P unused
// 5
// 6 %recordformat Stackfm(%integer Base, Disp)
struct STACKFM {
union {
struct {
int BASE;
int DISP;
};
};
};
// 7
// 8 ! Unfortunately, another example that fails in a big program
// 9 ! but works when we try to find a minimal example...
// 10
// 11 %routine Show Data(%record(Stackfm)%name V, %integer Left)
void SHOWDATA(struct STACKFM * V, int LEFT) {
// 12 BD(V_Base, V_Disp)
BD(V->BASE, V->DISP);
// 13 %end
return;
} /* end of SHOWDATA */
// ?LEFT unused
// 14
// 15 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}