diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fcc88a047..b7d12832c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,6 +65,11 @@ jobs: container: snowstep/llvm:ubuntu-22.04-latest # https://hub.docker.com/r/phhargrove/llvm-flang/tags + - os: ubuntu-24.04-arm + compiler: flang + version: 23 + container: phhargrove/llvm-flang:23.1.0-latest-arm64 + - os: ubuntu-24.04 compiler: flang version: 23 @@ -133,10 +138,6 @@ jobs: compiler: lfortran version: 0.62.0 container: phhargrove/lfortran:0.62.0-1 - - os: ubuntu-24.04 - compiler: lfortran - version: 0.63.0 - container: phhargrove/lfortran:0.63.0-1 # https://github.com/lfortran/lfortran/pkgs/container/lfortran - os: ubuntu-22.04 @@ -151,6 +152,10 @@ jobs: compiler: lfortran version: 0.65.0 container: ghcr.io/lfortran/lfortran:v0.65.0 + - os: ubuntu-22.04 + compiler: lfortran + version: 0.66.0 + container: ghcr.io/lfortran/lfortran:v0.66.0 - os: ubuntu-22.04 compiler: lfortran version: latest @@ -248,12 +253,12 @@ jobs: echo "FPM_FC=ifx" >> "$GITHUB_ENV" if [[ "$COMPILER_VERSION" = "latest-coarray" ]] ; then echo "FOR_COARRAY_NUM_IMAGES=4" >> "$GITHUB_ENV" - echo "FFLAGS=-coarray -fpp -g -traceback $FFLAGS" >> "$GITHUB_ENV" + echo "FFLAGS=-coarray -g -traceback $FFLAGS" >> "$GITHUB_ENV" #echo "FOR_COARRAY_MPI_VERBOSE=1" >> "$GITHUB_ENV" #echo "FOR_COARRAY_DEBUG_STARTUP=1" >> "$GITHUB_ENV" else # issue #162: ifx coarray support is usually disabled because it hides runtime failures - echo "FFLAGS=-DHAVE_MULTI_IMAGE_SUPPORT=0 -fpp -g -traceback $FFLAGS" >> "$GITHUB_ENV" + echo "FFLAGS=-DHAVE_MULTI_IMAGE_SUPPORT=0 -g -traceback $FFLAGS" >> "$GITHUB_ENV" fi elif test "$FC" = "lfortran" ; then echo "FPM_FC=lfortran" >> "$GITHUB_ENV" @@ -278,10 +283,11 @@ jobs: if: ${{ runner.os == 'Linux' && runner.arch == 'ARM64' }} run: | export FPM_VERSION=0.13.0 + mkdir -p fpm-temp/bin + cd fpm-temp curl --retry 5 -LOsS https://github.com/fortran-lang/fpm/releases/download/v$FPM_VERSION/fpm-$FPM_VERSION.F90 - mkdir fpm-temp - gfortran-14 -o fpm-temp/fpm fpm-$FPM_VERSION.F90 - echo "PATH=`pwd`/fpm-temp:${PATH}" >> "$GITHUB_ENV" + gfortran-14 -o bin/fpm fpm-$FPM_VERSION.F90 + echo "PATH=$PWD/bin:${PATH}" >> "$GITHUB_ENV" - name: Version info run: | diff --git a/README.md b/README.md index e1b65b6e4..766e82019 100644 --- a/README.md +++ b/README.md @@ -200,19 +200,22 @@ With `fpm` versions older than 0.13.0, replace `flang` with `flang-new` below. Compiler/Runtime |Tested Versions|Run Type|Example build/test commands (parallel examples use 2 images) ------------------|---------------|--------|------------------------------------------------------------ -LLVM/[Caffeine] |22 |parallel|`fpm test --compiler flang --flag "-O3 -DHAVE_MULTI_IMAGE_SUPPORT -fcoarray" --link-flag "-lcaffeine -lgasnet-smp-seq -L/lib"` +LLVM/[Caffeine] |22 |parallel|`fpm test --compiler flang --flag "-O3 -DHAVE_MULTI_IMAGE_SUPPORT -fcoarray -DASSERT_MULTI_IMAGE" --link-flag "-lcaffeine -lgasnet-smp-seq -L/lib"` (\*) LLVM |20-22 |serial |`fpm test --compiler flang --flag -O3` LLVM |19 (+) |serial |`fpm test --compiler flang --flag "-O3 -mmlir -allow-assumed-rank"` GCC/[OpenCoarrays]|14-15 |parallel|`fpm test --compiler caf --runner "cafrun -n 2" --profile release` GCC/[OpenCoarrays]|13 |parallel|`fpm test --compiler caf --runner "cafrun -n 2" --profile release --flag -ffree-line-length-none` GCC |14-16 |serial |`fpm test --compiler gfortran --profile release` GCC |13 |serial |`fpm test --compiler gfortran --profile release --flag -ffree-line-length-none` -Intel |2025.2-2026.0 |parallel|`FOR_COARRAY_NUM_IMAGES=2 fpm test --compiler ifx --flag "-fpp -O3 -coarray" --profile release` +Intel |2025.2-2026.0 |parallel|`FOR_COARRAY_NUM_IMAGES=2 fpm test --compiler ifx --flag "-O3 -coarray" --profile release` LFortran |0.61-0.63 |serial |`fpm test --compiler lfortran --flag "--cpp --realloc-lhs-arrays --separate-compilation"` -NAG |7.2 (-) |parallel|`NAGFORTRAN_NUM_IMAGES=2 fpm test --compiler nagfor --flag "-O4 -fpp -coarray"` +NAG |7.2 (-) |parallel|`NAGFORTRAN_NUM_IMAGES=2 fpm test --compiler nagfor --flag "-O1 -coarray"` -(+) Support for LLVM flang version 19 is deprecated, and may be removed in a future release. -(-) Using NAG on macOS requires an `fpm` installation containing [PR 1312](https://github.com/fortran-lang/fpm/pull/1312) +> (\*) Additional linker options might be required depending on platform. +On Linux, it may be necessary to prepend `-Wl,--start-group` to `--link-flag`, or manually add the libraries +to fpm.toml. +> (+) Support for LLVM flang version 19 is deprecated, and may be removed in a future release. +> (-) Using NAG on macOS requires an `fpm` installation containing [PR 1312](https://github.com/fortran-lang/fpm/pull/1312) The test output reports a test as skipped if there is a known issue that blocks the tested feature with the chosen compiler version or platform. Due to a diff --git a/demo/src/specimen_m.f90 b/demo/src/specimen_m.F90 similarity index 100% rename from demo/src/specimen_m.f90 rename to demo/src/specimen_m.F90 diff --git a/demo/src/widget_m.f90 b/demo/src/widget_m.F90 similarity index 100% rename from demo/src/widget_m.f90 rename to demo/src/widget_m.F90 diff --git a/demo/test/driver.f90 b/demo/test/driver.F90 similarity index 100% rename from demo/test/driver.f90 rename to demo/test/driver.F90 diff --git a/demo/test/specimen_test_m.f90 b/demo/test/specimen_test_m.F90 similarity index 100% rename from demo/test/specimen_test_m.f90 rename to demo/test/specimen_test_m.F90 diff --git a/demo/test/widget_test_m.f90 b/demo/test/widget_test_m.F90 similarity index 100% rename from demo/test/widget_test_m.f90 rename to demo/test/widget_test_m.F90 diff --git a/example/command-line-parsing/check-for-command-line-argument.f90 b/example/command-line-parsing/check-for-command-line-argument.F90 similarity index 100% rename from example/command-line-parsing/check-for-command-line-argument.f90 rename to example/command-line-parsing/check-for-command-line-argument.F90 diff --git a/example/command-line-parsing/get-command-line-flag-value.f90 b/example/command-line-parsing/get-command-line-flag-value.F90 similarity index 100% rename from example/command-line-parsing/get-command-line-flag-value.f90 rename to example/command-line-parsing/get-command-line-flag-value.F90 diff --git a/example/pure-printing/pure-stop-and-print.F90 b/example/pure-printing/pure-stop-and-print.F90 index b7ed1902a..a60421007 100644 --- a/example/pure-printing/pure-stop-and-print.F90 +++ b/example/pure-printing/pure-stop-and-print.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2026, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" program pure_stop_and_print #if HAVE_STOP_AND_PRINT_SUPPORT diff --git a/example/pure-printing/write_stuff_m.F90 b/example/pure-printing/write_stuff_m.F90 index 116cb976d..f0479fe47 100644 --- a/example/pure-printing/write_stuff_m.F90 +++ b/example/pure-printing/write_stuff_m.F90 @@ -1,10 +1,10 @@ ! Copyright (c) 2024-2026, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" -#if HAVE_STOP_AND_PRINT_SUPPORT module write_stuff_m +#if HAVE_STOP_AND_PRINT_SUPPORT !! Demonstrate a derived type that is writable to a stop via Julienne's stop_and_print utility use julienne_m, only : writable_t implicit none @@ -27,6 +27,7 @@ module subroutine write_formatted(self, unit, edit_descriptor, v_list, iostat, i end subroutine end interface - -end module +#else + EMPTY_MODULE_ANCESTOR #endif +end module diff --git a/example/pure-printing/write_stuff_s.F90 b/example/pure-printing/write_stuff_s.F90 index 06b265711..f03789e21 100644 --- a/example/pure-printing/write_stuff_s.F90 +++ b/example/pure-printing/write_stuff_s.F90 @@ -1,10 +1,10 @@ ! Copyright (c) 2024-2026, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" -#if HAVE_STOP_AND_PRINT_SUPPORT submodule(write_stuff_m) write_stuff_s +#if HAVE_STOP_AND_PRINT_SUPPORT implicit none contains @@ -16,6 +16,7 @@ write(unit,'(a)' ) "}" // new_line('') iostat = 0 end procedure - -end submodule +#else + EMPTY_MODULE_SUBMODULE #endif +end submodule diff --git a/fpm.toml b/fpm.toml index 3b94d6b03..44f1fa2ef 100644 --- a/fpm.toml +++ b/fpm.toml @@ -1,7 +1,7 @@ name = "julienne" [dependencies] -assert = {git = "https://github.com/berkeleylab/assert", tag = "3.1.2"} +assert = {git = "https://github.com/berkeleylab/assert", tag = "3.2.0"} [install] library = true diff --git a/include/language-support.F90 b/include/julienne-language-support.F90 similarity index 90% rename from include/language-support.F90 rename to include/julienne-language-support.F90 index 7b3e204a1..1948c2e5a 100644 --- a/include/language-support.F90 +++ b/include/julienne-language-support.F90 @@ -63,4 +63,8 @@ # endif #endif +! Incantation to allow a conforming empty module and submodule +#define EMPTY_MODULE_ANCESTOR private ; interface ; module subroutine dummy ; end subroutine ; end interface +#define EMPTY_MODULE_SUBMODULE contains ; module procedure dummy ; end procedure + #endif diff --git a/src/julienne/julienne_assert_m.f90 b/src/julienne/julienne_assert_m.F90 similarity index 100% rename from src/julienne/julienne_assert_m.f90 rename to src/julienne/julienne_assert_m.F90 diff --git a/src/julienne/julienne_assert_s.f90 b/src/julienne/julienne_assert_s.F90 similarity index 100% rename from src/julienne/julienne_assert_s.f90 rename to src/julienne/julienne_assert_s.F90 diff --git a/src/julienne/julienne_bin_m.f90 b/src/julienne/julienne_bin_m.F90 similarity index 100% rename from src/julienne/julienne_bin_m.f90 rename to src/julienne/julienne_bin_m.F90 diff --git a/src/julienne/julienne_command_line_m.f90 b/src/julienne/julienne_command_line_m.F90 similarity index 100% rename from src/julienne/julienne_command_line_m.f90 rename to src/julienne/julienne_command_line_m.F90 diff --git a/src/julienne/julienne_command_line_s.F90 b/src/julienne/julienne_command_line_s.F90 index 33f3b41ac..74dfcecff 100644 --- a/src/julienne/julienne_command_line_s.F90 +++ b/src/julienne/julienne_command_line_s.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2026, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" submodule(julienne_command_line_m) julienne_command_line_s implicit none diff --git a/src/julienne/julienne_file_m.f90 b/src/julienne/julienne_file_m.F90 similarity index 100% rename from src/julienne/julienne_file_m.f90 rename to src/julienne/julienne_file_m.F90 diff --git a/src/julienne/julienne_github_ci_m.f90 b/src/julienne/julienne_github_ci_m.F90 similarity index 100% rename from src/julienne/julienne_github_ci_m.f90 rename to src/julienne/julienne_github_ci_m.F90 diff --git a/src/julienne/julienne_github_ci_s.f90 b/src/julienne/julienne_github_ci_s.F90 similarity index 100% rename from src/julienne/julienne_github_ci_s.f90 rename to src/julienne/julienne_github_ci_s.F90 diff --git a/src/julienne/julienne_multi_image_m.F90 b/src/julienne/julienne_multi_image_m.F90 index 00ecc0d2f..b94f5d146 100644 --- a/src/julienne/julienne_multi_image_m.F90 +++ b/src/julienne/julienne_multi_image_m.F90 @@ -51,7 +51,7 @@ function julienne_this_image_interface() result(this_image_id) integer :: this_image_id end function end interface - procedure(julienne_this_image_interface), pointer :: julienne_this_image + procedure(julienne_this_image_interface), pointer :: julienne_this_image => null() abstract interface function julienne_num_images_interface() result(image_count) @@ -59,14 +59,14 @@ function julienne_num_images_interface() result(image_count) integer :: image_count end function end interface - procedure(julienne_num_images_interface), pointer :: julienne_num_images + procedure(julienne_num_images_interface), pointer :: julienne_num_images => null() abstract interface subroutine julienne_sync_all_interface() implicit none end subroutine end interface - procedure(julienne_sync_all_interface), pointer :: julienne_sync_all + procedure(julienne_sync_all_interface), pointer :: julienne_sync_all => null() abstract interface subroutine julienne_co_sum_integer_interface(a, result_image) @@ -75,7 +75,7 @@ subroutine julienne_co_sum_integer_interface(a, result_image) integer, intent(in), optional :: result_image end subroutine end interface - procedure(julienne_co_sum_integer_interface), pointer :: julienne_co_sum_integer + procedure(julienne_co_sum_integer_interface), pointer :: julienne_co_sum_integer => null() abstract interface pure subroutine julienne_error_stop_interface(stop_code_char) @@ -83,7 +83,7 @@ pure subroutine julienne_error_stop_interface(stop_code_char) character(len=*), intent(in) :: stop_code_char end subroutine end interface - procedure(julienne_error_stop_interface), pointer :: julienne_error_stop + procedure(julienne_error_stop_interface), pointer :: julienne_error_stop => null() #endif diff --git a/src/julienne/julienne_multi_image_s.F90 b/src/julienne/julienne_multi_image_s.F90 index 516589187..cfcd2bad8 100644 --- a/src/julienne/julienne_multi_image_s.F90 +++ b/src/julienne/julienne_multi_image_s.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" #include "assert_macros.h" submodule(julienne_multi_image_m) julienne_multi_image_s @@ -46,7 +46,7 @@ if (associated(julienne_sync_all)) then call julienne_sync_all() else - ; ! assume single-image, no-op + ! assume single-image, no-op call_assert(internal_num_images() == 1) end if # else @@ -61,7 +61,7 @@ if (associated(julienne_co_sum_integer)) then call julienne_co_sum_integer(a, result_image) else - ; ! assume single-image, no-op + ! assume single-image, no-op call_assert(internal_num_images() == 1) end if # else @@ -79,7 +79,7 @@ if (associated(julienne_error_stop)) then call julienne_error_stop(stop_code_char) else - ; ! deliberate fall-thru + ! deliberate fall-thru end if # endif error stop stop_code_char diff --git a/src/julienne/julienne_stop_and_print_m.F90 b/src/julienne/julienne_stop_and_print_m.F90 index 539fec4dc..de61d6239 100644 --- a/src/julienne/julienne_stop_and_print_m.F90 +++ b/src/julienne/julienne_stop_and_print_m.F90 @@ -1,11 +1,10 @@ ! Copyright (c), The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" - -#if HAVE_STOP_AND_PRINT_SUPPORT +#include "julienne-language-support.F90" module julienne_stop_and_print_m +#if HAVE_STOP_AND_PRINT_SUPPORT !! Define a pure subroutine that formats and prints various data types during error termination use julienne_string_m, only : string_t implicit none @@ -66,6 +65,7 @@ pure module function character_stop_code(stuff) result(stop_code) end function end interface - -end module julienne_stop_and_print_m +#else + EMPTY_MODULE_ANCESTOR #endif +end module julienne_stop_and_print_m diff --git a/src/julienne/julienne_stop_and_print_s.F90 b/src/julienne/julienne_stop_and_print_s.F90 index a7f580b8c..d090e8623 100644 --- a/src/julienne/julienne_stop_and_print_s.F90 +++ b/src/julienne/julienne_stop_and_print_s.F90 @@ -1,11 +1,10 @@ ! Copyright (c), The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" - -#if HAVE_STOP_AND_PRINT_SUPPORT +#include "julienne-language-support.F90" submodule(julienne_stop_and_print_m) julienne_stop_and_print_s +#if HAVE_STOP_AND_PRINT_SUPPORT use julienne_string_m, only : operator(.csv.), operator(.separatedBy.) use julienne_file_m, only : file_t use julienne_multi_image_m, only : internal_error_stop @@ -187,7 +186,7 @@ pure subroutine stop_and_print_header_data_footer(data, header, footer) end associate end select end procedure - -end submodule julienne_stop_and_print_s - +#else + EMPTY_MODULE_SUBMODULE #endif +end submodule julienne_stop_and_print_s diff --git a/src/julienne/julienne_test_description_m.f90 b/src/julienne/julienne_test_description_m.F90 similarity index 100% rename from src/julienne/julienne_test_description_m.f90 rename to src/julienne/julienne_test_description_m.F90 diff --git a/src/julienne/julienne_test_description_s.F90 b/src/julienne/julienne_test_description_s.F90 index 0803ff262..1c0d4ae53 100644 --- a/src/julienne/julienne_test_description_s.F90 +++ b/src/julienne/julienne_test_description_s.F90 @@ -3,7 +3,7 @@ #include "julienne-assert-macros.h" #include "assert_macros.h" -#include "language-support.F90" +#include "julienne-language-support.F90" submodule(julienne_test_description_m) julienne_test_description_s use assert_m diff --git a/src/julienne/julienne_test_diagnosis_m.F90 b/src/julienne/julienne_test_diagnosis_m.F90 index 5b39c01f2..b38ea8a92 100644 --- a/src/julienne/julienne_test_diagnosis_m.F90 +++ b/src/julienne/julienne_test_diagnosis_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module julienne_test_diagnosis_m !! Define abstractions, defined operations, and procedures for writing correctness checks diff --git a/src/julienne/julienne_test_diagnosis_s.F90 b/src/julienne/julienne_test_diagnosis_s.F90 index 514c2338e..c9c500d23 100644 --- a/src/julienne/julienne_test_diagnosis_s.F90 +++ b/src/julienne/julienne_test_diagnosis_s.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" #include "assert_macros.h" submodule(julienne_test_diagnosis_m) julienne_test_diagnosis_s diff --git a/src/julienne/julienne_test_fixture_m.f90 b/src/julienne/julienne_test_fixture_m.F90 similarity index 100% rename from src/julienne/julienne_test_fixture_m.f90 rename to src/julienne/julienne_test_fixture_m.F90 diff --git a/src/julienne/julienne_test_harness_m.f90 b/src/julienne/julienne_test_harness_m.F90 similarity index 100% rename from src/julienne/julienne_test_harness_m.f90 rename to src/julienne/julienne_test_harness_m.F90 diff --git a/src/julienne/julienne_test_harness_s.F90 b/src/julienne/julienne_test_harness_s.F90 index 5e0c68223..e28c26310 100644 --- a/src/julienne/julienne_test_harness_s.F90 +++ b/src/julienne/julienne_test_harness_s.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" submodule(julienne_test_harness_m) julienne_test_harness_s use iso_fortran_env, only : int64, real64 diff --git a/src/julienne/julienne_test_m.F90 b/src/julienne/julienne_test_m.F90 index ba27093c0..6bd85abdc 100644 --- a/src/julienne/julienne_test_m.F90 +++ b/src/julienne/julienne_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module julienne_test_m !! Define an abstract test_t type with deferred bindings ("subject" and "results") diff --git a/src/julienne/julienne_test_result_m.f90 b/src/julienne/julienne_test_result_m.F90 similarity index 100% rename from src/julienne/julienne_test_result_m.f90 rename to src/julienne/julienne_test_result_m.F90 diff --git a/src/julienne/julienne_test_result_s.F90 b/src/julienne/julienne_test_result_s.F90 index fbfd7f7aa..ef88f327b 100644 --- a/src/julienne/julienne_test_result_s.F90 +++ b/src/julienne/julienne_test_result_s.F90 @@ -2,7 +2,7 @@ ! Terms of use are as specified in LICENSE.txt #include "julienne-assert-macros.h" -#include "language-support.F90" +#include "julienne-language-support.F90" submodule(julienne_test_result_m) julienne_test_result_s #if ASSERTIONS diff --git a/src/julienne/julienne_test_s.F90 b/src/julienne/julienne_test_s.F90 index ffb3691c4..3f97b2222 100644 --- a/src/julienne/julienne_test_s.F90 +++ b/src/julienne/julienne_test_s.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" submodule(julienne_test_m) julienne_test_s use julienne_test_description_m, only : filter diff --git a/src/julienne/julienne_test_suite_m.f90 b/src/julienne/julienne_test_suite_m.F90 similarity index 100% rename from src/julienne/julienne_test_suite_m.f90 rename to src/julienne/julienne_test_suite_m.F90 diff --git a/src/julienne_m.F90 b/src/julienne_m.F90 index 0bb77a5ab..2a9658c02 100644 --- a/src/julienne_m.F90 +++ b/src/julienne_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module julienne_m !! Global aggregation of all public entities diff --git a/test/driver.F90 b/test/driver.F90 index f7651c671..a85ea7c46 100644 --- a/test/driver.F90 +++ b/test/driver.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" program test_suite_driver !! Julienne test-suite driver diff --git a/test/idiomatic_assertion_failure_test.F90 b/test/idiomatic_assertion_failure_test.F90 index 9556a4b7b..b8193e5a7 100644 --- a/test/idiomatic_assertion_failure_test.F90 +++ b/test/idiomatic_assertion_failure_test.F90 @@ -2,7 +2,7 @@ ! Terms of use are as specified in LICENSE.txt #include "julienne-assert-macros.h" -#include "language-support.F90" +#include "julienne-language-support.F90" program idiomatic_assertion_failure_test !! Conditionally test an assertion that is hardwired to fail. diff --git a/test/logical_assertion_failure_test.F90 b/test/logical_assertion_failure_test.F90 index 03a5f7930..86a06768a 100644 --- a/test/logical_assertion_failure_test.F90 +++ b/test/logical_assertion_failure_test.F90 @@ -2,7 +2,7 @@ ! Terms of use are as specified in LICENSE.txt #include "julienne-assert-macros.h" -#include "language-support.F90" +#include "julienne-language-support.F90" program logical_assertion_failure_test !! Conditionally test an assertion that is hardwired to fail. diff --git a/test/modules/assert_test_m.F90 b/test/modules/assert_test_m.F90 index f5f988daf..3f7898cde 100644 --- a/test/modules/assert_test_m.F90 +++ b/test/modules/assert_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" #include "julienne-assert-macros.h" #include "assert_macros.h" diff --git a/test/modules/bin_test_m.F90 b/test/modules/bin_test_m.F90 index c1dea2e85..f9781811a 100644 --- a/test/modules/bin_test_m.F90 +++ b/test/modules/bin_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module bin_test_m !! Check data partitioning across bins diff --git a/test/modules/character_stop_code_test_m.F90 b/test/modules/character_stop_code_test_m.F90 index c05c92194..263e76a85 100644 --- a/test/modules/character_stop_code_test_m.F90 +++ b/test/modules/character_stop_code_test_m.F90 @@ -1,11 +1,10 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" - -#if HAVE_STOP_AND_PRINT_SUPPORT +#include "julienne-language-support.F90" module character_stop_code_test_m +#if HAVE_STOP_AND_PRINT_SUPPORT !! Check data partitioning across bins use julienne_m, only : & file_t & @@ -557,6 +556,5 @@ subroutine write_formatted(self, unit, edit_descriptor, v_list, iostat, iomsg) write(unit,'(a)') "written stuff" end subroutine -end module character_stop_code_test_m - #endif +end module character_stop_code_test_m diff --git a/test/modules/command_line_test_m.F90 b/test/modules/command_line_test_m.F90 index 418b61211..102e77317 100644 --- a/test/modules/command_line_test_m.F90 +++ b/test/modules/command_line_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module command_line_test_m !! Verify object pattern asbtract parent diff --git a/test/modules/file_test_m.F90 b/test/modules/file_test_m.F90 index 6d2194cd9..6ce8ce882 100644 --- a/test/modules/file_test_m.F90 +++ b/test/modules/file_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module file_test_m !! Check data partitioning across files diff --git a/test/modules/formats_test_m.F90 b/test/modules/formats_test_m.F90 index f7f7d88ac..9e282aef9 100644 --- a/test/modules/formats_test_m.F90 +++ b/test/modules/formats_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module formats_test_m !! Verify that format strings provide the desired formatting diff --git a/test/modules/multi_image_test_m.F90 b/test/modules/multi_image_test_m.F90 index df516e52a..5af3625d5 100644 --- a/test/modules/multi_image_test_m.F90 +++ b/test/modules/multi_image_test_m.F90 @@ -1,13 +1,13 @@ ! Copyright (c) 2024, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" ! We normally only test the JULIENNE_PARALLEL_CALLBACKS feature ! when HAVE_MULTI_IMAGE_SUPPORT is also enabled, but this test ! can also be force-enabled via -DTEST_PARALLEL_CALLBACKS -#if JULIENNE_PARALLEL_CALLBACKS && HAVE_MULTI_IMAGE_SUPPORT -#define TEST_PARALLEL_CALLBACKS 1 +#ifndef TEST_PARALLEL_CALLBACKS +#define TEST_PARALLEL_CALLBACKS (JULIENNE_PARALLEL_CALLBACKS && HAVE_MULTI_IMAGE_SUPPORT) #endif module multi_image_test_m diff --git a/test/modules/string_test_m.F90 b/test/modules/string_test_m.F90 index 20f0857e2..9b9774758 100644 --- a/test/modules/string_test_m.F90 +++ b/test/modules/string_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module string_test_m use assert_m, only : assert diff --git a/test/modules/test_description_test_m.F90 b/test/modules/test_description_test_m.F90 index bf16407ba..418bf092c 100644 --- a/test/modules/test_description_test_m.F90 +++ b/test/modules/test_description_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module test_description_test_m !! Verify test_description_t object behavior diff --git a/test/modules/test_diagnosis_test_m.F90 b/test/modules/test_diagnosis_test_m.F90 index 218b99820..4cba8bd2a 100644 --- a/test/modules/test_diagnosis_test_m.F90 +++ b/test/modules/test_diagnosis_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module test_diagnosis_test_m !! Verify test_diagnosis_t object behavior diff --git a/test/modules/test_result_test_m.F90 b/test/modules/test_result_test_m.F90 index ecb3b17fa..d87e569bc 100644 --- a/test/modules/test_result_test_m.F90 +++ b/test/modules/test_result_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module test_result_test_m !! Verify test_result_t object behavior diff --git a/test/modules/test_test_m.F90 b/test/modules/test_test_m.F90 index 798fecad6..01b9d74a7 100644 --- a/test/modules/test_test_m.F90 +++ b/test/modules/test_test_m.F90 @@ -1,7 +1,7 @@ ! Copyright (c) 2024-2025, The Regents of the University of California and Sourcery Institute ! Terms of use are as specified in LICENSE.txt -#include "language-support.F90" +#include "julienne-language-support.F90" module test_test_m !! Conditionally test that failure of a test on only one image is reported as a test failure diff --git a/test/stop_and_print_test.F90 b/test/stop_and_print_test.F90 index 33c43c672..2f99ba004 100644 --- a/test/stop_and_print_test.F90 +++ b/test/stop_and_print_test.F90 @@ -2,7 +2,7 @@ ! Terms of use are as specified in LICENSE.txt #include "julienne-assert-macros.h" -#include "language-support.F90" +#include "julienne-language-support.F90" program stop_and_print_in_pure_procedure #if HAVE_STOP_AND_PRINT_SUPPORT