From 729d40128532a1f885e7fa2a9a6c1086be49c0c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Tue, 24 Feb 2026 19:33:19 -0700 Subject: [PATCH] Fix incorrect `#ifdef A && B` usage In Fortran preprocessor, the usage: #ifdef A && B is treated as `#ifdef A` and the `&& B` is ignored as "extra tokens", which is most likely not what was intended. Most likely what was intended is: #if defined(A) && defined(B) So this PR makes this change. --- src/formal/vector_1D_s.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/formal/vector_1D_s.F90 b/src/formal/vector_1D_s.F90 index 6410b31..cdc71a1 100644 --- a/src/formal/vector_1D_s.F90 +++ b/src/formal/vector_1D_s.F90 @@ -150,7 +150,7 @@ pure function premultiply_diagonal(d,A) result(DA) allocate(DA, mold=A) -#ifdef HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT && HAVE_LOCALITY_SPECIFIER_SUPPORT +#if defined(HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT) && defined(HAVE_LOCALITY_SPECIFIER_SUPPORT) do concurrent(integer :: row = 1 : size(A,1)) default(none) shared(d, A, DA) DA(row,:) = d(row) * A(row,:) end do @@ -173,7 +173,7 @@ pure function postmultiply_diagonal(A,d) result(AD) allocate(AD, mold=A) -#ifdef HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT && HAVE_LOCALITY_SPECIFIER_SUPPORT +#if defined(HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT) && defined(HAVE_LOCALITY_SPECIFIER_SUPPORT) do concurrent(integer :: column = 1 : size(A,2)) default(none) shared(d, A, AD) AD(:,column) = A(:,column) * d(column) end do