aboutsummaryrefslogtreecommitdiffstats
path: root/test/C++Frontend/global_ctor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/C++Frontend/global_ctor.cpp')
-rw-r--r--test/C++Frontend/global_ctor.cpp28
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;
+}