#include "perms.h"

                                                                //      1  %begin
#line 1 "44.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
                                                                //      2  
                                                                //      3  ! trying to duplicate crash from pass3.i
                                                                //      4  
                                                                //      5  %constinteger max ref = 100
_imp_current_line = 5; _imp_current_file = "44.imp";
                                                                //      6  
                                                                //      7  %recordformat  reffm(%shortinteger  tag, link, flags, ca)
_imp_current_line = 7; _imp_current_file = "44.imp";
#line 7 "44.imp"
typedef struct REFFM REFFM;
struct REFFM {
  short TAG;
  short LINK;
  short FLAGS;
  short CA;
};
                                                                //      8  %recordformat  deffm(%record(deffm)%name  link, %shortinteger proc,ca)
_imp_current_line = 8; _imp_current_file = "44.imp";
#line 8 "44.imp"
typedef struct DEFFM DEFFM;
struct DEFFM {
   DEFFM /*name*/*LINK;
  short PROC;
  short CA;
};
                                                                //      9  %recordformat  procfm(%record(procfm)%name  link,
_imp_current_line = 9; _imp_current_file = "44.imp";
#line 9 "44.imp"
typedef struct PROCFM PROCFM;
struct PROCFM {
   PROCFM /*name*/*LINK;
   REFFM /*name*/*REFLIST;
   DEFFM /*name*/*DEFLIST;
  short BASE;
  short CA;
  short STATICFRAME;
  short EVENTMASK;
  short DISPLAYREG;
  short EVENTSTART;
  short EVENTFINISH;
  short LDBASE;
  short LDSIZE;
  short VDBASE;
  short VDSIZE;
  short ME;
};
                                                                //     10                        %record(reffm)%name   ref list,
                                                                //     11                        %record(deffm)%name   def list,
                                                                //     12                        %shortinteger  base,  ca,
                                                                //     13                                       static frame, event mask,
                                                                //     14                                       display reg, event start,
                                                                //     15                                       event finish, ld base,
                                                                //     16                                       ld size, vd base,
                                                                //     17                                       vd size, Me)
                                                                //     18  
                                                                //     19  %routine phase1
_imp_current_line = 19; _imp_current_file = "44.imp";
#line 19 "44.imp"
void PHASE1( void )
#line 19 "44.imp"
{
  __label__ _imp_endofblock;
                                                                //     20  %record(reffm)%array  ref(1:max ref)
_imp_current_line = 20; _imp_current_file = "44.imp";
#line 20 "44.imp"
 REFFM REF[100];
                                                                //     21  %record(procfm)%name  pp, qq
_imp_current_line = 21; _imp_current_file = "44.imp";
#line 21 "44.imp"
 PROCFM /*name*/*PP;
#line 21 "44.imp"
 PROCFM /*name*/*QQ;
                                                                //     22    ref(1)_tag = 42
_imp_current_line = 22; _imp_current_file = "44.imp";
#line 22 "44.imp"
REF[0].TAG = 42;
                                                                //     23  %end
_imp_current_line = 23; _imp_current_file = "44.imp";
#line 23 "44.imp"
return;
_imp_endofblock: ;
} // End of block PHASE1 at level 2
                                                                //     24  
                                                                //     25  %endofprogram
_imp_current_line = 25; _imp_current_file = "44.imp";
#line 25 "44.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 25 "44.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 44.o 44.c -lm
