From 3ea709c63582c01dd55f220cf202f596826ba7df Mon Sep 17 00:00:00 2001 From: Liam Pattinson Date: Tue, 12 Dec 2023 12:02:34 +0000 Subject: [PATCH 1/2] Set runtime output dir of posix_predefined.x --- src/funit/core/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/funit/core/CMakeLists.txt b/src/funit/core/CMakeLists.txt index 88923a44..03171cd4 100644 --- a/src/funit/core/CMakeLists.txt +++ b/src/funit/core/CMakeLists.txt @@ -58,6 +58,9 @@ set(srcs if (NOT SKIP_ROBUST) add_executable(posix_predefined.x posix_predefined.c) + set_target_properties(posix_predefined.x PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + ) set_source_files_properties(posix_predefined.inc PROPERTIES GENERATED TRUE) add_custom_command( OUTPUT posix_predefined.inc From 1238c82b2e87bac9c58cd746de8cada3a4ec6d81 Mon Sep 17 00:00:00 2001 From: Tom Clune Date: Tue, 20 Feb 2024 11:10:43 -0500 Subject: [PATCH 2/2] Fixes #452 - missing REAL80 procedure --- ChangeLog.md | 4 ++++ src/funit/asserts/AssertBasic.F90 | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 2531dd73..5d418f7c 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -5,6 +5,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- Missing implementation of `assertIsFinite_real80()`. Apparently undetected until recent attempt to port to flang. + ## [4.8.0] -2023-11-29 ### Changed diff --git a/src/funit/asserts/AssertBasic.F90 b/src/funit/asserts/AssertBasic.F90 index 23a16e1e..d8800bea 100644 --- a/src/funit/asserts/AssertBasic.F90 +++ b/src/funit/asserts/AssertBasic.F90 @@ -814,6 +814,18 @@ subroutine assertIsFinite_real64(x, message, location) end subroutine assertIsFinite_real64 #endif +#ifdef _REAL80_IEEE_SUPPORT + subroutine assertIsFinite_real80(x, message, location) + use, intrinsic :: ieee_arithmetic, only: ieee_is_finite + real(kind=REAL80), intent(in) :: x + character(len=*), optional, intent(in) :: message + type (SourceLocation), optional, intent(in) :: location + + call assertTrue(ieee_is_finite(x), message, location) + + end subroutine assertIsFinite_real80 +#endif + #ifdef _REAL128_IEEE_SUPPORT subroutine assertIsFinite_real128(x, message, location) use, intrinsic :: ieee_arithmetic, only: ieee_is_finite