summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/cleanup-2.C
blob: d9033b4542452bb90e21624b0919c4a90c09a7fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do run } */
/* { dg-options "" } */
/* Verify that cleanup works in the most basic of ways.  */

extern "C" void exit(int);
extern "C" void abort(void);

static void handler(void *p __attribute__((unused)))
{
  exit (0);
}

static void doit(void)
{
  int x __attribute__((cleanup (handler)));
}

int main()
{
  doit ();
  abort ();
}