summaryrefslogtreecommitdiff
path: root/test cases/fortran/23 preprocess
diff options
context:
space:
mode:
authorAndrew Lister <andrew.lister@stfc.ac.uk>2025-06-20 15:33:59 +0100
committerDylan Baker <dylan@pnwbakers.com>2025-06-27 09:29:55 -0700
commit68d29ef7f62df5481aa4de8eaf421f25243f4cb2 (patch)
tree6c19d50608dc012264a6ced7d6a1d41d9a2ab6cf /test cases/fortran/23 preprocess
parentfea9f6918a6647430f4e22ca908f074b3e93e489 (diff)
downloadmeson-68d29ef7f62df5481aa4de8eaf421f25243f4cb2.tar.gz
compilers-fortran: Fix preprocessing when fortran uses concat operator
Diffstat (limited to 'test cases/fortran/23 preprocess')
-rw-r--r--test cases/fortran/23 preprocess/main.f9012
-rw-r--r--test cases/fortran/23 preprocess/meson.build11
2 files changed, 19 insertions, 4 deletions
diff --git a/test cases/fortran/23 preprocess/main.f90 b/test cases/fortran/23 preprocess/main.f90
index 7cbc11cec..825174158 100644
--- a/test cases/fortran/23 preprocess/main.f90
+++ b/test cases/fortran/23 preprocess/main.f90
@@ -1,4 +1,14 @@
#define MYDEF program
MYDEF foo
- write (*,*) 'Hello, world!'
+ character(20) :: str
+#ifdef CORRECT
+ str = 'Hello, ' // 'world!'
+#else
+ str = 'Preprocessing error!'
+#endif
+ if (str /= 'Hello, world!') then
+ print *, 'Preprocessing failed.'
+ error stop 1
+ end if
+ stop 0
end MYDEF foo
diff --git a/test cases/fortran/23 preprocess/meson.build b/test cases/fortran/23 preprocess/meson.build
index b776940a9..88077d3c6 100644
--- a/test cases/fortran/23 preprocess/meson.build
+++ b/test cases/fortran/23 preprocess/meson.build
@@ -1,7 +1,12 @@
-project('preprocess', 'fortran')
+project('preprocess', 'fortran', meson_version: '>1.3.2')
fc = meson.get_compiler('fortran')
-pp_files = fc.preprocess('main.f90', output: '@PLAINNAME@')
+pp_files = fc.preprocess(
+ 'main.f90',
+ compile_args: ['-DCORRECT=true'],
+ output: '@PLAINNAME@')
-library('foo', pp_files)
+t = executable('foo', pp_files)
+
+test('check_result', t)