summaryrefslogtreecommitdiffstats
path: root/src/test/run-make/native-link-modifier-whole-archive/c_static_lib_with_constructor.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/run-make/native-link-modifier-whole-archive/c_static_lib_with_constructor.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/test/run-make/native-link-modifier-whole-archive/c_static_lib_with_constructor.cpp b/src/test/run-make/native-link-modifier-whole-archive/c_static_lib_with_constructor.cpp
new file mode 100644
index 000000000..c687eb0f0
--- /dev/null
+++ b/src/test/run-make/native-link-modifier-whole-archive/c_static_lib_with_constructor.cpp
@@ -0,0 +1,11 @@
+#include <cstdio>
+
+// Since this is a global variable, its constructor will be called before
+// main() is executed. But only if the object file containing it actually
+// gets linked into the executable.
+struct Foo {
+ Foo() {
+ printf("static-initializer.");
+ fflush(stdout);
+ }
+} FOO;