diff options
Diffstat (limited to 'llvm/test/Regression/C++Frontend')
| -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; +}  | 

