aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGoaLitiuM <goalitium@kapsi.fi>2018-08-20 18:21:34 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-08-20 22:17:43 +0300
commit6e00ab6236e9d65376ac8c603e1321a6a0af6b57 (patch)
treead40a7283fad394e3c17d876a0a21af754e7426a
parente0120b4586225a41e08af936bf3e04f4db78ac6f (diff)
downloadmeson-6e00ab6236e9d65376ac8c603e1321a6a0af6b57.zip
meson-6e00ab6236e9d65376ac8c603e1321a6a0af6b57.tar.gz
meson-6e00ab6236e9d65376ac8c603e1321a6a0af6b57.tar.bz2
Improve D mixed language test case
-rw-r--r--test cases/d/10 d cpp/cppmain.cpp12
-rw-r--r--test cases/d/10 d cpp/libfile.d4
2 files changed, 14 insertions, 2 deletions
diff --git a/test cases/d/10 d cpp/cppmain.cpp b/test cases/d/10 d cpp/cppmain.cpp
index aeddf56..ff90e3f 100644
--- a/test cases/d/10 d cpp/cppmain.cpp
+++ b/test cases/d/10 d cpp/cppmain.cpp
@@ -1,6 +1,18 @@
+extern "C" int rt_init();
+extern "C" int rt_term();
extern void print_hello(int i);
int main(int, char**) {
+ // initialize D runtime
+ if (!rt_init())
+ return 1;
+
print_hello(1);
+
+ // terminate D runtime, each initialize call
+ // must be paired with a terminate call.
+ if (!rt_term())
+ return 1;
+
return 0;
}
diff --git a/test cases/d/10 d cpp/libfile.d b/test cases/d/10 d cpp/libfile.d
index 7c4a449..88cb53e 100644
--- a/test cases/d/10 d cpp/libfile.d
+++ b/test cases/d/10 d cpp/libfile.d
@@ -1,5 +1,5 @@
-import core.stdc.stdio;
+import std.stdio;
extern (C++) void print_hello(int i) {
- printf("Hello. Here is a number printed with D: %d\n", i);
+ writefln("Hello. Here is a number printed with D: %d", i);
}