#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %BEGIN

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //     2    %RECORDFORMAT F(%INTEGER I,J,K,%INTEGERARRAY A(1:5))

  struct F {
    union {
      struct {
        int I;
        int J;
        int K;
        int A[5];
      };
    };
  };

  //     3    %RECORD(F) R

  struct F R;

  //     4    %INTEGERARRAYNAME B

  int *B;

  //     5
  //     6    ! Bug in AST_SELECT:
  //     7
  //     8    B==R_A

  B = (int *)R.A;

  //     9
  //    10  %ENDOFPROGRAM

  _imp_stop(0);
  return 0;
end_0:;
}