diff options
Diffstat (limited to 'test/C++Frontend/global_ctor.cpp')
-rw-r--r-- | test/C++Frontend/global_ctor.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/test/C++Frontend/global_ctor.cpp b/test/C++Frontend/global_ctor.cpp index ebca6b5..e8b595d 100644 --- a/test/C++Frontend/global_ctor.cpp +++ b/test/C++Frontend/global_ctor.cpp @@ -1,11 +1,27 @@ -int array[] = { 1, 2, 3, 4 }; +#include <stdio.h> +//extern int printf(const char *, ...); -struct foo { - foo() throw(); -} Constructor1; // Global with ctor to be called before main +int CN = 0; +int DN = 0; -foo Constructor2; +struct foo { + int Num; + foo(int num) : Num(num) { + printf("Foo ctor %d %d\n", Num, CN++); + } + ~foo() { + printf("Foo dtor %d %d\n", Num, DN++); + } +} Constructor1(7); // Global with ctor to be called before main +foo Constructor2(12); struct bar { - ~bar() throw(); + ~bar() { + printf("bar dtor\n"); + } } Destructor1; // Global with dtor + +int main() { + printf("main\n"); + return 0; +} |