#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  int I;
  int Fail;
  int *P;
  int *Q;
  _imp_string S;
  _imp_string *X;
  _imp_string *Y;
  auto void Test(int *T1, _imp_string *T2);
  Fail = 0;
  I = 10;
  S = _imp_str_literal("MESS");
  P = &I;
  Q = P;
  X = &S;
  Y = String(0);
  if (*Q != 10 || Q != &I || P != Q) {
    Printstring(_imp_str_literal("BUG1 FOUND"));
    Fail = 1;
  }
  Test(*P, *X);
  Test(*Q, *X);
  if (I != 12) {
    Printstring(_imp_str_literal("bug 3 found"));
    Fail = 1;
  }
  if (!Fail) Printstring(_imp_str_literal("TEST OK"));
  void Test(int *T1, _imp_string *T2) {
    if (T1 != &I || T2 != &S) {
      Printstring(_imp_str_literal("BUG2 FOUND"));
      Fail = 1;
    }
    I++;
  }
  exit(0);
  return (1);
}
