Skip to content
Snippets Groups Projects
cast.res.oracle 4.71 KiB
tests/e-acsl-runtime/cast.i:17:[e-acsl] warning: missing guard for ensuring that the given integer is C-representable
tests/e-acsl-runtime/cast.i:18:[e-acsl] warning: missing guard for ensuring that the given integer is C-representable
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
PROJECT_FILE.i:202:[value] Assertion got status valid.
[value] computing for function __gmpz_init_set_str <- main.
        Called from PROJECT_FILE.i:206.
PROJECT_FILE.i:79:[value] Function __gmpz_init_set_str: postcondition got status valid.
[value] Done for function __gmpz_init_set_str
[value] computing for function __gmpz_get_si <- main.
        Called from PROJECT_FILE.i:207.
PROJECT_FILE.i:138:[value] Function __gmpz_get_si: precondition got status valid.
[value] Done for function __gmpz_get_si
[value] computing for function e_acsl_fail <- main.
        Called from PROJECT_FILE.i:208.
[value] computing for function printf <- e_acsl_fail <- main.
        Called from PROJECT_FILE.i:193.
[value] Done for function printf
[value] computing for function exit <- e_acsl_fail <- main.
        Called from PROJECT_FILE.i:193.
PROJECT_FILE.i:183:[value] Function exit: postcondition got status invalid.
[value] Done for function exit
[value] Recording results for e_acsl_fail
[value] Done for function e_acsl_fail
[value] computing for function __gmpz_clear <- main.
        Called from PROJECT_FILE.i:209.
PROJECT_FILE.i:85:[value] Function __gmpz_clear: precondition got status valid.
[value] Done for function __gmpz_clear
PROJECT_FILE.i:213:[value] Assertion got status valid.
[value] computing for function __gmpz_init_set_str <- main.
        Called from PROJECT_FILE.i:217.
[value] Done for function __gmpz_init_set_str
[value] computing for function __gmpz_get_ui <- main.
        Called from PROJECT_FILE.i:218.
PROJECT_FILE.i:142:[value] Function __gmpz_get_ui: precondition got status valid.
[value] Done for function __gmpz_get_ui
[value] computing for function e_acsl_fail <- main.
        Called from PROJECT_FILE.i:220.
[value] computing for function printf <- e_acsl_fail <- main.
        Called from PROJECT_FILE.i:193.
[value] Done for function printf
[value] computing for function exit <- e_acsl_fail <- main.
        Called from PROJECT_FILE.i:193.
[value] Done for function exit
[value] Recording results for e_acsl_fail
[value] Done for function e_acsl_fail
[value] computing for function __gmpz_clear <- main.
        Called from PROJECT_FILE.i:222.
[value] Done for function __gmpz_clear
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value] Values at end of function e_acsl_fail:
          NON TERMINATING FUNCTION
[value] Values at end of function main:
          __retres ∈ {0}
          x ∈ {0}
          y ∈ {0}
/* Generated by Frama-C */
struct __anonstruct___mpz_struct_1 {
   int _mp_alloc ;
   int _mp_size ;
   unsigned long *_mp_d ;
};
typedef struct __anonstruct___mpz_struct_1 __mpz_struct;
typedef __mpz_struct mpz_t[1];
/*@ ensures \valid(\old(z));
    assigns *z;  */
extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str,
                               int base);
/*@ requires \valid(x);
    assigns *x;  */
extern void __gmpz_clear(__mpz_struct * /*[1]*/ x);
/*@ requires \valid(z);
    assigns \nothing;  */
extern long __gmpz_get_si(__mpz_struct const * /*[1]*/ z);
/*@ requires \valid(z);
    assigns \nothing;  */
extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
/*@ terminates \false;
    ensures \false;
    assigns \nothing;  */
extern void exit(int status);
/*@ assigns \nothing;  */
extern int printf(char const * , ...);
void e_acsl_fail(char *msg)
{
  printf("%s\n",msg);
  exit(1);
  return;
}

int main(void)
{
  int __retres;
  long x;
  int y;
  x = (long)0;
  y = 0;
  /*@ assert y ≢ (int)0xfffffffffffffff; */ ;
  {
    mpz_t e_acsl_1;
    int e_acsl_2;
    __gmpz_init_set_str((__mpz_struct *)(e_acsl_1),"1152921504606846975",10);
    e_acsl_2 = (int)__gmpz_get_si((__mpz_struct const *)(e_acsl_1));
    if (! (y != e_acsl_2)) {
      e_acsl_fail((char *)"(y != (int)0xfffffffffffffff)");
    }
    __gmpz_clear((__mpz_struct *)(e_acsl_1));
  }
  
  /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ;
  {
    mpz_t e_acsl_3;
    unsigned int e_acsl_4;
    __gmpz_init_set_str((__mpz_struct *)(e_acsl_3),"1152921504606846975",10);
    e_acsl_4 = (unsigned int)__gmpz_get_ui((__mpz_struct const *)(e_acsl_3));
    if (! ((unsigned int)y != e_acsl_4)) {
      e_acsl_fail((char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)");
    }
    __gmpz_clear((__mpz_struct *)(e_acsl_3));
  }
  
  __retres = 0;
  return (__retres);
}