[kernel] preprocessing with "gcc -C -E -I.   tests/cil/issues.c"
/* Generated by Frama-C */
typedef unsigned long size_t;
struct l {
   struct l **next ;
};
struct record {
   int references ;
   char buffer[1] ;
};
enum __anonenum_MFT_RECORD_FLAGS_7 {
    MFT_RECORD_IN_USE = 1,
    MFT_RECORD_IS_DIRECTORY = 2,
    MFT_REC_SPACE_FILLER = 65535
}  __attribute__((__packed__)) ;
typedef enum __anonenum_MFT_RECORD_FLAGS_7 MFT_RECORD_FLAGS;
struct __anonstruct_s_8 {
   int x1 ;
   short x2 ;
   short x3 ;
} __attribute__((__packed__)) ;
typedef struct __anonstruct_s_8 s;
struct __anonstruct_tpsn_node_t_9 {
   int free : 1 ;
   int counter : 3 ;
} __attribute__((__packed__)) ;
typedef struct __anonstruct_tpsn_node_t_9 tpsn_node_t;
struct __anonstruct_app_state_t_10 {
   tpsn_node_t tpsn_node[7] ;
} __attribute__((__packed__)) ;
typedef struct __anonstruct_app_state_t_10 app_state_t;
struct swsusp_info {
   unsigned long num_physpages ;
   int cpus ;
   unsigned long image_pages ;
   unsigned long pages ;
   unsigned long size ;
} __attribute__((__aligned__((1)<<  (12) ))) ;
struct bars {
   int x ;
};
struct foos {
   struct bars b ;
   int y ;
};
struct tTestStructX {
   int x ;
};
typedef struct tTestStructX tTestStructX;
struct tTestStruct {
   tTestStructX x ;
   int a ;
   int b ;
   struct tTestStruct *ptr ;
   char c ;
   short x16 ;
   int x32 ;
};
typedef struct tTestStruct tTestStruct;
struct foo10 {
   int x ;
};
enum __anonenum_26 {
    HUGE_BYTES = 0xffffffffffffffffULL == (unsigned long long )(127 * 2 + 1)
} ;
typedef int volatile   mytype_t;
struct ATTR {
   int len ;
};
typedef struct ATTR attr;
typedef attr *pattr;
struct TUPLEDESC {
   pattr *attrs ;
};
typedef struct TUPLEDESC *t;
extern int printf(char const   * __restrict  __format  , ...) ;
int main(void) 
{
  struct l s[4] ;
  struct l *a ;
  struct l *p[4] ;
  struct l *old ;
  int __retres ;
  p[0] = s;
  (p[0])->next = p;
  old = *((p[0])->next);
  { /*undefined sequence*/  (*((p[0])->next)) ++; a = *((p[0])->next); }
  if (old + 1 != a) { printf((char const   *)"bug!\n"); }
  __retres = 0;
  return (__retres);
}

int foo(int i ) 
{
  int __retres ;
  switch (i) { case 0:  case 1:  ; }
  __retres = 0;
  return (__retres);
}

int base_files[sizeof(lang_dir_names) / sizeof(lang_dir_names[0])] ;
char const   * const  lang_dir_names[1]  = {"c"};
int bar(int flags ) 
{
  unsigned int tmp ;
  int __retres ;
  if (flags & 4) { tmp = (unsigned int )(& ((struct record *)0)->buffer[0]);
  }
  else { tmp = (unsigned int )(& ((struct record *)0)->references); }
  __retres = (int )tmp;
  return (__retres);
}

static void foo$bar(void) 
{
  return;
}

int pimInit(void) ;
int pimInit(void) 
{
  int __retres ;
  __retres = 1;
  return (__retres);
}

MFT_RECORD_FLAGS foo1 ;
s foo2 ;
void foo3(int z ) 
{
  int i ;
  i = 0;
  while (i < 10) {
    z ++;
    if (! (z < 5)) { break; }
    __Cont: /* internal */ ;
    i ++;
  }
  return;
}

void foo4(void) 
{
  printf((char const   *)"hello!");
  return;
}

int foo5(void) 
{
  app_state_t s_0 ;
  int __retres ;
  (s_0.tpsn_node[0].counter) --;
  __retres = 0;
  return (__retres);
}

struct swsusp_info foo6 ;
int tcf_exts_dump(void) 
{
  int __retres ;
  goto rtattr_failure;
  __retres = 0;
  goto return_label;
  rtattr_failure: __retres = -1;
  return_label: /* internal */ 
  return (__retres);
}

int strnvis(char * , char const   *_0 , size_t _1 , int _2 ) 
{
  int __retres ;
  __retres = 1;
  return (__retres);
}

