From 345eeb7ea76b311b93bbe2c7c2d96cab9e60df86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Sat, 21 Feb 2026 19:37:45 -0700 Subject: [PATCH] Consistent `#if` handling I tested with Flang and LFortran, all tests pass. --- src/formal/divergence_operator_1D_s.F90 | 2 +- src/formal/gradient_operator_1D_s.F90 | 2 +- src/formal/vector_1D_s.F90 | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/formal/divergence_operator_1D_s.F90 b/src/formal/divergence_operator_1D_s.F90 index fd0fc18..3da38d0 100644 --- a/src/formal/divergence_operator_1D_s.F90 +++ b/src/formal/divergence_operator_1D_s.F90 @@ -12,7 +12,7 @@ implicit none contains -#ifdef __GFORTRAN__ +#if !(HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT && HAVE_LOCALITY_SPECIFIER_SUPPORT) pure function negate_and_flip(A) result(Ap) !! Transform a mimetic matrix upper block into a lower block diff --git a/src/formal/gradient_operator_1D_s.F90 b/src/formal/gradient_operator_1D_s.F90 index 0298e58..9f6ebed 100644 --- a/src/formal/gradient_operator_1D_s.F90 +++ b/src/formal/gradient_operator_1D_s.F90 @@ -13,7 +13,7 @@ contains -#ifdef __GFORTRAN__ +#if !(HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT && HAVE_LOCALITY_SPECIFIER_SUPPORT) pure function negate_and_flip(A) result(Ap) !! Transform a mimetic matrix upper block into a lower block diff --git a/src/formal/vector_1D_s.F90 b/src/formal/vector_1D_s.F90 index 6410b31..5bd892e 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 HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT && 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 HAVE_DO_CONCURRENT_TYPE_SPEC_SUPPORT && 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