[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/spec/cast_enum_bts1546.i (no preprocessing)
/* Generated by Frama-C */
enum e {
    E0 = 0,
    E1 = 1
};
enum e_v1 {
    V1 = 0
};
enum e_v2 {
    V2 = 0
};
enum e_u1 {
    U1 = 0xFFFFFFFFU
};
enum e_u2 {
    U2 = 0xFFFFFFFFU
};
enum e_s1 {
    S1 = -1
};
enum e_s2 {
    S2 = -1
};
enum e_h1 {
    H1 = 0xFFFFFFFFFFFFFFFFULL
};
enum e X;
/*@ ensures
      P:
        X ≡ E0 ∧ \old(x) ≡ E1 ∧ X < \old(x) ∧ E0 ≤ E1 ⇒
        \result ≡ E0;
 */
enum e f(enum e x)
{
  enum e __retres;
  X = E0;
  __retres = E0;
  return __retres;
}

/*@ ensures P: \result ≡ (unsigned int)E0; */
enum e g(enum e x)
{
  enum e __retres;
  __retres = (enum e)((unsigned int)E0);
  return __retres;
}

int s;
unsigned int u;
long long hs;
unsigned long long hu;
enum e_v1 v1;
enum e_v1 vv1;
enum e_v2 v2;
enum e_u1 u1;
enum e_u1 uu1;
enum e_u2 u2;
enum e_s1 s1;
enum e_s1 ss1;
enum e_s2 s2;
enum e_h1 h1;
void us(void)
{
  u = (unsigned int)s;
  s = (int)u;
  u = U1;
  s = (int)U1;
  u = (unsigned int)S1;
  s = S1;
  u = (unsigned int)V1;
  s = V1;
  u = (unsigned int)H1;
  s = (int)H1;
  return;
}

void uu(void)
{
  uu1 = (enum e_u1)u;
  uu1 = u1;
  uu1 = U1;
  uu1 = (enum e_u1)u2;
  uu1 = (enum e_u1)U2;
  uu1 = s;
  uu1 = (enum e_u1)s1;
  uu1 = S1;
  uu1 = (enum e_u1)v1;
  uu1 = V1;
  uu1 = (enum e_u1)H1;
  return;
}

void ss(void)
{
  ss1 = (enum e_s1)u;
  ss1 = (enum e_s1)u1;
  ss1 = (enum e_s1)U1;
  ss1 = s;
  ss1 = s1;
  ss1 = S1;
  ss1 = (enum e_s1)s2;
  ss1 = S2;
  ss1 = (enum e_s1)v1;
  ss1 = V1;
  return;
}

void u_signed(void)
{
  u1 = (int)u;
  u1 = (int)u1;
  u1 = (int)U1;
  u1 = (int)u2;
  u1 = (int)U2;
  u1 = s;
  u1 = (int)s1;
  u1 = S1;
  u1 = (int)s2;
  u1 = S2;
  u1 = (int)v1;
  u1 = V1;
  return;
}

void u_unsigned(void)
{
  u1 = (enum e_u1)u;
  u1 = (enum e_u1)((unsigned int)u1);
  u1 = U1;
  u1 = (enum e_u1)((unsigned int)u2);
  u1 = (enum e_u1)U2;
  u1 = (enum e_u1)((unsigned int)s);
  u1 = (enum e_u1)((unsigned int)s1);
  u1 = (enum e_u1)((unsigned int)S1);
  u1 = (enum e_u1)((unsigned int)s2);
  u1 = (enum e_u1)((unsigned int)S2);
  u1 = (enum e_u1)((unsigned int)v1);
  u1 = (enum e_u1)((unsigned int)V1);
  u1 = (enum e_u1)((unsigned int)H1);
  return;
}

void s_signed(void)
{
  s1 = (int)u;
  s1 = (int)u1;
  s1 = (int)U1;
  s1 = (int)u2;
  s1 = (int)U2;
  s1 = s;
  s1 = (int)s1;
  s1 = S1;
  s1 = (int)s2;
  s1 = S2;
  s1 = (int)v1;
  s1 = V1;
  s1 = (int)H1;
  return;
}

void s_unsigned(void)
{
  s1 = (enum e_s1)u;
  s1 = (enum e_s1)((unsigned int)u1);
  s1 = (enum e_s1)U1;
  s1 = (enum e_s1)((unsigned int)u2);
  s1 = (enum e_s1)U2;
  s1 = (enum e_s1)((unsigned int)s);
  s1 = (enum e_s1)((unsigned int)s1);
  s1 = (enum e_s1)((unsigned int)S1);
  s1 = (enum e_s1)((unsigned int)s2);
  s1 = (enum e_s1)((unsigned int)S2);
  s1 = (enum e_s1)((unsigned int)v1);
  s1 = (enum e_s1)((unsigned int)V1);
  s1 = (enum e_s1)((unsigned int)H1);
  return;
}