extern  __attribute__((__nothrow__)) int rand(void) ;
void foo7(void) 
{
  int t ;
  struct foos f ;
  int tmp_0 ;
  t = rand();
  if (t) { tmp_0 = 2; }
  else { tmp_0 = 3; }
  f.b.x = tmp_0;
  f.y = 42;
  return;
}

extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((
__malloc__)) ;
int foo8(void) 
{
  char *p ;
  int i ;
  int *tmp ;
  int *tmp_0 ;
  int __retres ;
  p = (char *)malloc((unsigned long )(2U * sizeof(int )));
  *((int *)p) = 1;
  *((int *)p + 1) = 2;
  tmp = (int *)p;
  p = (char *)((int *)p + 1);
  i = *tmp;
  printf((char const   *)"%d\n",i);
  tmp_0 = (int *)p;
  p = (char *)((int *)p + 1);
  i = *tmp_0;
  printf((char const   *)"%d\n",i);
  __retres = 0;
  return (__retres);
}

extern int ( /* missing proto */  modMalloc)() ;
void testaccess2(void) 
{
  tTestStruct *p ;
  tTestStruct t2 ;
  tTestStruct *p2 ;
  p = (tTestStruct *)((void *)0);
  p2 = & t2;
  p = (tTestStruct *)modMalloc(sizeof(tTestStruct ),0);
  p->ptr = (struct tTestStruct *)((void *)0);
  p2->ptr = (struct tTestStruct *)((tTestStructX *)p);
  return;
}

struct foo10 foof(int y ) 
{
  struct foo10 __constr_expr_0 ;
  __constr_expr_0.x = y;
  return (__constr_expr_0);
}

int goo(int z ) 
{
  struct foo10 a ;
  int __retres ;
  a = foof(3);
  if (a.x == z) { __retres = 1; goto return_label; }
  __retres = 0;
  return_label: /* internal */ 
  return (__retres);
}

