Showing error 1843

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: product-lines/minepump_spec1_product03_safe.cil.c
Line in file: 640
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1extern int __VERIFIER_nondet_int(void);
   2extern int printf (__const char *__restrict __format, ...);
   3/* Generated by CIL v. 1.3.7 */
   4/* print_CIL_Input is true */
   5
   6#line 2 "libacc.c"
   7struct JoinPoint {
   8   void **(*fp)(struct JoinPoint * ) ;
   9   void **args ;
  10   int argsCount ;
  11   char const   **argsType ;
  12   void *(*arg)(int  , struct JoinPoint * ) ;
  13   char const   *(*argType)(int  , struct JoinPoint * ) ;
  14   void **retValue ;
  15   char const   *retType ;
  16   char const   *funcName ;
  17   char const   *targetName ;
  18   char const   *fileName ;
  19   char const   *kind ;
  20   void *excep_return ;
  21};
  22#line 18 "libacc.c"
  23struct __UTAC__CFLOW_FUNC {
  24   int (*func)(int  , int  ) ;
  25   int val ;
  26   struct __UTAC__CFLOW_FUNC *next ;
  27};
  28#line 18 "libacc.c"
  29struct __UTAC__EXCEPTION {
  30   void *jumpbuf ;
  31   unsigned long long prtValue ;
  32   int pops ;
  33   struct __UTAC__CFLOW_FUNC *cflowfuncs ;
  34};
  35#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
  36typedef unsigned long size_t;
  37#line 76 "libacc.c"
  38struct __ACC__ERR {
  39   void *v ;
  40   struct __ACC__ERR *next ;
  41};
  42#line 1 "scenario.o"
  43#pragma merger(0,"scenario.i","")
  44#line 5 "scenario.c"
  45void waterRise(void) ;
  46#line 7
  47#line 8
  48void changeMethaneLevel(void) ;
  49#line 12
  50void stopSystem(void) ;
  51#line 14
  52void timeShift(void) ;
  53#line 16
  54void cleanup(void) ;
  55#line 1 "scenario.c"
  56void test(void) 
  57{ int splverifierCounter ;
  58  int tmp ;
  59  int tmp___0 ;
  60  int tmp___1 ;
  61  int tmp___2 ;
  62
  63  {
  64#line 2
  65  splverifierCounter = 0;
  66  {
  67#line 3
  68  while (1) {
  69    while_0_continue: /* CIL Label */ ;
  70#line 3
  71    if (splverifierCounter < 4) {
  72
  73    } else {
  74      goto while_0_break;
  75    }
  76    {
  77#line 7
  78    tmp = __VERIFIER_nondet_int();
  79    }
  80#line 7
  81    if (tmp) {
  82      {
  83#line 5
  84      waterRise();
  85      }
  86    } else {
  87
  88    }
  89    {
  90#line 7
  91    tmp___0 = __VERIFIER_nondet_int();
  92    }
  93#line 7
  94    if (tmp___0) {
  95      {
  96#line 8
  97      changeMethaneLevel();
  98      }
  99    } else {
 100
 101    }
 102    {
 103#line 10
 104    tmp___2 = __VERIFIER_nondet_int();
 105    }
 106#line 10
 107    if (tmp___2) {
 108
 109    } else {
 110      {
 111#line 12
 112      tmp___1 = __VERIFIER_nondet_int();
 113      }
 114#line 12
 115      if (tmp___1) {
 116        {
 117#line 12
 118        stopSystem();
 119        }
 120      } else {
 121
 122      }
 123    }
 124    {
 125#line 14
 126    timeShift();
 127    }
 128  }
 129  while_0_break: /* CIL Label */ ;
 130  }
 131  {
 132#line 16
 133  cleanup();
 134  }
 135#line 76 "scenario.c"
 136  return;
 137}
 138}
 139#line 1 "featureselect.o"
 140#pragma merger(0,"featureselect.i","")
 141#line 8 "featureselect.h"
 142int select_one(void) ;
 143#line 10
 144void select_features(void) ;
 145#line 12
 146void select_helpers(void) ;
 147#line 14
 148int valid_product(void) ;
 149#line 8 "featureselect.c"
 150int select_one(void) 
 151{ int retValue_acc ;
 152  int choice = __VERIFIER_nondet_int();
 153
 154  {
 155#line 62 "featureselect.c"
 156  retValue_acc = choice;
 157#line 64
 158  return (retValue_acc);
 159#line 71
 160  return (retValue_acc);
 161}
 162}
 163#line 14 "featureselect.c"
 164void select_features(void) 
 165{ 
 166
 167  {
 168#line 93 "featureselect.c"
 169  return;
 170}
 171}
 172#line 20 "featureselect.c"
 173void select_helpers(void) 
 174{ 
 175
 176  {
 177#line 111 "featureselect.c"
 178  return;
 179}
 180}
 181#line 25 "featureselect.c"
 182int valid_product(void) 
 183{ int retValue_acc ;
 184
 185  {
 186#line 129 "featureselect.c"
 187  retValue_acc = 1;
 188#line 131
 189  return (retValue_acc);
 190#line 138
 191  return (retValue_acc);
 192}
 193}
 194#line 1 "MinePump.o"
 195#pragma merger(0,"MinePump.i","")
 196#line 4 "Environment.h"
 197void lowerWaterLevel(void) ;
 198#line 10
 199int isMethaneLevelCritical(void) ;
 200#line 15
 201void printEnvironment(void) ;
 202#line 6 "MinePump.h"
 203void activatePump(void) ;
 204#line 8
 205void deactivatePump(void) ;
 206#line 10
 207int isPumpRunning(void) ;
 208#line 13
 209void printPump(void) ;
 210#line 7 "MinePump.c"
 211int pumpRunning  =    0;
 212#line 9 "MinePump.c"
 213int systemActive  =    1;
 214#line 10
 215void __utac_acc__Specification1_spec__1(void) ;
 216#line 16
 217void processEnvironment(void) ;
 218#line 12 "MinePump.c"
 219void timeShift(void) 
 220{ 
 221
 222  {
 223#line 15
 224  if (pumpRunning) {
 225    {
 226#line 16
 227    lowerWaterLevel();
 228    }
 229  } else {
 230
 231  }
 232#line 15
 233  if (systemActive) {
 234    {
 235#line 16
 236    processEnvironment();
 237    }
 238  } else {
 239
 240  }
 241  {
 242#line 97 "MinePump.c"
 243  __utac_acc__Specification1_spec__1();
 244  }
 245#line 103
 246  return;
 247}
 248}
 249#line 19 "MinePump.c"
 250void processEnvironment(void) 
 251{ 
 252
 253  {
 254#line 121 "MinePump.c"
 255  return;
 256}
 257}
 258#line 24 "MinePump.c"
 259void activatePump(void) 
 260{ 
 261
 262  {
 263#line 25
 264  pumpRunning = 1;
 265#line 141 "MinePump.c"
 266  return;
 267}
 268}
 269#line 29 "MinePump.c"
 270void deactivatePump(void) 
 271{ 
 272
 273  {
 274#line 30
 275  pumpRunning = 0;
 276#line 161 "MinePump.c"
 277  return;
 278}
 279}
 280#line 34 "MinePump.c"
 281int isMethaneAlarm(void) 
 282{ int retValue_acc ;
 283
 284  {
 285  {
 286#line 179 "MinePump.c"
 287  retValue_acc = isMethaneLevelCritical();
 288  }
 289#line 181
 290  return (retValue_acc);
 291#line 188
 292  return (retValue_acc);
 293}
 294}
 295#line 39 "MinePump.c"
 296int isPumpRunning(void) 
 297{ int retValue_acc ;
 298
 299  {
 300#line 210 "MinePump.c"
 301  retValue_acc = pumpRunning;
 302#line 212
 303  return (retValue_acc);
 304#line 219
 305  return (retValue_acc);
 306}
 307}
 308#line 45 "MinePump.c"
 309#line 44 "MinePump.c"
 310void printPump(void) 
 311{ 
 312
 313  {
 314  {
 315#line 45
 316  printf("Pump(System:");
 317  }
 318#line 46
 319  if (systemActive) {
 320    {
 321#line 47
 322    printf("On");
 323    }
 324  } else {
 325    {
 326#line 48
 327    printf("Off");
 328    }
 329  }
 330  {
 331#line 50
 332  printf(",Pump:");
 333  }
 334#line 51
 335  if (pumpRunning) {
 336    {
 337#line 52
 338    printf("On");
 339    }
 340  } else {
 341    {
 342#line 53
 343    printf("Off");
 344    }
 345  }
 346  {
 347#line 55
 348  printf(") ");
 349#line 56
 350  printEnvironment();
 351#line 57
 352  printf("\n");
 353  }
 354#line 259 "MinePump.c"
 355  return;
 356}
 357}
 358#line 59 "MinePump.c"
 359void stopSystem(void) 
 360{ 
 361
 362  {
 363#line 64
 364  if (pumpRunning) {
 365    {
 366#line 61
 367    deactivatePump();
 368    }
 369  } else {
 370
 371  }
 372#line 64
 373  systemActive = 0;
 374#line 284 "MinePump.c"
 375  return;
 376}
 377}
 378#line 1 "Environment.o"
 379#pragma merger(0,"Environment.i","")
 380#line 12 "Environment.h"
 381int getWaterLevel(void) ;
 382#line 9 "Environment.c"
 383int waterLevel  =    1;
 384#line 12 "Environment.c"
 385int methaneLevelCritical  =    0;
 386#line 15 "Environment.c"
 387void lowerWaterLevel(void) 
 388{ 
 389
 390  {
 391#line 19
 392  if (waterLevel > 0) {
 393#line 17
 394    waterLevel = waterLevel - 1;
 395  } else {
 396
 397  }
 398#line 81 "Environment.c"
 399  return;
 400}
 401}
 402#line 22 "Environment.c"
 403void waterRise(void) 
 404{ 
 405
 406  {
 407#line 26
 408  if (waterLevel < 2) {
 409#line 24
 410    waterLevel = waterLevel + 1;
 411  } else {
 412
 413  }
 414#line 104 "Environment.c"
 415  return;
 416}
 417}
 418#line 29 "Environment.c"
 419void changeMethaneLevel(void) 
 420{ 
 421
 422  {
 423#line 34
 424  if (methaneLevelCritical) {
 425#line 31
 426    methaneLevelCritical = 0;
 427  } else {
 428#line 33
 429    methaneLevelCritical = 1;
 430  }
 431#line 130 "Environment.c"
 432  return;
 433}
 434}
 435#line 38 "Environment.c"
 436int isMethaneLevelCritical(void) 
 437{ int retValue_acc ;
 438
 439  {
 440#line 148 "Environment.c"
 441  retValue_acc = methaneLevelCritical;
 442#line 150
 443  return (retValue_acc);
 444#line 157
 445  return (retValue_acc);
 446}
 447}
 448#line 44 "Environment.c"
 449void printEnvironment(void) 
 450{ 
 451
 452  {
 453  {
 454#line 45
 455  printf("Env(Water:%i", waterLevel);
 456#line 46
 457  printf(",Meth:");
 458  }
 459#line 47
 460  if (methaneLevelCritical) {
 461    {
 462#line 48
 463    printf("CRIT");
 464    }
 465  } else {
 466    {
 467#line 49
 468    printf("OK");
 469    }
 470  }
 471  {
 472#line 51
 473  printf(")");
 474  }
 475#line 189 "Environment.c"
 476  return;
 477}
 478}
 479#line 55 "Environment.c"
 480int getWaterLevel(void) 
 481{ int retValue_acc ;
 482
 483  {
 484#line 207 "Environment.c"
 485  retValue_acc = waterLevel;
 486#line 209
 487  return (retValue_acc);
 488#line 216
 489  return (retValue_acc);
 490}
 491}
 492#line 1 "Test.o"
 493#pragma merger(0,"Test.i","")
 494#line 8 "Test.c"
 495int cleanupTimeShifts  =    4;
 496#line 11 "Test.c"
 497#line 17 "Test.c"
 498void cleanup(void) 
 499{ int i ;
 500  int __cil_tmp2 ;
 501
 502  {
 503  {
 504#line 20
 505  timeShift();
 506#line 22
 507  i = 0;
 508  }
 509  {
 510#line 22
 511  while (1) {
 512    while_1_continue: /* CIL Label */ ;
 513    {
 514#line 22
 515    __cil_tmp2 = cleanupTimeShifts - 1;
 516#line 22
 517    if (i < __cil_tmp2) {
 518
 519    } else {
 520      goto while_1_break;
 521    }
 522    }
 523    {
 524#line 23
 525    timeShift();
 526#line 22
 527    i = i + 1;
 528    }
 529  }
 530  while_1_break: /* CIL Label */ ;
 531  }
 532#line 1111 "Test.c"
 533  return;
 534}
 535}
 536#line 56 "Test.c"
 537void Specification2(void) 
 538{ 
 539
 540  {
 541  {
 542#line 57
 543  timeShift();
 544#line 57
 545  printPump();
 546#line 58
 547  timeShift();
 548#line 58
 549  printPump();
 550#line 59
 551  timeShift();
 552#line 59
 553  printPump();
 554#line 60
 555  waterRise();
 556#line 60
 557  printPump();
 558#line 61
 559  timeShift();
 560#line 61
 561  printPump();
 562#line 62
 563  changeMethaneLevel();
 564#line 62
 565  printPump();
 566#line 63
 567  timeShift();
 568#line 63
 569  printPump();
 570#line 64
 571  cleanup();
 572  }
 573#line 1159 "Test.c"
 574  return;
 575}
 576}
 577#line 67 "Test.c"
 578void setup(void) 
 579{ 
 580
 581  {
 582#line 1177 "Test.c"
 583  return;
 584}
 585}
 586#line 74 "Test.c"
 587void runTest(void) 
 588{ 
 589
 590  {
 591  {
 592#line 77
 593  test();
 594  }
 595#line 1197 "Test.c"
 596  return;
 597}
 598}
 599#line 82 "Test.c"
 600int main(void) 
 601{ int retValue_acc ;
 602  int tmp ;
 603
 604  {
 605  {
 606#line 83
 607  select_helpers();
 608#line 84
 609  select_features();
 610#line 85
 611  tmp = valid_product();
 612  }
 613#line 85
 614  if (tmp) {
 615    {
 616#line 86
 617    setup();
 618#line 87
 619    runTest();
 620    }
 621  } else {
 622
 623  }
 624#line 1226 "Test.c"
 625  retValue_acc = 0;
 626#line 1228
 627  return (retValue_acc);
 628#line 1235
 629  return (retValue_acc);
 630}
 631}
 632#line 1 "wsllib_check.o"
 633#pragma merger(0,"wsllib_check.i","")
 634#line 3 "wsllib_check.c"
 635void __automaton_fail(void) 
 636{ 
 637
 638  {
 639  goto ERROR;
 640  ERROR: ;
 641#line 53 "wsllib_check.c"
 642  return;
 643}
 644}
 645#line 1 "Specification1_spec.o"
 646#pragma merger(0,"Specification1_spec.i","")
 647#line 11 "Specification1_spec.c"
 648void __utac_acc__Specification1_spec__1(void) 
 649{ int tmp ;
 650  int tmp___0 ;
 651
 652  {
 653  {
 654#line 17
 655  tmp = isMethaneLevelCritical();
 656  }
 657#line 17
 658  if (tmp) {
 659    {
 660#line 17
 661    tmp___0 = isPumpRunning();
 662    }
 663#line 17
 664    if (tmp___0) {
 665      {
 666#line 14
 667      __automaton_fail();
 668      }
 669    } else {
 670
 671    }
 672  } else {
 673
 674  }
 675#line 14
 676  return;
 677}
 678}
 679#line 1 "libacc.o"
 680#pragma merger(0,"libacc.i","")
 681#line 73 "/usr/include/assert.h"
 682extern  __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const   *__assertion ,
 683                                                                      char const   *__file ,
 684                                                                      unsigned int __line ,
 685                                                                      char const   *__function ) ;
 686#line 471 "/usr/include/stdlib.h"
 687extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((__malloc__)) ;
 688#line 488
 689extern  __attribute__((__nothrow__)) void free(void *__ptr ) ;
 690#line 32 "libacc.c"
 691void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int  ,
 692                                                                           int  ) ,
 693                                       int val ) 
 694{ struct __UTAC__EXCEPTION *excep ;
 695  struct __UTAC__CFLOW_FUNC *cf ;
 696  void *tmp ;
 697  unsigned long __cil_tmp7 ;
 698  unsigned long __cil_tmp8 ;
 699  unsigned long __cil_tmp9 ;
 700  unsigned long __cil_tmp10 ;
 701  unsigned long __cil_tmp11 ;
 702  unsigned long __cil_tmp12 ;
 703  unsigned long __cil_tmp13 ;
 704  unsigned long __cil_tmp14 ;
 705  int (**mem_15)(int  , int  ) ;
 706  int *mem_16 ;
 707  struct __UTAC__CFLOW_FUNC **mem_17 ;
 708  struct __UTAC__CFLOW_FUNC **mem_18 ;
 709  struct __UTAC__CFLOW_FUNC **mem_19 ;
 710
 711  {
 712  {
 713#line 33
 714  excep = (struct __UTAC__EXCEPTION *)exception;
 715#line 34
 716  tmp = malloc(24UL);
 717#line 34
 718  cf = (struct __UTAC__CFLOW_FUNC *)tmp;
 719#line 36
 720  mem_15 = (int (**)(int  , int  ))cf;
 721#line 36
 722  *mem_15 = cflow_func;
 723#line 37
 724  __cil_tmp7 = (unsigned long )cf;
 725#line 37
 726  __cil_tmp8 = __cil_tmp7 + 8;
 727#line 37
 728  mem_16 = (int *)__cil_tmp8;
 729#line 37
 730  *mem_16 = val;
 731#line 38
 732  __cil_tmp9 = (unsigned long )cf;
 733#line 38
 734  __cil_tmp10 = __cil_tmp9 + 16;
 735#line 38
 736  __cil_tmp11 = (unsigned long )excep;
 737#line 38
 738  __cil_tmp12 = __cil_tmp11 + 24;
 739#line 38
 740  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
 741#line 38
 742  mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
 743#line 38
 744  *mem_17 = *mem_18;
 745#line 39
 746  __cil_tmp13 = (unsigned long )excep;
 747#line 39
 748  __cil_tmp14 = __cil_tmp13 + 24;
 749#line 39
 750  mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
 751#line 39
 752  *mem_19 = cf;
 753  }
 754#line 654 "libacc.c"
 755  return;
 756}
 757}
 758#line 44 "libacc.c"
 759void __utac__exception__cf_handler_free(void *exception ) 
 760{ struct __UTAC__EXCEPTION *excep ;
 761  struct __UTAC__CFLOW_FUNC *cf ;
 762  struct __UTAC__CFLOW_FUNC *tmp ;
 763  unsigned long __cil_tmp5 ;
 764  unsigned long __cil_tmp6 ;
 765  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
 766  unsigned long __cil_tmp8 ;
 767  unsigned long __cil_tmp9 ;
 768  unsigned long __cil_tmp10 ;
 769  unsigned long __cil_tmp11 ;
 770  void *__cil_tmp12 ;
 771  unsigned long __cil_tmp13 ;
 772  unsigned long __cil_tmp14 ;
 773  struct __UTAC__CFLOW_FUNC **mem_15 ;
 774  struct __UTAC__CFLOW_FUNC **mem_16 ;
 775  struct __UTAC__CFLOW_FUNC **mem_17 ;
 776
 777  {
 778#line 45
 779  excep = (struct __UTAC__EXCEPTION *)exception;
 780#line 46
 781  __cil_tmp5 = (unsigned long )excep;
 782#line 46
 783  __cil_tmp6 = __cil_tmp5 + 24;
 784#line 46
 785  mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
 786#line 46
 787  cf = *mem_15;
 788  {
 789#line 49
 790  while (1) {
 791    while_2_continue: /* CIL Label */ ;
 792    {
 793#line 49
 794    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
 795#line 49
 796    __cil_tmp8 = (unsigned long )__cil_tmp7;
 797#line 49
 798    __cil_tmp9 = (unsigned long )cf;
 799#line 49
 800    if (__cil_tmp9 != __cil_tmp8) {
 801
 802    } else {
 803      goto while_2_break;
 804    }
 805    }
 806    {
 807#line 50
 808    tmp = cf;
 809#line 51
 810    __cil_tmp10 = (unsigned long )cf;
 811#line 51
 812    __cil_tmp11 = __cil_tmp10 + 16;
 813#line 51
 814    mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
 815#line 51
 816    cf = *mem_16;
 817#line 52
 818    __cil_tmp12 = (void *)tmp;
 819#line 52
 820    free(__cil_tmp12);
 821    }
 822  }
 823  while_2_break: /* CIL Label */ ;
 824  }
 825#line 55
 826  __cil_tmp13 = (unsigned long )excep;
 827#line 55
 828  __cil_tmp14 = __cil_tmp13 + 24;
 829#line 55
 830  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
 831#line 55
 832  *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
 833#line 694 "libacc.c"
 834  return;
 835}
 836}
 837#line 59 "libacc.c"
 838void __utac__exception__cf_handler_reset(void *exception ) 
 839{ struct __UTAC__EXCEPTION *excep ;
 840  struct __UTAC__CFLOW_FUNC *cf ;
 841  unsigned long __cil_tmp5 ;
 842  unsigned long __cil_tmp6 ;
 843  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
 844  unsigned long __cil_tmp8 ;
 845  unsigned long __cil_tmp9 ;
 846  int (*__cil_tmp10)(int  , int  ) ;
 847  unsigned long __cil_tmp11 ;
 848  unsigned long __cil_tmp12 ;
 849  int __cil_tmp13 ;
 850  unsigned long __cil_tmp14 ;
 851  unsigned long __cil_tmp15 ;
 852  struct __UTAC__CFLOW_FUNC **mem_16 ;
 853  int (**mem_17)(int  , int  ) ;
 854  int *mem_18 ;
 855  struct __UTAC__CFLOW_FUNC **mem_19 ;
 856
 857  {
 858#line 60
 859  excep = (struct __UTAC__EXCEPTION *)exception;
 860#line 61
 861  __cil_tmp5 = (unsigned long )excep;
 862#line 61
 863  __cil_tmp6 = __cil_tmp5 + 24;
 864#line 61
 865  mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
 866#line 61
 867  cf = *mem_16;
 868  {
 869#line 64
 870  while (1) {
 871    while_3_continue: /* CIL Label */ ;
 872    {
 873#line 64
 874    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
 875#line 64
 876    __cil_tmp8 = (unsigned long )__cil_tmp7;
 877#line 64
 878    __cil_tmp9 = (unsigned long )cf;
 879#line 64
 880    if (__cil_tmp9 != __cil_tmp8) {
 881
 882    } else {
 883      goto while_3_break;
 884    }
 885    }
 886    {
 887#line 65
 888    mem_17 = (int (**)(int  , int  ))cf;
 889#line 65
 890    __cil_tmp10 = *mem_17;
 891#line 65
 892    __cil_tmp11 = (unsigned long )cf;
 893#line 65
 894    __cil_tmp12 = __cil_tmp11 + 8;
 895#line 65
 896    mem_18 = (int *)__cil_tmp12;
 897#line 65
 898    __cil_tmp13 = *mem_18;
 899#line 65
 900    (*__cil_tmp10)(4, __cil_tmp13);
 901#line 66
 902    __cil_tmp14 = (unsigned long )cf;
 903#line 66
 904    __cil_tmp15 = __cil_tmp14 + 16;
 905#line 66
 906    mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
 907#line 66
 908    cf = *mem_19;
 909    }
 910  }
 911  while_3_break: /* CIL Label */ ;
 912  }
 913  {
 914#line 69
 915  __utac__exception__cf_handler_free(exception);
 916  }
 917#line 732 "libacc.c"
 918  return;
 919}
 920}
 921#line 80 "libacc.c"
 922void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
 923#line 80 "libacc.c"
 924static struct __ACC__ERR *head  =    (struct __ACC__ERR *)0;
 925#line 79 "libacc.c"
 926void *__utac__error_stack_mgt(void *env , int mode , int count ) 
 927{ void *retValue_acc ;
 928  struct __ACC__ERR *new ;
 929  void *tmp ;
 930  struct __ACC__ERR *temp ;
 931  struct __ACC__ERR *next ;
 932  void *excep ;
 933  unsigned long __cil_tmp10 ;
 934  unsigned long __cil_tmp11 ;
 935  unsigned long __cil_tmp12 ;
 936  unsigned long __cil_tmp13 ;
 937  void *__cil_tmp14 ;
 938  unsigned long __cil_tmp15 ;
 939  unsigned long __cil_tmp16 ;
 940  void *__cil_tmp17 ;
 941  void **mem_18 ;
 942  struct __ACC__ERR **mem_19 ;
 943  struct __ACC__ERR **mem_20 ;
 944  void **mem_21 ;
 945  struct __ACC__ERR **mem_22 ;
 946  void **mem_23 ;
 947  void **mem_24 ;
 948
 949  {
 950#line 82 "libacc.c"
 951  if (count == 0) {
 952#line 758 "libacc.c"
 953    return (retValue_acc);
 954  } else {
 955
 956  }
 957#line 86 "libacc.c"
 958  if (mode == 0) {
 959    {
 960#line 87
 961    tmp = malloc(16UL);
 962#line 87
 963    new = (struct __ACC__ERR *)tmp;
 964#line 88
 965    mem_18 = (void **)new;
 966#line 88
 967    *mem_18 = env;
 968#line 89
 969    __cil_tmp10 = (unsigned long )new;
 970#line 89
 971    __cil_tmp11 = __cil_tmp10 + 8;
 972#line 89
 973    mem_19 = (struct __ACC__ERR **)__cil_tmp11;
 974#line 89
 975    *mem_19 = head;
 976#line 90
 977    head = new;
 978#line 776 "libacc.c"
 979    retValue_acc = (void *)new;
 980    }
 981#line 778
 982    return (retValue_acc);
 983  } else {
 984
 985  }
 986#line 94 "libacc.c"
 987  if (mode == 1) {
 988#line 95
 989    temp = head;
 990    {
 991#line 98
 992    while (1) {
 993      while_4_continue: /* CIL Label */ ;
 994#line 98
 995      if (count > 1) {
 996
 997      } else {
 998        goto while_4_break;
 999      }
1000      {
1001#line 99
1002      __cil_tmp12 = (unsigned long )temp;
1003#line 99
1004      __cil_tmp13 = __cil_tmp12 + 8;
1005#line 99
1006      mem_20 = (struct __ACC__ERR **)__cil_tmp13;
1007#line 99
1008      next = *mem_20;
1009#line 100
1010      mem_21 = (void **)temp;
1011#line 100
1012      excep = *mem_21;
1013#line 101
1014      __cil_tmp14 = (void *)temp;
1015#line 101
1016      free(__cil_tmp14);
1017#line 102
1018      __utac__exception__cf_handler_reset(excep);
1019#line 103
1020      temp = next;
1021#line 104
1022      count = count - 1;
1023      }
1024    }
1025    while_4_break: /* CIL Label */ ;
1026    }
1027    {
1028#line 107
1029    __cil_tmp15 = (unsigned long )temp;
1030#line 107
1031    __cil_tmp16 = __cil_tmp15 + 8;
1032#line 107
1033    mem_22 = (struct __ACC__ERR **)__cil_tmp16;
1034#line 107
1035    head = *mem_22;
1036#line 108
1037    mem_23 = (void **)temp;
1038#line 108
1039    excep = *mem_23;
1040#line 109
1041    __cil_tmp17 = (void *)temp;
1042#line 109
1043    free(__cil_tmp17);
1044#line 110
1045    __utac__exception__cf_handler_reset(excep);
1046#line 820 "libacc.c"
1047    retValue_acc = excep;
1048    }
1049#line 822
1050    return (retValue_acc);
1051  } else {
1052
1053  }
1054#line 114
1055  if (mode == 2) {
1056#line 118 "libacc.c"
1057    if (head) {
1058#line 831
1059      mem_24 = (void **)head;
1060#line 831
1061      retValue_acc = *mem_24;
1062#line 833
1063      return (retValue_acc);
1064    } else {
1065#line 837 "libacc.c"
1066      retValue_acc = (void *)0;
1067#line 839
1068      return (retValue_acc);
1069    }
1070  } else {
1071
1072  }
1073#line 846 "libacc.c"
1074  return (retValue_acc);
1075}
1076}
1077#line 122 "libacc.c"
1078void *__utac__get_this_arg(int i , struct JoinPoint *this ) 
1079{ void *retValue_acc ;
1080  unsigned long __cil_tmp4 ;
1081  unsigned long __cil_tmp5 ;
1082  int __cil_tmp6 ;
1083  int __cil_tmp7 ;
1084  unsigned long __cil_tmp8 ;
1085  unsigned long __cil_tmp9 ;
1086  void **__cil_tmp10 ;
1087  void **__cil_tmp11 ;
1088  int *mem_12 ;
1089  void ***mem_13 ;
1090
1091  {
1092#line 123
1093  if (i > 0) {
1094    {
1095#line 123
1096    __cil_tmp4 = (unsigned long )this;
1097#line 123
1098    __cil_tmp5 = __cil_tmp4 + 16;
1099#line 123
1100    mem_12 = (int *)__cil_tmp5;
1101#line 123
1102    __cil_tmp6 = *mem_12;
1103#line 123
1104    if (i <= __cil_tmp6) {
1105
1106    } else {
1107      {
1108#line 123
1109      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1110                    123U, "__utac__get_this_arg");
1111      }
1112    }
1113    }
1114  } else {
1115    {
1116#line 123
1117    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1118                  123U, "__utac__get_this_arg");
1119    }
1120  }
1121#line 870 "libacc.c"
1122  __cil_tmp7 = i - 1;
1123#line 870
1124  __cil_tmp8 = (unsigned long )this;
1125#line 870
1126  __cil_tmp9 = __cil_tmp8 + 8;
1127#line 870
1128  mem_13 = (void ***)__cil_tmp9;
1129#line 870
1130  __cil_tmp10 = *mem_13;
1131#line 870
1132  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1133#line 870
1134  retValue_acc = *__cil_tmp11;
1135#line 872
1136  return (retValue_acc);
1137#line 879
1138  return (retValue_acc);
1139}
1140}
1141#line 129 "libacc.c"
1142char const   *__utac__get_this_argtype(int i , struct JoinPoint *this ) 
1143{ char const   *retValue_acc ;
1144  unsigned long __cil_tmp4 ;
1145  unsigned long __cil_tmp5 ;
1146  int __cil_tmp6 ;
1147  int __cil_tmp7 ;
1148  unsigned long __cil_tmp8 ;
1149  unsigned long __cil_tmp9 ;
1150  char const   **__cil_tmp10 ;
1151  char const   **__cil_tmp11 ;
1152  int *mem_12 ;
1153  char const   ***mem_13 ;
1154
1155  {
1156#line 131
1157  if (i > 0) {
1158    {
1159#line 131
1160    __cil_tmp4 = (unsigned long )this;
1161#line 131
1162    __cil_tmp5 = __cil_tmp4 + 16;
1163#line 131
1164    mem_12 = (int *)__cil_tmp5;
1165#line 131
1166    __cil_tmp6 = *mem_12;
1167#line 131
1168    if (i <= __cil_tmp6) {
1169
1170    } else {
1171      {
1172#line 131
1173      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1174                    131U, "__utac__get_this_argtype");
1175      }
1176    }
1177    }
1178  } else {
1179    {
1180#line 131
1181    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1182                  131U, "__utac__get_this_argtype");
1183    }
1184  }
1185#line 903 "libacc.c"
1186  __cil_tmp7 = i - 1;
1187#line 903
1188  __cil_tmp8 = (unsigned long )this;
1189#line 903
1190  __cil_tmp9 = __cil_tmp8 + 24;
1191#line 903
1192  mem_13 = (char const   ***)__cil_tmp9;
1193#line 903
1194  __cil_tmp10 = *mem_13;
1195#line 903
1196  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1197#line 903
1198  retValue_acc = *__cil_tmp11;
1199#line 905
1200  return (retValue_acc);
1201#line 912
1202  return (retValue_acc);
1203}
1204}