Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/cleanup-4.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "" } */ /* Verify cleanup execution on non-trivial exit from a block. */ extern void exit(int); extern void abort(void); static int counter; static void handler(int *p) { counter += *p; } static void __attribute__((noinline)) bar(void) { } static void doit(int n, int n2) { int i; for (i = 0; i < n; ++i) { int dummy __attribute__((cleanup (handler))) = i; if (i == n2) break; bar(); } } int main() { doit (10, 6); if (counter != 0 + 1 + 2 + 3 + 4 + 5 + 6) abort (); return 0; }