1611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner#include "lib_static_init.h"
2611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner#include <stdio.h>
3611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
4611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' TurnerFoo::Foo()
5611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner{
6611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    /* increment the static variable */
7611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    value = ++Foo::counter;
8611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    fprintf(stderr, "Foo::Foo for this=%p called (counter = %d)\n", this, counter);
9611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner}
10611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
11611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turnerint Foo::getValue()
12611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner{
13611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner    return value;
14611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner}
15611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
16611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turnerint Foo::counter;
17611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' Turner
18611cdccd9690a9083816f6d4746e998d58250a86David 'Digit' TurnerFoo  theFoo;
19