Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/ext/cleanup-3.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 that the cleanup handler receives the proper contents of the variable. */ extern "C" void exit(int); extern "C" void abort(void); static int expected; static void handler(int *p) { if (*p != expected) abort (); } static void __attribute__((noinline)) bar(void) { } static void doit(int x, int y) { int r __attribute__((cleanup (handler))); if (x < y) { r = 0; return; } bar(); r = x + y; } int main() { expected = 0; doit (1, 2); expected = 3; doit (2, 1); return 0; }