* auto-profile.c (afdo_annotate_cfg): Use update_max_bb_count.
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / init18.C
blobdb579452d5d4933159be47bd48a512d5f73f00b5
1 // Some targets (e.g. those with "set_board_info needs_status_wrapper 1"
2 // in their dejagnu baseboard description) require that the status is
3 // final when exit is entered (or main returns), and not "overruled" by a
4 // destructor calling _exit.  It's not really worth it to handle that.
5 //
6 // Any platform that doesn't have proper __cxa_atexit support will also fail.
7 //
8 // { dg-do run }
9 // { dg-require-effective-target unwrapped }
10 // { dg-require-effective-target cxa_atexit }
12 #include <stdlib.h>
13 extern "C" void _exit (int);
15 static int cnt = 0;
17 class Foo2
19         public:
20                 Foo2() {}
21                 ~Foo2() { if (++cnt == 2) _exit (0); }
24 static Foo2& GetFoo2()
26         static Foo2 foo2;
27         return foo2;
30 class Foo1
32         public:
33                 Foo1() {}
34                 ~Foo1() { if (++cnt != 1) abort(); GetFoo2(); }
37 int main( int argc, const char* argv[] )
39         static Foo1 anotherFoo;
40         exit (1);