Landing: c5eff89d859f

Project / Subsystem

gcc / fortran

Date

2026-05-24

Author

Jerry DeLisle

Commit

c5eff89d859f98bf9e896eff22a65d1bbf0c5104

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
fortran
patch_id
commit_hash
c5eff89d859f98bf9e896eff22a65d1bbf0c5104
source_type
github
headline
Fortran: Fix EX format kind=8 output on ILP32 targets
tldr
The Fortran compiler now correctly outputs hexadecimal format for kind=8 real numbers on 32-bit systems, resolving a truncation issue.
author
Jerry DeLisle
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • fortran
  • floating-point
  • bugfix
  • ilp32
discussion_id_link
bugzilla_pr
date
2026-05-24T00:00:00.000Z

The Fortran compiler’s EX format output for kind=8 real numbers on 32-bit targets was truncating the mantissa due to the use of a 32-bit integer to store the 52-bit mantissa. This commit fixes this by using GFC_UINTEGER_8, a guaranteed 64-bit integer type, to store the mantissa. This ensures correct hexadecimal output and avoids raising IEEE_INVALID_FLAG on ARM hardware.