stackundo.c 322 B

123456789101112131415161718192021222324
  1. static int __attribute__((noinline)) test2(int x[1000])
  2. {
  3. int i;
  4. return x[12];
  5. }
  6. static int __attribute__((noinline)) test1()
  7. {
  8. int x[1000], i;
  9. for (i = 0; i < 1000; i++)
  10. x[i] = i;
  11. return test2(x);
  12. }
  13. int main()
  14. {
  15. __transaction_atomic {
  16. if (test1() !=0)
  17. __transaction_cancel;
  18. }
  19. return 0;
  20. }