aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/fortran/13 coarray/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/fortran/13 coarray/meson.build')
-rw-r--r--meson/test cases/fortran/13 coarray/meson.build24
1 files changed, 24 insertions, 0 deletions
diff --git a/meson/test cases/fortran/13 coarray/meson.build b/meson/test cases/fortran/13 coarray/meson.build
new file mode 100644
index 000000000..893cec941
--- /dev/null
+++ b/meson/test cases/fortran/13 coarray/meson.build
@@ -0,0 +1,24 @@
+project('Fortran coarray', 'fortran',
+ meson_version: '>=0.50')
+
+fc = meson.get_compiler('fortran')
+
+if ['pgi', 'flang'].contains(fc.get_id())
+ error('MESON_SKIP_TEST: At least through PGI 19.10 and Flang 7.1 do not support Fortran Coarrays.')
+endif
+
+# coarray is required because single-image fallback is an intrinsic feature
+coarray = dependency('coarray')
+
+# check coarray, because user might not have all the library stack installed correctly
+# for example, conflicting library/compiler versions on PATH
+# this has to invoke a run of "sync all" to verify the MPI stack is functioning,
+# particularly for dynamic linking
+if fc.run('sync all; end', dependencies: coarray, name: 'Coarray link & run').returncode() != 0
+ error('MESON_SKIP_TEST: coarray stack (including MPI) did not link correctly so that a simple test could run.')
+endif
+
+exe = executable('hello', 'main.f90',
+ dependencies : coarray)
+
+test('Coarray hello world', exe, timeout: 10)