aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-03-24 11:15:00 -0700
committerDylan Baker <dylan@pnwbakers.com>2020-04-30 10:38:55 -0700
commit90883fa35d48bf4c4b522ba76e3de4f32456a22d (patch)
tree0213071ce6a0f9d78f4e7efefa63cc4242874792
parent7d4af2ab7c0f3d7cf98aada7da21dc5dccf5002d (diff)
downloadmeson-90883fa35d48bf4c4b522ba76e3de4f32456a22d.zip
meson-90883fa35d48bf4c4b522ba76e3de4f32456a22d.tar.gz
meson-90883fa35d48bf4c4b522ba76e3de4f32456a22d.tar.bz2
tests: Add common test for link_language
It's cool we have a fortran test, but we should have a C/C++ test, especially for C++ extern "C".
-rw-r--r--test cases/common/232 link language/c_linkage.cpp5
-rw-r--r--test cases/common/232 link language/c_linkage.h10
-rw-r--r--test cases/common/232 link language/main.c5
-rw-r--r--test cases/common/232 link language/meson.build12
4 files changed, 32 insertions, 0 deletions
diff --git a/test cases/common/232 link language/c_linkage.cpp b/test cases/common/232 link language/c_linkage.cpp
new file mode 100644
index 0000000..dc006b9
--- /dev/null
+++ b/test cases/common/232 link language/c_linkage.cpp
@@ -0,0 +1,5 @@
+extern "C" {
+ int makeInt(void) {
+ return 0;
+ }
+}
diff --git a/test cases/common/232 link language/c_linkage.h b/test cases/common/232 link language/c_linkage.h
new file mode 100644
index 0000000..1609f47
--- /dev/null
+++ b/test cases/common/232 link language/c_linkage.h
@@ -0,0 +1,10 @@
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int makeInt(void);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/test cases/common/232 link language/main.c b/test cases/common/232 link language/main.c
new file mode 100644
index 0000000..5a167e7
--- /dev/null
+++ b/test cases/common/232 link language/main.c
@@ -0,0 +1,5 @@
+#include "c_linkage.h"
+
+int main(void) {
+ return makeInt();
+}
diff --git a/test cases/common/232 link language/meson.build b/test cases/common/232 link language/meson.build
new file mode 100644
index 0000000..fdb3deb
--- /dev/null
+++ b/test cases/common/232 link language/meson.build
@@ -0,0 +1,12 @@
+project(
+ 'link_language',
+ ['c', 'cpp'],
+)
+
+exe = executable(
+ 'main',
+ ['main.c', 'c_linkage.cpp'],
+ link_language : 'c',
+)
+
+test('main', exe)