Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeter klausler <pklausler@nvidia.com>2021-04-07 23:21:10 +0300
committerpeter klausler <pklausler@nvidia.com>2021-04-10 20:01:14 +0300
commit8f16101c703e7d9995dc238ba0f03be52bdf4528 (patch)
treecb87675be44ce0801bdc3130004ce7c4d713fdc0 /flang/module
parent8fa39752477b225294cde0967a3b4c9c492e699c (diff)
[flang] Accept & fold IEEE_SELECTED_REAL_KIND
F18 supports the standard intrinsic function SELECTED_REAL_KIND but not its synonym in the standard module IEEE_ARITHMETIC named IEEE_SELECTED_REAL_KIND until this patch. Differential Revision: https://reviews.llvm.org/D100066
Diffstat (limited to 'flang/module')
-rw-r--r--flang/module/__fortran_builtins.f907
-rw-r--r--flang/module/ieee_arithmetic.f903
2 files changed, 8 insertions, 2 deletions
diff --git a/flang/module/__fortran_builtins.f90 b/flang/module/__fortran_builtins.f90
index c9cf1110f59c..d7e73f830d04 100644
--- a/flang/module/__fortran_builtins.f90
+++ b/flang/module/__fortran_builtins.f90
@@ -13,11 +13,14 @@
module __Fortran_builtins
use __Fortran_type_info, only: __builtin_c_ptr, __builtin_c_funptr
- integer, parameter, private :: int64 = selected_int_kind(18)
intrinsic :: __builtin_c_f_pointer
intrinsic :: sizeof ! extension
+ intrinsic :: selected_int_kind
+ private :: selected_int_kind
+ integer, parameter, private :: int64 = selected_int_kind(18)
+
type :: __builtin_event_type
integer(kind=int64) :: __count
end type
@@ -32,10 +35,12 @@ module __Fortran_builtins
procedure(type(__builtin_c_ptr)) :: __builtin_c_loc
+ intrinsic :: __builtin_ieee_selected_real_kind
intrinsic :: __builtin_ieee_support_datatype, &
__builtin_ieee_support_denormal, __builtin_ieee_support_divide, &
__builtin_ieee_support_inf, __builtin_ieee_support_io, &
__builtin_ieee_support_nan, __builtin_ieee_support_sqrt, &
__builtin_ieee_support_standard, __builtin_ieee_support_subnormal, &
__builtin_ieee_support_underflow_control
+
end module
diff --git a/flang/module/ieee_arithmetic.f90 b/flang/module/ieee_arithmetic.f90
index 488a950af681..bd73c247fe7d 100644
--- a/flang/module/ieee_arithmetic.f90
+++ b/flang/module/ieee_arithmetic.f90
@@ -19,7 +19,8 @@ module ieee_arithmetic
ieee_support_sqrt => __builtin_ieee_support_sqrt, &
ieee_support_standard => __builtin_ieee_support_standard, &
ieee_support_subnormal => __builtin_ieee_support_subnormal, &
- ieee_support_underflow_control => __builtin_ieee_support_underflow_control
+ ieee_support_underflow_control => __builtin_ieee_support_underflow_control, &
+ ieee_selected_real_kind => __builtin_ieee_selected_real_kind
type :: ieee_class_type
private