History log of /llvm-project/flang/runtime/edit-input.cpp (Results 1 – 25 of 71)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# 7463b46a 08-Jan-2025 Peter Klausler <pklausler@nvidia.com>

[flang][runtime] Fix use of empty optional in BOZ input (#120789)

Slava reported a valgrind result showing the use of uninitialized data
due to an unconditional dereference of an optional in BOZ fo

[flang][runtime] Fix use of empty optional in BOZ input (#120789)

Slava reported a valgrind result showing the use of uninitialized data
due to an unconditional dereference of an optional in BOZ formatted
input editing; fix.

show more ...


# fc97d2e6 18-Dec-2024 Peter Klausler <pklausler@nvidia.com>

[flang] Add UNSIGNED (#113504)

Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).

This is nearly identical to the UNSIGNED feature that h

[flang] Add UNSIGNED (#113504)

Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).

This is nearly identical to the UNSIGNED feature that has been available
in Sun Fortran for years, and now implemented in GNU Fortran for
gfortran 15, and proposed for ISO standardization in J3/24-116.txt.

See the new documentation for details; but in short, this is C's
unsigned type, with guaranteed modular arithmetic for +, -, and *, and
the related transformational intrinsic functions SUM & al.

show more ...


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5
# 9b64811e 02-Dec-2024 Peter Klausler <pklausler@nvidia.com>

[flang][runtime] Skip unused truncated list-directed character input (#118320)

When reading non-delimited list-directed character input, read the whole
field even if it doesn't fit into the variabl

[flang][runtime] Skip unused truncated list-directed character input (#118320)

When reading non-delimited list-directed character input, read the whole
field even if it doesn't fit into the variable.

Fixes https://github.com/llvm/llvm-project/issues/118277.

show more ...


Revision tags: llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0
# 7aad8731 12-Sep-2024 Peter Klausler <pklausler@nvidia.com>

[flang][runtime] Accept some real input for integer NAMELIST (#108268)

A few other Fortran compilers silently accept real values for integer
variables in NAMELIST input. Handling an exponent would

[flang][runtime] Accept some real input for integer NAMELIST (#108268)

A few other Fortran compilers silently accept real values for integer
variables in NAMELIST input. Handling an exponent would be difficult,
but it's easy to skip and ignore a fractional part when one is present.

show more ...


Revision tags: llvmorg-19.1.0-rc4
# b6686e76 21-Aug-2024 serge-sans-paille <sergesanspaille@free.fr>

[Flang][Runtime] Handle missing definitions in <cfenv> (#101242)

According to the C99 standard, <fenv.h> may not define FE_INVALID and
the likes. Even if C++11 mandate them, musl and emscripten don

[Flang][Runtime] Handle missing definitions in <cfenv> (#101242)

According to the C99 standard, <fenv.h> may not define FE_INVALID and
the likes. Even if C++11 mandate them, musl and emscripten don't provide
them, so handle that case.

show more ...


Revision tags: llvmorg-19.1.0-rc3
# 59531cf0 08-Aug-2024 Kelvin Li <kkwli@users.noreply.github.com>

[flang] Set the offset based on the significant bytes in the boz input in big endian (#102334)

The offset to the input data should be counted from most significant bit
instead of zero in the big en

[flang] Set the offset based on the significant bytes in the boz input in big endian (#102334)

The offset to the input data should be counted from most significant bit
instead of zero in the big endian environment.

show more ...


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4
# 3b337242 05-Apr-2024 Slava Zakharin <szakharin@nvidia.com>

[NFC][flang][runtime] Moved freestanding-tools.h to use it in FortranDecimal. (#87827)

I will add `toupper` implementation into it in the next PR.


Revision tags: llvmorg-18.1.3
# 8ebf7411 25-Mar-2024 Slava Zakharin <szakharin@nvidia.com>

[flang][runtime] Prepare enabling PRINT of integer32 for device. (#86247)

This commit adds required files into the offload build closure,
which means adding RT_API_ATTRS and other markers.

The i

[flang][runtime] Prepare enabling PRINT of integer32 for device. (#86247)

This commit adds required files into the offload build closure,
which means adding RT_API_ATTRS and other markers.

The implementation does not work for CUDA yet, because of
std::variant,swap,reverse usage. These issues will be resolved
separately (e.g. by using libcudacxx header files).

show more ...


Revision tags: llvmorg-18.1.2
# 7eb5d4fc 18-Mar-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Round hex REAL input correctly with excess digits (#85587)

Excess hexadecimal digits were too significant for rounding purposes,
leading to inappropriate rounding away from zero fo

[flang][runtime] Round hex REAL input correctly with excess digits (#85587)

Excess hexadecimal digits were too significant for rounding purposes,
leading to inappropriate rounding away from zero for some modes.

show more ...


# 71e0261f 15-Mar-2024 Slava Zakharin <szakharin@nvidia.com>

[flang][runtime] Added Fortran::common::optional for use on device.

This is a simplified implementation of std::optional that can be used
in the offload builds for the device code. The methods are p

[flang][runtime] Added Fortran::common::optional for use on device.

This is a simplified implementation of std::optional that can be used
in the offload builds for the device code. The methods are properly
marked with RT_API_ATTRS so that the device compilation succedes.

Reviewers: klausler, jeanPerier

Reviewed By: jeanPerier

Pull Request: https://github.com/llvm/llvm-project/pull/85177

show more ...


Revision tags: llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# add189cd 15-Jan-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Resume rounding hexadecimal floating-point input (#77006)

This reverts commit cab156c4129e5948a6322054480e66d3ca17b919, and adds
language to Extensions.md documenting the discrepan

[flang][runtime] Resume rounding hexadecimal floating-point input (#77006)

This reverts commit cab156c4129e5948a6322054480e66d3ca17b919, and adds
language to Extensions.md documenting the discrepancy with the letter of
the language standard.

show more ...


# 2e08e821 15-Jan-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Extension: allow a comma to terminate a fixed input … (#76768)

…field

When a comma appears in a fixed-width input field for integer editing,
many compilers accept it without err

[flang][runtime] Extension: allow a comma to terminate a fixed input … (#76768)

…field

When a comma appears in a fixed-width input field for integer editing,
many compilers accept it without error and interpret the comma as
terminating the field early.

show more ...


# c6dfb62d 15-Jan-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang] Support \u Unicode escape sequences (#76757)

Support \uNNNN and \uNNNNNNNN escape sequences for CHARACTER(KIND=2) and
CHARACTER(KIND=4) literal constants for better GNU Fortran
compatibili

[flang] Support \u Unicode escape sequences (#76757)

Support \uNNNN and \uNNNNNNNN escape sequences for CHARACTER(KIND=2) and
CHARACTER(KIND=4) literal constants for better GNU Fortran
compatibility.

Fixes llvm-test-suite/Fortran/gfortran/regression/achar_6.F90 and
.../widechar_1.f90.

show more ...


# 9fd03cb6 02-Jan-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Don't prematurely end formatted integer input (#76643)

When an input data-list has more items than can be read by a format from
the input record (e.g., "(4I5)" reading "1 2"), don'

[flang][runtime] Don't prematurely end formatted integer input (#76643)

When an input data-list has more items than can be read by a format from
the input record (e.g., "(4I5)" reading "1 2"), don't return false from
EditIntegerInput() just because nothing was read -- that will prevent
later items from being set to zero, as they should be. Return true
unless nothing was read and there is some kind of error pending.

Fixes llvm-error-tests/Fortran/gfortran/regression/pr478478.f90.

show more ...


# cab156c4 02-Jan-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Don't round hexadecimal floating-point input (#76586)

Fortran 2023 subclause 13.7.2.3.8 discusses input rounding only in the
context of decimal-to-binary conversion. There is no me

[flang][runtime] Don't round hexadecimal floating-point input (#76586)

Fortran 2023 subclause 13.7.2.3.8 discusses input rounding only in the
context of decimal-to-binary conversion. There is no mention of rounding
for hexadecimal floating-point input conversion. At least one Fortran
compiler seems to have interpreted this silence as implying no rounding.
(Note that this is not the same thing as rounding to zero (RZ), which
would return +/-HUGE() for overflow.)

show more ...


# 120ad250 02-Jan-2024 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Extension: NAMELIST input may omit terminal '/' (#76476)

... when it is followed eventually by the '&' that begins the next
NAMELIST input group. This is a gfortran extension.


# fdccfa33 28-Dec-2023 madanial0 <118996571+madanial0@users.noreply.github.com>

[Flang] Shift the data from lower to higher order bits in the big endian environment (#73670)

Shift the data from lower to higher order bits when memcpy the value in
the namelist in the big endian

[Flang] Shift the data from lower to higher order bits in the big endian environment (#73670)

Shift the data from lower to higher order bits when memcpy the value in
the namelist in the big endian environment

---------

Co-authored-by: Mark Danial <mark.danial@ibm.com>
Co-authored-by: Kelvin Li <kli@ca.ibm.com>

show more ...


# 1346037f 26-Dec-2023 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Return +/-HUGE() for some real input roundings (#75525)

The Fortran standard says that overflow input cases in some rounding
modes (RZ, RD, RU) should round to a "representable" nu

[flang][runtime] Return +/-HUGE() for some real input roundings (#75525)

The Fortran standard says that overflow input cases in some rounding
modes (RZ, RD, RU) should round to a "representable" number. Some
Fortran compilers interpret this to mean +/-HUGE(), some as +/-Inf.
Follow the precedent of gfortran and the Intel compilers.

show more ...


# befdfae1 26-Dec-2023 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Detect & signal underflow when reading reals (#75232)

Extend decimal->binary conversion to detect underflow cases and raise
the corresponding floating-point exception.


# 353d56d2 11-Dec-2023 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Fix fixed-width field internal wide character input (#74683)

There was some confusion about units (bytes vs characters) in the
handling of the amount of input remaining in fixed-wi

[flang][runtime] Fix fixed-width field internal wide character input (#74683)

There was some confusion about units (bytes vs characters) in the
handling of the amount of input remaining in fixed-width formatted input
fields. Clarify that any variable or parameter counting "remaining"
space in a field in the I/O runtime is always in units of bytes, and
make it so where it wasn't.

Fixes the bug(s) in
llvm-test-suite/Fortran/gfortran/regression/char4_iunit_2.f03, although
the test still won't pass due to its dependence on gfortran's
list-directed output spacing.

show more ...


# 4f9cb79a 11-Dec-2023 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Fix octal input of REAL(10) (#74658)

The overflow check didn't work for a 27-digit octal field containing an
80-bit x87 extended precision real value. The count of bytes required

[flang][runtime] Fix octal input of REAL(10) (#74658)

The overflow check didn't work for a 27-digit octal field containing an
80-bit x87 extended precision real value. The count of bytes required
was too large because the leading digit (1) was assumed to require a
full three bits. And the actual transmission of the octal input digits
to the output buffer was incorrect, too.

Fixes llvm-test-suite/Fortran/gfortran/regression/boz_15.f90.

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3
# ea7e50cd 16-Oct-2023 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Implement EX editing for input & output (#67208)

Support the EX edit descriptor for hexadecimal real formatted output and
hexadecimal real input for all forms of formatted input..

[flang][runtime] Implement EX editing for input & output (#67208)

Support the EX edit descriptor for hexadecimal real formatted output and
hexadecimal real input for all forms of formatted input.. (We're
possibly the first Fortran compiler to support this feature for input
editing; only one other can handle EX output editing.)

As true (not BOZ) hexadecimal floating-point constants are not supported
in Fortran source code, only in formatted input, the implementation
takes place in the I/O editing portion of the runtime, not as new
conversions in the Decimal library.

show more ...


Revision tags: llvmorg-17.0.2, llvmorg-17.0.1
# 1645b5d3 18-Sep-2023 Kazu Hirata <kazu@google.com>

[flang] Remove unused function IsListDirectedFieldComplete

This patch fixes a warning:

flang/runtime/edit-input.cpp:27:20: error: unused function
'IsListDirectedFieldComplete' [-Werror,-Wunused

[flang] Remove unused function IsListDirectedFieldComplete

This patch fixes a warning:

flang/runtime/edit-input.cpp:27:20: error: unused function
'IsListDirectedFieldComplete' [-Werror,-Wunused-function]

show more ...


# 37ea42b2 18-Sep-2023 Peter Klausler <35819229+klausler@users.noreply.github.com>

[flang][runtime] Enforce proper termination of list-directed input va… (#66244)

…lues

Emit an error at runtime when a list-directed input value is not
followed by a value separator or end of rec

[flang][runtime] Enforce proper termination of list-directed input va… (#66244)

…lues

Emit an error at runtime when a list-directed input value is not
followed by a value separator or end of record. Previously, the runtime
I/O library was consuming as many input characters that were valid for
the type of the value, and leaving any remaining characters for the next
input edit, if any.

show more ...


Revision tags: llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init
# 7cf198f7 11-Jul-2023 Peter Klausler <pklausler@nvidia.com>

[flang][runtime] Don't do partial data transfer on short character read with ADVANCE='NO', PAD='NO'

When a non-advancing formatted READ can't completely fill a CHARACTER
input item with data, and PA

[flang][runtime] Don't do partial data transfer on short character read with ADVANCE='NO', PAD='NO'

When a non-advancing formatted READ can't completely fill a CHARACTER
input item with data, and PAD='NO', don't modify the variable at all.
This matters when the error is recoverable.

Fixes https://github.com/llvm/llvm-project/issues/63772

Differential Revision: https://reviews.llvm.org/D155000

show more ...


123