diff options
Diffstat (limited to 'llvm/test/Regression/C++Frontend/global_ctor.cpp')
| -rw-r--r-- | llvm/test/Regression/C++Frontend/global_ctor.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/llvm/test/Regression/C++Frontend/global_ctor.cpp b/llvm/test/Regression/C++Frontend/global_ctor.cpp index ebca6b59a51..e8b595d8f28 100644 --- a/llvm/test/Regression/C++Frontend/global_ctor.cpp +++ b/llvm/test/Regression/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; +} |

