Skip to content

Commit

Permalink
Merge pull request #130 from Goddard-Fortran-Ecosystem/feature/mathom…
Browse files Browse the repository at this point in the history
…p4/llvmflang

Preliminary LLVMFlang Support
  • Loading branch information
tclune authored Aug 22, 2024
2 parents 3cf5969 + 9a78ba2 commit b89f209
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 12 deletions.
20 changes: 10 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14]
compiler: [gfortran-11, gfortran-12, gfortran-13]
# gfortran-10 is only on ubuntu-22.04
# gfortran-14 is available on ubuntu-24.04
compiler: [gfortran-12, gfortran-13, gfortran-14]
# gfortran-10 and -11 are only on ubuntu-22.04
# gfortran-13 and -14 are not on ubuntu-22.04
include:
- os: ubuntu-22.04
compiler: gfortran-10
- os: ubuntu-24.04
compiler: gfortran-14
exclude:
- os: ubuntu-24.04
- os: ubuntu-22.04
compiler: gfortran-11
exclude:
- os: ubuntu-22.04
compiler: gfortran-13
- os: ubuntu-22.04
compiler: gfortran-14

# fail-fast if set to 'true' here is good for production, but when
# debugging, set to 'false'. fail-fast means if *any* ci test in the matrix fails
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
build/**/*.log
Intel:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

env:
FC: ifx
Expand Down Expand Up @@ -169,8 +169,8 @@ jobs:
build/**/*.log
Nvidia:
runs-on: ubuntu-20.04
container: nvcr.io/nvidia/nvhpc:24.1-devel-cuda12.3-ubuntu22.04
runs-on: ubuntu-22.04
container: nvcr.io/nvidia/nvhpc:24.7-devel-cuda12.5-ubuntu22.04
env:
FC: nvfortran

Expand Down
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,12 @@ if (PFUNIT_FOUND)
if (NOT TARGET tests)
add_custom_target(tests COMMAND ${CMAKE_CTEST_COMMAND})
endif ()
add_subdirectory(tests EXCLUDE_FROM_ALL)
# We found issues between LLVMFlang, tests, and MPI. Until
# this can be more fully explored, for now do not run the tests
# with LLVMFlang.
if (NOT CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
add_subdirectory(tests EXCLUDE_FROM_ALL)
endif ()
endif()

add_subdirectory(examples EXCLUDE_FROM_ALL)
Expand Down
8 changes: 7 additions & 1 deletion ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- LLVMFlang compiler support
- NOTE: Issues between LLVMFlang, MPI, and linktime mocking means for now the tests are not built with LLVMFlang

### Changed

- Update CI to remove `macos-12`, add `macos-14` and `ubuntu-24.04`
- Update CI to have `gfortran-10` and `gfortran-11` only on `ubuntu-22.04`
- Update CI NVIDIA to NVHPC 24.7

## [1.15.0] - 2024-05-17

Expand Down
7 changes: 7 additions & 0 deletions cmake/LLVMFlang.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Compiler specific flags for LLVM Flang

set(cpp "-cpp")

set(common_flags "${cpp}")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g ${common_flags}")
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 ${common_flags}")

0 comments on commit b89f209

Please sign in to comment.