(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tm/
memopt-3.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-fgnu-tm -O -fdump-tree-tmmark" } */
       3  
       4  struct large { int x[100]; };
       5  extern int readint (void);
       6  extern int test(void) __attribute__((transaction_safe));
       7  
       8  int f()
       9  {
      10    int i = readint();
      11    struct large lala = { 0 };
      12    __transaction_atomic {
      13      lala.x[i] = 666;
      14      if (test())
      15        __transaction_cancel;
      16    }
      17    return lala.x[0];
      18  }
      19  
      20  /* { dg-final { scan-tree-dump-times "logging: lala.x\\\[i_4\\\]" 1 "tmmark" } } */