#include <perms.h>

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

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

  //     2    %integer J

  int J;

  //     3
  //     4    ! test precedence handling.  This should translate as -1(1>>1) and output 0.
  //     5
  //     6    J = -1 >> 1;

  J = -((unsigned int)1 >> 1);

  //     7    write(J, 4)

  _imp_WRITE(J, 4);

  //     8    newline

  _imp_NEWLINE();

  //     9    ! imp2c currently not passing strings properly.  (It _was_ OK but broke.)
  //    10    !  printstring("Fail!") %and newline %if (J # 0)
  //    11  %endofprogram

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