#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %external %integer %array xira(0:1) = 4, 5

int XIRA[2] = {4, 5};
struct _imp_dv XIRA_dv = {XIRA, sizeof(int) /*, dims, <bounds> */};

//     2
//     3  %own %integer %array oira(0:1) = 6, 7

static int OIRA[2] = {6, 7};
struct _imp_dv OIRA_dv = {OIRA, sizeof(int) /*, dims, <bounds> */};

//     4
//     5  %const %integer %array cira(0:1) = 8, 9

const int CIRA[2] = {8, 9};
struct _imp_dv CIRA_dv = {CIRA, sizeof(int) /*, dims, <bounds> */};

//     6
//     7  %externalroutine extrt

void EXTRT(void) {
  //     8    %external %integer %array %spec xira(0:1)

  extern int XIRA[2];
  struct _imp_dv XIRA_dv = {XIRA, sizeof(int) /*, dims, <bounds> */};

  //     9    %own %integer %array oira(0:1) = 10,11

  static int OIRA[2] = {10, 11};
  struct _imp_dv OIRA_dv = {OIRA, sizeof(int) /*, dims, <bounds> */};

  //    10    %const %integer %array cira(0:1) = 12,13

  const int CIRA[2] = {12, 13};
  struct _imp_dv CIRA_dv = {CIRA, sizeof(int) /*, dims, <bounds> */};

  //    11    %integer %array ira(0:1) { cannot be initialised }

  int IRA[2];
  struct _imp_dv IRA_dv = {IRA, sizeof(int) /*, dims, <bounds> */};

  //    12  %end

  return;
} /* end of EXTRT */

// ?IRA unused
// ?CIRA unused
// ?OIRA unused
// ?XIRA unused
//    13
//    14  %endoffile