#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 !! %name parameters are not being passed by address...
// 3 %routine rsym(%integername sy)
void RSYM(int *SY) {
// 4 %end
return;
} /* end of RSYM */
// ?SY unused
// 5 %routine psym(%integer sy)
void PSYM(int SY) {
// 6 %end
return;
} /* end of PSYM */
// ?SY unused
// 7
// 8 %byteinteger sym
unsigned char SYM;
// 9 %integer i
int I;
// 10
// 11 ! rsym(sym) {%name param given a byte - illegal}
// 12 rsym(i) {%name param given an int}
RSYM(/*?*/ &I);
// 13 psym(sym) {byte param - widened}
PSYM(SYM);
// 14 psym(i) {int param}
PSYM(I);
// 15 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}