do merge...push right code
authorBrian Demsky <bdemsky@uci.edu>
Thu, 7 Mar 2013 03:33:14 +0000 (19:33 -0800)
committerBrian Demsky <bdemsky@uci.edu>
Thu, 7 Mar 2013 03:33:14 +0000 (19:33 -0800)
Merge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/model-checker-benchmarks

Conflicts:
chase-lev-deque/main.c

1  2 
chase-lev-deque/main.c

diff --combined chase-lev-deque/main.c
index 0a29a51572551004ca40b3a8c28551e9e161c62d,c744b47020c25872f7fb4947cdff32cd1cb5cc75..424806f3edab28eaa272071f9321bb0217e47c6a
@@@ -3,16 -3,20 +3,19 @@@
  #include <stdio.h>
  #include <threads.h>
  #include <stdatomic.h>
+ #include <stdio.h>
+ #include "model-assert.h"
  
  #include "deque.h"
  
  Deque *q;
  int a;
  int b;
 +int c;
  
  static void task(void * param) {
 -      do {
 -              a=steal(q);
 -      } while(a==EMPTY);
 +      a=steal(q);
  }
  
  int user_main(int argc, char **argv)
        thrd_create(&t, task, 0);
        push(q, 1);
        push(q, 2);
 +      push(q, 4);
        b=take(q);
 +      c=take(q);
        thrd_join(t);
 -      printf("a=%d b=%d\n",a,b);
 -      MODEL_ASSERT(a + b == 3);
 +      bool correct=true;
 +      if (a!=1 && a!=2 && a!=4 && a!= EMPTY)
 +              correct=false;
 +      if (b!=1 && b!=2 && b!=4 && b!= EMPTY)
 +              correct=false;
 +      if (c!=1 && c!=2 && c!=4 && a!= EMPTY)
 +              correct=false;
 +      if (a!=EMPTY && b!=EMPTY && c!=EMPTY && (a+b+c)!=7)
 +              correct=false;
 +      if (!correct)
 +              printf("a=%d b=%d c=%d\n",a,b,c);
        return 0;
  }