#include "perms.h"

                                                                //      1  %begin
#line 1 "42.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
                                                                //      2    !! %name parameters are not being passed by address...
                                                                //      3    %routine rsym(%integername sy)
_imp_current_line = 3; _imp_current_file = "42.imp";
#line 3 "42.imp"
void RSYM( int /*name*/*SY )
#line 3 "42.imp"
{
  __label__ _imp_endofblock;
                                                                //      4    %end
_imp_current_line = 4; _imp_current_file = "42.imp";
#line 4 "42.imp"
return;
_imp_endofblock: ;
} // End of block RSYM at level 2
                                                                //      5    %routine psym(%integer sy)
_imp_current_line = 5; _imp_current_file = "42.imp";
#line 5 "42.imp"
void PSYM( int SY )
#line 5 "42.imp"
{
  __label__ _imp_endofblock;
                                                                //      6    %end
_imp_current_line = 6; _imp_current_file = "42.imp";
#line 6 "42.imp"
return;
_imp_endofblock: ;
} // End of block PSYM at level 2
                                                                //      7  
                                                                //      8    %byteinteger sym
_imp_current_line = 8; _imp_current_file = "42.imp";
#line 8 "42.imp"
unsigned char SYM;
                                                                //      9    %integer i
_imp_current_line = 9; _imp_current_file = "42.imp";
#line 9 "42.imp"
int I;
                                                                //     10  
                                                                //     11  ! rsym(sym)  {%name param given a byte - illegal}
                                                                //     12    rsym(i)    {%name param given an int}
_imp_current_line = 12; _imp_current_file = "42.imp";
#line 12 "42.imp"
RSYM(&I);
                                                                //     13    psym(sym)  {byte param - widened}
_imp_current_line = 13; _imp_current_file = "42.imp";
#line 13 "42.imp"
PSYM(SYM);
                                                                //     14    psym(i)    {int param}
_imp_current_line = 14; _imp_current_file = "42.imp";
#line 14 "42.imp"
PSYM(I);
                                                                //     15  %endofprogram
_imp_current_line = 15; _imp_current_file = "42.imp";
#line 15 "42.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 15 "42.imp"
// End of file
// COMPILE WITH: gcc12 -DVALGRIND_AVAILABLE -UPARM_OPT -DPARM_UNASS -DPARM_CHECK -O -g -ftrivial-auto-var-init=pattern -fmerge-constants -fno-strict-aliasing -Wall -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-label -Wno-unused-function -Wno-maybe-uninitialized -Wno-uninitialized -frecord-gcc-switches -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize-undefined-trap-on-error -fsanitize=float-cast-overflow -fno-sanitize-recover=all -fstack-protector -Wno-frame-address -fno-omit-frame-pointer -Wno-return-type -Wno-comment -ftrapv -ggdb3 -gdwarf-4 -I. -I.. -c -o 42.o 42.c -lm
