[flang] more writing

Original-commit: flang-compiler/f18@16a8b0065a
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
This commit is contained in:
peter klausler 2019-08-23 15:35:18 -07:00
parent d732d10b80
commit 311300b15d
1 changed files with 5 additions and 3 deletions

View File

@ -117,7 +117,7 @@ some design alternatives that are explored further below.
1. Shuffle `ENTRY` dummy arguments & jump to common entry point. 1. Shuffle `ENTRY` dummy arguments & jump to common entry point.
1. Complete `VALUE` copying if this step will not always be done 1. Complete `VALUE` copying if this step will not always be done
by the caller (as I think it should be). by the caller (as I think it should be).
1. Finalize &/or re-initialize `INTENT(OUT)` non-pointer non-allocatable 1. Finalize &/or re-initialize `INTENT(OUT)` non-pointer
actual arguments (see below). actual arguments (see below).
1. Optionally compact assumed-shape arguments for contiguity on one 1. Optionally compact assumed-shape arguments for contiguity on one
or more leading dimensions to improve SIMD vectorization, if not or more leading dimensions to improve SIMD vectorization, if not
@ -147,7 +147,8 @@ the subroutine's alternate return.
1. Copy actual argument array designator data that was copied into 1. Copy actual argument array designator data that was copied into
a temporary back into its original storage (see below). a temporary back into its original storage (see below).
1. Complete deallocation of actual argument temporaries (not `VALUE`). 1. Complete deallocation of actual argument temporaries (not `VALUE`).
1. Reload host-escaping local objects from memory. 1. Reload definable host-escaping local objects from memory, if they
were saved to memory by the host before the call.
1. `GO TO` alternate return, if any. 1. `GO TO` alternate return, if any.
1. Use the function result in an expression. 1. Use the function result in an expression.
1. Eventually, finalize &/or deallocate the function result. 1. Eventually, finalize &/or deallocate the function result.
@ -166,7 +167,8 @@ by reference.
This includes parenthesized designators like `(X)` as an important This includes parenthesized designators like `(X)` as an important
special case, which are expressions in Fortran. special case, which are expressions in Fortran.
(This case also technically includes constants, but those are better (This case also technically includes constants, but those are better
implemented by passing addresses in read-only memory.) implemented by passing addresses in read-only memory when the interface
is explicit.)
The dummy argument cannot be known to have `INTENT(OUT)` or The dummy argument cannot be known to have `INTENT(OUT)` or
`INTENT(IN OUT)`. `INTENT(IN OUT)`.