extern  __attribute__((__noreturn__)) int ____ilog2_NaN(void)  __attribute__((
__const__)) ;
void foo11(int n ) 
{
  int x ;
  int tmp_1 ;
  int tmp_2 ;
  int tmp_3 ;
  int tmp_4 ;
  int tmp_5 ;
  int tmp_6 ;
  int tmp_7 ;
  int tmp_8 ;
  int tmp_9 ;
  int tmp_10 ;
  int tmp_11 ;
  int tmp_12 ;
  int tmp_13 ;
  int tmp_14 ;
  int tmp_15 ;
  int tmp_16 ;
  int tmp_17 ;
  int tmp_18 ;
  int tmp_19 ;
  int tmp_20 ;
  int tmp_21 ;
  int tmp_22 ;
  int tmp_23 ;
  int tmp_24 ;
  int tmp_25 ;
  int tmp_26 ;
  int tmp_27 ;
  int tmp_28 ;
  int tmp_29 ;
  int tmp_30 ;
  int tmp_31 ;
  int tmp_32 ;
  int tmp_33 ;
  int tmp_34 ;
  int tmp_35 ;
  int tmp_36 ;
  int tmp_37 ;
  int tmp_38 ;
  int tmp_39 ;
  int tmp_40 ;
  int tmp_41 ;
  int tmp_42 ;
  int tmp_43 ;
  int tmp_44 ;
  int tmp_45 ;
  int tmp_46 ;
  int tmp_47 ;
  int tmp_48 ;
  int tmp_49 ;
  int tmp_50 ;
  int tmp_51 ;
  int tmp_52 ;
  int tmp_53 ;
  int tmp_54 ;
  int tmp_55 ;
  int tmp_56 ;
  int tmp_57 ;
  int tmp_58 ;
  int tmp_59 ;
  int tmp_60 ;
  int tmp_61 ;
  int tmp_62 ;
  int tmp_63 ;
  int tmp_64 ;
  int tmp_65 ;
  if (20 < 1) { tmp_65 = ____ilog2_NaN(); }
  else {
    if (20ULL & (1ULL << 63)) { tmp_64 = 63; }
    else {
      if (20ULL & (1ULL << 62)) { tmp_63 = 62; }
      else {
        if (20ULL & (1ULL << 61)) { tmp_62 = 61; }
        else {
          if (20ULL & (1ULL << 60)) { tmp_61 = 60; }
          else {
            if (20ULL & (1ULL << 59)) { tmp_60 = 59; }
            else {
              if (20ULL & (1ULL << 58)) { tmp_59 = 58; }
              else {
                if (20ULL & (1ULL << 57)) { tmp_58 = 57; }
                else {
                  if (20ULL & (1ULL << 56)) { tmp_57 = 56; }
                  else {
                    if (20ULL & (1ULL << 55)) { tmp_56 = 55; }
                    else {
                      if (20ULL & (1ULL << 54)) { tmp_55 = 54; }
                      else {
                        if (20ULL & (1ULL << 53)) { tmp_54 = 53; }
                        else {
                          if (20ULL & (1ULL << 52)) { tmp_53 = 52; }
                          else {
                            if (20ULL & (1ULL << 51)) { tmp_52 = 51; }
                            else {
                              if (20ULL & (1ULL << 50)) { tmp_51 = 50; }
                              else {
                                if (20ULL & (1ULL << 49)) { tmp_50 = 49; }
                                else {
                                  if (20ULL & (1ULL << 48)) { tmp_49 = 48; }
                                  else {
                                    if (20ULL & (1ULL << 47)) { tmp_48 = 47;
                                    }
                                    else {
                                      if (20ULL & (1ULL << 46)) {
                                        tmp_47 = 46;
                                      }
                                      else {
                                        if (20ULL & (1ULL << 45)) {
                                          tmp_46 = 45;
                                        }
                                        else {
                                          if (20ULL & (1ULL << 44)) {
                                            tmp_45 = 44;
                                          }
                                          else {
                                            if (20ULL & (1ULL << 43)) {
                                              tmp_44 = 43;
                                            }
                                            else {
                                              if (20ULL & (1ULL << 42)) {
                                                tmp_43 = 42;
                                              }
                                              else {
                                                if (20ULL & (1ULL << 41)) {
                                                  tmp_42 = 41;
                                                }
                                                else {
                                                  if (20ULL & (1ULL << 40)) {
                                                    tmp_41 = 40;
                                                  }
                                                  else {
                                                    if (20ULL & (1ULL << 39)) {
                                                      tmp_40 = 39;
                                                    }
                                                    else {
                                                      if (20ULL & (1ULL << 38)) {
                                                        tmp_39 = 38;
                                                      }
                                                      else {
                                                        if (20ULL & (
                                                            1ULL << 37)) {
                                                          tmp_38 = 37;
                                                        }
                                                        else {
                                                          if (20ULL & (
                                                              1ULL << 36)) {
                                                            tmp_37 = 36;
                                                          }
                                                          else {
                                                            if (20ULL & (
                                                                1ULL << 35)) {
                                                              tmp_36 = 35;
                                                            }
                                                            else {
                                                              if (20ULL & (
                                                                  1ULL << 34)) {
                                                                tmp_35 = 34;
                                                              }
                                                              else {
                                                                if (20ULL & (
                                                                    1ULL << 33)) {
                                                                  tmp_34 = 33;
                                                                }
                                                                else {
                                                                  if (
                                                                    20ULL & (
                                                                    1ULL << 32)) {
                                                                    tmp_33 = 32;
                                                                  }
                                                                  else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 31)) {
                                                                    tmp_32 = 31;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 30)) {
                                                                    tmp_31 = 30;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 29)) {
                                                                    tmp_30 = 29;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 28)) {
                                                                    tmp_29 = 28;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 27)) {
                                                                    tmp_28 = 27;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 26)) {
                                                                    tmp_27 = 26;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 25)) {
                                                                    tmp_26 = 25;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 24)) {
                                                                    tmp_25 = 24;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 23)) {
                                                                    tmp_24 = 23;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 22)) {
                                                                    tmp_23 = 22;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 21)) {
                                                                    tmp_22 = 21;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 20)) {
                                                                    tmp_21 = 20;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 19)) {
                                                                    tmp_20 = 19;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 18)) {
                                                                    tmp_19 = 18;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 17)) {
                                                                    tmp_18 = 17;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 16)) {
                                                                    tmp_17 = 16;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 15)) {
                                                                    tmp_16 = 15;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 14)) {
                                                                    tmp_15 = 14;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 13)) {
                                                                    tmp_14 = 13;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 12)) {
                                                                    tmp_13 = 12;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 11)) {
                                                                    tmp_12 = 11;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 10)) {
                                                                    tmp_11 = 10;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 9)) {
                                                                    tmp_10 = 9;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 8)) {
                                                                    tmp_9 = 8;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 7)) {
                                                                    tmp_8 = 7;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 6)) {
                                                                    tmp_7 = 6;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 5)) {
                                                                    tmp_6 = 5;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 4)) {
                                                                    tmp_5 = 4;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 3)) {
                                                                    tmp_4 = 3;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 2)) {
                                                                    tmp_3 = 2;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 1)) {
                                                                    tmp_2 = 1;
                                                                    }
                                                                    else {
                                                                    if (
                                                                    20ULL & (
                                                                    1ULL << 0)) {
                                                                    tmp_1 = 0;
                                                                    }
                                                                    else {
                                                                    tmp_1 = ____ilog2_NaN();
                                                                    }
                                                                    tmp_2 = tmp_1;
                                                                    }
                                                                    tmp_3 = tmp_2;
                                                                    }
                                                                    tmp_4 = tmp_3;
                                                                    }
                                                                    tmp_5 = tmp_4;
                                                                    }
                                                                    tmp_6 = tmp_5;
                                                                    }
                                                                    tmp_7 = tmp_6;
                                                                    }
                                                                    tmp_8 = tmp_7;
                                                                    }
                                                                    tmp_9 = tmp_8;
                                                                    }
                                                                    tmp_10 = tmp_9;
                                                                    }
                                                                    tmp_11 = tmp_10;
                                                                    }
                                                                    tmp_12 = tmp_11;
                                                                    }
                                                                    tmp_13 = tmp_12;
                                                                    }
                                                                    tmp_14 = tmp_13;
                                                                    }
                                                                    tmp_15 = tmp_14;
                                                                    }
                                                                    tmp_16 = tmp_15;
                                                                    }
                                                                    tmp_17 = tmp_16;
                                                                    }
                                                                    tmp_18 = tmp_17;
                                                                    }
                                                                    tmp_19 = tmp_18;
                                                                    }
                                                                    tmp_20 = tmp_19;
                                                                    }
                                                                    tmp_21 = tmp_20;
                                                                    }
                                                                    tmp_22 = tmp_21;
                                                                    }
                                                                    tmp_23 = tmp_22;
                                                                    }
                                                                    tmp_24 = tmp_23;
                                                                    }
                                                                    tmp_25 = tmp_24;
                                                                    }
                                                                    tmp_26 = tmp_25;
                                                                    }
                                                                    tmp_27 = tmp_26;
                                                                    }
                                                                    tmp_28 = tmp_27;
                                                                    }
                                                                    tmp_29 = tmp_28;
                                                                    }
                                                                    tmp_30 = tmp_29;
                                                                    }
                                                                    tmp_31 = tmp_30;
                                                                    }
                                                                    tmp_32 = tmp_31;
                                                                    }
                                                                    tmp_33 = tmp_32;
                                                                  }
                                                                  tmp_34 = tmp_33;
                                                                }
                                                                tmp_35 = tmp_34;
                                                              }
                                                              tmp_36 = tmp_35;
                                                            }
                                                            tmp_37 = tmp_36;
                                                          }
                                                          tmp_38 = tmp_37;
                                                        }
                                                        tmp_39 = tmp_38;
                                                      }
                                                      tmp_40 = tmp_39;
                                                    }
                                                    tmp_41 = tmp_40;
                                                  }
                                                  tmp_42 = tmp_41;
                                                }
                                                tmp_43 = tmp_42;
                                              }
                                              tmp_44 = tmp_43;
                                            }
                                            tmp_45 = tmp_44;
                                          }
                                          tmp_46 = tmp_45;
                                        }
                                        tmp_47 = tmp_46;
                                      }
                                      tmp_48 = tmp_47;
                                    }
                                    tmp_49 = tmp_48;
                                  }
                                  tmp_50 = tmp_49;
                                }
                                tmp_51 = tmp_50;
                              }
                              tmp_52 = tmp_51;
                            }
                            tmp_53 = tmp_52;
                          }
                          tmp_54 = tmp_53;
                        }
                        tmp_55 = tmp_54;
                      }
                      tmp_56 = tmp_55;
                    }
                    tmp_57 = tmp_56;
                  }
                  tmp_58 = tmp_57;
                }
                tmp_59 = tmp_58;
              }
              tmp_60 = tmp_59;
            }
            tmp_61 = tmp_60;
          }
          tmp_62 = tmp_61;
        }
        tmp_63 = tmp_62;
      }
      tmp_64 = tmp_63;
    }
    tmp_65 = tmp_64;
  }
  x = tmp_65;
  return;
}

void foo13(void) 
{
  int x ;
  x = (int )HUGE_BYTES;
  return;
}

mytype_t my ;
int foo14(t desc ) 
{
  pattr *att ;
  int __retres ;
  att = desc->attrs;
  __retres = (*(att + 0))->len;
  return (__retres);
}

extern void foo15(unsigned long long f ) ;
int foo16(int argc , char **argv ) 
{
  int __retres ;
  foo15(0xffffffffffffffffULL);
  __retres = 0;
  return (__retres);
}

void foo17(unsigned long long f ) 
{
  return;
}

int foo18(int a ) 
{
  int x ;
  int y ;
  x = 0;
  y = 1;
  if (a) { goto l; l: ; x = 3; }
  else { goto l; l: ; y = 3; }
  return (x);
}


