[flang-commits] [flang] [flang] Check SIMPLE on every IEEE_ARITHMETIC elemental function family (PR #231952)

Caroline Newcombe via flang-commits flang-commits at lists.llvm.org
Thu Oct 15 04:59:50 PDT 2026


================
@@ -2,9 +2,76 @@
 ! RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s
 
 program test_ieee_arithmetic_simple
-  use, intrinsic :: ieee_arithmetic, only: ieee_is_finite
+  use, intrinsic :: ieee_arithmetic, only: ieee_class, ieee_class_type, &
+      ieee_copy_sign, ieee_is_finite, ieee_logb, ieee_max, ieee_max_mag, &
+      ieee_max_num, ieee_max_num_mag, ieee_min, ieee_min_mag, ieee_min_num, &
+      ieee_min_num_mag, ieee_positive_normal, ieee_quiet_eq, ieee_quiet_ge, &
+      ieee_quiet_gt, ieee_quiet_le, ieee_quiet_lt, ieee_quiet_ne, ieee_rem, &
+      ieee_rint, ieee_signaling_eq, ieee_signaling_ge, ieee_signaling_gt, &
+      ieee_signaling_le, ieee_signaling_lt, ieee_signaling_ne, ieee_signbit, &
+      ieee_unordered, ieee_value
   implicit none
-  logical :: x
-  x = ieee_is_finite(1.0)
+  real :: x, y, r
+  logical :: l
+  type(ieee_class_type) :: c
+  x = 1.0
+  y = 2.0
+  c = ieee_class(x)
+  r = ieee_copy_sign(x, y)
+  l = ieee_is_finite(x)
+  r = ieee_logb(x)
+  r = ieee_max(x, y)
+  r = ieee_max_mag(x, y)
+  r = ieee_max_num(x, y)
+  r = ieee_max_num_mag(x, y)
+  r = ieee_min(x, y)
+  r = ieee_min_mag(x, y)
+  r = ieee_min_num(x, y)
+  r = ieee_min_num_mag(x, y)
+  l = ieee_quiet_eq(x, y)
+  l = ieee_quiet_ge(x, y)
+  l = ieee_quiet_gt(x, y)
+  l = ieee_quiet_le(x, y)
+  l = ieee_quiet_lt(x, y)
+  l = ieee_quiet_ne(x, y)
+  r = ieee_rem(x, y)
+  r = ieee_rint(x)
+  l = ieee_signaling_eq(x, y)
+  l = ieee_signaling_ge(x, y)
+  l = ieee_signaling_gt(x, y)
+  l = ieee_signaling_le(x, y)
+  l = ieee_signaling_lt(x, y)
+  l = ieee_signaling_ne(x, y)
+  l = ieee_signbit(x)
+  l = ieee_unordered(x, y)
+  r = ieee_value(x, ieee_positive_normal)
 end program
+! CHECK: ieee_class_a4, ELEMENTAL, EXTERNAL, PRIVATE, SIMPLE (Function):
----------------
cenewcombe wrote:

Suggest using CHECK-DAG throughout so that the test doesn't fail if output is reordered.

https://github.com/llvm/llvm-project/pull/231952


More information about the flang-commits mailing list