CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
87 lines
3.0 KiB
Markdown
87 lines
3.0 KiB
Markdown
<!--===- docs/RuntimeEnvironment.md
|
|
|
|
Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
See https://llvm.org/LICENSE.txt for license information.
|
|
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
-->
|
|
|
|
```{contents}
|
|
---
|
|
local:
|
|
---
|
|
```
|
|
|
|
# Environment variables of significance to Fortran execution
|
|
|
|
A few environment variables are queried by the Fortran runtime support
|
|
library.
|
|
|
|
The following environment variables can affect the behavior of
|
|
Fortran programs during execution.
|
|
|
|
## `DEFAULT_UTF8=1`
|
|
|
|
Set `DEFAULT_UTF8` to cause formatted external input to assume UTF-8
|
|
encoding on input and use UTF-8 encoding on formatted external output.
|
|
|
|
## `FORT_CONVERT`
|
|
|
|
Determines data conversions applied to unformatted I/O.
|
|
|
|
* `NATIVE`: no conversions (default)
|
|
* `LITTLE_ENDIAN`: assume input is little-endian; emit little-endian output
|
|
* `BIG_ENDIAN`: assume input is big-endian; emit big-endian output
|
|
* `SWAP`: reverse endianness (always convert)
|
|
|
|
## `FORT_CHECK_POINTER_DEALLOCATION`
|
|
|
|
Fortran requires that a pointer that appears in a `DEALLOCATE` statement
|
|
must have been allocated in an `ALLOCATE` statement with the same declared
|
|
type.
|
|
The runtime support library validates this requirement by checking the
|
|
size of the allocated data, and will fail with an error message if
|
|
the deallocated pointer is not valid.
|
|
Set `FORT_CHECK_POINTER_DEALLOCATION=0` to disable this check.
|
|
|
|
## `FORT_FMT_RECL`
|
|
|
|
Set to an integer value to specify the record length for list-directed
|
|
and `NAMELIST` output.
|
|
The default is 72.
|
|
|
|
## `NO_STOP_MESSAGE`
|
|
|
|
Set `NO_STOP_MESSAGE=1` to disable the extra information about
|
|
IEEE floating-point exception flags that the Fortran language
|
|
standard requires for `STOP` and `ERROR STOP` statements.
|
|
|
|
## `FORT_TRUNCATE_STREAM`
|
|
|
|
Set `FORT_TRUNCATE_STREAM=1` to make output to a formatted unit
|
|
with `ACCESS="STREAM"` truncate the file when the unit has been
|
|
repositioned via `POS=` to an earlier point in the file.
|
|
This behavior is analogous to the implicit writing of an ENDFILE record
|
|
when output takes place to a sequential unit after
|
|
executing a `BACKSPACE` or `REWIND` statement.
|
|
Truncation of a stream-access unit is common to several other
|
|
compilers, but it is not mentioned in the standard.
|
|
|
|
## `FORT_NO_EMPTY_ALLOCATION`
|
|
|
|
Set `FORT_NO_EMPTY_ALLOCATION=1` to cause `ALLOCATE` statements
|
|
fail when the allocated size is empty.
|
|
|
|
## `FLANG_TRAMPOLINE_POOL_SIZE`
|
|
|
|
Set `FLANG_TRAMPOLINE_POOL_SIZE` to an integer value to control the maximum
|
|
number of runtime trampoline slots available when `-fsafe-trampoline` is
|
|
enabled. Each slot consists of a small executable code stub (size varies by
|
|
target; e.g. 32 bytes on x86-64 and AArch64) backed by a writable data entry.
|
|
The default is 1024 slots, which is sufficient for typical Fortran
|
|
programs. If more internal-procedure closures are alive simultaneously than
|
|
the pool can hold, the runtime terminates with a diagnostic message that
|
|
includes the current pool capacity.
|
|
|
|
Example: `export FLANG_TRAMPOLINE_POOL_SIZE=4096`
|