[all-commits] [llvm/llvm-project] 038649: [flang] Prevent segfault in DynamicType::IsTkCompa...
Eric Schweitz via All-commits
all-commits at lists.llvm.org
Thu Apr 9 08:15:09 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 03864907513dd71c084bc234ee00ae495847f278
https://github.com/llvm/llvm-project/commit/03864907513dd71c084bc234ee00ae495847f278
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)
Changed paths:
M flang/lib/evaluate/type.cc
Log Message:
-----------
[flang] Prevent segfault in DynamicType::IsTkCompatibleWith
Make sure `derived_` is not null before dereferencing it.
This might only happen when there is a previous error. I saw it
compiling a test program where a USEd module was not found.
Original-commit: flang-compiler/f18 at 2db516556b1509a8519ce91013f49431b6d43d22
Reviewed-on: https://github.com/flang-compiler/f18/pull/550
Commit: 6b8df08cadf40865d5f583d8ac59a7a17951f48a
https://github.com/llvm/llvm-project/commit/6b8df08cadf40865d5f583d8ac59a7a17951f48a
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#550 from flang-compiler/tsk-bug
Prevent segfault in DynamicType::IsTkCompatibleWith
Original-commit: flang-compiler/f18 at 8ff0df020b09b1df135f5c0bb4bb68ae93a6f992
Reviewed-on: https://github.com/flang-compiler/f18/pull/550
Commit: d1de4fe462736e990299ebd9295312113fa86354
https://github.com/llvm/llvm-project/commit/d1de4fe462736e990299ebd9295312113fa86354
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)
Changed paths:
M flang/lib/evaluate/type.cc
Log Message:
-----------
[flang] Avoid null pointer dereference
Original-commit: flang-compiler/f18 at 3c108c0edcdbf67e75039ddcefba74598905e87c
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false
Commit: e05f5399177df2ee5e2f4fae8aeb4b74a942a1df
https://github.com/llvm/llvm-project/commit/e05f5399177df2ee5e2f4fae8aeb4b74a942a1df
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
Log Message:
-----------
[flang] Crash less
Original-commit: flang-compiler/f18 at e8ac1a697d7682bdcd7c5e1dc75d2445b92333bd
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false
Commit: cc2172b6f4749abbc933f3ec39f845112a0370ec
https://github.com/llvm/llvm-project/commit/cc2172b6f4749abbc933f3ec39f845112a0370ec
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Fix multi-file compilations in throwaway driver
Original-commit: flang-compiler/f18 at 7954d0aecf6874027fb138a45485b3a9701db334
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false
Commit: 626a4cfdfce09dc1368b3a6a298b0b7e4571247b
https://github.com/llvm/llvm-project/commit/626a4cfdfce09dc1368b3a6a298b0b7e4571247b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] Document non-standard use of larger INTEGER for sizes
Original-commit: flang-compiler/f18 at edc79c4257079378df534247858832dba7a35920
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false
Commit: 7a6dabf974bdf28a9ed04f3fddaf63709737cba4
https://github.com/llvm/llvm-project/commit/7a6dabf974bdf28a9ed04f3fddaf63709737cba4
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
M flang/lib/evaluate/type.cc
Log Message:
-----------
[flang] Resolve merge
Original-commit: flang-compiler/f18 at 44743f1fa9377ec6d5929dfe2227295d33ca5673
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false
Commit: 644b2aabd0c85188d7d9e1a3688db636a49540bb
https://github.com/llvm/llvm-project/commit/644b2aabd0c85188d7d9e1a3688db636a49540bb
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/symbol13.f90
Log Message:
-----------
[flang] Support *length character length specifiers
Original-commit: flang-compiler/f18 at 874b13b7d85837ddf9b76568ee3cd41cf28eb19b
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false
Commit: 008e697192b18752ff5e7e7c51725da86d54763d
https://github.com/llvm/llvm-project/commit/008e697192b18752ff5e7e7c51725da86d54763d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
M flang/lib/evaluate/variable.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix regressions found in testing
Original-commit: flang-compiler/f18 at ea09b191dfbcb00097a44df3aae3bdbd5f6e8392
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Commit: 9b730917583ae62b4ea0b4868ac8866b043a7538
https://github.com/llvm/llvm-project/commit/9b730917583ae62b4ea0b4868ac8866b043a7538
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#553 from flang-compiler/pmk-fixes
Support "*length" character length specifier on declarations, plus a couple small fixes.
Original-commit: flang-compiler/f18 at afe12f7f4b36ad3c1f798a658f1febcfd7eb1caf
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Commit: 0f8e792455b20421f47bea43888a77dcd8080d4d
https://github.com/llvm/llvm-project/commit/0f8e792455b20421f47bea43888a77dcd8080d4d
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-07-09 (Tue, 09 Jul 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] 2.8.1 SIMD structural checks (flang-compiler/f18#554)
Straightforward implementation but not including:
* list-item on aligned clause
* nesting check with the ordered construct (parse tree changes needed!)
* list-item attributes check on aligned clause
Original-commit: flang-compiler/f18 at cf04d8ad26fc392822335a529430afb65421d7b4
Reviewed-on: https://github.com/flang-compiler/f18/pull/554
Commit: 2ce7432bb8b353eb011a15645187b5bdeda8039b
https://github.com/llvm/llvm-project/commit/2ce7432bb8b353eb011a15645187b5bdeda8039b
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve35.f90
Log Message:
-----------
[flang] Enabling automatic declaration of names in SHARED locality-spec's
Prior to this change, the compiler issued an error message when a name in a
SHARED locality-spec had not been declared explicitly in an enclosing scope.
Presumably, this was done to enforce constraint C1124. This constraint states
that "A variable-name in a locality-spec shall be the name of a variable in the
innermost executable construct or scoping unit that includes the DO CONCURRENT
statement". For LOCAL and LOCAL_INIT locality-spec's, we were automatically
creating a local variable in the situation where one had not been explicitly
declared rather than issuing an error message.
The only compiler I could find that implements the SHARED locality-spec was the
PGI compiler, which automatically creates a variable and does not emit an error
message. Also, @vdonaldson said that he had consulted with a member of the
Fortran standards committee who said that the correct thing was to create a
variable if necessary.
This change has the compiler creating a variable in the enclosing scope of a DO
CONCURRENT statement if necessary. I also changed a test to adapt to the new
behavior. I also consolidated the semantic checking for the constraints
associated with all of the locality-spec's.
Original-commit: flang-compiler/f18 at d9253a76fcbc49df11c017557b365dfeed7c2b3b
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Tree-same-pre-rewrite: false
Commit: 66e8935dec74b7395bf116d88c5de13520ba4501
https://github.com/llvm/llvm-project/commit/66e8935dec74b7395bf116d88c5de13520ba4501
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve35.f90
Log Message:
-----------
[flang] Changes related to feedback from pull request flang-compiler/f18#551
- Changed the name a a function to FindOrDeclareEnclosingEntity
- Changed that function to return a reference rather than a pointer
- Polished the setting of the IMPLICIT flag on a declared entity in a
locality-spec
- Changed a test to remove an unreported error
Original-commit: flang-compiler/f18 at 0c1a00d7c2c67064801f9f6fb37c0a26224c0ea4
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Tree-same-pre-rewrite: false
Commit: 18f26282873ae0af687a224bfb9a396862c4c9b8
https://github.com/llvm/llvm-project/commit/18f26282873ae0af687a224bfb9a396862c4c9b8
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Changed the warning as recommended.
Original-commit: flang-compiler/f18 at 7887331705113619c0710f7052da390b2ac188e3
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Tree-same-pre-rewrite: false
Commit: 542264e519b766825fd9d7b8ef77f86075decbfc
https://github.com/llvm/llvm-project/commit/542264e519b766825fd9d7b8ef77f86075decbfc
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Improved warning message base on feedback from Peter.
Original-commit: flang-compiler/f18 at 030f36432455e48996bd200df5e5c5d6f1d4ef53
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Commit: 0ddcf62681ca96780794aeee97e70421c926fc46
https://github.com/llvm/llvm-project/commit/0ddcf62681ca96780794aeee97e70421c926fc46
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#551 from flang-compiler/ps-shared-locality
Enabling automatic declaration of names in SHARED locality-spec's
Original-commit: flang-compiler/f18 at b553d3857cb38044fcada5641635c8045f514ab0
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Commit: 03f5723cb685ad36512783ee8396c3cd73cd76ee
https://github.com/llvm/llvm-project/commit/03f5723cb685ad36512783ee8396c3cd73cd76ee
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] Update extension documentation
Original-commit: flang-compiler/f18 at 40b44b2e3a087fad4f95009c6e7b345dab970fbb
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: b2b1f045d959480183cabaa8a380c99f5507066a
https://github.com/llvm/llvm-project/commit/b2b1f045d959480183cabaa8a380c99f5507066a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/test/semantics/modfile28.f90
Log Message:
-----------
[flang] Remove reference to EUC_JP from test
Original-commit: flang-compiler/f18 at ca5c812994a4dd3ea948d54a62a4271dceef3fce
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: 8ccd6b19c40ed2c7733e11d5b8fb449182353a4a
https://github.com/llvm/llvm-project/commit/8ccd6b19c40ed2c7733e11d5b8fb449182353a4a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/intrinsics.cc
M flang/test/evaluate/folding05.f90
Log Message:
-----------
[flang] Allow BOZ argument to more intrinsics; generalize BOZ conversions in folding
Original-commit: flang-compiler/f18 at 6df0136ee889f3c27b33d3ddac970af1b7a52c68
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: 584240986458cbedb2c9926fb383422064c009f1
https://github.com/llvm/llvm-project/commit/584240986458cbedb2c9926fb383422064c009f1
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/documentation/Preprocessing.md
Log Message:
-----------
[flang] Document preprocessing of Fortran comments in macro actual args
Original-commit: flang-compiler/f18 at f491b73636fe95ede63d9f402d14e6f29250f95b
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: 2ccba3837d8aaa95c915b235732868122dda4438
https://github.com/llvm/llvm-project/commit/2ccba3837d8aaa95c915b235732868122dda4438
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Do not emit PROCEDURE(TYPE(REAL)), pgf90 cannot deal. Use PROCEDURE(REAL).
Original-commit: flang-compiler/f18 at ee5f3923814b6f85262bf2dfa43371126f07305f
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: caf9e8e624ca78468abc916ffdae0cc8c5abfbaf
https://github.com/llvm/llvm-project/commit/caf9e8e624ca78468abc916ffdae0cc8c5abfbaf
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix name resolution with directly recursive calls.
Original-commit: flang-compiler/f18 at b8e8610430049e9b1da1d4df0c942310d06ac3b0
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: ef061f3e654dbca7e2dbf8bd529159618d09c909
https://github.com/llvm/llvm-project/commit/ef061f3e654dbca7e2dbf8bd529159618d09c909
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/symbol02.f90
M flang/test/semantics/symbol08.f90
Log Message:
-----------
[flang] Update tests
Original-commit: flang-compiler/f18 at aa18f1bca5ad918d0cb92735b9557c4b5217262e
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: f7057e031ca4f595a1621eac8912f7990a4f7444
https://github.com/llvm/llvm-project/commit/f7057e031ca4f595a1621eac8912f7990a4f7444
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Add -fxor-operator
Original-commit: flang-compiler/f18 at b8365afc91f8e99c2e4cfb79d8ea9bf60a4b99f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false
Commit: 28f4c5ca2dc5bbcb8403db6699fa2f1bfcbe4220
https://github.com/llvm/llvm-project/commit/28f4c5ca2dc5bbcb8403db6699fa2f1bfcbe4220
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/parser/grammar.h
M flang/test/semantics/procinterface01.f90
Log Message:
-----------
[flang] Update grammar and a test in light of C1516
Original-commit: flang-compiler/f18 at df4ddccde7e3f8caf9dc3784396b1ee419df5099
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Commit: ce1f2174e116aa8203f53f5f77a2ad4045fdbd23
https://github.com/llvm/llvm-project/commit/ce1f2174e116aa8203f53f5f77a2ad4045fdbd23
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#557 from flang-compiler/pmk-fixes
Fix name resolution for direct recursion; adjust BOZ arguments to intrinsics.
Original-commit: flang-compiler/f18 at 537a501f4770a07a99a80639a11db803ee44e9a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Commit: ca06058da81b9111050cc9832cfced3ce5a0e3ac
https://github.com/llvm/llvm-project/commit/ca06058da81b9111050cc9832cfced3ce5a0e3ac
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix formatting
Original-commit: flang-compiler/f18 at bef7ddd43b155417657aefaf284ffc1b28d2b8d6
Reviewed-on: https://github.com/flang-compiler/f18/pull/559
Tree-same-pre-rewrite: false
Commit: c37707a5b1d5076d043265e6fe8d9f174829974e
https://github.com/llvm/llvm-project/commit/c37707a5b1d5076d043265e6fe8d9f174829974e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
Log Message:
-----------
[flang] Move various Instantiate functions to tools.cc
Move these functions from scope.cc, symbol.cc, type.cc into tools.cc:
Scope::FindOrInstantiateDerivedType
Scope::InstantiateDerivedType
Scope::InstantiateIntrinsicType
Symbol::Instantiate
DerivedTypeSpec::ProcessParameterExpressions
DerivedTypeSpec::Instantiate
This eliminates some dependencies in these files on SemanticsContext,
FoldingContext, etc.
It also allows three of the functions to be private to tools.cc
because they are only called from the others.
Original-commit: flang-compiler/f18 at 48c6efbf95390446fa10ca61b3e7f6b7db6c836d
Reviewed-on: https://github.com/flang-compiler/f18/pull/559
Tree-same-pre-rewrite: false
Commit: cc8e1e9e9f1dd8f90becbc58e7a6d56724c2df02
https://github.com/llvm/llvm-project/commit/cc8e1e9e9f1dd8f90becbc58e7a6d56724c2df02
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Change two member functions of DerivedTypeDetails to non-member
In `OrderParameterNames` and `OrderParameterDeclarations` it was
always true that `this == &type.get<DerivedTypeDetails>()` which
meant that `this` was redundant.
So convert them to non-member functions in `tools.h` that get the
details from the symbol passed in. This makes life simpler for the
callers.
Original-commit: flang-compiler/f18 at 81710d4e6ec9e316d95b955a1efd253d9c485fef
Reviewed-on: https://github.com/flang-compiler/f18/pull/559
Commit: eb97418b2d0e34b4dc7476c2fa8489020483b5c4
https://github.com/llvm/llvm-project/commit/eb97418b2d0e34b4dc7476c2fa8489020483b5c4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#559 from flang-compiler/tsk-symbols3
Move some functions to semantics/tools.h
Original-commit: flang-compiler/f18 at e133247901d9618cca73dd5557923ff642da93cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/559
Commit: 20dd13e492b89855894502bdf265bafcc4a67b4c
https://github.com/llvm/llvm-project/commit/20dd13e492b89855894502bdf265bafcc4a67b4c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/symbol13.f90
Log Message:
-----------
[flang] Better name resolution for intrinsics
Original-commit: flang-compiler/f18 at 31fd9c82e9bd90b03bd37accd3d9f187ccbfa979
Reviewed-on: https://github.com/flang-compiler/f18/pull/561
Commit: b2479a78c6df02a97e0eebc1eef19fcf3d39e44c
https://github.com/llvm/llvm-project/commit/b2479a78c6df02a97e0eebc1eef19fcf3d39e44c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#561 from flang-compiler/pmk-fixes
Better name resolution for intrinsics
Original-commit: flang-compiler/f18 at 33aceaec8f1fffbaa959806fea479af6bf602a6b
Reviewed-on: https://github.com/flang-compiler/f18/pull/561
Commit: 800b96540b0bfff66dae541359a210cb002efc03
https://github.com/llvm/llvm-project/commit/800b96540b0bfff66dae541359a210cb002efc03
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] Examples of Composite and Combined constructs (flang-compiler/f18#558)
* Examples of Composite and Combined constructs
2.8.3 Loop SIMD Construct
2.11.1 Parallel Loop Construct
2.11.3 Parallel Loop SIMD Construct
Not in the implementation:
2.8.3 DO SIMD: A list item may appear in a linear or firstprivate clause but not both
Original-commit: flang-compiler/f18 at 75d9c1a081474c02a3e106ac13924134e06793ca
Reviewed-on: https://github.com/flang-compiler/f18/pull/558
Commit: ca3dc401a9fe69ae302b54078b71caf46dee77e2
https://github.com/llvm/llvm-project/commit/ca3dc401a9fe69ae302b54078b71caf46dee77e2
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] add ORDERED construct w/ THREADS and SIMD clauses (parse error)
Original-commit: flang-compiler/f18 at 23a71aed74ee34ddd4dbf80ac3f906bf8c255bd9
Reviewed-on: https://github.com/flang-compiler/f18/pull/566
Tree-same-pre-rewrite: false
Commit: ed2213bb516db281170598fb22dfe893ef32c125
https://github.com/llvm/llvm-project/commit/ed2213bb516db281170598fb22dfe893ef32c125
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
Log Message:
-----------
[flang] Ensure that no OMP clause is a prefix of a later one in the grammar; then alphabetize the order.
Original-commit: flang-compiler/f18 at 7f4b4f8e74d003e87523ae62e7c1a82b8441299a
Reviewed-on: https://github.com/flang-compiler/f18/pull/566
Commit: 4370b717f000d438bed4dec4573bd224bc33ef94
https://github.com/llvm/llvm-project/commit/4370b717f000d438bed4dec4573bd224bc33ef94
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#566 from flang-compiler/by-mp-validity
Add missing THREADS and SIMD clauses
Original-commit: flang-compiler/f18 at ade72d803d2b795d30244a4f9e72c5f26dafd454
Reviewed-on: https://github.com/flang-compiler/f18/pull/566
Commit: 507cc50866c265e8e828819b9c0f86f6dcdd57b8
https://github.com/llvm/llvm-project/commit/507cc50866c265e8e828819b9c0f86f6dcdd57b8
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-12 (Fri, 12 Jul 2019)
Changed paths:
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/type.cc
Log Message:
-----------
[flang] Add IsGlobal and IsDerivedType to Scope
These are properties of Scopes that are checked frequently
so add IsGlobal and IsDerivedType for convenience.
Original-commit: flang-compiler/f18 at aebb2379d71fbc00f544cc7d831e032fd60564a1
Reviewed-on: https://github.com/flang-compiler/f18/pull/567
Tree-same-pre-rewrite: false
Commit: 714d3be8bf0f406656db8efad47f0a25edf89450
https://github.com/llvm/llvm-project/commit/714d3be8bf0f406656db8efad47f0a25edf89450
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-12 (Fri, 12 Jul 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/resolve53.f90
Log Message:
-----------
[flang] Use passed-object dummy in distinguishability checks
Complete the checks for distinguishable specifics procedure in a generic
by considering any passed-object dummy arguments.
C1514 rule 3 is implemented and the checks for the other rules are
extended to consider the PASS attribute, including the concept of the
"effective" position of an argument in an argument list, computed by
ignoring passed-object arguments.
Add `pass` to `characteristics::DummyArgument` to mark each
passed-object dummy argument.
Change symbols to store the index of the passed-object dummy argument
rather than its symbol.
Check that specifics of a type-bound generic are distinguishable only
after all of the procedure bindings have been processed. They don't have
to be before the generic.
Original-commit: flang-compiler/f18 at 2751490f95fa5ca321c912330aca1091cdbc2f70
Reviewed-on: https://github.com/flang-compiler/f18/pull/567
Commit: 9bb9352a09947b845399c169b4e3d59184945f9c
https://github.com/llvm/llvm-project/commit/9bb9352a09947b845399c169b4e3d59184945f9c
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#567 from flang-compiler/tsk-pass-2
Use passed-object dummy in distinguishability checks
Original-commit: flang-compiler/f18 at c87fbc387f8a7fbe82334427ed5280e2ef906ae6
Reviewed-on: https://github.com/flang-compiler/f18/pull/567
Commit: 40c797d773c2542249ef792a87953307e270705a
https://github.com/llvm/llvm-project/commit/40c797d773c2542249ef792a87953307e270705a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/documentation/ParserCombinators.md
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/token-parsers.h
Log Message:
-----------
[flang] Add "..."_id token syntax for complete tokens with lookahead
Original-commit: flang-compiler/f18 at 19695ccfa4f2db50fb65af3f4db1bb595ef2f568
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: bdec2cd8c955b97aa00325957e77653fd5bc50df
https://github.com/llvm/llvm-project/commit/bdec2cd8c955b97aa00325957e77653fd5bc50df
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
Log Message:
-----------
[flang] Refinements; builds and passes tests again
Original-commit: flang-compiler/f18 at a83410a4400a05b2b21e0207c605b5351bda6dbe
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 51b43e9e484b74a0a2df756106570ebb4a9b2f87
https://github.com/llvm/llvm-project/commit/51b43e9e484b74a0a2df756106570ebb4a9b2f87
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/token-parsers.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Define and use OpenMPConstructDirective
Original-commit: flang-compiler/f18 at cd716fa90702613fc1cd1596705dbe6e85b07d57
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: b85df7393516d2c8bc61d86f6ce0c9932e31be69
https://github.com/llvm/llvm-project/commit/b85df7393516d2c8bc61d86f6ce0c9932e31be69
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
Log Message:
-----------
[flang] Restore alphabetical order to OpenMP nodes in parse tree dumper
Original-commit: flang-compiler/f18 at 88b1a26035b5be64d4e3f70293555d8ee14b3074
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 1a26c576deca34edacbbc2d56601e5bc2a21d20b
https://github.com/llvm/llvm-project/commit/1a26c576deca34edacbbc2d56601e5bc2a21d20b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Eliminate a lot of needless indirection in OMP data structures
Original-commit: flang-compiler/f18 at 47c6cb0ba9f1bef1ce50071b18a33c584c2973aa
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: a3242b8107be149b93aeeed4e65483f4cd009b48
https://github.com/llvm/llvm-project/commit/a3242b8107be149b93aeeed4e65483f4cd009b48
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] more progress
Original-commit: flang-compiler/f18 at 1a219e50732ab5bd8c79ec9e85609c0b64598c69
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 2d0f9636a820d4d3cfb656779b37fb824d728be9
https://github.com/llvm/llvm-project/commit/2d0f9636a820d4d3cfb656779b37fb824d728be9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
Log Message:
-----------
[flang] Change some empty classes into enums
Original-commit: flang-compiler/f18 at 652e47455660c7bb5ba41f791f1f42533ac30321
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 2075e06dffef12d869c6f7ad88fb89e23a6f00ad
https://github.com/llvm/llvm-project/commit/2075e06dffef12d869c6f7ad88fb89e23a6f00ad
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Change more empty classes into enums
Original-commit: flang-compiler/f18 at e73b0368b226f72cca7f32ae1742758324700649
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 6599bdf9b587bae3f710c26f0c54223537f2f78d
https://github.com/llvm/llvm-project/commit/6599bdf9b587bae3f710c26f0c54223537f2f78d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
Log Message:
-----------
[flang] Convert more empty classes to enums
Original-commit: flang-compiler/f18 at 9cf8b9eea7162c8cbee347c3e8333bed046011d5
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 521a9770af21f414f3d37818385c38411527ea4a
https://github.com/llvm/llvm-project/commit/521a9770af21f414f3d37818385c38411527ea4a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Combine BARRIER/TASKWAIT/TASKYIELD
Original-commit: flang-compiler/f18 at c56c893a05648475eadfeece8fdd02c8b3ef224f
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 5557fff6e8580ec82fc5fbcb08b18974c6fbeee2
https://github.com/llvm/llvm-project/commit/5557fff6e8580ec82fc5fbcb08b18974c6fbeee2
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/documentation/ParserCombinators.md
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
Log Message:
-----------
[flang] Complete source provenance on OMP constructs (except ATOMIC)
Original-commit: flang-compiler/f18 at 8f6e93d579e5a7263296c33323bed5d92c5b8427
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: ef59f7ad128358b6e2be9094917a3e97d7e3b193
https://github.com/llvm/llvm-project/commit/ef59f7ad128358b6e2be9094917a3e97d7e3b193
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
Log Message:
-----------
[flang] Ensure that provenance is preserved in move ctor/assignment of Verbatim
Original-commit: flang-compiler/f18 at fcb5513486ed9efec4d145fdfd253a6a86aafe43
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false
Commit: 3d8b3ddef08420913638ea451efd25b81ea26899
https://github.com/llvm/llvm-project/commit/3d8b3ddef08420913638ea451efd25b81ea26899
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
Log Message:
-----------
[flang] Separate keyword from clauses in provenance of construct directives
Original-commit: flang-compiler/f18 at 9994d2351eb7329e4175dce693089b0a81e198a7
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Commit: 5f9ea62fae8295df745b90ff2b52c667248bc680
https://github.com/llvm/llvm-project/commit/5f9ea62fae8295df745b90ff2b52c667248bc680
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#569 from flang-compiler/pmk-omp
Add source provenance to OpenMP parse tree nodes; clean things up.
Original-commit: flang-compiler/f18 at 03786ec4073cd04103a6e4385b0cd1873cebadc7
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Commit: 97e60b7354fc1d2217c36712f89aadc974a8060b
https://github.com/llvm/llvm-project/commit/97e60b7354fc1d2217c36712f89aadc974a8060b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve53.f90
Log Message:
-----------
[flang] Procedure distinguishability rules for operators
Generic operators and assignment have different rules than generic
names for their procedures being distinguishable.
Implement those rules in `DistinguishableOpOrAssign`. The rules are
considerably simpler: they must have the name number of dummy arguments
and at least one pair in the same position must be distinguishable.
Fixes issue flang-compiler/f18#563.
Original-commit: flang-compiler/f18 at 276bb082060dcbdb7d2b2a7dbe344bb72ecddab6
Reviewed-on: https://github.com/flang-compiler/f18/pull/576
Commit: 937fad77a77f50192afc29f4e4aa447d0a10d590
https://github.com/llvm/llvm-project/commit/937fad77a77f50192afc29f4e4aa447d0a10d590
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#576 from flang-compiler/tsk-pass
Procedure distinguishability rules for operators
Original-commit: flang-compiler/f18 at fc35c3ed0b41e0b722673a421f8b008fffa9d275
Reviewed-on: https://github.com/flang-compiler/f18/pull/576
Commit: 4635eb1aac9256b944d76a9f9d971ea8423828a8
https://github.com/llvm/llvm-project/commit/4635eb1aac9256b944d76a9f9d971ea8423828a8
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-12 (Fri, 12 Jul 2019)
Changed paths:
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/allocate11.f90
M flang/test/semantics/allocate13.f90
M flang/test/semantics/coarrays01.f90
A flang/test/semantics/common.sh
M flang/test/semantics/resolve50.f90
M flang/test/semantics/test_any.sh
M flang/test/semantics/test_errors.sh
M flang/test/semantics/test_modfile.sh
M flang/test/semantics/test_symbols.sh
Log Message:
-----------
[flang] Improvements to semantics tests
Change test scripts so that cmake passes in the path to the `f18`
that it just built. They no longer have to use relative paths.
Simplify argument passing in test scripts by sharing it in `common.sh`.
Move `if_arith01.f90`, `if_construct01.f90`, `if_stmt01.f90` to `ERROR_TESTS`.
As it was, nothing was being tested on them.
For `test_error.sh`, find the include directory relative to `f18` and
pass that in with a `-I` option. Eliminate the temporary definitions of
`iso_fortran_env`, `iso_c_binding`, `ieee_exceptions` in the tests
because the "real" ones are now available.
The tests that are run with `test_any.sh` could probably have similar
changes, but they are not part of this commit.
Original-commit: flang-compiler/f18 at b62fe489be9aefeebb11954a6436285a1b5e6840
Reviewed-on: https://github.com/flang-compiler/f18/pull/568
Commit: f2d0ae546e9d31c35d036827d99506964dee76f4
https://github.com/llvm/llvm-project/commit/f2d0ae546e9d31c35d036827d99506964dee76f4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#568 from flang-compiler/tsk-test
Improvements to semantics tests
Original-commit: flang-compiler/f18 at 4dde0d7daae7504ec87bccbaee5c9909cc406f05
Reviewed-on: https://github.com/flang-compiler/f18/pull/568
Commit: 5597f366e1ae4f13d1a6ef18bd97c104c0ab20ae
https://github.com/llvm/llvm-project/commit/5597f366e1ae4f13d1a6ef18bd97c104c0ab20ae
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-08 (Mon, 08 Jul 2019)
Changed paths:
M flang/lib/semantics/canonicalize-do.cc
M flang/lib/semantics/resolve-labels.cc
A flang/test/semantics/label14.f90
Log Message:
-----------
[flang] Fix issues 518 and 546
- Only allow out-of-scope label target for label-do-stmt
when the label is on an end-stmt of a scope directly nested
into the one of the label-do-stmt.
- Also transform label-do-stmt into non-label-do constructs
so that later phases do not have to handle label-do-stmt.
Original-commit: flang-compiler/f18 at 91cff2f29698506ac95138107c5f0c625fa237ba
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false
Commit: 8a4b595bf63cf219dda4686617761ff1c4685bf9
https://github.com/llvm/llvm-project/commit/8a4b595bf63cf219dda4686617761ff1c4685bf9
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-09 (Tue, 09 Jul 2019)
Changed paths:
M flang/lib/semantics/canonicalize-do.cc
M flang/lib/semantics/resolve-labels.cc
M flang/test/semantics/label14.f90
Log Message:
-----------
[flang] Answer comments
* Support target label of label-do on all executable constructs as well as
forall and where.
* Re-oder and rename related checks in resolve-labels.cc
Original-commit: flang-compiler/f18 at e5ac8a1660511a7e48f0b2075f87ca1d8dbe23d9
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false
Commit: 16cf49488842532dfdea78eafe56d0acdf602cc0
https://github.com/llvm/llvm-project/commit/16cf49488842532dfdea78eafe56d0acdf602cc0
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-09 (Tue, 09 Jul 2019)
Changed paths:
M flang/lib/parser/features.h
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-labels.h
M flang/lib/semantics/semantics.cc
M flang/test/semantics/canondo07.f90
R flang/test/semantics/label14.f90
Log Message:
-----------
[flang] Add non standard feature for labeled do not ending with END DO or CONTINUE
* The warning was already here, this commit only refactors things so that
it can be controled with -Mstandard.
* Also makes the warning point to the do-stmt and adds a note to the warning
pointing to the statements where it ends.
Original-commit: flang-compiler/f18 at 11e1eb6edd4a88b7d6517ecfc3378e95757a3a24
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false
Commit: 93e05161ea543e595f50ed20efe758ea1c77c2fa
https://github.com/llvm/llvm-project/commit/93e05161ea543e595f50ed20efe758ea1c77c2fa
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/canonicalize-do.cc
M flang/test/semantics/canondo07.f90
A flang/test/semantics/canondo08.f90
A flang/test/semantics/canondo09.f90
A flang/test/semantics/canondo10.f90
A flang/test/semantics/canondo11.f90
A flang/test/semantics/canondo12.f90
A flang/test/semantics/canondo13.f90
A flang/test/semantics/canondo14.f90
A flang/test/semantics/canondo15.f90
A flang/test/semantics/canondo16.f90
A flang/test/semantics/canondo17.f90
A flang/test/semantics/canondo18.f90
Log Message:
-----------
[flang] Answer comment: split cannondo new tests
Original-commit: flang-compiler/f18 at 7ebf7f72b039385072e6f9fc0e182e8491258f8c
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false
Commit: 31cab04be73543747ba969c9796daf53e2b003e0
https://github.com/llvm/llvm-project/commit/31cab04be73543747ba969c9796daf53e2b003e0
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)
Changed paths:
M flang/lib/semantics/canonicalize-do.cc
A flang/test/semantics/canondo19.f90
Log Message:
-----------
[flang] Add fix for issue flang-compiler/f18#517
Original-commit: flang-compiler/f18 at d9bb6890d781b85cee4b820fd0c43eacfc7919e6
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Commit: 64206257a0693c1fa645eb495c64b9862433809c
https://github.com/llvm/llvm-project/commit/64206257a0693c1fa645eb495c64b9862433809c
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#552 from flang-compiler/jpr-fix-518
Fix issues flang-compiler/f18#517, flang-compiler/f18#518, and flang-compiler/f18#546
Original-commit: flang-compiler/f18 at bc3c549d48a4166c63fbfb312adf0fc7079adeb1
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Commit: 375dcec348ad3f1aec37bfe469565e5024df2989
https://github.com/llvm/llvm-project/commit/375dcec348ad3f1aec37bfe469565e5024df2989
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/symbol13.f90
Log Message:
-----------
[flang] When creating symbols for intrinsics, do not put them in the global scope, and do not emit them to module files.
Original-commit: flang-compiler/f18 at 9907026609122ed5842340ae5b4de5c353846dec
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false
Commit: fc638c021cba2b6813ed8818e1a1cdcb9dfdcca8
https://github.com/llvm/llvm-project/commit/fc638c021cba2b6813ed8818e1a1cdcb9dfdcca8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Make warning about exponent letters more useful
Original-commit: flang-compiler/f18 at 9c9aaacd7b43c4101140758b1924343b745e1f88
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false
Commit: 29004ece9549f5a04f5c7f20d13d33f9def41096
https://github.com/llvm/llvm-project/commit/29004ece9549f5a04f5c7f20d13d33f9def41096
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] fix crash in ASSOCIATED() intrinsic with two arguments
Original-commit: flang-compiler/f18 at 1a393ff43b627f1cf111d6a8a1a5403e285d7431
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false
Commit: 8c0aa901852d1b7d38d6376c8f2d6147959979d3
https://github.com/llvm/llvm-project/commit/8c0aa901852d1b7d38d6376c8f2d6147959979d3
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
Log Message:
-----------
[flang] Handle USE and host associations in characteristics analysis
Original-commit: flang-compiler/f18 at 1625f72e35a4ec5f8626b2dd07776f49f1a84f5a
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false
Commit: 8f40dbcd1944be7ebb3bf01f1cf0f146d5102a00
https://github.com/llvm/llvm-project/commit/8f40dbcd1944be7ebb3bf01f1cf0f146d5102a00
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/type.h
M flang/test/semantics/resolve20.f90
Log Message:
-----------
[flang] Fix flang-compiler/f18#571: forward reference to interface
Original-commit: flang-compiler/f18 at 5e00d1699c0ca6fe656447ac10c4184b86e8e992
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false
Commit: 367d3eec60855fc9b9afb0c4ca90246a8f383bfa
https://github.com/llvm/llvm-project/commit/367d3eec60855fc9b9afb0c4ca90246a8f383bfa
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Address review comment
Original-commit: flang-compiler/f18 at 5d6749c3d4f5b940a99421ec645961924aa5d8d9
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false
Commit: d3c8af484a0ef505cf2b1ee5e3e4830b421d6117
https://github.com/llvm/llvm-project/commit/d3c8af484a0ef505cf2b1ee5e3e4830b421d6117
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix typo
Original-commit: flang-compiler/f18 at f7d9f5bd7c6b03344e0cb2030e928cf1945f5d79
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Commit: 66a7639f499d59575ba8bae46bb1619f235735aa
https://github.com/llvm/llvm-project/commit/66a7639f499d59575ba8bae46bb1619f235735aa
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#565 from flang-compiler/pmk-fixes
When creating symbols for intrinsics, do not put them in the global s…
Original-commit: flang-compiler/f18 at 38789942a74f83d38c1132e96708158738ae0784
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Commit: 16356d58bcbb66e876ead7bc7260c6bbee01aa34
https://github.com/llvm/llvm-project/commit/16356d58bcbb66e876ead7bc7260c6bbee01aa34
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-15 (Mon, 15 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/resolve38.f90
Log Message:
-----------
[flang] Allow forward reference to binding name in type-bound generic
Type-bound generic statements can have binding names that refer to
bindings that occur later in the type. So save a map of generic to
binding names and process them when we get to the end of the
type-bound procedure part. This is similar to how specific procedures
of generic identifiers are handled.
Also detect duplicate binding names for a type-bound generic.
Fixes issue flang-compiler/f18#572.
Original-commit: flang-compiler/f18 at d58bb77cfa8cde2838a5eaba3e44956bdaa042e7
Reviewed-on: https://github.com/flang-compiler/f18/pull/577
Commit: 721a2c55db5c6d4eefcce47bf4e408b4a4edb2ac
https://github.com/llvm/llvm-project/commit/721a2c55db5c6d4eefcce47bf4e408b4a4edb2ac
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#577 from flang-compiler/tsk-issue572
Allow forward reference to binding name in type-bound generic
Original-commit: flang-compiler/f18 at 3ed8a8a35619ad3c84bae12ab7f308677b7fb044
Reviewed-on: https://github.com/flang-compiler/f18/pull/577
Commit: 258e8bda21ce4537a43e3a4fc3e9c5e90a0c6a2e
https://github.com/llvm/llvm-project/commit/258e8bda21ce4537a43e3a4fc3e9c5e90a0c6a2e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/resolve20.f90
M flang/test/semantics/resolve32.f90
Log Message:
-----------
[flang] Allow forward references to procedure interfaces in derived types (fixing flang-compiler/f18#571 more)
Original-commit: flang-compiler/f18 at c1aeeae7765527c40c1934d4d4d15086bf88758f
Reviewed-on: https://github.com/flang-compiler/f18/pull/580
Tree-same-pre-rewrite: false
Commit: 40fb469233e5ed16da8e6948d516c7444b31f1ae
https://github.com/llvm/llvm-project/commit/40fb469233e5ed16da8e6948d516c7444b31f1ae
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#579 while here
Original-commit: flang-compiler/f18 at eefbcdcb544573c7cdf5c47e8ff24ed0412f144f
Reviewed-on: https://github.com/flang-compiler/f18/pull/580
Tree-same-pre-rewrite: false
Commit: 2f49ddeefe6d099a6a413061602aa1b31b0a08e6
https://github.com/llvm/llvm-project/commit/2f49ddeefe6d099a6a413061602aa1b31b0a08e6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve20.f90
M flang/test/semantics/resolve32.f90
Log Message:
-----------
[flang] review comment
Original-commit: flang-compiler/f18 at f5c46291ece846986c20dd1dbeeff433e0e20462
Reviewed-on: https://github.com/flang-compiler/f18/pull/580
Commit: 5b91eceb693d5e1a8930178a6dc8e87eabd0ea49
https://github.com/llvm/llvm-project/commit/5b91eceb693d5e1a8930178a6dc8e87eabd0ea49
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#580 from flang-compiler/pmk-fixes
Allow forward references to procedure interfaces in derived types (fi…
Original-commit: flang-compiler/f18 at 8c63aa94972fb3f7b88f23fa1b78f8b67ffa8732
Reviewed-on: https://github.com/flang-compiler/f18/pull/580
Commit: 2a3f3163e63eb080675e0209dcd9ed403e10af8d
https://github.com/llvm/llvm-project/commit/2a3f3163e63eb080675e0209dcd9ed403e10af8d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Extension: relax "same kind" rules on some intrinsics
Original-commit: flang-compiler/f18 at ce5130f84bcb78007180ee87661c84b1483a476c
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 8187bc12cd963b6a40035ecc0fa80a7921249ccb
https://github.com/llvm/llvm-project/commit/8187bc12cd963b6a40035ecc0fa80a7921249ccb
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/lib/evaluate/integer.h
Log Message:
-----------
[flang] Silence spurious overflow warning on negative int4->int2 folding
Original-commit: flang-compiler/f18 at 5f1cad3911e791c47ef83e729a612d7f49022355
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 3dbc1b7abe001760374b7842fc64b6dae15f16a3
https://github.com/llvm/llvm-project/commit/3dbc1b7abe001760374b7842fc64b6dae15f16a3
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
Log Message:
-----------
[flang] Allow BOZ initializers on REAL parameters, too.
Original-commit: flang-compiler/f18 at e1ab6b316e6d28d7ff8733ad19b4bdc5feaf0745
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 99ec2fa834d57864c1d39105d8d18415a30ec8fa
https://github.com/llvm/llvm-project/commit/99ec2fa834d57864c1d39105d8d18415a30ec8fa
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] Document BOZ initializers for REAL
Original-commit: flang-compiler/f18 at d72d5feb01e374e6874826f41aaafd25995c1a19
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 85db492ea0206a573ee928bb52817efba9fc0f8d
https://github.com/llvm/llvm-project/commit/85db492ea0206a573ee928bb52817efba9fc0f8d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/lib/evaluate/common.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/parser/message.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/evaluate/expression.cc
M flang/test/evaluate/folding.cc
M flang/test/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Support SELECTED_CHAR_KIND("DEFAULT")
Original-commit: flang-compiler/f18 at c05c96c47452555e8cc81e77b2a44ad2339e6f53
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 14f693fb947e6c031c357595bfd053997457b66c
https://github.com/llvm/llvm-project/commit/14f693fb947e6c031c357595bfd053997457b66c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-18 (Thu, 18 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] Document intent to not support modules & programs whose names conflict with contents
Original-commit: flang-compiler/f18 at e23c48191105f1ffe472caaa6baf10c937521190
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 6da0d748d5ec58104ed1ea2533e388d585dfa5c5
https://github.com/llvm/llvm-project/commit/6da0d748d5ec58104ed1ea2533e388d585dfa5c5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-18 (Thu, 18 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Accept NULL() in struct constructor for ALLOCATABLE component
Original-commit: flang-compiler/f18 at 7aee0e4852f34cc85ba0de9cc44fbed167029675
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 834c4d6bc44fb401d48ec1d9fc0d502c179c3f2a
https://github.com/llvm/llvm-project/commit/834c4d6bc44fb401d48ec1d9fc0d502c179c3f2a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-18 (Thu, 18 Jul 2019)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] document a non-extension
Original-commit: flang-compiler/f18 at 625daf5218d42e2f20daef53c4df204973b3bc39
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false
Commit: 645d98719d9be0db6ebeca9f1df08f459b7f6908
https://github.com/llvm/llvm-project/commit/645d98719d9be0db6ebeca9f1df08f459b7f6908
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-19 (Fri, 19 Jul 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] address review comment
Original-commit: flang-compiler/f18 at 7012b6178654bca8b64ab9db334bb053b5c01965
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Commit: 88cb878bbcb5195125fbb1074b952144534ab5ad
https://github.com/llvm/llvm-project/commit/88cb878bbcb5195125fbb1074b952144534ab5ad
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-19 (Fri, 19 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#590 from flang-compiler/pmk-fixes
Roll up some fixes and extensions
Original-commit: flang-compiler/f18 at 561719d276695b8316836ebf15ca72da22feb55c
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Commit: 815cc42e9af20bbe06afe883159568dad97bcbb3
https://github.com/llvm/llvm-project/commit/815cc42e9af20bbe06afe883159568dad97bcbb3
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-19 (Fri, 19 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-labels.cc
Log Message:
-----------
[flang] Fix issue flang-compiler/f18#515
Do not emit "is not a branch target" warning for old action-stmt just
because these action-stmt are depreciated. The depreciated aspect of
these features is already handled via -Mstandard.
Original-commit: flang-compiler/f18 at f7d124d8cd3d97ee81208121a336f14fef9595ac
Reviewed-on: https://github.com/flang-compiler/f18/pull/593
Commit: 1199ce264e26c0b97208297e95848d18566254fc
https://github.com/llvm/llvm-project/commit/1199ce264e26c0b97208297e95848d18566254fc
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#593 from flang-compiler/jpr-fix-515
Fix issue flang-compiler/f18#515
Original-commit: flang-compiler/f18 at 415d6d611062b5bc8ccfd156557f70352bf00174
Reviewed-on: https://github.com/flang-compiler/f18/pull/593
Commit: 978b246229d763de2ae92340aa9c2d145338907d
https://github.com/llvm/llvm-project/commit/978b246229d763de2ae92340aa9c2d145338907d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-19 (Fri, 19 Jul 2019)
Changed paths:
M flang/lib/semantics/check-allocate.cc
Log Message:
-----------
[flang] Avoid crashing in check-allocate.cc on CLASS(*)
Original-commit: flang-compiler/f18 at 7ba4275998262a2bd277928baa9e63112004d7f1
Reviewed-on: https://github.com/flang-compiler/f18/pull/595
Commit: 52df04445e3581fde69a0852fbe5d9b62c27043a
https://github.com/llvm/llvm-project/commit/52df04445e3581fde69a0852fbe5d9b62c27043a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#595 from flang-compiler/pmk-fixes
Avoid crashing in check-allocate.cc on CLASS(*) source
Original-commit: flang-compiler/f18 at 95f76866e4366b9f5b9e56498b4918a51af882b3
Reviewed-on: https://github.com/flang-compiler/f18/pull/595
Commit: 7c03f03c67da1e41ebe715dcde67baa7587eb734
https://github.com/llvm/llvm-project/commit/7c03f03c67da1e41ebe715dcde67baa7587eb734
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-19 (Fri, 19 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Do not add invalid subscript triple to whole assumed-size array reference
Original-commit: flang-compiler/f18 at 71c134a55206c173acabe02bfd863080f1625117
Reviewed-on: https://github.com/flang-compiler/f18/pull/597
Tree-same-pre-rewrite: false
Commit: 31ffd34a02735900bf5a862d17786725af4fbea9
https://github.com/llvm/llvm-project/commit/31ffd34a02735900bf5a862d17786725af4fbea9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-19 (Fri, 19 Jul 2019)
Changed paths:
M flang/lib/evaluate/constant.cc
M flang/lib/evaluate/constant.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/formatting.cc
Log Message:
-----------
[flang] Avoid crash on bad subscript, refactor Constant bounds a bit
Original-commit: flang-compiler/f18 at c2e01e838665e1f79e7419a56c2ffaf3475ba140
Reviewed-on: https://github.com/flang-compiler/f18/pull/597
Commit: 1cdcfbcad37b3f6499df5b860f119eca6e577fe7
https://github.com/llvm/llvm-project/commit/1cdcfbcad37b3f6499df5b860f119eca6e577fe7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#597 from flang-compiler/pmk-fixes-2
Fix a couple of crashes on tests, refactor Constant bounds information a bit
Original-commit: flang-compiler/f18 at e980d641377a18e30c55a8e18a85daee2a4b5607
Reviewed-on: https://github.com/flang-compiler/f18/pull/597
Commit: 953d93dbe85e858d84aa0651ab7f610f942856ad
https://github.com/llvm/llvm-project/commit/953d93dbe85e858d84aa0651ab7f610f942856ad
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/documentation/C++style.md
M flang/lib/common/Fortran.h
M flang/lib/evaluate/constant.cc
M flang/lib/evaluate/constant.h
M flang/lib/evaluate/fold.cc
M flang/test/evaluate/CMakeLists.txt
A flang/test/evaluate/folding06.f90
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#544 from flang-compiler/jpr-reshape-only-folding
RESHAPE without shared runtime/front-end descriptor API
Original-commit: flang-compiler/f18 at 24856b82387a6d729b8d50314bc3e67200ec6f86
Reviewed-on: https://github.com/flang-compiler/f18/pull/544
Due to a conflicting rebase during the linearizing of flang-compiler/f18, this commit squashes a number of other commits:
flang-compiler/f18 at 2ec1d85d398e4171b6d77a21ccbe1fffec9e420d Implement RESHAPE folding on Constant<T> only
flang-compiler/f18 at 539463053942adf93ae015af800934e73d8942e3 Enable RESHAPE folding tests
flang-compiler/f18 at 83b2b86253c9536bb5698526d461f4c68c1affaf Answer review comment + Add a common path for intrsinic function folding before specializing the folding per type. + Make reshape folding return an "invalid" intrinsic after errors are met so that warnings do not get re-generated. + Misc style changes
flang-compiler/f18 at 2e5c29f2805e1e8dfdb8caa8f13eac9472c4c3c2 add missing file to previous commit...
flang-compiler/f18 at 9bd5ad9875e894a9a86e94f1e2153cc2cd5ef8d5 Document issue #518 workaround
flang-compiler/f18 at a4f8f518318f01c298392f3c6e3b8745e34c2953 Go back to clang-format version 7.01
flang-compiler/f18 at e871e58a5218504d9c92056058458706f3ad0c27 answer comment regarding naming and interface
flang-compiler/f18 at 145c7c1ecee57ff557527c0e6eb5655f43f00e39 Merge branch 'master' into jpr-reshape-only-folding Too many logical conflicts to simply rebase.
Commit: 3f00257e3baf4fe30b199e496112f5048493cf0b
https://github.com/llvm/llvm-project/commit/3f00257e3baf4fe30b199e496112f5048493cf0b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] Fix crash
Original-commit: flang-compiler/f18 at e00864f17e956d2e8805cf794cd677b56fc92d92
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: 3028ecf0b820992afb7a07effcd1938da86fa99f
https://github.com/llvm/llvm-project/commit/3028ecf0b820992afb7a07effcd1938da86fa99f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
M flang/lib/evaluate/descender.h
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traversal.h
Log Message:
-----------
[flang] Reimplement GetLastSymbol with expression visitor
Original-commit: flang-compiler/f18 at a996751e972a6ce6c4bab4caab03797c91c79bd2
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: daf9eb09d49f39819083dfe151209c9a5db7a205
https://github.com/llvm/llvm-project/commit/daf9eb09d49f39819083dfe151209c9a5db7a205
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
M flang/.gitignore
Log Message:
-----------
[flang] Add root/ to .gitignore, remove old build-specific directory names
Original-commit: flang-compiler/f18 at d5843aa319a3375142eeae1476329eb1835f6da8
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: e4945e5d09587297c186bdae9d0c7d5cd3775c35
https://github.com/llvm/llvm-project/commit/e4945e5d09587297c186bdae9d0c7d5cd3775c35
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traversal.h
M flang/test/semantics/symbol11.f90
Log Message:
-----------
[flang] Improve expression traversal, use it more for tools
Original-commit: flang-compiler/f18 at 4980b928bc61a392ee50cdac4129f905ed1e4559
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: 00861127ac9a9d5083fbb29c4a23a26632e73908
https://github.com/llvm/llvm-project/commit/00861127ac9a9d5083fbb29c4a23a26632e73908
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/evaluate/traversal.h
Log Message:
-----------
[flang] Improve comments
Original-commit: flang-compiler/f18 at 277fb1cc917d46760100dcef27d137d82021d903
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: 3f753af9379eee60d549b9e0e8702d80fc52a4aa
https://github.com/llvm/llvm-project/commit/3f753af9379eee60d549b9e0e8702d80fc52a4aa
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/semantics/assignment.cc
Log Message:
-----------
[flang] Fix pointer target check
Original-commit: flang-compiler/f18 at 8249bc8cd4a854f89cad38ab7292134a9facfe16
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: 353202bdcfaf3c432d937b6408beab2ef8a248d6
https://github.com/llvm/llvm-project/commit/353202bdcfaf3c432d937b6408beab2ef8a248d6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
Log Message:
-----------
[flang] Fix handling of ALLOCATABLE components in GetLastTarget
Original-commit: flang-compiler/f18 at 6b3b404bdce4963cf4a87d5c69df55a291b65e04
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: a65661d5e6c7913626f7fa2615a80210cbc80024
https://github.com/llvm/llvm-project/commit/a65661d5e6c7913626f7fa2615a80210cbc80024
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/semantics/assignment.cc
Log Message:
-----------
[flang] Review comment
Original-commit: flang-compiler/f18 at 784d2cc6dfb13dd4bd060b649e3f862ab272d59d
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Tree-same-pre-rewrite: false
Commit: ee23b2fbbdade65538ed6c3c718607f08dd5dc8c
https://github.com/llvm/llvm-project/commit/ee23b2fbbdade65538ed6c3c718607f08dd5dc8c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/.gitignore
Log Message:
-----------
[flang] Do not remove things from .gitignore
Original-commit: flang-compiler/f18 at 27c896ea0b36cee706133e65db8f705a6f85155a
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Commit: 165b0b8053284a5d2a3abb42a103e014f2be4b78
https://github.com/llvm/llvm-project/commit/165b0b8053284a5d2a3abb42a103e014f2be4b78
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#601 from flang-compiler/pmk-fixes
Fix legal pointer target test
Original-commit: flang-compiler/f18 at 751cb64ae9935586123088fafc5880f34c4422f4
Reviewed-on: https://github.com/flang-compiler/f18/pull/601
Commit: 8ed0f4c806b2a3398d0d171d14606e1010c5bc76
https://github.com/llvm/llvm-project/commit/8ed0f4c806b2a3398d0d171d14606e1010c5bc76
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/resolve56.f90
Log Message:
-----------
[flang] Avoid interference between different association variable resoltions
Fix issue 598 and related issues.
Transform resolve-names.cc ConstructVisitor association_ member into a
stack so that different association construct (select-type, select-rank,
change-team, associate) imbrication/succession do not interfere with each
other leading to wrong erronous symbol resolution.
Original-commit: flang-compiler/f18 at 5781f29ed6d3d235065e4a873a007431f6a48c02
Reviewed-on: https://github.com/flang-compiler/f18/pull/600
Tree-same-pre-rewrite: false
Commit: ee845d4c64b00146112be098d0d26cd47c9b1410
https://github.com/llvm/llvm-project/commit/ee845d4c64b00146112be098d0d26cd47c9b1410
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Address comment: make CHECK test more explicit
Original-commit: flang-compiler/f18 at a346462676b676d0abe2f98db2a80c8a4af3bd42
Reviewed-on: https://github.com/flang-compiler/f18/pull/600
Commit: 7d8a0733c363eba9e28399e03e8276a18e174adc
https://github.com/llvm/llvm-project/commit/7d8a0733c363eba9e28399e03e8276a18e174adc
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#600 from flang-compiler/jpr-fix-598
Avoid interference between different construct association in name resolutions
Original-commit: flang-compiler/f18 at 28c32a753879eb64f080872e39c129859cc6efba
Reviewed-on: https://github.com/flang-compiler/f18/pull/600
Commit: 64a8b9b3d3d8228ca2151831ffa74fd8ef376d63
https://github.com/llvm/llvm-project/commit/64a8b9b3d3d8228ca2151831ffa74fd8ef376d63
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/resolve17.f90
Log Message:
-----------
[flang] Merge use-associated generics
When the same generic is use-associated from two different modules,
they must be merged together into a symbol with GenericDetails.
After that merger, if there is a use association of the same name
with a non-generic we have to report an error. So save the UseDetails
from the original USE in GenericDetails so we can create the
appropriate UseErrorDetails.
Fixes flang-compiler/f18#586.
Original-commit: flang-compiler/f18 at 5067345f70af1fa262803535515dc644828b43ae
Reviewed-on: https://github.com/flang-compiler/f18/pull/591
Commit: 8269bf6c8c1451060a1c357c403a790f8846e04d
https://github.com/llvm/llvm-project/commit/8269bf6c8c1451060a1c357c403a790f8846e04d
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#591 from flang-compiler/tsk-issue586
Merge use-associated generics
Original-commit: flang-compiler/f18 at e0b28015f13201b7e18d2a4ad9a4b4939de4a08c
Reviewed-on: https://github.com/flang-compiler/f18/pull/591
Commit: 5ab96a860445cfd2ee968951937df208a11c28d5
https://github.com/llvm/llvm-project/commit/5ab96a860445cfd2ee968951937df208a11c28d5
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/test/semantics/allocate09.f90
Log Message:
-----------
[flang] Fix issue flang-compiler/f18#582: implicit ac-do-variable kind in expressions
Original-commit: flang-compiler/f18 at 4150a5e41147940dd2b8e951becaf6ded0447fc4
Reviewed-on: https://github.com/flang-compiler/f18/pull/583
Commit: 23bf80fb7ce88cfb487cff084e0051a8ac105eca
https://github.com/llvm/llvm-project/commit/23bf80fb7ce88cfb487cff084e0051a8ac105eca
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#583 from flang-compiler/jpr-fix-582
Fix issue flang-compiler/f18#582: implicit ac-do-variable kind in expressions
Original-commit: flang-compiler/f18 at cebc2be4b1a05a921993e7c4d7a1082cd724679f
Reviewed-on: https://github.com/flang-compiler/f18/pull/583
Commit: 9b079deed5724b38f9a4ba3a7f3814ffbd58f5e8
https://github.com/llvm/llvm-project/commit/9b079deed5724b38f9a4ba3a7f3814ffbd58f5e8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/integer.h
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/real.h
M flang/test/evaluate/CMakeLists.txt
A flang/test/evaluate/folding07.f90
Log Message:
-----------
[flang] Fold more model inquiry intrinsics
Original-commit: flang-compiler/f18 at a3d82893b768865aa51f105f92805f61a87d95f1
Reviewed-on: https://github.com/flang-compiler/f18/pull/602
Tree-same-pre-rewrite: false
Commit: 4aa659f795dee897c0910b63e3ccc37d8a4020a5
https://github.com/llvm/llvm-project/commit/4aa659f795dee897c0910b63e3ccc37d8a4020a5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/shape.h
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Address comments; allow "real,parameter::x=tiny(x)"
Original-commit: flang-compiler/f18 at e865358871da6211790b2869a58db7239d9c2e68
Reviewed-on: https://github.com/flang-compiler/f18/pull/602
Commit: 02826fbfe0bfea1c4b95606955a04b7411fd4da0
https://github.com/llvm/llvm-project/commit/02826fbfe0bfea1c4b95606955a04b7411fd4da0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#602 from flang-compiler/pmk-next
Fold more model inquiry intrinsics
Original-commit: flang-compiler/f18 at 7d1aeea40979d4d545b0f21f079ccd39ac6012a0
Reviewed-on: https://github.com/flang-compiler/f18/pull/602
Commit: 5eebbe7c9b0b83813c83d45bc4a3681c05851c5f
https://github.com/llvm/llvm-project/commit/5eebbe7c9b0b83813c83d45bc4a3681c05851c5f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix IsVariable for Pete
Original-commit: flang-compiler/f18 at 4a24f74ae476f7d315bb68ed62f7dd39ad3b4d10
Reviewed-on: https://github.com/flang-compiler/f18/pull/603
Tree-same-pre-rewrite: false
Commit: 6347b7c6952642f429b6f4c941c6cbf9fc6eadca
https://github.com/llvm/llvm-project/commit/6347b7c6952642f429b6f4c941c6cbf9fc6eadca
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
M flang/lib/evaluate/tools.h
Log Message:
-----------
[flang] Fix bug
Original-commit: flang-compiler/f18 at 482f882e3f8c5d6dae699949eb848001dc65bbc7
Reviewed-on: https://github.com/flang-compiler/f18/pull/603
Commit: bc7dfc3be34731e41786b62073b446432715bcd3
https://github.com/llvm/llvm-project/commit/bc7dfc3be34731e41786b62073b446432715bcd3
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#603 from flang-compiler/pmk-fix
Fix IsVariable for Pete
Original-commit: flang-compiler/f18 at 73e8c365e2b05904e0a3950f4c0813b445333ba1
Reviewed-on: https://github.com/flang-compiler/f18/pull/603
Commit: 814b241b45a34fbd7c77f7d9358d554e7af17793
https://github.com/llvm/llvm-project/commit/814b241b45a34fbd7c77f7d9358d554e7af17793
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/resolve35.f90
A flang/test/semantics/resolve57.f90
Log Message:
-----------
[flang] Changes for constraint C1128.
Specifically, these changes enforce the last sentence of the constraint, which
prohibits names that cannot appear in a variable definition context from
appearing in a locality-spec. Here are the details.
- Created the function "IsModifiableName" to return "true" when its parameter
is the name of a variable that can appear in a variable definition context.
- Created the function "GetAssociationRoot" to follow construct associations
to potentially get to an underlying variable. This function is similar to
the existing "GetUltimate" function that follows use associations and host
associations. One difference is that "GetAssociationRoot" requires access
to the types "MaybeExpr" and "SomeExpr", which makes is inappropriate to put
into symbol.cc, which is where "GetUltimate" lives. Perhaps we should move
"GetUltimate" to tools.[h,cc].
- Generalized the functions "IsPureFunction" to "IsPureProcedure" since either
a pure function or subroutine can provide a context for variables that
cannot be modified. Changed "FindPureFunctionContaining" to
"FindPureProcedueContaining" to go along with this.
- Added the function "IsExternalInPureContext" to detect the case where a
nominally pure procedure potentially modifies a variable.
- Created the function "IsOrContainsEventOrLockComponent" to detect variables
that either are of EVENT_TYPE or LOCK_TYPE or contain components of these
types. Such variables cannot appear in variable definition contexts.
- Added the test resolve56.f90 to test most of these conditions. Note that I
only tested the new code from the perspective of locality-specs.
Original-commit: flang-compiler/f18 at c9d2507b74da881dda2eb11805a0394a415db2e4
Reviewed-on: https://github.com/flang-compiler/f18/pull/596
Tree-same-pre-rewrite: false
Commit: 0904c4cfd111073e91ccb13523539c4d377811d4
https://github.com/llvm/llvm-project/commit/0904c4cfd111073e91ccb13523539c4d377811d4
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/structconst03.f90
M flang/test/semantics/structconst04.f90
Log Message:
-----------
[flang] Responses to previous review comments, specifically --
- expression.cc - fixed an error message. This required changing the tests
structconst0[3,4].f90
- tools.[h,cc] - Added a new function called ```WhyNotModifiable()``` to see
if a name can be modified. This function returns a string that describes why
the name cannot be modified. I changed the existing function
```IsModifiable()``` to call ```WhyNotModifiable()```. I fixed and
restructured the code for ```GetAssociationRoot()```. This involved creating
the mutually recursive function ```GetAssociatedVariable()```. I added a
check to see if a name is an INTENT(IN) dummy argument to the function
```IsVariableName()```.
- resolve-names.cc - Wrote the function ```SayWithReason()``` that allows an
arbitrary message to be added to an existing message. I changed the code in
```PassesLocalityChecks()``` to call the new function ```WhyNotModifiable()```
to get the specifics of why a variable name cannot be used in a variable
modification context and then call the new function ```SayWithReason()``` to
report the error. I also cleaned up the code as per Jean's suggestion.
Original-commit: flang-compiler/f18 at 8a2f4bdfd24a568a87b3bcb9faa9bc87a68eee84
Reviewed-on: https://github.com/flang-compiler/f18/pull/596
Tree-same-pre-rewrite: false
Commit: 177948f9f668b0b3b3d101c447451ffefa22ab83
https://github.com/llvm/llvm-project/commit/177948f9f668b0b3b3d101c447451ffefa22ab83
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/resolve35.f90
M flang/test/semantics/resolve57.f90
Log Message:
-----------
[flang] More changes in response to review comments.
- resolve-names.cc: I reworded the message when a name appears in a
locality-spec when a name is used that cannot appear in a variable
definition context.
- tools.cc: I removed the unused functions ```IsValueDummy()``` and
```IsModifiable()```. I made the function ```GetAssociatedVariable()```
static. I cleaned up the code in ```GetAssociationRoot()```. I cleaned up
the code in ```IsOrContainsEventOrLockComponent()```. I added a TODO to
```WhyNotModifiable()``` and made some other improvements to it.
- tools.h: Removed some deleted and unnecessary functions.
- I fixed up a couple of tests related to the changes in error messages.
Original-commit: flang-compiler/f18 at 47da8ff9c8c131a6fc7a4a6f4a8fa89c8b582b71
Reviewed-on: https://github.com/flang-compiler/f18/pull/596
Commit: de551721e59ead8e787e51e4513b1856c68af41f
https://github.com/llvm/llvm-project/commit/de551721e59ead8e787e51e4513b1856c68af41f
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-07-25 (Thu, 25 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#596 from flang-compiler/ps-variable-definition
Changes for constraint C1128
Original-commit: flang-compiler/f18 at d79137104ef0ab679b95d5393318aad4840e7e53
Reviewed-on: https://github.com/flang-compiler/f18/pull/596
Commit: 423fcec80189f046b7219b8e22a6c198239a8dc4
https://github.com/llvm/llvm-project/commit/423fcec80189f046b7219b8e22a6c198239a8dc4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-29 (Mon, 29 Jul 2019)
Changed paths:
M flang/lib/common/idioms.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/unparse-with-symbols.cc
Log Message:
-----------
[flang] Add a way to check and dereference a pointer
It is common to get a pointer, check it is not null, and dereference it.
Sometimes that requires a named temporary just to be able to do the check.
The macro `DEREF(p)` provides this capability: it asserts that `p` is not null
and returns `*p`. This is analagous to `.value()` on an `std::optional`.
We might want to add a way to disable `CHECK` and the check in `DEREF` together.
This change also includes some examples of making use of `DEREF`.
Original-commit: flang-compiler/f18 at d7aa90e55ac80c7f2460ab7b0cb6d1ef0c068938
Reviewed-on: https://github.com/flang-compiler/f18/pull/608
Commit: 1f490974d89707b47f867639703cdc2be0f63358
https://github.com/llvm/llvm-project/commit/1f490974d89707b47f867639703cdc2be0f63358
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-30 (Tue, 30 Jul 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#608 from flang-compiler/tsk-deref
Add a way to check and dereference a pointer
Original-commit: flang-compiler/f18 at 31a3fae9f893565392e35fd3df1612615363dcdd
Reviewed-on: https://github.com/flang-compiler/f18/pull/608
Commit: ebe4ff24b44d0ca03bccf96f2bc8bfcae5ed7378
https://github.com/llvm/llvm-project/commit/ebe4ff24b44d0ca03bccf96f2bc8bfcae5ed7378
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/rewrite-parse-tree.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/modfile07.f90
M flang/test/semantics/resolve17.f90
M flang/test/semantics/resolve18.f90
M flang/test/semantics/resolve36.f90
Log Message:
-----------
[flang] Improve handling of generics with same name as type or procedure
Create symbols for generics in a pre-pass over the specification part so
it is easier to handle cases when they have the same name as a derived
type or subprogram. This is done by calling `PreSpecificationConstruct`
on each `SpecificationConstruct` of a specification part before we
continue walking it. The generics symbols are created there and the same
mechanism will be used to handle forward references to derived types.
Report an error when the same name is used for a generic interface,
derived type, and subprogram.
Improve the error message issued when a procedure and generic interface
have the same name but the procedure is not a specific of the generic.
Change `SayAlreadyDeclared` to report the error on the second occurence
of the name when possible. This can arise for declarations the are
processed out of order, e.g. contained subprograms and generic interfaces.
Avoid multiple "already declared" errors for the case when a contained
subprogram has the same name as a declared entity. We first create the
symbol with SubprogramNameDetails, then replace it with the entity (and
report the error), then replace it with the real subprogram (and get the
error again). By setting and checking the error flag we avoid the second
error.
Original-commit: flang-compiler/f18 at 48fc0767834154a7dbe9d5a964e603855ca88ab5
Reviewed-on: https://github.com/flang-compiler/f18/pull/614
Tree-same-pre-rewrite: false
Commit: 5e39c9aa1d48a18360f0c77cddd94cbcf83641c4
https://github.com/llvm/llvm-project/commit/5e39c9aa1d48a18360f0c77cddd94cbcf83641c4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/test/semantics/modfile07.f90
M flang/test/semantics/test_errors.sh
Log Message:
-----------
[flang] Fix bug when writing empty generic to .mod file
When a generic interface had no specific procedures, we were writing
it the `.mod` file as `generic::g=>`, which is not valid Fortran.
Change to writing generics as interface blocks rather than generic
statements so that this case is handled. Include an access stmt if it
was declared private.
Also fix a bug in `test_errors.sh` where the expected/actual error
messages weren't sorted by line number correctly.
Original-commit: flang-compiler/f18 at 1c32a289b53d787c0033ed45033db86afde33458
Reviewed-on: https://github.com/flang-compiler/f18/pull/614
Tree-same-pre-rewrite: false
Commit: 723add0b8d211a9ca41c486fbe319fd3717080ce
https://github.com/llvm/llvm-project/commit/723add0b8d211a9ca41c486fbe319fd3717080ce
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-01 (Thu, 01 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/resolve18.f90
Log Message:
-----------
[flang] Fix merging of use associated generics
When we use-associate a generic interface name and then add more
procedures to the generic, we create a new symbol for the merged
generic. That symbol has to include a pointer to the derived type
or procedure with the same name, just as the original generic did.
To achieve that, change `AddSpecificProcsFrom` to also copy those
fields from the original symbol and change its name to `CopyFrom`
to reflect its new purpose. Also, change it to take `GenericDetails`
instead of `Symbol` as its argument so we can't call it on the wrong
kind of symbol.
Original-commit: flang-compiler/f18 at 1e22970e4352775df8a32e018435743786a66280
Reviewed-on: https://github.com/flang-compiler/f18/pull/614
Commit: 38114c07d090575467eb6616f4aa1e687b8c2b72
https://github.com/llvm/llvm-project/commit/38114c07d090575467eb6616f4aa1e687b8c2b72
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-01 (Thu, 01 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#614 from flang-compiler/tsk-generics
Improve handling of generics with same name as type or procedure
Original-commit: flang-compiler/f18 at a1e26df148c4d480178aa8b765aad4ceaaa5eae2
Reviewed-on: https://github.com/flang-compiler/f18/pull/614
Commit: cdd1ca064c8b2209e6f40966e4ab40455e10e8ab
https://github.com/llvm/llvm-project/commit/cdd1ca064c8b2209e6f40966e4ab40455e10e8ab
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-01 (Thu, 01 Aug 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] Add Sections and Single Construct check (flang-compiler/f18#585)
* [OpenMP] Add Sections and Single Construct check
Parse tree for OmpEndSingle needs to be modified to save the provenance
of END SINGLE directive and check its own clauses
* Update on reviews
1. PushContext is created to push new context with source provenance
2. Tweak the logic for SECTION nesting, treak Orphaned or wrong nesting
as the same error type
3. Make sure the check for NOWAIT clause only applies to the ones that
are not handled by parser.
Note that the case for DO or DO_SIMD will take effect after the
loop association work (parse tree change) is done. But I still list
them there for completeness.
4. Happen to find that NOWAIT is not accepted by PARALLEL SECTIONS,
fixed it in the parser.
Original-commit: flang-compiler/f18 at 236cf1efea77b8af5c533aa55029ce49a2c2e72c
Reviewed-on: https://github.com/flang-compiler/f18/pull/585
Commit: 971744e106bc239bc15a3db259f87229f5add408
https://github.com/llvm/llvm-project/commit/971744e106bc239bc15a3db259f87229f5add408
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-01 (Thu, 01 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/resolve32.f90
R flang/test/semantics/symbol04.f90
A flang/test/semantics/symbol14.f90
Log Message:
-----------
[flang] Correct scopes of components and type parameters
Original-commit: flang-compiler/f18 at 6d9f85a2410d82b0f9880d3e8cf358d7c0236f05
Reviewed-on: https://github.com/flang-compiler/f18/pull/613
Tree-same-pre-rewrite: false
Commit: d9bbf47cdcaa6ac199f0454603afdcd0ac1cc1cd
https://github.com/llvm/llvm-project/commit/d9bbf47cdcaa6ac199f0454603afdcd0ac1cc1cd
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-01 (Thu, 01 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Do not inherit bindings as bare names, just components and type parameters
Original-commit: flang-compiler/f18 at c4c70a6a8160b7f8c675021f3cbe88d4054c3aab
Reviewed-on: https://github.com/flang-compiler/f18/pull/613
Commit: f812a7d7f1a2571df7ab37db5d6322cefd972dac
https://github.com/llvm/llvm-project/commit/f812a7d7f1a2571df7ab37db5d6322cefd972dac
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#613 from flang-compiler/pmk-component-scope
Correct scopes of components
Original-commit: flang-compiler/f18 at 00bdacd6d416b6c2d22552a7a88bc599c6f5f1aa
Reviewed-on: https://github.com/flang-compiler/f18/pull/613
Commit: 9764563f4d989f1979402770b3e68b1a3344a246
https://github.com/llvm/llvm-project/commit/9764563f4d989f1979402770b3e68b1a3344a246
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix bug with use-associated base of component reference
When the base of a component reference (`a` in `a%b`) was use
associated, we were failing to follow it to the real symbol.
Fixes flang-compiler/f18#616.
Original-commit: flang-compiler/f18 at 95bfac6f65eccfedd03d791f01267d43497c6153
Reviewed-on: https://github.com/flang-compiler/f18/pull/617
Commit: b72ef0b370e801018e88ee56ba394717bdb1132b
https://github.com/llvm/llvm-project/commit/b72ef0b370e801018e88ee56ba394717bdb1132b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#617 from flang-compiler/tsk-issue616
Fix bug with use-associated base of component reference
Original-commit: flang-compiler/f18 at ded6d831eecffdbba4a44bd6ac21f135a0905699
Reviewed-on: https://github.com/flang-compiler/f18/pull/617
Commit: a7041f3a7870747838f64bab5de6327650198810
https://github.com/llvm/llvm-project/commit/a7041f3a7870747838f64bab5de6327650198810
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/traversal.h
Log Message:
-----------
[flang] Implement GetShape with expression visitor
Original-commit: flang-compiler/f18 at d607d028478ed931ce4f56b5e4e4ef3628a6d15e
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 43b3e4949089b794df557fc063e462a5794d3243
https://github.com/llvm/llvm-project/commit/43b3e4949089b794df557fc063e462a5794d3243
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/variable.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/evaluate/CMakeLists.txt
A flang/test/evaluate/folding08.f90
Log Message:
-----------
[flang] Fold LBOUND and UBOUND; do not insert empty triplets into whole array expressions
Original-commit: flang-compiler/f18 at 82fba68a665802c990f35d14222f8df4ac4e1dee
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 2ca6f8220c305843a8b1216a55acb756e05c30a3
https://github.com/llvm/llvm-project/commit/2ca6f8220c305843a8b1216a55acb756e05c30a3
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/type.cc
Log Message:
-----------
[flang] Handle association entities; fix problems found in testing
Original-commit: flang-compiler/f18 at c4d9fe95872decd9c305b4fec645229517a484c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 16f94adf9bfcf313bf8a7a80d6d2a372768109a2
https://github.com/llvm/llvm-project/commit/16f94adf9bfcf313bf8a7a80d6d2a372768109a2
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/traversal.h
M flang/test/evaluate/folding08.f90
Log Message:
-----------
[flang] Address some review comments, fix crash
Original-commit: flang-compiler/f18 at 7b7579eb5a896fb2b7d538f37a2df1a36b450f05
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 29d3343910407e3d65808dca2616e68c95629a47
https://github.com/llvm/llvm-project/commit/29d3343910407e3d65808dca2616e68c95629a47
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] Extract LBOUND/UBOUND folding into their own functions
Original-commit: flang-compiler/f18 at bf9146ad77c3db36b62d84093108048a807e528b
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 63423667fe1cde98ce3e9bed6d717d6f78dcc4e4
https://github.com/llvm/llvm-project/commit/63423667fe1cde98ce3e9bed6d717d6f78dcc4e4
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Clean up some usage of std::optional lambda results
Original-commit: flang-compiler/f18 at 9a66f9da9767d19875a229dbef2532b57b7a79a6
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 6df445d0e7b111ed0b041eaec2c54a76dcb89607
https://github.com/llvm/llvm-project/commit/6df445d0e7b111ed0b041eaec2c54a76dcb89607
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/shape.cc
M flang/test/evaluate/folding08.f90
Log Message:
-----------
[flang] Fix LBOUND & UBOUND(function()), add tests
Original-commit: flang-compiler/f18 at 1e093e9927f94a06a19700a6de26b5bfefa659d9
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 25ff9296e0e87cb1a007331c029f92f632ef16c9
https://github.com/llvm/llvm-project/commit/25ff9296e0e87cb1a007331c029f92f632ef16c9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/shape.cc
M flang/test/evaluate/folding08.f90
Log Message:
-----------
[flang] Fix LBOUND/UBOUND of associated expr, add test
Original-commit: flang-compiler/f18 at 009095a9bc63ef4a4a7fa86f6d0ca3299fdcd409
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: ca57deed0054d94e21c7c35b28cdd8781a00f976
https://github.com/llvm/llvm-project/commit/ca57deed0054d94e21c7c35b28cdd8781a00f976
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Address review comment re: ALLOCATED intrinsic argument
Original-commit: flang-compiler/f18 at b24381c7df20b3e8157172e0f070ba602f39b820
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: 61fdf0a93e51437500310b86671f47437c66c3a6
https://github.com/llvm/llvm-project/commit/61fdf0a93e51437500310b86671f47437c66c3a6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] Take suggestion from review comment
Original-commit: flang-compiler/f18 at 7616b1f71b4bc203f76f9acce258d2f7190d0729
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Tree-same-pre-rewrite: false
Commit: c940fb6641ffe2bf2a943ab0374b1cbd32794400
https://github.com/llvm/llvm-project/commit/c940fb6641ffe2bf2a943ab0374b1cbd32794400
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/documentation/C++style.md
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/test/evaluate/folding08.f90
Log Message:
-----------
[flang] Fix test failure, clean up for merging
Original-commit: flang-compiler/f18 at 77bad2736698cbbb9911ac5efd3efe6ac5b6d01a
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Commit: b40ee46b0058b4e6d12a9b0c67bc278eda332547
https://github.com/llvm/llvm-project/commit/b40ee46b0058b4e6d12a9b0c67bc278eda332547
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#611 from flang-compiler/pmk-bounds
Fold LBOUND and UBOUND intrinsic functions
Original-commit: flang-compiler/f18 at 46d77ab006fd5a633ea9ab18b208ac9a7baee4f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/611
Commit: f23a18c996237c20d29d3d9263c40dac6441c845
https://github.com/llvm/llvm-project/commit/f23a18c996237c20d29d3d9263c40dac6441c845
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] Update Extensions.md
Add note about type parameter declarations needing to come first in a derived type definition.
Original-commit: flang-compiler/f18 at 01358ac86e2a31b54900c38241a1ae01fedce0f6
Reviewed-on: https://github.com/flang-compiler/f18/pull/619
Commit: 43b5fc77baa4b5ec06ff23fa9ab3fa9d2c273bcd
https://github.com/llvm/llvm-project/commit/43b5fc77baa4b5ec06ff23fa9ab3fa9d2c273bcd
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-02 (Fri, 02 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#619 from flang-compiler/klausler-patch-1
Update Extensions.md
Original-commit: flang-compiler/f18 at 6e4f320aeb86a78eebb81b7702fcb73c7423e00f
Reviewed-on: https://github.com/flang-compiler/f18/pull/619
Commit: 97848749fa1604c6ae257b1ae488cf86efc0160b
https://github.com/llvm/llvm-project/commit/97848749fa1604c6ae257b1ae488cf86efc0160b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Add DIGITS to intrinsic function table; fix results of some others
Original-commit: flang-compiler/f18 at 6d5caef352e1ffe28315c27c4d46adfe36b55173
Reviewed-on: https://github.com/flang-compiler/f18/pull/623
Tree-same-pre-rewrite: false
Commit: adf204a50e025c4d031c26619d9c1cc03ac7598d
https://github.com/llvm/llvm-project/commit/adf204a50e025c4d031c26619d9c1cc03ac7598d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/integer.h
M flang/lib/evaluate/real.h
M flang/test/semantics/modfile26.f90
Log Message:
-----------
[flang] Fold DIGITS
Original-commit: flang-compiler/f18 at 6c9adff7a6260e3eecc81626147e3290e2346e22
Reviewed-on: https://github.com/flang-compiler/f18/pull/623
Tree-same-pre-rewrite: false
Commit: 58f93ac714fabbbf2d9ea58ea6195d9dc823c4e9
https://github.com/llvm/llvm-project/commit/58f93ac714fabbbf2d9ea58ea6195d9dc823c4e9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/integer.h
M flang/lib/evaluate/real.h
M flang/test/evaluate/folding02.f90
Log Message:
-----------
[flang] Fold SIGN()
Original-commit: flang-compiler/f18 at 521a02ad518be9323f80abedbf5101d3c313c2bf
Reviewed-on: https://github.com/flang-compiler/f18/pull/623
Tree-same-pre-rewrite: false
Commit: bef468fbfdcb1ba911ed037a670076826eeac3d3
https://github.com/llvm/llvm-project/commit/bef468fbfdcb1ba911ed037a670076826eeac3d3
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] Remove obsolete code
Original-commit: flang-compiler/f18 at 81a97453a82e2b9773ee02eb43d78fac7c4ede52
Reviewed-on: https://github.com/flang-compiler/f18/pull/623
Commit: bd723f22d08eae7f0465a23bab5ad75dcd8e09b0
https://github.com/llvm/llvm-project/commit/bd723f22d08eae7f0465a23bab5ad75dcd8e09b0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#623 from flang-compiler/pmk-fixes
Implement features to resolve bugs flang-compiler/f18#621 and flang-compiler/f18#622
Original-commit: flang-compiler/f18 at 2cd989479c3463b93067a2add5725ec591016d29
Reviewed-on: https://github.com/flang-compiler/f18/pull/623
Commit: deae08c21ee4355551575e7d9a85fc3a523b4fc1
https://github.com/llvm/llvm-project/commit/deae08c21ee4355551575e7d9a85fc3a523b4fc1
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/omp-declarative-directive.f90
Log Message:
-----------
[flang] [OpenMP] parse tree changes for declarative directives (flang-compiler/f18#620)
1. Changes are to save provenance for directive names
2. check-omp-structure.* is updated to avoid assertion errors
3. Tests added now are only for the basic usages for the declarative directives,
more complete examples will be added once we start implementing the semantics
checks for declarative directives
Original-commit: flang-compiler/f18 at 433e274f6876d5f0d6e2cc2e7e8c47ab01c07cc6
Reviewed-on: https://github.com/flang-compiler/f18/pull/620
Commit: 657dc605446396b7df19f39e7bf0a994bff5acb9
https://github.com/llvm/llvm-project/commit/657dc605446396b7df19f39e7bf0a994bff5acb9
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/test/semantics/doconcurrent04.f90
Log Message:
-----------
[flang] Noted the constraint being tested.
Original-commit: flang-compiler/f18 at 471aea65d86c3e67d70c02aa1b4d967cf745e501
Reviewed-on: https://github.com/flang-compiler/f18/pull/612
Tree-same-pre-rewrite: false
Commit: 270ddf843648f98862afa336c3ae96129520cce8
https://github.com/llvm/llvm-project/commit/270ddf843648f98862afa336c3ae96129520cce8
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/dosemantics05.f90
Log Message:
-----------
[flang] Changes to enforce constraint C1130.
The constraint states that "If the locality-spec DEFAULT ( NONE ) appears in a DO CONCURRENT statement; a variable that is a local or construct entity of a scope containing the DO CONCURRENT construct; and that appears in the block of the construct; shall have its locality explicitly specified by that statement."
Here's a summary of the changes:
- In check-do.cc: Implemented the function
CheckDefaultNoneImpliesExplicitLocality() to do the checking. This involved
adding the class DoConcurrentVariableEnforce to walk the DO loop's block
looking for variable names. I also cleaned up the code a little in
CheckDoExpression() and EnforceConcurrentLoopControl().
- Added the test dosemantics05.f90
Original-commit: flang-compiler/f18 at 2369aa805e36acafc2c59063cff3c4f5ae58be1a
Reviewed-on: https://github.com/flang-compiler/f18/pull/612
Tree-same-pre-rewrite: false
Commit: c2a0096b88342a3cc63903abd3031a8b48d5e99e
https://github.com/llvm/llvm-project/commit/c2a0096b88342a3cc63903abd3031a8b48d5e99e
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-05 (Mon, 05 Aug 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/dosemantics05.f90
Log Message:
-----------
[flang] Responses to review comments.
- dosemantics05.f90: Added tests for ASSOCIATE, BLOCK and SELECT TYPE statements and changed the error messages.
- check-do.cc: Changed things so that FindScope() is only called once when DoConcurrentVariableEnforce is instantiated. I changed the error message. I changed the type and name of CS to be an std::set and be called SymbolContainer.
- resolve-names.cc: I changed the Pre() function for parser::Statement to add the source range of a statement to both the current scope and all of its parents. This fixed a problem with finding the current scope based on the source position.
Original-commit: flang-compiler/f18 at 085b2c18f3b6393a25beaa760a9d88a8ebd483f5
Reviewed-on: https://github.com/flang-compiler/f18/pull/612
Commit: fb30d812e7d04d23b69ccdef7499e904a8e6cb41
https://github.com/llvm/llvm-project/commit/fb30d812e7d04d23b69ccdef7499e904a8e6cb41
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-08-06 (Tue, 06 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#612 from flang-compiler/ps-c1130
Changes to enforce constraint C1130
Original-commit: flang-compiler/f18 at 88af7ce563eb1bff0f5ed32ea3f2fb10feea66d0
Reviewed-on: https://github.com/flang-compiler/f18/pull/612
Commit: c4e13f6be84ca391458f3ee5e83242be2145f2df
https://github.com/llvm/llvm-project/commit/c4e13f6be84ca391458f3ee5e83242be2145f2df
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-06 (Tue, 06 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] parse tree changes for standalone directives (flang-compiler/f18#627)
* [OpenMP] parse tree changes for standalone directives
1. Put all standalone directives except FLUSH, CANCEL, and CANCELLATION POINT
into one `OpenMPSimpleStandaloneConstruct` (for no-clause directive,
validity checks will be deferred to Semantics). A top-level class will
include all the standalone directive nodes. This simplies the logic a lot.
2. All the standalone directives now have their own source provenance for
directive name itself.
3. Change check-omp-structure.* to avoid assertions
4. Add basic tests for standalone directives, more will be added during
the clause validity checks in Semantics
* Resolve !$OMP ORDERED ambiguity by attempting block construct first - Peter
Original-commit: flang-compiler/f18 at a77aa7ed84880927dea3e2b1bb6433350f99f1ac
Reviewed-on: https://github.com/flang-compiler/f18/pull/627
Commit: ba7ed2722a876fd592748fe6bb48e9ffec793238
https://github.com/llvm/llvm-project/commit/ba7ed2722a876fd592748fe6bb48e9ffec793238
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-06 (Tue, 06 Aug 2019)
Changed paths:
M flang/lib/evaluate/type.cc
Log Message:
-----------
[flang] Fix extended derived type kind compatibility check
`HaveCompatibleKindParameters` was not considering the kind
parameters of the parent types leading to false answers.
This change fixes this by directly looking into the map of `ParamValue`
of the `DeclTypeSpec` instead of going through the symbols of the derived
type scope. This map contains all the parent and implicit type parameters.
Original-commit: flang-compiler/f18 at cd5b976fc96ec695d46f23910080cbcaa5431a5d
Reviewed-on: https://github.com/flang-compiler/f18/pull/615
Tree-same-pre-rewrite: false
Commit: 0eafca97591d73ab75ad59e8e48c9ef8c2d8b969
https://github.com/llvm/llvm-project/commit/0eafca97591d73ab75ad59e8e48c9ef8c2d8b969
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-06 (Tue, 06 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
Log Message:
-----------
[flang] Fix ParamValue attribute (kind/len) of implicit type parameters
While testing fix for issue 581 it appeared that 'ParamValue`
implicit len parameters had incorrect attribute kind.
This commit:
+ Set correct attribute when creating `ParamValue` for implicit
type parameter.
+ Also set the correct attribute foe charachter lenght `ParamValue`
though it is currently not used anywhere.
+ Change some std::int64_t to common::ConstantSubscript on the way.
Original-commit: flang-compiler/f18 at 57a344b25607903638be6df47155bfe5515fff3a
Reviewed-on: https://github.com/flang-compiler/f18/pull/615
Tree-same-pre-rewrite: false
Commit: 0e17c8aaac3ba605c5d1518208c4dedc7a03e104
https://github.com/llvm/llvm-project/commit/0e17c8aaac3ba605c5d1518208c4dedc7a03e104
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-06 (Tue, 06 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/test/semantics/resolve53.f90
Log Message:
-----------
[flang] Answer comments
- make `TypaParamAttr` a `ParamValue` argument. Modify
`GetParamValue` to also take this as an argument.
- remove `GetLenParamValue` that is now useless and
modify constructor/`GetParamValue` calls
- get it the `TypeParamAttr` right from the begining
when visiting `parser::DerivedTypeSpec` in resolve-names.cc.
It was set to `Kind` by default and it was hard to ensure the
attribute would not be checked until set properly.
Original-commit: flang-compiler/f18 at bcc300e7141db6f692579e1327557c9831b9c85a
Reviewed-on: https://github.com/flang-compiler/f18/pull/615
Commit: 180ba3354bdecd490355a5eb8adabe64a8495ee5
https://github.com/llvm/llvm-project/commit/180ba3354bdecd490355a5eb8adabe64a8495ee5
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#615 from flang-compiler/jpr-fix-581
Fix issue 581: extended derived type kind parameter comparison
Original-commit: flang-compiler/f18 at 4670ae020b45848380fe0150b48a45b46aab0402
Reviewed-on: https://github.com/flang-compiler/f18/pull/615
Commit: 58ea24d3e3c68ac2e8b568ede0a513896ce7da22
https://github.com/llvm/llvm-project/commit/58ea24d3e3c68ac2e8b568ede0a513896ce7da22
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/tools.h
Log Message:
-----------
[flang] Dodge two bogus warnings from g++ 8.1
Original-commit: flang-compiler/f18 at aa19aeb92aedb02310a081f794c7a2046e801e2d
Reviewed-on: https://github.com/flang-compiler/f18/pull/633
Commit: d1d63f3646661216578e34f8400a51777764710d
https://github.com/llvm/llvm-project/commit/d1d63f3646661216578e34f8400a51777764710d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#633 from flang-compiler/pmk-warnings
Dodge two bogus warnings from g++ 8.1
Original-commit: flang-compiler/f18 at 2aa98a9d4d868ee18b43b2bcc70fd8831753c4fe
Reviewed-on: https://github.com/flang-compiler/f18/pull/633
Commit: 80678685a3d023ce4d9915f010bf84dd6c158946
https://github.com/llvm/llvm-project/commit/80678685a3d023ce4d9915f010bf84dd6c158946
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/lib/parser/char-block.h
M flang/lib/parser/parse-tree.cc
M flang/lib/semantics/symbol.cc
Log Message:
-----------
[flang] Add operator<< for parser::CharBlock
Original-commit: flang-compiler/f18 at 439326dc968ffe097cbc6e156559860ec225af41
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false
Commit: 73738d8bbab8665f3d1b2e0aad9d6a3ba20b38b3
https://github.com/llvm/llvm-project/commit/73738d8bbab8665f3d1b2e0aad9d6a3ba20b38b3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/lib/parser/grammar.h
Log Message:
-----------
[flang] Change parsing of ambiguous array-spec
An array-spec like `(:,:)` (with one or more colons) is either a
deferred-shape-spec-list or an assumed-shape-spec-list and they
can only be distinguished by context that the parser doesn't have.
We were parsing these as assumed-shape-spec-list but they are easier
to deal with if we parse them as deferred-shape-spec-list because
anything that is the latter is also one of the former.
Original-commit: flang-compiler/f18 at 78c3f3b96f78e45b1b9966b331d8cda691fa39bd
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false
Commit: 331c04cce60e585fc6e5cf715403afaaeaf84cbd
https://github.com/llvm/llvm-project/commit/331c04cce60e585fc6e5cf715403afaaeaf84cbd
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/lib/evaluate/shape.cc
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/test/evaluate/CMakeLists.txt
Log Message:
-----------
[flang] Change `ArraySpec` from a type alias to a class
This allows it to have member functions `Rank()`, `IsExplicitShape()`,
`IsAssumedShape()`, etc. Make use of those new functions and remove
`isExplicit()` and `isDeferred()` from `ShapeSpec` as they are no
longer needed.
Original-commit: flang-compiler/f18 at 7ef7ad63594db9c41a0889d2ad419dbdf841cb6f
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false
Commit: 4887ae80cd9f4e2193ce2550873dbbf08bac3223
https://github.com/llvm/llvm-project/commit/4887ae80cd9f4e2193ce2550873dbbf08bac3223
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/lib/parser/grammar.h
M flang/lib/semantics/resolve-names.cc
M flang/test/evaluate/CMakeLists.txt
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/resolve42.f90
A flang/test/semantics/resolve58.f90
Log Message:
-----------
[flang] Perform more checks on array-specs
There are many constraints on what kind of array-specs can appear
in what contexts. Add `CheckArraySpec()` to perform most of them.
When the check fails, don't set the shape of the symbol being
declared and instead set the Error flag so we can avoid cascading
errors.
Fixes flang-compiler/f18#609.
Original-commit: flang-compiler/f18 at f159d97f1f1e02b4d66e410b0f5a587f3c8fc51a
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false
Commit: a5f6fa6b2e8fd7884d7c4b05705fef76ef72961d
https://github.com/llvm/llvm-project/commit/a5f6fa6b2e8fd7884d7c4b05705fef76ef72961d
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/test/semantics/test_modfile.sh
Log Message:
-----------
[flang] Improve failure message from test_modfile.sh
When test_modfile.sh fails a test, show the path to the source file
so it is easier to find the problems when grepping the log.
Original-commit: flang-compiler/f18 at 4a0d0d19a0010b9342425a9b7f1db3ce4dada661
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false
Commit: 050a921aaf0e82f9fbfc98edb2fe992b7b93556c
https://github.com/llvm/llvm-project/commit/050a921aaf0e82f9fbfc98edb2fe992b7b93556c
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/module/ieee_exceptions.f90
M flang/module/iso_fortran_env.f90
M flang/test/evaluate/folding05.f90
M flang/test/evaluate/folding06.f90
M flang/test/evaluate/folding08.f90
M flang/test/semantics/allocate01.f90
M flang/test/semantics/allocate12.f90
M flang/test/semantics/modfile14.f90
M flang/test/semantics/modfile18.f90
M flang/test/semantics/modfile24.f90
M flang/test/semantics/modfile25.f90
M flang/test/semantics/modfile26.f90
M flang/test/semantics/modfile27.f90
M flang/test/semantics/modfile28.f90
M flang/test/semantics/resolve37.f90
M flang/test/semantics/stop01.f90
Log Message:
-----------
[flang] Fix errors in tests and predefined modules
There were many places in tests and predefined modules that had
incorrect code that we weren't detecting until now.
Most of the problems were deferred-shape arrays that should have
been implied-shape. For example:
`real, parameter :: a(:) = [1.0, 2.0]`
should have `(*)` rather than `(:)`.
There were also a few places with deferred-shape arrays that were
not allocatable/pointer or explicit-shape ones that were.
Original-commit: flang-compiler/f18 at 0a959ce1d81dd2e54b72886db699b12c7ad59d88
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Commit: 00b5ab683f010042966e965636eac15cfe3f3164
https://github.com/llvm/llvm-project/commit/00b5ab683f010042966e965636eac15cfe3f3164
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#630 from flang-compiler/tsk-array-spec
Perform more checks on array-specs
Original-commit: flang-compiler/f18 at 14a38209a9b08a65e919848207eb45421a168ef2
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Commit: b8b0c82a18a9c0eab883438f1b1ac9a40898499f
https://github.com/llvm/llvm-project/commit/b8b0c82a18a9c0eab883438f1b1ac9a40898499f
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2019-07-17 (Wed, 17 Jul 2019)
Changed paths:
M flang/lib/semantics/CMakeLists.txt
A flang/lib/semantics/check-block.cc
A flang/lib/semantics/check-block.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/semantics.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/blockconstruct01.f90
A flang/test/semantics/blockconstruct02.f90
A flang/test/semantics/blockconstruct03.f90
Log Message:
-----------
[flang] Adding semantic checks for Block Construct
Original-commit: flang-compiler/f18 at e626f431d46144b0003ccb3d0c9fe80c29cfa499
Reviewed-on: https://github.com/flang-compiler/f18/pull/584
Tree-same-pre-rewrite: false
Commit: 6975bc3dd4cbb9e2dcbc26f55925ab3b7bf74a1e
https://github.com/llvm/llvm-project/commit/6975bc3dd4cbb9e2dcbc26f55925ab3b7bf74a1e
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2019-07-22 (Mon, 22 Jul 2019)
Changed paths:
M flang/lib/semantics/CMakeLists.txt
R flang/lib/semantics/check-block.cc
R flang/lib/semantics/check-block.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/semantics.cc
M flang/test/semantics/blockconstruct01.f90
M flang/test/semantics/blockconstruct02.f90
M flang/test/semantics/blockconstruct03.f90
A flang/test/semantics/label14.f90
Log Message:
-----------
[flang] Changes requested by the comunity
Original-commit: flang-compiler/f18 at 309dd0fdfe4195d4624f9b1e55d3f5fe57e1ac9e
Reviewed-on: https://github.com/flang-compiler/f18/pull/584
Tree-same-pre-rewrite: false
Commit: 23b033759847f2b7b185b6136e40873b281280d1
https://github.com/llvm/llvm-project/commit/23b033759847f2b7b185b6136e40873b281280d1
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2019-07-23 (Tue, 23 Jul 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/blockconstruct02.f90
Log Message:
-----------
[flang] Changes in SaveStmt message for Common Block name specifier
Original-commit: flang-compiler/f18 at 2e63705f5c0e5bab5262495b0164ab90dc19ad47
Reviewed-on: https://github.com/flang-compiler/f18/pull/584
Tree-same-pre-rewrite: false
Commit: 7aaf74c1bcc34f912409ce9694ca645b80ccfb9b
https://github.com/llvm/llvm-project/commit/7aaf74c1bcc34f912409ce9694ca645b80ccfb9b
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2019-08-06 (Tue, 06 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/blockconstruct02.f90
Log Message:
-----------
[flang] Removing two sentence error
Original-commit: flang-compiler/f18 at fd5aafc5af14e41cfbae9454394d4eb6b39e2e91
Reviewed-on: https://github.com/flang-compiler/f18/pull/584
Tree-same-pre-rewrite: false
Commit: f4a6fe026d6d4d3cbd19c84003a8724742d33f16
https://github.com/llvm/llvm-project/commit/f4a6fe026d6d4d3cbd19c84003a8724742d33f16
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
M flang/lib/parser/parse-tree.h
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Removing TODO comments as they are implemented by this patch
Original-commit: flang-compiler/f18 at 885eb92b4f8ce07fc39af3655f6c04b74a10a9fa
Reviewed-on: https://github.com/flang-compiler/f18/pull/584
Commit: 56eb30bb8674ce606837cc7c62c22161433d5032
https://github.com/llvm/llvm-project/commit/56eb30bb8674ce606837cc7c62c22161433d5032
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-07 (Wed, 07 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#584 from CarolineConcatto/block_construct_patch
Adding semantic checks for Block Construct
Original-commit: flang-compiler/f18 at 47781549a3b042bd609f6cb5b1d8cdbd7983037d
Reviewed-on: https://github.com/flang-compiler/f18/pull/584
Commit: 1ac63962480fb32911d22b395b7c0a3a8e0797d9
https://github.com/llvm/llvm-project/commit/1ac63962480fb32911d22b395b7c0a3a8e0797d9
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/symbol.h
M flang/test/semantics/resolve05.f90
M flang/test/semantics/symbol09.f90
Log Message:
-----------
[flang] Fix issue 594
Add ProcBindingDetails to handling GetType.
Also add HostAssocDetails to be consitent with UseDetails handling
in this GetType.
Original-commit: flang-compiler/f18 at b498aab15fa3561818474965ea957a49ba1ae544
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Tree-same-pre-rewrite: false
Commit: 06a90e3a0c5474f968495ab8041ea724769c59ee
https://github.com/llvm/llvm-project/commit/06a90e3a0c5474f968495ab8041ea724769c59ee
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Add a derived type component visitor framework
After fixing 594, it appears there were issues in
FindUltimateComponent that was considering type bound
procedure as components.
This commit fixes and beef-up the component visitation by making a visitor
class for it. The main advantage of making it an class vs functions is that
it is possible to get the component chain to the result component for better
feedback for the user.
The framework allow a single place to define/handle what ultimate, direct and
potential components are.
Original-commit: flang-compiler/f18 at d84821a1d63f35904a004007f3645d689d8c3a4f
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Tree-same-pre-rewrite: false
Commit: b08064ca1f62462f19be274b75031912c472bad2
https://github.com/llvm/llvm-project/commit/b08064ca1f62462f19be274b75031912c472bad2
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/check-allocate.cc
M flang/test/semantics/allocate08.f90
Log Message:
-----------
[flang] Do not die on typeless source expression in allocate.
While fixing 594, it appears the CHECK in allocate for non null
expression type pointer was too harsh as it could be a user error.
e.g: a boz used as source.
Original-commit: flang-compiler/f18 at cbacdeaa0eb8077810db85d5b4469f797d524900
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Tree-same-pre-rewrite: false
Commit: 0a9725607bd07be07d7d075d5962a1b467679b6e
https://github.com/llvm/llvm-project/commit/0a9725607bd07be07d7d075d5962a1b467679b6e
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Improve error messages about component types in allocate checks
Use component visitor framework to attach more information reagrding
where is the ultimate/potential component that is forbidden.
Also remove unused functions.
Original-commit: flang-compiler/f18 at 4619c5860a43b86f149698c495769bdff2d63557
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Tree-same-pre-rewrite: false
Commit: 153892dd664ca5566f5bf0ac2bab30581440d189
https://github.com/llvm/llvm-project/commit/153892dd664ca5566f5bf0ac2bab30581440d189
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Checkpoint: derived type component iterators
Original-commit: flang-compiler/f18 at 72d209bb52d28aedc8335c8175a5ffb5bce161fc
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Tree-same-pre-rewrite: false
Commit: 965d114d8ccde72a40c63311caa6f8cbfb3ca511
https://github.com/llvm/llvm-project/commit/965d114d8ccde72a40c63311caa6f8cbfb3ca511
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] use newly added DEREF in component iterator
Original-commit: flang-compiler/f18 at 2185f2000967b7d4b51bf2eba663ba3dcea43a4b
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Tree-same-pre-rewrite: false
Commit: edab0a0ebbc5ce113a8b01e81e311bdda5575fd5
https://github.com/llvm/llvm-project/commit/edab0a0ebbc5ce113a8b01e81e311bdda5575fd5
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-07-31 (Wed, 31 Jul 2019)
Changed paths:
M flang/test/semantics/resolve05.f90
Log Message:
-----------
[flang] copyright update
Original-commit: flang-compiler/f18 at e724438925f1cd5c28fe1fcf7ba93b1b9773f9e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Commit: ea489de811e3bfe63cbd233560feba63e0fe74ae
https://github.com/llvm/llvm-project/commit/ea489de811e3bfe63cbd233560feba63e0fe74ae
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#607 from flang-compiler/jpr-fix-594
Fix issue 594 and add a derived type component visitor framework
Original-commit: flang-compiler/f18 at 009db27bfaca2a84b0795c0d977c68cd8b57ce88
Reviewed-on: https://github.com/flang-compiler/f18/pull/607
Commit: 24bb2c29cd96c3c5355d75edda45684edc574447
https://github.com/llvm/llvm-project/commit/24bb2c29cd96c3c5355d75edda45684edc574447
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/resolve59.f90
Log Message:
-----------
[flang] Prevent result symbol to be converted into function when they are called.
+ Fix issue 589.
+ Catch empty subscript list in array reference
In name resolution, when skimming through the execution statement of a
function, calls to the result symbol should not trigger the conversion
of this symbol to a function symbol. The result is a data object and
cannot be called unless it was explictly declared to be a procedure
pointer.
Notably, recursive function calls cannot be made if RESULT was not used.
The symbol is prevented from being transformed into a function
symbol by transforming it into an object before skimming through the
executable statement. This is done after processing all the
specifications so that if the result actually is a procedure pointer,
the call to `ConvertToObjectEntity` introduced by this commit will
not convert it to an object by mistake.
This commit also introduce a check when fixing misparsed function
reference into array reference to verify the array reference has
array subscripts. Currently this went uncaught. It is not possible
to complain later in expressions because the subscript list of
expression might be empty for unrelated error recovery reasons
(e.g. if an entity of the wrong type appeared as susbcript).
Add related tests.
Original-commit: flang-compiler/f18 at 2fd8b65f58aadc567dd23d64e4654304a42f6176
Reviewed-on: https://github.com/flang-compiler/f18/pull/631
Tree-same-pre-rewrite: false
Commit: 3b7b2f56d5d433b865c0a7668b53bb6c10f80c12
https://github.com/llvm/llvm-project/commit/3b7b2f56d5d433b865c0a7668b53bb6c10f80c12
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Answer PR 631 comments:
- Create a function `IsFunctionResult(const Symbol &)` in
lib/semantics/tools.h.
- style edit in weird var definition style.
Original-commit: flang-compiler/f18 at 15e3f87b40345765ac500e5f8c1412c31d4e2658
Reviewed-on: https://github.com/flang-compiler/f18/pull/631
Tree-same-pre-rewrite: false
Commit: 7e197e691f3867d6d38406a3f14c2cc97bd4fb56
https://github.com/llvm/llvm-project/commit/7e197e691f3867d6d38406a3f14c2cc97bd4fb56
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Fix reabsing conflict issue
Remove duplicate `IsFunctionResultWithSameNameAsFunction` declarartion.
Original-commit: flang-compiler/f18 at d88597ca7213ed63660a6633a0c88021b9d35949
Reviewed-on: https://github.com/flang-compiler/f18/pull/631
Commit: ee2dd1c5037612e5fe051e7c89e5f770a78fa504
https://github.com/llvm/llvm-project/commit/ee2dd1c5037612e5fe051e7c89e5f770a78fa504
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#631 from flang-compiler/jpr-fix-589
Prevent result symbol to be converted into function when they are called
Original-commit: flang-compiler/f18 at 464310a1e3b8cc222b0069c213de01c4c4561eaf
Reviewed-on: https://github.com/flang-compiler/f18/pull/631
Commit: 57af252f56367cc18e1159cd7e0e9eaa3d664a9f
https://github.com/llvm/llvm-project/commit/57af252f56367cc18e1159cd7e0e9eaa3d664a9f
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/test/evaluate/CMakeLists.txt
Log Message:
-----------
[flang] Fix problems building with shared libraries on Linux
Building with gcc 8 or 9 with shared libraries had linking
problems in test/evaluate. Fix those by adding FortranSemantics
to the library dependencies.
Original-commit: flang-compiler/f18 at 009b9ab171b4a9d9a3b7ca79f1d0c0b5d0ee7a8c
Reviewed-on: https://github.com/flang-compiler/f18/pull/639
Commit: ca973fc355aa2de1f4b49fb92b79a2062212a758
https://github.com/llvm/llvm-project/commit/ca973fc355aa2de1f4b49fb92b79a2062212a758
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#639 from flang-compiler/tsk-shared
Fix problems building with shared libraries on Linux
Original-commit: flang-compiler/f18 at 0e3ed603c8d6ca611e5ae71cf52da72d351e81fc
Reviewed-on: https://github.com/flang-compiler/f18/pull/639
Commit: dd8601162bab144870ef101aa058c0f35bd0ee4e
https://github.com/llvm/llvm-project/commit/dd8601162bab144870ef101aa058c0f35bd0ee4e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/test/semantics/modfile07.f90
Log Message:
-----------
[flang] Fix bug with generic and specific having same name
If a generic interface had a specific procedure with the same name that
is specified by an interface body, it was not handled correctly.
We were replacing the generic symbol with the symbol for the specific
procedure. Instead, leave the generic symbol in the scope and just
insert the new symbol for the specific into the generic.
Also, don't do distinguishability checks when one of the specific
procedures already has an error.
Fixes flang-compiler/f18#587.
Original-commit: flang-compiler/f18 at 2e905656758d7214635fb96a612760405b368b09
Reviewed-on: https://github.com/flang-compiler/f18/pull/640
Commit: 39807b8389162df89d87741d77d9c7ae53dae3a3
https://github.com/llvm/llvm-project/commit/39807b8389162df89d87741d77d9c7ae53dae3a3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#640 from flang-compiler/tsk-issue587
Fix bug with generic and specific having same name
Original-commit: flang-compiler/f18 at e8c8c0357bc428838b937912747e84b596ca4f9c
Reviewed-on: https://github.com/flang-compiler/f18/pull/640
Commit: c7fc08a8ead9ff0c4f11b626f330209c2f66a580
https://github.com/llvm/llvm-project/commit/c7fc08a8ead9ff0c4f11b626f330209c2f66a580
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/omp-atomic.f90
Log Message:
-----------
[flang] [OpenMP] parse tree changes for ATOMIC constructs (flang-compiler/f18#636)
1. make the parse tree nodes more conform with OpenMP spec
2. isolate the memory related clauses to make the parse tree nodes
extendable for OpenMP 5.0
3. source provenance is saved for each atomic-clause (read, write, update,
and capture); for atomic-clause that is not present, source location
is saved for "ATOMIC" directive name itself
More tests will be added during Semantics.
Original-commit: flang-compiler/f18 at 8e2db2f868f9dce705aa0a504e1c9ac1af8fe08f
Reviewed-on: https://github.com/flang-compiler/f18/pull/636
Commit: 5045af7710562b519998dadd90460595d2b090e8
https://github.com/llvm/llvm-project/commit/5045af7710562b519998dadd90460595d2b090e8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Deferred processing of pointer initializers (incomplete)
Original-commit: flang-compiler/f18 at 2913b01c51ec3f1b3739c109aca9c41970b28d6c
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: 5bfc7852189ab4683ab96eeafaa8d9b0ba8d8fd1
https://github.com/llvm/llvm-project/commit/5bfc7852189ab4683ab96eeafaa8d9b0ba8d8fd1
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
Log Message:
-----------
[flang] Checkpoint work
Original-commit: flang-compiler/f18 at b8f614c3c41815410acfc93989885d6eaea46bd8
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: de7c7c07ce4a31d878887b3dde5ea9a19f16ca8c
https://github.com/llvm/llvm-project/commit/de7c7c07ce4a31d878887b3dde5ea9a19f16ca8c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/procinterface01.f90
Log Message:
-----------
[flang] Save proc pointer inits in symbol table; add IsSaved() predicate to tools
Original-commit: flang-compiler/f18 at 23c6be91681b04cad4981281301e450a16ae5b62
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: c9d286d6c4fba7836e3021cd767c2b019febccaa
https://github.com/llvm/llvm-project/commit/c9d286d6c4fba7836e3021cd767c2b019febccaa
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
Log Message:
-----------
[flang] Restore symbol to ProcBindingDetails
Original-commit: flang-compiler/f18 at 5dc1c91156d58ebd4f2e1ab720b01236976eb0a9
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: fca50c0822bd1de4b5e463e06d58098f6f8e5091
https://github.com/llvm/llvm-project/commit/fca50c0822bd1de4b5e463e06d58098f6f8e5091
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Proper PDT handling
Original-commit: flang-compiler/f18 at 32256daa15d663cd6b24bccd15727cd1e4ddefe6
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: 699b499469642ab48a3d527aaebb3ad204283248
https://github.com/llvm/llvm-project/commit/699b499469642ab48a3d527aaebb3ad204283248
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] prep for review
Original-commit: flang-compiler/f18 at 41f11f4fa0ddd91ffff003451e29bf6fff8c83b1
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: da6445198a07fe820c2709ff46f1f32a4d0a89b4
https://github.com/llvm/llvm-project/commit/da6445198a07fe820c2709ff46f1f32a4d0a89b4
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] rebase
Original-commit: flang-compiler/f18 at a2086f040602473917846b027b923fcd141bd193
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: e071162e046fdbd03e76936cce249f8749f306ce
https://github.com/llvm/llvm-project/commit/e071162e046fdbd03e76936cce249f8749f306ce
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/allocate08.f90
M flang/test/semantics/dosemantics03.f90
M flang/test/semantics/resolve20.f90
M flang/test/semantics/resolve32.f90
Log Message:
-----------
[flang] More fixes; tests now all pass (with updates to some)
Original-commit: flang-compiler/f18 at 236ff3a3db90bec3c7f859f18ce31bd38491347f
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: f13f372833fda8ca762a0f32ffc6240b95359b9c
https://github.com/llvm/llvm-project/commit/f13f372833fda8ca762a0f32ffc6240b95359b9c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/symbol15.f90
Log Message:
-----------
[flang] Add test for forward references in pointer initializers
Original-commit: flang-compiler/f18 at 9e01c102a1e14721bc10149f9902d41edfc96b77
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Tree-same-pre-rewrite: false
Commit: bc4d468d29622afe5f67a6c9470531efe9c3d20a
https://github.com/llvm/llvm-project/commit/bc4d468d29622afe5f67a6c9470531efe9c3d20a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/resolve20.f90
M flang/test/semantics/resolve32.f90
Log Message:
-----------
[flang] address comments
Original-commit: flang-compiler/f18 at 2bf995562cd86f61be7013e50e38c1aa5edc39eb
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Commit: 3020151f716cdd062d90fe4f257e74a46025d2aa
https://github.com/llvm/llvm-project/commit/3020151f716cdd062d90fe4f257e74a46025d2aa
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#638 from flang-compiler/pmk-forward
Handle forward references to procedures and interfaces
Original-commit: flang-compiler/f18 at c2ce89030b0f2cc4da77d2da7b27bd5b75b9a572
Reviewed-on: https://github.com/flang-compiler/f18/pull/638
Commit: b41d10beae715cebb1f7cb93a5d3ad91e1e8d6a6
https://github.com/llvm/llvm-project/commit/b41d10beae715cebb1f7cb93a5d3ad91e1e8d6a6
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] parse tree changes for `OpenMPBlockConstruct` (flang-compiler/f18#632)
* [OpenMP] parse tree changes for `OpenMPBlockConstruct`
1. merge `Workshare` and `Single` into `OpenMPBlockConstruct` because
they both accept structured-block and syntax is similar to other block
directives.
2. `OpenMPBlockConstruct` changes to structure like `{Begin, Block, End}`,
where `Begin` and `End` are tuple of `{Directive, ClauseList}`.
3. Updated the check-omp-structure.* for necessary parts. Added all the END
directive enumeration types that may have clauses.
More tests will be added during Semantics.
* [OpenMP] Update on Tim's suggestion
1. Fix unspecified enumeration for `OmpDirective` in the `OmpContext`.
This is through getting rid of `PushContext(source)` function to
make sure whenever it is about to push a NEW context, directive
source location and enumeration are available. To do that, I moved
around all the switches for directive into high level `Construct`'s
`Enter` node. Besides fixing the issue, the side benefit is that
whenever we call `GetContext().directive`, we are sure that the
`directive` here was set already.
2. When `Enter` the `OmpEndBlockDirective` node, partial context
information, such as directive source location or legal clause lists,
needs to be reset. The new directive source location should be
`OmpEndBlockDirective`'s `source`. The enumeration `directive`
should not be reset for the END directives that do not accept
clauses because nothing needs to be checked (for example any clause
that is on `END PARALLEL` is illegal).
Original-commit: flang-compiler/f18 at e5bd6b7ba0fbe9006f3e431260428b194f2d2616
Reviewed-on: https://github.com/flang-compiler/f18/pull/632
Commit: 5bade83a0b90f21b69019700c1992c932c8247a9
https://github.com/llvm/llvm-project/commit/5bade83a0b90f21b69019700c1992c932c8247a9
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/doconcurrent01.f90
A flang/test/semantics/dosemantics06.f90
A flang/test/semantics/dosemantics07.f90
A flang/test/semantics/dosemantics08.f90
Log Message:
-----------
[flang] Tests for DO loop semantics
These are tests for checks that are already implemented, but for which we
did not have tests.
Original-commit: flang-compiler/f18 at 68f5acf7b1202162150162e1974fe43341a33eed
Reviewed-on: https://github.com/flang-compiler/f18/pull/637
Tree-same-pre-rewrite: false
Commit: 8768a11d4ca7f50d55a6d240c165125789b0d39f
https://github.com/llvm/llvm-project/commit/8768a11d4ca7f50d55a6d240c165125789b0d39f
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-09 (Fri, 09 Aug 2019)
Changed paths:
M flang/module/ieee_exceptions.f90
M flang/test/semantics/doconcurrent01.f90
Log Message:
-----------
[flang] - ieee_exceptions.f90: I added all of the routines listed in table 17.3 of the standard that were not currently specified. I also re-ordered the routines to be in the same order as the standard.
- doconcurrent01.f90: I removed the custom versions of ieee_exceptions and
iso_fortran_env. I also fixed a typo in a comment. Also, the use of the real
standare interface caused one of the error messages to go away, so I fixed
that.
Original-commit: flang-compiler/f18 at a8b310a9685d7e6502073ecb011c16aaa1e1d14b
Reviewed-on: https://github.com/flang-compiler/f18/pull/637
Commit: fb27f631f12800371815fe082170bf07e400cea3
https://github.com/llvm/llvm-project/commit/fb27f631f12800371815fe082170bf07e400cea3
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-08-10 (Sat, 10 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#637 from flang-compiler/ps-do-tests
Tests for DO loop semantics
Original-commit: flang-compiler/f18 at 960d76131e46ccb2ff704ab2bdbc070dff8cd279
Reviewed-on: https://github.com/flang-compiler/f18/pull/637
Commit: 165ab68837e91b46eac01c347b2971e3f6af96ce
https://github.com/llvm/llvm-project/commit/165ab68837e91b46eac01c347b2971e3f6af96ce
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/semantics.h
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#644, always enable backslash escapes when reading module files
Original-commit: flang-compiler/f18 at f1c897cedad109e3cccea9fa914d12c529c15742
Reviewed-on: https://github.com/flang-compiler/f18/pull/645
Commit: 09670c9a610a9af845bb7eb136ff0a888ebe1c60
https://github.com/llvm/llvm-project/commit/09670c9a610a9af845bb7eb136ff0a888ebe1c60
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#645 from flang-compiler/pmk-fix-644
Fix bug flang-compiler/f18#644, always enable backslash escapes when reading module files
Original-commit: flang-compiler/f18 at 4ade6c36755fbf343af1db6e657fb5de6eb49ec4
Reviewed-on: https://github.com/flang-compiler/f18/pull/645
Commit: f3b5d156cb4c05a7253bcc0bde3874002b3fb7ca
https://github.com/llvm/llvm-project/commit/f3b5d156cb4c05a7253bcc0bde3874002b3fb7ca
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#642
Original-commit: flang-compiler/f18 at d898b29285b65fea4a43cc4901623decec481c1a
Reviewed-on: https://github.com/flang-compiler/f18/pull/648
Commit: cd9a4613e6ddd0db5a859d26043dfb274721985a
https://github.com/llvm/llvm-project/commit/cd9a4613e6ddd0db5a859d26043dfb274721985a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#648 from flang-compiler/pmk-fix-642
Fix bug flang-compiler/f18#642
Original-commit: flang-compiler/f18 at 319c083673ca135d375e4977e6cedd4133c4bdf5
Reviewed-on: https://github.com/flang-compiler/f18/pull/648
Commit: cbb0be6a377c290037f05c9555bc097818ebf601
https://github.com/llvm/llvm-project/commit/cbb0be6a377c290037f05c9555bc097818ebf601
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#643
Original-commit: flang-compiler/f18 at 29bb4312e1f2861fa04f847c8e552ca894989593
Reviewed-on: https://github.com/flang-compiler/f18/pull/646
Commit: e008024e9f7d4e63aa60c9c7ba3fd839ab0d5b33
https://github.com/llvm/llvm-project/commit/e008024e9f7d4e63aa60c9c7ba3fd839ab0d5b33
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#646 from flang-compiler/pmk-fix-643
Fix bug flang-compiler/f18#643
Original-commit: flang-compiler/f18 at f8368e30e098f5cc2f87288e938e2ce08542e005
Reviewed-on: https://github.com/flang-compiler/f18/pull/646
Commit: 65de6787e22918b9de900fa2cedc4f1a612ceb06
https://github.com/llvm/llvm-project/commit/65de6787e22918b9de900fa2cedc4f1a612ceb06
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] parse tree changes for Critical Construct (flang-compiler/f18#641)
Simple changes: add source provenance for directive itself and renaming
Original-commit: flang-compiler/f18 at 9246d266b0b5854db4f1f8beaf47cac80fcf7f0d
Reviewed-on: https://github.com/flang-compiler/f18/pull/641
Commit: 2bc9a1ebed0e1deadbad192822bbe3a6ce212f21
https://github.com/llvm/llvm-project/commit/2bc9a1ebed0e1deadbad192822bbe3a6ce212f21
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/modfile04.f90
M flang/test/semantics/modfile06.f90
M flang/test/semantics/modfile07.f90
A flang/test/semantics/modfile30.f90
Log Message:
-----------
[flang] Write function result to .mod file after dummy args
The function result can depend on the declaration of the dummy
arguments so it should be written to the .mod file after them.
For example:
```
function f(x)
integer :: x(:)
integer :: f(size(x))
end
```
Original-commit: flang-compiler/f18 at f6c8c58c24368ae9f209b2c03637531ed869adeb
Reviewed-on: https://github.com/flang-compiler/f18/pull/650
Tree-same-pre-rewrite: false
Commit: 7fcaf88bf807abc88688f8e3b869f5e188beeafb
https://github.com/llvm/llvm-project/commit/7fcaf88bf807abc88688f8e3b869f5e188beeafb
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/modfile19.f90
M flang/test/semantics/modfile21.f90
M flang/test/semantics/modfile30.f90
Log Message:
-----------
[flang] Fix source location of some symbol names
Symbols can be declared across multiple statements. The CharBlock
that is used for the symbol name is from the first of these.
Sometimes that is not the best choice. If a name appears in a
type-declaration-stmt or a derived-type-stmt, that occurrence is a
better choice. Errors referencing that symbol should normally point
at that name (not its appearance in an earlier PUBLIC statement,
for example).
Also, the order of symbols in .mod files is based on the order of
their names in the cooked source. Here is an example where it is
necessary to sort `a` based on where its type-declaration-stmt
occurs rather than the first occurrence of `a`:
```
public :: a
type t
end type
type(t), parameter :: a = t()
```
The fix is to add `Symbol::ReplaceName()` so that we can update the
CharBlock for a symbol name when a better one is found, without
changing the actual characters that make up the name.
Original-commit: flang-compiler/f18 at 5544f163486df1da80d0e343282afc18ce057672
Reviewed-on: https://github.com/flang-compiler/f18/pull/650
Tree-same-pre-rewrite: false
Commit: 47ca9b8da2cbe4b1ffec0b9cc9c21b948a7913c3
https://github.com/llvm/llvm-project/commit/47ca9b8da2cbe4b1ffec0b9cc9c21b948a7913c3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/test/semantics/modfile20.f90
M flang/test/semantics/modfile30.f90
Log Message:
-----------
[flang] Small .mod file fixes
- Only emit initializations for parameters and derived type components.
- Use `=>` for pointer initializations.
- Don't emit intrinsic symbols.
Original-commit: flang-compiler/f18 at b91748c053a11349f85645c65b870fab222ea135
Reviewed-on: https://github.com/flang-compiler/f18/pull/650
Tree-same-pre-rewrite: false
Commit: d151b5e88b90b03feeb01913928fee9bb5239792
https://github.com/llvm/llvm-project/commit/d151b5e88b90b03feeb01913928fee9bb5239792
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/lib/evaluate/formatting.cc
M flang/test/semantics/modfile22.f90
M flang/test/semantics/modfile28.f90
Log Message:
-----------
[flang] Fix bug writing character array constructor to .mod file
Character literals in an array constructor were always written
with no kind prefix, so if kind was not 1 they were incorrect.
`c4a` in `modfile28.f90` was an example of this.
Change it to always include the kind as is done with non-array
character literals.
Original-commit: flang-compiler/f18 at 4f4caa700639b87503729f69f13d5e0ec0e20583
Reviewed-on: https://github.com/flang-compiler/f18/pull/650
Commit: 3d09841326b1c244394fda63f5dbbab02cb0e752
https://github.com/llvm/llvm-project/commit/3d09841326b1c244394fda63f5dbbab02cb0e752
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#650 from flang-compiler/tsk-modfiles
Fix bugs writing .mod files
Original-commit: flang-compiler/f18 at a7f90a3c77a7e4fe780baedb295967d0bd175f20
Reviewed-on: https://github.com/flang-compiler/f18/pull/650
Commit: 465393f40f364f2b3150ea83bde61cd15681672a
https://github.com/llvm/llvm-project/commit/465393f40f364f2b3150ea83bde61cd15681672a
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Add an entry to the intrinsics table for dimag.
Also, document extensions dconjg and dimag.
Original-commit: flang-compiler/f18 at 21535280ee2c3ed7e0e33b70be3fcd844ab5f541
Reviewed-on: https://github.com/flang-compiler/f18/pull/654
Commit: 9dc7ef171cb85bd3f08db85a1c6187a824e35dca
https://github.com/llvm/llvm-project/commit/9dc7ef171cb85bd3f08db85a1c6187a824e35dca
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#654 from flang-compiler/sjs-dimag
Add an entry to the intrinsics table for dimag.
Original-commit: flang-compiler/f18 at daa2d7537e56341ef60284c60d5a6e3922ddb686
Reviewed-on: https://github.com/flang-compiler/f18/pull/654
Commit: af794f959be600e5373983d87982061ce8b237ae
https://github.com/llvm/llvm-project/commit/af794f959be600e5373983d87982061ce8b237ae
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-12 (Mon, 12 Aug 2019)
Changed paths:
M flang/tools/f18/CMakeLists.txt
A flang/tools/f18/flang.sh
Log Message:
-----------
[flang] Create a throwaway wrapper for the throwaway driver.
Add a script called flang to the bin directory that calls
f18 with the -I option pointing to the module files for the
predefined modules. The wrapper also sets the module suffix
to .fmf to avoid naming conflicts with module files generated
by other compilers. Now, the build creates and installs both
.mod and .fmf files for the predefined module files to
accommodate the flang script.
Original-commit: flang-compiler/f18 at b6c30284e7876f6ccd4bb024bd5f349128e99b7c
Reviewed-on: https://github.com/flang-compiler/f18/pull/653
Tree-same-pre-rewrite: false
Commit: 51fea2427fadcfeb00856cfe528d16ec9b823569
https://github.com/llvm/llvm-project/commit/51fea2427fadcfeb00856cfe528d16ec9b823569
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/tools/f18/CMakeLists.txt
M flang/tools/f18/f18.cc
M flang/tools/f18/flang.sh
Log Message:
-----------
[flang] Change the suffix of the module files to be .f18.mod
so makefiles with "rm *.mod" will still work. Add a
new option to f18, -intrinsic-module-directory, which
supplies a directory in which f18 searches for standard
intrinsic modules. Neither the option nor the path is passed to F18_FC.
Original-commit: flang-compiler/f18 at 0bbda4c39edf170d3c194e4ad16b07e88995e46c
Reviewed-on: https://github.com/flang-compiler/f18/pull/653
Commit: e688b2721014bc2d55a8dd6e8c8c580ccf46179b
https://github.com/llvm/llvm-project/commit/e688b2721014bc2d55a8dd6e8c8c580ccf46179b
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#653 from flang-compiler/sjs-throwaway-wrapper2
Create a throwaway wrapper for the throwaway driver.
Original-commit: flang-compiler/f18 at 5ef563285e431a82a4c21527852a83301f0ed84c
Reviewed-on: https://github.com/flang-compiler/f18/pull/653
Commit: e59305d7ae99a10355bef4e45a5a8351315e4006
https://github.com/llvm/llvm-project/commit/e59305d7ae99a10355bef4e45a5a8351315e4006
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/stmt-parser.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] parse tree changes for Sections/Parallel Sections constructs (flang-compiler/f18#652)
```
!$omp sections [clause[ [,] clause] ... ]
[!$omp section]
structured-block
[!$omp section
structured-block]
...
!$omp end sections [nowait]
```
1. Following parse tree node changes for Block constructs, changing the
Sections/Parallel Sections to `{Begin, Section-Blocks, End}`
2. Handles `!$omp section` in the parser, do not create parse tree node
for this directive because basically it is a delimiter to split the
code into different `Block`s within the Sections/Parallel Sections
constructs. So, the `Section-Blocks` here is a `std::list` of `Block`s.
(thanks to Tim's suggestion)
3. Modify check-omp-structure.* to avoid breaking existing tests
More tests will be added during Semantics. Also, similar to Block constructs,
the `Begin` and `End` directive matching will be done in future PR.
This commit also contains Peter's important fix for allowing "!$OMP END SECTION"
as a legal statement following `Block` (daf5630: Modify execution part error
recovery to not consume !$OMP SECTION).
Original-commit: flang-compiler/f18 at 75d016f6d27e73f5d559fe68d8a01df251c6d8cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/652
Commit: 0653dab8de4d25fdd4dba7719bfebb6d5512cae0
https://github.com/llvm/llvm-project/commit/0653dab8de4d25fdd4dba7719bfebb6d5512cae0
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Add dcmplx to the intrinsic table and extensions documentation.
Formatting change to dimag intrinsic table entry.
Original-commit: flang-compiler/f18 at 7f9237531ca346306ff97ad99e11ea11c7fe0a49
Reviewed-on: https://github.com/flang-compiler/f18/pull/662
Commit: cf2ab3e2d88eb2a6cfbacfda1316c78fdb2c6b2b
https://github.com/llvm/llvm-project/commit/cf2ab3e2d88eb2a6cfbacfda1316c78fdb2c6b2b
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#662 from flang-compiler/sjs-dcmplx
Add dcmplx to the intrinsic table and extensions documentation.
Original-commit: flang-compiler/f18 at 8e0c2dea823c3e41324aabc6b2755d373d51a955
Reviewed-on: https://github.com/flang-compiler/f18/pull/662
Commit: bcaba6e571d0670167d6528198b752ce5d4f12d7
https://github.com/llvm/llvm-project/commit/bcaba6e571d0670167d6528198b752ce5d4f12d7
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/grammar.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/type-parsers.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
Log Message:
-----------
[flang] [OpenMP] parse tree changes for `OpenMPLoopConstruct` (flang-compiler/f18#656)
1. Following Block and Sections constructs, re-structure loop related
constructs into `{Begin, Loop, End}`. Being part of the work in
PR flang-compiler/f18#599, the `Loop` and `End` nodes are optional during parser. They
should be filled in during the phase of `CanonicalizationOfOmp`. This
commit is solely for the parse tree change. So, after this commit,
PR flang-compiler/f18#599 needs to be changed accordingly.
2. Removed parse tree nodes for `END DO` and `END DO SIMD`. Similar to
Block and Sections constructs, `End` node now accepts clauses too,
the validity checks are deferred into Semantics. This is more genernal
and error message could be better.
3. With this commit alone, assertion error would occur when `End` directive
is present, for example `!$OMP END DO` because the `End` node is not
moved into `OpenMPLoopConstruct` yet. Again, PR flang-compiler/f18#599 will handle that.
More tests will be added in PR flang-compiler/f18#599 and during the future Semantics work.
Original-commit: flang-compiler/f18 at 8cd1932fd61fa67f8ad5abfd337cf7a223ea89f4
Reviewed-on: https://github.com/flang-compiler/f18/pull/656
Commit: 7b17a671901e07ed57936380acdfee6cdef50258
https://github.com/llvm/llvm-project/commit/7b17a671901e07ed57936380acdfee6cdef50258
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/module/iso_c_binding.f90
Log Message:
-----------
[flang] Define the named constants for the C characters with
special semantics in the ISO_C_BINDING intrinsic module.
Original-commit: flang-compiler/f18 at bee546fdb22bd0a4f0a287e623fcb69ceafeb976
Reviewed-on: https://github.com/flang-compiler/f18/pull/660
Tree-same-pre-rewrite: false
Commit: da480fc6ce17748ddb5e8e6b2f1a0f7f6550a327
https://github.com/llvm/llvm-project/commit/da480fc6ce17748ddb5e8e6b2f1a0f7f6550a327
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
M flang/module/iso_c_binding.f90
Log Message:
-----------
[flang] Use ACHAR() instead of the nonstandard backslash escape sequences.
Original-commit: flang-compiler/f18 at 103ed895fe27ae0f4503a4cf379132392dc14788
Reviewed-on: https://github.com/flang-compiler/f18/pull/660
Commit: ef72ee7f76e7b88b8c1845390aae09a447fd0c28
https://github.com/llvm/llvm-project/commit/ef72ee7f76e7b88b8c1845390aae09a447fd0c28
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-15 (Thu, 15 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#660 from flang-compiler/sjs-c-chars
Define the named constants for the C characters with special semantics
Original-commit: flang-compiler/f18 at 9c4ce244ad0447b923964431cf3b9f772fa03af0
Reviewed-on: https://github.com/flang-compiler/f18/pull/660
Commit: 069ea6ec751ded3cab1f800f364fbd01aacb8a79
https://github.com/llvm/llvm-project/commit/069ea6ec751ded3cab1f800f364fbd01aacb8a79
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix IMPLICIT issue 547
So far, in `ImplicitRules` class, `isImplicitNoneType_` is a ternary
unset -> nothing about implicit in this scope, look into parents
set true -> There is an IMPLICIT NONE for types in this scope.
set to false -> There is an IMPLICIT statement mapping types in
this false.
However, it was never set to false, so the IMPORT NONE of parent scopes
was "leaking" when it should not.
Set `isImplicitNoneType_` to false if an IMPLICIT statement is met to
fix the issue.
However, this change made the current name-resolution to then completly
disregard parent scope IMPLICIT NONE even for letters for which no
mapping were defined in the current scope. To fix this `GetType` was
modified to check for implicit none.
This led to `ApplyImplicitRules` to do redudant check, so it was
reorganised to querry for a type and complain if gets a nuulptr.
`GetImplicitType` was modified to avoid redundant error message.
Original-commit: flang-compiler/f18 at 962dbf3d8be5dc1a6780544bf1be5a803b6d7724
Reviewed-on: https://github.com/flang-compiler/f18/pull/635
Tree-same-pre-rewrite: false
Commit: 0818c5396667ff20e48992457dc4e8d24c55904f
https://github.com/llvm/llvm-project/commit/0818c5396667ff20e48992457dc4e8d24c55904f
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-08 (Thu, 08 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve04.f90
Log Message:
-----------
[flang] Transform implict none ternaries to bool in `ImplicitRules`
Original-commit: flang-compiler/f18 at 324567bd2de6722d5e370f5c7ddc46b28762e945
Reviewed-on: https://github.com/flang-compiler/f18/pull/635
Tree-same-pre-rewrite: false
Commit: 16b8b4cf78b6577a24e9e2598995d0e964491e69
https://github.com/llvm/llvm-project/commit/16b8b4cf78b6577a24e9e2598995d0e964491e69
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-14 (Wed, 14 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Address review comments
Rename SetType to SetTypeMapping and change argumnet names.
Style changes.
Original-commit: flang-compiler/f18 at 3860097815fd4e20c8c81f809c9891e163678c6a
Reviewed-on: https://github.com/flang-compiler/f18/pull/635
Commit: 146946d253028016ccf8f3bbf48bcd1cb0b0286c
https://github.com/llvm/llvm-project/commit/146946d253028016ccf8f3bbf48bcd1cb0b0286c
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#635 from flang-compiler/jpr-fix-547
Fix IMPLICIT issue 547
Original-commit: flang-compiler/f18 at f4f31f179bb1aad1ea0ea669949e202a32b2d65f
Reviewed-on: https://github.com/flang-compiler/f18/pull/635
Commit: 73632f5c36865a14ec7a619c043c74f5dd91fa03
https://github.com/llvm/llvm-project/commit/73632f5c36865a14ec7a619c043c74f5dd91fa03
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
M flang/CMakeLists.txt
M flang/lib/common/enum-set.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/preprocessor.cc
M flang/lib/parser/unparse.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Enable some new warnings, clean up some of their consequences
Original-commit: flang-compiler/f18 at b82d1e9ac90723406ae93c15061d1ee8326468ce
Reviewed-on: https://github.com/flang-compiler/f18/pull/666
Tree-same-pre-rewrite: false
Commit: e8c453f4ae0755c9fad20478e1fd294942dc3978
https://github.com/llvm/llvm-project/commit/e8c453f4ae0755c9fad20478e1fd294942dc3978
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
M flang/lib/evaluate/common.h
M flang/lib/evaluate/intrinsics-library-templates.h
M flang/lib/evaluate/intrinsics-library.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/type.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/lib/semantics/tools.cc
M flang/test/evaluate/ISO-Fortran-binding.cc
Log Message:
-----------
[flang] Clean up all newly enabled warnings
Original-commit: flang-compiler/f18 at 34a917c761541d7325156baafab47966264f2a3c
Reviewed-on: https://github.com/flang-compiler/f18/pull/666
Tree-same-pre-rewrite: false
Commit: 10688e0903d490faadf67e37d66c1d7ccd7a0832
https://github.com/llvm/llvm-project/commit/10688e0903d490faadf67e37d66c1d7ccd7a0832
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
M flang/CMakeLists.txt
M flang/lib/evaluate/descender.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/int-power.h
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/real.h
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/tools.cc
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/tools.cc
M flang/lib/parser/unparse.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-deallocate.cc
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/program-tree.cc
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/tools.cc
M flang/test/evaluate/real.cc
Log Message:
-----------
[flang] Enable more warnings, deal with fallout
Original-commit: flang-compiler/f18 at 65c5b485afe521dab57c35991c96826612ef1d79
Reviewed-on: https://github.com/flang-compiler/f18/pull/666
Tree-same-pre-rewrite: false
Commit: 7749d43f3f72b656fe57fab6a4cea84bcab17dd0
https://github.com/llvm/llvm-project/commit/7749d43f3f72b656fe57fab6a4cea84bcab17dd0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
M flang/CMakeLists.txt
M flang/lib/common/format.h
M flang/test/evaluate/fp-testing.cc
M flang/test/evaluate/real.cc
Log Message:
-----------
[flang] Another pass with clean builds
Original-commit: flang-compiler/f18 at e05dc1f4440fc42f0264f50cc01b4eb072d4c10f
Reviewed-on: https://github.com/flang-compiler/f18/pull/666
Commit: 43cfeb75b3e598c14ae7bbb9ae5c281bd9c49fa1
https://github.com/llvm/llvm-project/commit/43cfeb75b3e598c14ae7bbb9ae5c281bd9c49fa1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#666 from flang-compiler/pmk-warnings
Fix bug flang-compiler/f18#665, enable more warnings, deal with fallout
Original-commit: flang-compiler/f18 at 5762c2d88bd6844895bccf1226fd6301721a98c0
Reviewed-on: https://github.com/flang-compiler/f18/pull/666
Commit: ff768d92dd68426385db1623ba2c336803c25ede
https://github.com/llvm/llvm-project/commit/ff768d92dd68426385db1623ba2c336803c25ede
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-13 (Tue, 13 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/symbol05.f90
Log Message:
-----------
[flang] Special handling for VOLATILE and ASYNCHRONOUS
The VOLATILE and ASYNCHRONOUS attributes are special in two ways:
- they can be applied to use-associated variables
- if they are applied to a host-associated variable in a block, that
variable has the attribute only within the scope of the block
The latter is implemented by making a new `HostAssocDetails` symbol
within the block where the attribute can be set without affecting the
variable in the outer scope. This is similar to how the SHARED locality
spec is implemented.
Fixes flang-compiler/f18#649.
Original-commit: flang-compiler/f18 at 471aba451341a65ff6014bbe30cb2c64cf905da6
Reviewed-on: https://github.com/flang-compiler/f18/pull/655
Commit: fdf85d5dbe4414169d868bfed4621ffc83e3656b
https://github.com/llvm/llvm-project/commit/fdf85d5dbe4414169d868bfed4621ffc83e3656b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#655 from flang-compiler/tsk-issue649
Special handling for VOLATILE and ASYNCHRONOUS
Original-commit: flang-compiler/f18 at 75a57c59d244303844291f990f9487a69f290b73
Reviewed-on: https://github.com/flang-compiler/f18/pull/655
Commit: 39be4ad473382b185571ba484d70b26315fa7401
https://github.com/llvm/llvm-project/commit/39be4ad473382b185571ba484d70b26315fa7401
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-declarative-directive.f90
Log Message:
-----------
[flang] [OpenMP] parse tree fix for `Declare Target` (flang-compiler/f18#670)
The original implementation will throw parsing error for multiple
clauses on `declare target` directive, for example:
```
!$omp declare target to(Q) link(R)
```
Based on the OpenMP Spec, we only need two types for the specifier:
```
!$omp declare target (extended-list)
```
or
```
!$omp declare target [clause[ [,] clause] ... ]
```
This fix makes `declare target` accepts either the `list` or `clauses`,
which is more general and better for error messages.
Adjusted existing test for checking the parse tree changes. More tests
will be added during Semantics.
Original-commit: flang-compiler/f18 at 60f47fc1a15803001d9251d8d8e3c53cf979ccc6
Reviewed-on: https://github.com/flang-compiler/f18/pull/670
Commit: ca5fee537573179941eddea7e6c15856d5946005
https://github.com/llvm/llvm-project/commit/ca5fee537573179941eddea7e6c15856d5946005
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-declarative-directive.f90
Log Message:
-----------
[flang] [OpenMP] miscellaneous parse tree fix (flang-compiler/f18#669)
Fix `aligned(argument-list[ : alignment])` for `declare simd`
(original implementation will throw parser error if `: alignment` is present.
Original-commit: flang-compiler/f18 at f3f50f9ad3b77174d0054011a17c8e4d3af50d98
Reviewed-on: https://github.com/flang-compiler/f18/pull/669
Commit: d8c4f96f1427831fc794c420204aa163f0bf6033
https://github.com/llvm/llvm-project/commit/d8c4f96f1427831fc794c420204aa163f0bf6033
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
Log Message:
-----------
[flang] Clean-up of check-do.cc
I got rid of duplicate functions that test for a procedure being PURE, renamed
the type SymbolContainer to SymbolSet, and moved some functions into the class
where they're referenced.
Original-commit: flang-compiler/f18 at e48bfdf5737d102b2fa8faedb0f002faf5f30a7e
Reviewed-on: https://github.com/flang-compiler/f18/pull/663
Tree-same-pre-rewrite: false
Commit: 6b8a1e8248b7069975554efe47a41e0f8a9f307f
https://github.com/llvm/llvm-project/commit/6b8a1e8248b7069975554efe47a41e0f8a9f307f
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/dosemantics04.f90
A flang/test/semantics/dosemantics09.f90
Log Message:
-----------
[flang] Changes to implement constraint C1129
"C1129 A variable that is referenced by the scalar-mask-expr of a concurrent-header or by any concurrent-limit or concurrent-step in that concurrent-header shall not appear in a LOCAL locality-spec in the same DO CONCURRENT statement."
In the process of implementing these checks, I found and fixed some other problems. I also cleaned up some of the code in check-do.cc. I ran into two notable difficulties in implementing these checks. First, the symbols associated with the names in a locality spec get created when the locality specs are process during name resolution. Thus, they're different from the symbols associated with names that appear in the control expressions. At Tim's suggestion, I dealt with this by looking up the symbols from the names in the locality spec starting with the closest enclosing scope containing the DO construct. Second, the symbols can be hidden behind host- use- and construct-associations.
Original-commit: flang-compiler/f18 at 055788c2f0604c5bd37637732aec863f8e3aebf2
Reviewed-on: https://github.com/flang-compiler/f18/pull/663
Tree-same-pre-rewrite: false
Commit: d440b2e166b941f317d3211cbe96e82c27c36ec2
https://github.com/llvm/llvm-project/commit/d440b2e166b941f317d3211cbe96e82c27c36ec2
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/test/semantics/dosemantics04.f90
M flang/test/semantics/dosemantics09.f90
Log Message:
-----------
[flang] Responses to comments on the pull request:
- I removed the redundant test s3() from dosemantics90.f90
- I changed the error messages to state "LOCAL locality-spec" rather than just
"locality-spec"
- I changed the names of a couple of variables/parameters in check-do.cc to
make the code more understandable.
Original-commit: flang-compiler/f18 at bcc6291e8370d97cb3d4c23a30e676bf3a0012ab
Reviewed-on: https://github.com/flang-compiler/f18/pull/663
Commit: d06c8f8ee42ecc1b2076ff8ad338be3bef694b75
https://github.com/llvm/llvm-project/commit/d06c8f8ee42ecc1b2076ff8ad338be3bef694b75
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#663 from flang-compiler/ps-c1129
Checks for constraint C1129
Original-commit: flang-compiler/f18 at f724efb6836a404ef83b9ce240dfddfc1066cb2e
Reviewed-on: https://github.com/flang-compiler/f18/pull/663
Commit: 9325f9974ab9612bd44c53ee62894a0072dd7997
https://github.com/llvm/llvm-project/commit/9325f9974ab9612bd44c53ee62894a0072dd7997
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
A flang/include/fir/FIROps.td
Log Message:
-----------
[flang] Add mlir-tablegen for FIR ops
Original-commit: flang-compiler/f18 at aae4b525dab5192ab7bc2d9004014025cfd9c64f
Reviewed-on: https://github.com/flang-compiler/f18/pull/668
Tree-same-pre-rewrite: false
Commit: 7f2ce553e4b8a5a3b86e0e15166fb523849d8e00
https://github.com/llvm/llvm-project/commit/7f2ce553e4b8a5a3b86e0e15166fb523849d8e00
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-08-16 (Fri, 16 Aug 2019)
Changed paths:
A flang/include/fir/Dialect.h
Log Message:
-----------
[flang] Add FIR dialect header
Original-commit: flang-compiler/f18 at 3c902e04d7db782ffecdbee937b4b9e3b35b5551
Reviewed-on: https://github.com/flang-compiler/f18/pull/668
Commit: be2ab4b3a25c097188d05bd950b0c2635e6197e4
https://github.com/llvm/llvm-project/commit/be2ab4b3a25c097188d05bd950b0c2635e6197e4
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#668 from schweitzpgi/master
Add mlir-tablegen for FIR ops
Original-commit: flang-compiler/f18 at f6eec72eead759713287dddc124fea375c4f65db
Reviewed-on: https://github.com/flang-compiler/f18/pull/668
Commit: ccb0b48805233d0d941c2414916b01d37b273ab9
https://github.com/llvm/llvm-project/commit/ccb0b48805233d0d941c2414916b01d37b273ab9
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-20 (Tue, 20 Aug 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Handle AssocEntityDetails in mis-parsed function reference
Fix issue flang-compiler/f18#574.
Array references can be mistaken for function references during
parsing. This is handled and fixed by semantics. however, if the
symbol in the misparsed array reference was construct associated,
then semantics was not handling the case correctly because
semantics was only expecting `ObjectEntityDetails`.
It was not possible to change the related `GetUltimate` into
`GetAssociationRoot` because associated symbols are not always
associated to another symbol (variable) but may be assoicated to
an expression. Hence, this change allow `AssocEntityDetails` to
be also accepted when dealing with array references misparsed as
function references.
Original-commit: flang-compiler/f18 at b6a8b5f42bdb40d65f4c242a3673bc436a2d0601
Reviewed-on: https://github.com/flang-compiler/f18/pull/672
Tree-same-pre-rewrite: false
Commit: 1bb0e9e3626e9b1b00eff8a0981926f7612e14e3
https://github.com/llvm/llvm-project/commit/1bb0e9e3626e9b1b00eff8a0981926f7612e14e3
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve39.f90
Log Message:
-----------
[flang] Add comments and tests for issue 574 fix
Original-commit: flang-compiler/f18 at 89337cefc7f22944ab53347f97261cb6038a628f
Reviewed-on: https://github.com/flang-compiler/f18/pull/672
Commit: f8f98c2cdee7ba9c4878a7891e2bc2de8d958189
https://github.com/llvm/llvm-project/commit/f8f98c2cdee7ba9c4878a7891e2bc2de8d958189
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-22 (Thu, 22 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#672 from flang-compiler/jpr-fix-574
Handle AssocEntityDetails in mis-parsed function reference
Original-commit: flang-compiler/f18 at 0006272bbd79f1d4073d52516e0672911108138a
Reviewed-on: https://github.com/flang-compiler/f18/pull/672
Commit: 5330ebbc4a8ccb08057903efb6cf1de72df37f32
https://github.com/llvm/llvm-project/commit/5330ebbc4a8ccb08057903efb6cf1de72df37f32
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-22 (Thu, 22 Aug 2019)
Changed paths:
M flang/lib/parser/unparse.cc
M flang/lib/semantics/CMakeLists.txt
A flang/lib/semantics/canonicalize-omp.cc
A flang/lib/semantics/canonicalize-omp.h
M flang/lib/semantics/semantics.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/omp-loop-association.f90
Log Message:
-----------
[flang] [OpenMP] Canonicalization framework (flang-compiler/f18#599)
* [OpenMP] Canonicalization framework
This is mainly designed for loop association work but can be used for others,
and `CanonicalizeOmp` must be after `CanonicalizeDo`.
At the `Block` level, recognize legal sequence of `OpenMPLoopConstruct`,
`DoConstruct`, and `OmpEndLoopDirective`. Move available `DoConstruct`
and optional `OmpEndLoopDirective` into `OpenMPLoopConstruct`. Throw error
messages if:
1. `DoConstruct` is not following `OpenMPLoopConstruct`
2. `OmpEndLoopDirective` is not following associated do-loop
Once this pass this done, Semantics will not proceed if error exists.
* Update on reviews
1. extract matching and move part into its own function (once `DoConstruct`
is moved, see whether `OpenMPEndLoopDirective` is available)
2. Use a template function to access construct from ExecutionPartConstruct.
3. Move this code into namespace semantics
Original-commit: flang-compiler/f18 at 52979f1e93f40c31e04118067403a258555d139a
Reviewed-on: https://github.com/flang-compiler/f18/pull/599
Commit: f2453c9f15b966a40c16192568956db87c5281a6
https://github.com/llvm/llvm-project/commit/f2453c9f15b966a40c16192568956db87c5281a6
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.h
M flang/test/semantics/resolve28.f90
Log Message:
-----------
[flang] Fix a crash with IMPORT in BLOCK (issue 604)
Only call scope.name() if the scope has a symbol (Block, Global,
Forall and ImpliedDo kind of scopes do not have a symbol).
Original-commit: flang-compiler/f18 at 81c6b67dd2cbb926aba967d9ce2b8973355ca737
Reviewed-on: https://github.com/flang-compiler/f18/pull/634
Tree-same-pre-rewrite: false
Commit: 5cc20f6ae82e38b70a9f9866e9e484349411e954
https://github.com/llvm/llvm-project/commit/5cc20f6ae82e38b70a9f9866e9e484349411e954
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M flang/test/semantics/resolve28.f90
Log Message:
-----------
[flang] Fix test copyright year.
Original-commit: flang-compiler/f18 at 25819aaf7aa483bd86e5ede227a19efb6f67265e
Reviewed-on: https://github.com/flang-compiler/f18/pull/634
Tree-same-pre-rewrite: false
Commit: 281d41cc109866218701dd5b4fb41ee3a8a4965e
https://github.com/llvm/llvm-project/commit/281d41cc109866218701dd5b4fb41ee3a8a4965e
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names-utils.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/lib/semantics/symbol.h
M flang/lib/semantics/unparse-with-symbols.cc
Log Message:
-----------
[flang] Use value semantic for SourceName
Change all SourceName* to std::optional<SourceName> because
SourceName is small enough (16 bytes) to be passed and stored
by value which avoid having to worry about life-time, storage and
value constance issues that comes with pointers.
Original-commit: flang-compiler/f18 at 73fc08d7bd956b1b793f8930164f9b4ebb7e279c
Reviewed-on: https://github.com/flang-compiler/f18/pull/634
Tree-same-pre-rewrite: false
Commit: 52e72abb673bf1408f17d398d262f5fdbd63a019
https://github.com/llvm/llvm-project/commit/52e72abb673bf1408f17d398d262f5fdbd63a019
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] Change Scope::name() to Scope::GetName()
Address comments. Not all scopes are related to
a name. This change makes this more visible to compiler
programers by changing `scope:name()` into `Scope::GetName()`
that returns an optional `SourceName` instead of always
returning a `SourceName` and dying when it cannot.
Original-commit: flang-compiler/f18 at 0addb79919f69a6530b0919356a24e68f21507c1
Reviewed-on: https://github.com/flang-compiler/f18/pull/634
Tree-same-pre-rewrite: false
Commit: 511cd36a584e8e6a15ecd47246663877a09fc826
https://github.com/llvm/llvm-project/commit/511cd36a584e8e6a15ecd47246663877a09fc826
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-22 (Thu, 22 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
Log Message:
-----------
[flang] Address comment: remove useless const
Original-commit: flang-compiler/f18 at 60983f502103575999a91bf62cd0c78aded85837
Reviewed-on: https://github.com/flang-compiler/f18/pull/634
Commit: 4308351c3795f6850e89a14e188f675eda31457c
https://github.com/llvm/llvm-project/commit/4308351c3795f6850e89a14e188f675eda31457c
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#634 from flang-compiler/jpr-fix-604
Fix a crash with IMPORT in BLOCK (issue 604)
Original-commit: flang-compiler/f18 at c0ab1d1ace3b9c27c35f7604470f66b4e6c42cf7
Reviewed-on: https://github.com/flang-compiler/f18/pull/634
Commit: 20eaba0392e9d8f79853e4933e8b68d05df9e9b1
https://github.com/llvm/llvm-project/commit/20eaba0392e9d8f79853e4933e8b68d05df9e9b1
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] [OpenMP] miscellaneous parse tree updates (flang-compiler/f18#673)
1. Big chunk: update comments in parse-tree.h and openmp-grammar.h
with Spec chapter/section info, simple explanation, or productions.
2. Update `To`, `Link`, and `From` clauses with `OmpObjectList` to allow
`/Common Block/`. Spec does not mention whether `Common Block name`
should be accepted or not, so we should assume that these clauses
accept normal `list-item`, which is `Variable`, `Array Section`, or
`Common Block name`.
Original-commit: flang-compiler/f18 at 140315cb62da295f6306c2afc737041fa1626dff
Reviewed-on: https://github.com/flang-compiler/f18/pull/673
Commit: abd56ee7fd06a4075c0dd66bb99c5ce441752c11
https://github.com/llvm/llvm-project/commit/abd56ee7fd06a4075c0dd66bb99c5ce441752c11
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/test/semantics/modfile07.f90
Log Message:
-----------
[flang] Fix writing defined operators to .mod files
When defined operators were written to .mod files in USE statement
they did not come out correctly. They have to be emitted with
`PutGenericName()` so that `operator` is included.
Original-commit: flang-compiler/f18 at d40e65a2f9c176f5334adb8132ef65273cf3615f
Reviewed-on: https://github.com/flang-compiler/f18/pull/675
Tree-same-pre-rewrite: false
Commit: 191a5e34b0678bdb587d39658beb9432ef97c969
https://github.com/llvm/llvm-project/commit/191a5e34b0678bdb587d39658beb9432ef97c969
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/test/semantics/modfile01.f90
Log Message:
-----------
[flang] Fix bug in .mod file for some subprogram attributes
Some attributes for subprograms can be in the subprogram prefix but
others cannot. For the latter, emit a separate attribute statement
to specify them. We were already doing that for PRIVATE but not for
OPTIONAL. Those may be the only two attributes this can apply to.
Fixes flang-compiler/f18#659.
Original-commit: flang-compiler/f18 at ae67e087800c5aecb8cb2d2aea16d19b8cc8ccf2
Reviewed-on: https://github.com/flang-compiler/f18/pull/675
Tree-same-pre-rewrite: false
Commit: 5e65aaa921f18cb3d9ff3ac11dc0a568f5e3d10e
https://github.com/llvm/llvm-project/commit/5e65aaa921f18cb3d9ff3ac11dc0a568f5e3d10e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/test/semantics/modfile23.f90
Log Message:
-----------
[flang] Fix .mod file bug with IMPORT of USEd name
If a symbol (derived type, for example) was use-associated into a scope
and then imported into a nested interface block, we were not including
the correct IMPORT statement in the .mod file.
This fixes refines the test for when the IMPORT is needed.
Fixes flang-compiler/f18#657.
Original-commit: flang-compiler/f18 at 8383de47ecb1b6901e2dd6f290df28fe8a470908
Reviewed-on: https://github.com/flang-compiler/f18/pull/675
Tree-same-pre-rewrite: false
Commit: a03a0432f3f236755290d0c6925bb4f627dddd5c
https://github.com/llvm/llvm-project/commit/a03a0432f3f236755290d0c6925bb4f627dddd5c
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/semantics/attr.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Add conversions from EnumSet<Attr> to Attrs
This allows operations from EnumSet (e.g. `operator&`) to work as expected.
Original-commit: flang-compiler/f18 at c8b8b742c8cbc675c5e60e8c96533ef36bbbb448
Reviewed-on: https://github.com/flang-compiler/f18/pull/675
Commit: d1dcd76d146c3faf2d2ce218de7b713d6fc6d387
https://github.com/llvm/llvm-project/commit/d1dcd76d146c3faf2d2ce218de7b713d6fc6d387
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#675 from flang-compiler/tsk-modfiles2
Fix bugs in .mod file generation
Original-commit: flang-compiler/f18 at 5de0847a64194cc371f62d91d18c2d054c4985c5
Reviewed-on: https://github.com/flang-compiler/f18/pull/675
Commit: f2cb0a8015ed672fcd27569a5463f1303f2e163f
https://github.com/llvm/llvm-project/commit/f2cb0a8015ed672fcd27569a5463f1303f2e163f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
A flang/lib/common/leading-zero-bit-count.h
M flang/lib/evaluate/decimal.cc
M flang/lib/evaluate/decimal.h
M flang/lib/evaluate/integer.h
R flang/lib/evaluate/leading-zero-bit-count.h
M flang/test/evaluate/leading-zero-bit-count.cc
Log Message:
-----------
[flang] Move leading zero bit count into lib/common
Original-commit: flang-compiler/f18 at 1ed184febe6ed4c232d140c69be7d6d1a458aac5
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 9e26defed37507a39400ac1cff28d93d82c1ae78
https://github.com/llvm/llvm-project/commit/9e26defed37507a39400ac1cff28d93d82c1ae78
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/CMakeLists.txt
M flang/lib/common/bit-population-count.h
M flang/lib/common/leading-zero-bit-count.h
A flang/lib/decimal/CMakeLists.txt
A flang/lib/decimal/big-radix-floating-point.h
A flang/lib/decimal/binary-floating-point.h
A flang/lib/decimal/binary-to-decimal.cc
A flang/lib/decimal/decimal-to-binary.cc
A flang/lib/decimal/decimal.h
Log Message:
-----------
[flang] Code snapshot
Original-commit: flang-compiler/f18 at 46923344ca8364685c09eb14935382d8989fa0ff
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: b53e09c44c51b9f9f5cb70482347ad203028521d
https://github.com/llvm/llvm-project/commit/b53e09c44c51b9f9f5cb70482347ad203028521d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
Log Message:
-----------
[flang] Add rounding modes
Original-commit: flang-compiler/f18 at 9caa1a29a5b8129af087ed55da147b15dc16cde3
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 93f3ae8aebd818abeeb7c07c858f5ecf6b57b0bf
https://github.com/llvm/llvm-project/commit/93f3ae8aebd818abeeb7c07c858f5ecf6b57b0bf
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
Log Message:
-----------
[flang] Enforce digit limits
Original-commit: flang-compiler/f18 at 33600e127dd8ed747d10063d55d8b1eb99bb999b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 9cdb101a4d1cf835e528400164861ec3932de169
https://github.com/llvm/llvm-project/commit/9cdb101a4d1cf835e528400164861ec3932de169
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
Log Message:
-----------
[flang] clean up a todo
Original-commit: flang-compiler/f18 at 1107bd1f02a978900cc005e72ec2acfe80c198db
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: afda616c31a66032d61890a251acdce980f8b9ff
https://github.com/llvm/llvm-project/commit/afda616c31a66032d61890a251acdce980f8b9ff
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
M flang/test/CMakeLists.txt
A flang/test/decimal/CMakeLists.txt
A flang/test/decimal/quick-sanity-test.cc
Log Message:
-----------
[flang] Begin adding tests
Original-commit: flang-compiler/f18 at 8776d8b66334f8ba0886d074217f0c17cb6aa02b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 3863551b31ca66fe4ce2d81e539e6c4e6f7ca1c6
https://github.com/llvm/llvm-project/commit/3863551b31ca66fe4ce2d81e539e6c4e6f7ca1c6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/CMakeLists.txt
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/test/decimal/quick-sanity-test.cc
M flang/test/evaluate/leading-zero-bit-count.cc
Log Message:
-----------
[flang] Testing & debugging
Original-commit: flang-compiler/f18 at f7f933e7f56375c8fe766bf2527472fefca73ad1
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 77b3c6d53a5a514b4dd4f32162650913007f70e6
https://github.com/llvm/llvm-project/commit/77b3c6d53a5a514b4dd4f32162650913007f70e6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/test/decimal/CMakeLists.txt
M flang/test/decimal/quick-sanity-test.cc
A flang/test/decimal/thorough-test.cc
Log Message:
-----------
[flang] More testing, added thorough 32-bit sweep test
Original-commit: flang-compiler/f18 at f81b92f91c62822887f12be7fb68d5da816eef47
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 099838a34d4cdda4c1d096ed624503d06c260c5a
https://github.com/llvm/llvm-project/commit/099838a34d4cdda4c1d096ed624503d06c260c5a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/test/decimal/thorough-test.cc
Log Message:
-----------
[flang] Debug test
Original-commit: flang-compiler/f18 at bf2c22bcf494a63cacb7dffcb4e7b209bdc8522c
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 95165a39218f5251b83340e8c8b86c1648f684ae
https://github.com/llvm/llvm-project/commit/95165a39218f5251b83340e8c8b86c1648f684ae
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
M flang/lib/evaluate/CMakeLists.txt
R flang/lib/evaluate/decimal.cc
R flang/lib/evaluate/decimal.h
M flang/lib/evaluate/real.cc
M flang/test/decimal/quick-sanity-test.cc
M flang/test/decimal/thorough-test.cc
M flang/test/evaluate/CMakeLists.txt
M flang/test/evaluate/real.cc
M flang/test/evaluate/testing.cc
M flang/test/evaluate/testing.h
Log Message:
-----------
[flang] Replace usage of original decimal conversion code with calls to new library
Original-commit: flang-compiler/f18 at 7a164451f2b6c920b229a6a666161dd2f936653b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: d08c9c9d1d9e38a7cea73a6334b15f2ebcfeff38
https://github.com/llvm/llvm-project/commit/d08c9c9d1d9e38a7cea73a6334b15f2ebcfeff38
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/test/decimal/thorough-test.cc
Log Message:
-----------
[flang] Make thorough test thorough again
Original-commit: flang-compiler/f18 at c24b10e4347234f6f1a9f127abf0d47f2b954204
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 94d8b3f25be6c71da577bb3de4d4e3b666b489b6
https://github.com/llvm/llvm-project/commit/94d8b3f25be6c71da577bb3de4d4e3b666b489b6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/evaluate/real.cc
Log Message:
-----------
[flang] Simplify decimal->binary
Original-commit: flang-compiler/f18 at 01aefbbd7ab91588368f25179749806612ce3fb4
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: c4696eaf8e5bb916f3bf8a04423aa86a74d9fa02
https://github.com/llvm/llvm-project/commit/c4696eaf8e5bb916f3bf8a04423aa86a74d9fa02
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/decimal-to-binary.cc
M flang/test/decimal/quick-sanity-test.cc
M flang/test/decimal/thorough-test.cc
Log Message:
-----------
[flang] Get clean build with gcc
Original-commit: flang-compiler/f18 at e6b5ed152dc318939011597d073bd268465a44f3
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: b235c63cafe1205e1825d1abc70df0b14f3dcf35
https://github.com/llvm/llvm-project/commit/b235c63cafe1205e1825d1abc70df0b14f3dcf35
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
Log Message:
-----------
[flang] faster Parse
Original-commit: flang-compiler/f18 at ca97439c6847848bc3f8a52757a73cc3a425e8bb
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 64a0a58bed55063fb311da8c47adcd58f0334563
https://github.com/llvm/llvm-project/commit/64a0a58bed55063fb311da8c47adcd58f0334563
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
A flang/lib/decimal/int-divide-workaround.h
Log Message:
-----------
[flang] Work around slow clang-7
Original-commit: flang-compiler/f18 at ed634d72e3d51d56010ef5aedef614f3cda6e076
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 3f15d46f63c8fca7175e01e5e2e8c9a6f1df500c
https://github.com/llvm/llvm-project/commit/3f15d46f63c8fca7175e01e5e2e8c9a6f1df500c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/decimal-to-binary.cc
Log Message:
-----------
[flang] Simplify guard bits (only use 3)
Original-commit: flang-compiler/f18 at b710268c1b323c1ce29959eff01d020d5a32283b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: b5408d26ed981e79af84dfc6c7cbc68c91915969
https://github.com/llvm/llvm-project/commit/b5408d26ed981e79af84dfc6c7cbc68c91915969
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/int-divide-workaround.h
Log Message:
-----------
[flang] Clean up some static_casts
Original-commit: flang-compiler/f18 at a5f81388a269e174ee73781c1ed748d992df3dca
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 28d55be08bd66ca52d3df1867fa3f5fb289da4f2
https://github.com/llvm/llvm-project/commit/28d55be08bd66ca52d3df1867fa3f5fb289da4f2
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/common/bit-population-count.h
A flang/lib/common/unsigned-const-division.h
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
R flang/lib/decimal/int-divide-workaround.h
M flang/test/decimal/thorough-test.cc
Log Message:
-----------
[flang] Better unsigned division by constants
Original-commit: flang-compiler/f18 at 1b35c24a8aa37f06b7d5ce8b1af636bf15ac979b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: bd3debe8415f83577f634e11c4838fd4991b835b
https://github.com/llvm/llvm-project/commit/bd3debe8415f83577f634e11c4838fd4991b835b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/test/decimal/thorough-test.cc
Log Message:
-----------
[flang] Reenable thorough test
Original-commit: flang-compiler/f18 at 431254483e41ecbd667d465d853e46b91ad4ba9b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 474c43a0759a9deefc085b0cfa7c63cbbed9ccbf
https://github.com/llvm/llvm-project/commit/474c43a0759a9deefc085b0cfa7c63cbbed9ccbf
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
Log Message:
-----------
[flang] Correct header guards
Original-commit: flang-compiler/f18 at 77688d03926bf256846f2fb79999506f7bfd89b3
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 1502542fe7a487627f0224d647bea719b0a8b031
https://github.com/llvm/llvm-project/commit/1502542fe7a487627f0224d647bea719b0a8b031
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/CMakeLists.txt
Log Message:
-----------
[flang] Fix copyright date on new file.
Original-commit: flang-compiler/f18 at 60b1be7ce29ff1c2b6365d44d755c7f33b616313
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: b4f34801c60b56b5161d7c38bebf33f69a74e86a
https://github.com/llvm/llvm-project/commit/b4f34801c60b56b5161d7c38bebf33f69a74e86a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
Log Message:
-----------
[flang] Improve comments, clean up a couple of things
Original-commit: flang-compiler/f18 at 8d94d643b64cef9f17eb58cf1095bdec20493965
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 79e8749f2596e2090d739ec78a14b253f70984e4
https://github.com/llvm/llvm-project/commit/79e8749f2596e2090d739ec78a14b253f70984e4
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
M flang/lib/evaluate/real.cc
M flang/test/evaluate/testing.cc
Log Message:
-----------
[flang] Address comments, fix a bug
Original-commit: flang-compiler/f18 at e095bbb23f4e37fe37a1ead03e29f8786c4f9b36
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 787b9978308ab561142b7ec8ae5760690e5b6370
https://github.com/llvm/llvm-project/commit/787b9978308ab561142b7ec8ae5760690e5b6370
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/decimal.h
M flang/lib/evaluate/real.cc
Log Message:
-----------
[flang] Address most review comments
Original-commit: flang-compiler/f18 at e6164782eac607d376eac59baa9107c971c92c19
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: b7d463f1d552c59fee9cf5b16eab676116a50716
https://github.com/llvm/llvm-project/commit/b7d463f1d552c59fee9cf5b16eab676116a50716
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/evaluate/real.h
Log Message:
-----------
[flang] Cope better with ridiculously large exponents on input
Original-commit: flang-compiler/f18 at e55cc39bad40f6419aadf26101dc6e9c3ed3fda9
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Commit: 9717cc43b82b68cb20cdee8a69741788ce46d493
https://github.com/llvm/llvm-project/commit/9717cc43b82b68cb20cdee8a69741788ce46d493
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/real.h
M flang/test/evaluate/real.cc
Log Message:
-----------
[flang] Make it easier to enable minimal FP output by default for module files (but do not enable it)
Original-commit: flang-compiler/f18 at f6b640319b33008375ca719a88fd0580bcf90bba
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Commit: 61814dbf1d2baa16b8cb2920fe79e6015f16a7e5
https://github.com/llvm/llvm-project/commit/61814dbf1d2baa16b8cb2920fe79e6015f16a7e5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#671 from flang-compiler/pmk-decimal
Better binary<->decimal floating-point conversion
Original-commit: flang-compiler/f18 at 5e93f2c602607c70bbb214e3eb59d8fcb8c47d9d
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Commit: 8c4d2e8763976a0ee0a1afd7bfd05985c190a74c
https://github.com/llvm/llvm-project/commit/8c4d2e8763976a0ee0a1afd7bfd05985c190a74c
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/test/evaluate/folding05.f90
Log Message:
-----------
[flang] Fix SELECTED_CHAR_KIND('DEFAULT') folding issue
Fix issue flang-compiler/f18#676
The issue was that the 'DEFAULT' case was handled
directly in fold.cc which did not lowercase/trim trailing
space of the argument befaore comparing to "default".
Modify the `Selected_char_kind` function to accept the default
char kind as argument and to return it if the processed argument
matches "default".
Original-commit: flang-compiler/f18 at 14222ae9148af4f99f59e6f9f0b928baa2da0b10
Reviewed-on: https://github.com/flang-compiler/f18/pull/679
Commit: 4a624715aafcc68136b370858899a4d145eefb5c
https://github.com/llvm/llvm-project/commit/4a624715aafcc68136b370858899a4d145eefb5c
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#679 from flang-compiler/jpr-fix-676
Fix SELECTED_CHAR_KIND('DEFAULT') folding issue
Original-commit: flang-compiler/f18 at 6703f7bd99da33c437df68aafbe855cd1a96ecae
Reviewed-on: https://github.com/flang-compiler/f18/pull/679
Commit: 252e22ea978f5c35dd97f081fc470af3f2ad5fbb
https://github.com/llvm/llvm-project/commit/252e22ea978f5c35dd97f081fc470af3f2ad5fbb
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/test/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Fix issue: Enforce specific intrinsic characteristics
Fix issue flang-compiler/f18#661.
The issue was that when probing a specific intrinsic, the
constraints of the related generic intrinsic were tested instead
of the more restrictive constraints of the specific intrinsic.
Original-commit: flang-compiler/f18 at dd971e901d137f0cef9136250402521dbe266288
Reviewed-on: https://github.com/flang-compiler/f18/pull/680
Tree-same-pre-rewrite: false
Commit: 98af2162d080ee9de3213f78f84aa7063c8c90e6
https://github.com/llvm/llvm-project/commit/98af2162d080ee9de3213f78f84aa7063c8c90e6
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/test/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Fix intrinsic table probing issue with DOUBLE COMPLEX
The probing table was only expecting REAL for kind code
`KindCode::doublePrecision` that is also used for
`DoublePrecisionComplex`.
Add related tests.
Original-commit: flang-compiler/f18 at 342ed7e7694da2d71d0c701d5a1163be333cfa01
Reviewed-on: https://github.com/flang-compiler/f18/pull/680
Commit: 986fec95a15af2f462263c46f14b38b906e49f9d
https://github.com/llvm/llvm-project/commit/986fec95a15af2f462263c46f14b38b906e49f9d
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#680 from flang-compiler/jpr-fix-661
Fix issue: Enforce specific intrinsic characteristics
Original-commit: flang-compiler/f18 at 0758d8a65e4060a66ba5c755023bb03d0487593b
Reviewed-on: https://github.com/flang-compiler/f18/pull/680
Commit: 51fe22391654cf6eb3a054e48a9c3a3c599911b2
https://github.com/llvm/llvm-project/commit/51fe22391654cf6eb3a054e48a9c3a3c599911b2
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/symbol16.f90
Log Message:
-----------
[flang] Fix bug with statement functions
When the name of a statement function was previously declared, we
weren't correctly recognizing it as a statement function. E.g.
```
integer :: f, i
f(i) = i + 1
```
`f` was entered in the symbol table with `EntityDetails` and the
`parser::Name` on the first line was resolved to that symbol.
On the second line we replaced the symbol for `f` in the scope
with a subprogram symbol, but that didn't change the symbol in
the first `parser::Name`.
The fix requires:
1. don't erase the original symbol for `f`, just replace its details
2. when we erase the symbol for `f` in the subprogram scope, don't
unresolve it
Original-commit: flang-compiler/f18 at 31212686ea357503840c0562853c6977bfc1ffe5
Commit: 0adca8bedc4e74fe02ac6b1ac758bd931d2f3f68
https://github.com/llvm/llvm-project/commit/0adca8bedc4e74fe02ac6b1ac758bd931d2f3f68
Author: David Truby <david.truby at arm.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/parser/parse-tree.h
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix for builds with libc++9 and libstdc++10
Original-commit: flang-compiler/f18 at 137de8a1cdcb6e10d7a020209e0b2d1cb9118885
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
Tree-same-pre-rewrite: false
Commit: 1281b9c5fc0996b4b36bf476dea3ba636a753649
https://github.com/llvm/llvm-project/commit/1281b9c5fc0996b4b36bf476dea3ba636a753649
Author: David Truby <david.truby at arm.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/lib/parser/parse-tree.h
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Misc changes for review
Original-commit: flang-compiler/f18 at 6d9ddb8f5e4d5fe478dd2a5908418efb79f61df2
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
Commit: aa907c31256386056ea9016913ba30b2fce525a9
https://github.com/llvm/llvm-project/commit/aa907c31256386056ea9016913ba30b2fce525a9
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#681 from DavidTruby/master
Fix for builds with libc++9 and libstdc++10
Original-commit: flang-compiler/f18 at fae1187462a733e64364d2a1a7d908fbed904576
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
Commit: 9b5e691814b9fecd8208b049eb108c4eeb298e45
https://github.com/llvm/llvm-project/commit/9b5e691814b9fecd8208b049eb108c4eeb298e45
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
A flang/module/omp_lib.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Add the OpenMP module.
Original-commit: flang-compiler/f18 at 09d8b0d6e1da1435228f339674718881f09a49a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
Commit: 5c62bfb4f8929fbfeac407fa78ea3d88c262456d
https://github.com/llvm/llvm-project/commit/5c62bfb4f8929fbfeac407fa78ea3d88c262456d
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/intrinsics.cc
M flang/module/omp_lib.f90
A flang/module/omp_lib.h
Log Message:
-----------
[flang] Implement int_ptr_kind.
Split omp_lib.F90 into two files: a Fortran file used to
create the omp_lib module and a .h file that can be used
directly, which apparently some codes do. Because of the
split, and wanting to avoid forcing use isc_c_binding,
use int_ptr_kind() instead of c_intptr_t.
Original-commit: flang-compiler/f18 at ce6a9fb17322608096c09f2b4d533f4e86d56b74
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
Commit: 9d5d73aa77de3fb3f2d973c362f34a7e2a652974
https://github.com/llvm/llvm-project/commit/9d5d73aa77de3fb3f2d973c362f34a7e2a652974
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/module/omp_lib.h
Log Message:
-----------
[flang] Reformat omp_lib.h
Original-commit: flang-compiler/f18 at 892d91b16172bf32323015e3ebf375f4e8943486
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
Commit: 142fed87c1d2d15a771be961d39e9fbfdc3d7c22
https://github.com/llvm/llvm-project/commit/142fed87c1d2d15a771be961d39e9fbfdc3d7c22
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/module/omp_lib.h
Log Message:
-----------
[flang] Clean up omp_lib.h
Original-commit: flang-compiler/f18 at 7119cd05344e3bdc871d6088a456561692122572
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Commit: 20473b693938021eff61dd71ec4a67850fc41cec
https://github.com/llvm/llvm-project/commit/20473b693938021eff61dd71ec4a67850fc41cec
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#690 from flang-compiler/pmk-sjs-omp-lib
Clean up `omp_lib.h` a bit
Original-commit: flang-compiler/f18 at e5830301bd4598e2318b9251abe7d5961117cb84
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Commit: 911cb63719bed7f4ddae4f5ccdd21cc6f2c6f931
https://github.com/llvm/llvm-project/commit/911cb63719bed7f4ddae4f5ccdd21cc6f2c6f931
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve20.f90
Log Message:
-----------
[flang] Fix for segfault in invalid proc interface message
The segfault happened due to a missing argument.
Original-commit: flang-compiler/f18 at 8a4f49e86dd7969d13704ec2e5e755e1551319e6
Reviewed-on: https://github.com/flang-compiler/f18/pull/693
Commit: 9de2bf6aa80225a67ef1b5632d4d1bf4f3ae8c7b
https://github.com/llvm/llvm-project/commit/9de2bf6aa80225a67ef1b5632d4d1bf4f3ae8c7b
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#693 from kiranchandramohan/segfault_invalid_interface
Fix for segfault in invalid proc interface message
Original-commit: flang-compiler/f18 at 705c3532ef4a0410fcacb3474e7926b65d9a9808
Reviewed-on: https://github.com/flang-compiler/f18/pull/693
Commit: 396a659413e07344c1825ab28a514a43cc73ed03
https://github.com/llvm/llvm-project/commit/396a659413e07344c1825ab28a514a43cc73ed03
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve49.f90
Log Message:
-----------
[flang] Resolve index in pointer assignment to array element
When the LHS of a pointer assignment is an array element, the
index must be resolved.
Fixed flang-compiler/f18#684.
Original-commit: flang-compiler/f18 at c39c7872d42e3490a2c862771893d3099202df63
Reviewed-on: https://github.com/flang-compiler/f18/pull/687
Commit: a512e4241263bf3fdd3e3dc8adafa6d9e75906d9
https://github.com/llvm/llvm-project/commit/a512e4241263bf3fdd3e3dc8adafa6d9e75906d9
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#687 from flang-compiler/tsk3
Resolve index in pointer assignment to array element
Original-commit: flang-compiler/f18 at e8e5cd52592aa54ebe0eb96774ca7a56024949f6
Reviewed-on: https://github.com/flang-compiler/f18/pull/687
Commit: e3b5330fda4e38fca4a2219f115269dad1f90b1f
https://github.com/llvm/llvm-project/commit/e3b5330fda4e38fca4a2219f115269dad1f90b1f
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Introduce IsNamedConstant to hide attr::PARAMETER details
for named constant that are actually enumerators.
Original-commit: flang-compiler/f18 at d9c4888b7219fb68715bab5c62eddfd947be8502
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Commit: f23200963f7f605790c3bd6ba6d1048a02f2af3d
https://github.com/llvm/llvm-project/commit/f23200963f7f605790c3bd6ba6d1048a02f2af3d
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/type.h
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/modfile31.f90
A flang/test/semantics/resolve60.f90
Log Message:
-----------
[flang] Simplify name resolution visitor for parser::Enumerator
Do not define a Pre and a Post, simply walk the expression
with Walk in Pre to resolve the names inside the expression
before evaluating it.
Original-commit: flang-compiler/f18 at b0e3c1691e58f968f01e9aa6d622e6f31c04f13b
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Commit: 93aefc3940dcc4a39f2b5aac42c98489f90c0f9c
https://github.com/llvm/llvm-project/commit/93aefc3940dcc4a39f2b5aac42c98489f90c0f9c
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Address comments: Update comments
Original-commit: flang-compiler/f18 at 63086132442a5bf8470ae605e466dae7704af81b
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Commit: d93f493438f2b7294d1874ea4d1d7de5b83bea3c
https://github.com/llvm/llvm-project/commit/d93f493438f2b7294d1874ea4d1d7de5b83bea3c
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve60.f90
Log Message:
-----------
[flang] Address comment: store current enum value in an int
During enumerator name resolution, instead of keeping the current
enumerator value inside an expression, fold it to an int and keep
it as an int. This is clearer and will be easier if one wants to
provide some enum type size optimization.
Original-commit: flang-compiler/f18 at 4e49d5396c5ff475b1f329e9fc349cc336574c50
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Commit: 296b0d9374a98ee16903722936be41add49de2a5
https://github.com/llvm/llvm-project/commit/296b0d9374a98ee16903722936be41add49de2a5
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/lib/evaluate/tools.h
Log Message:
-----------
[flang] Remove unused function after last commit
Original-commit: flang-compiler/f18 at 029fbf64c2400847a42a4c7cf26c553592f4ee10
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Commit: 2cc505d11b01025c1314ef9bfaa48a6fc0909b8e
https://github.com/llvm/llvm-project/commit/2cc505d11b01025c1314ef9bfaa48a6fc0909b8e
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#689 from flang-compiler/jpr-fix-667
Implement ENUM name resolution
Original-commit: flang-compiler/f18 at d4fd6bf95a298c46ee7f75d28743dfcd121a12cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Commit: 0a85616b071dd4e382f692c6d9803bf3948579ac
https://github.com/llvm/llvm-project/commit/0a85616b071dd4e382f692c6d9803bf3948579ac
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] update validity check for `OmpNowait`.
Because now we set the flag for `End` directives that accept clauses,
no need to check the specific directives anymore.
Original-commit: flang-compiler/f18 at a5cdc4b035fe6237bff46252e21ac84d2df59393
Commit: ffb88549cb1704cb528fe17d175e4ed5d8d81634
https://github.com/llvm/llvm-project/commit/ffb88549cb1704cb528fe17d175e4ed5d8d81634
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] add Begin and End Directive matching check
Straightforward check for Begin and End directive of:
1. Block related constructs
2. Loop related constructs (End directive is optional)
3. Sections related constructs
Original-commit: flang-compiler/f18 at d0436f13eeddf9d44c669a53fa0eb42d00650826
Commit: f6273d7194651d4d7572cebe55b9e362ac938c99
https://github.com/llvm/llvm-project/commit/f6273d7194651d4d7572cebe55b9e362ac938c99
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] structural checks for `PARALLEL SECTIONS`
Original-commit: flang-compiler/f18 at c18452159d462c98c6a888c272e24ea9d54032f4
Commit: 23a7f387417fd1e8637db283ce5d96243ebcb7d6
https://github.com/llvm/llvm-project/commit/23a7f387417fd1e8637db283ce5d96243ebcb7d6
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
Log Message:
-----------
[flang] [OpenMP] flang-compiler/f18#691 Update on Tim and Varun's review
Change CheckMatching to return `beginDir`, which hides the unnecessary
`std::get<>` for `endDir`.
Original-commit: flang-compiler/f18 at d9689e10f47f344d2f321c0635eb6dcf38e649ca
Commit: 6e4c8b88c58a5d911160197065a3b9000b8cf03b
https://github.com/llvm/llvm-project/commit/6e4c8b88c58a5d911160197065a3b9000b8cf03b
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
A flang/documentation/OpenMP-semantics.md
Log Message:
-----------
[flang] Create OpenMP-semantics.md
Initial markdown document.
Original-commit: flang-compiler/f18 at 787a0ca058dcfb3e0fe67262547d133773ed7d3a
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
Commit: 12c9b9429b731dab69351b99eed2eb007bbc112e
https://github.com/llvm/llvm-project/commit/12c9b9429b731dab69351b99eed2eb007bbc112e
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/documentation/OpenMP-semantics.md
Log Message:
-----------
[flang] Update OpenMP-semantics.md
Repond to review comments about grammar and formatting.
Original-commit: flang-compiler/f18 at 4811ea2b94627d16e7b7108bf75b582984355182
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
Commit: 67a5f04be819ab7340f99315ad438a423500fc57
https://github.com/llvm/llvm-project/commit/67a5f04be819ab7340f99315ad438a423500fc57
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/documentation/OpenMP-semantics.md
Log Message:
-----------
[flang] Update OpenMP-semantics.md
Item 4 can be removed since we decided to keep the code in Semantics.
Original-commit: flang-compiler/f18 at 7377a61345c20c379453676ae6069e30ff9ae14d
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
Commit: d33a5652a8be61c459c5e8205e3267938aba493c
https://github.com/llvm/llvm-project/commit/d33a5652a8be61c459c5e8205e3267938aba493c
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-30 (Fri, 30 Aug 2019)
Changed paths:
M flang/documentation/OpenMP-semantics.md
Log Message:
-----------
[flang] Update OpenMP-semantics.md
Formatting changes.
Original-commit: flang-compiler/f18 at 007b3e31d30853ed2f44ac3b7c6a311739e7804e
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Commit: e6e1b0ba2bf462dbae5ebe6e61fd8f3394f57faa
https://github.com/llvm/llvm-project/commit/e6e1b0ba2bf462dbae5ebe6e61fd8f3394f57faa
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-08-30 (Fri, 30 Aug 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#692 from flang-compiler/sjs-omp-doc
Create OpenMP-semantics.md
Original-commit: flang-compiler/f18 at 0948d3d1919ad30b22da9511204b547b1b56da75
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Commit: 93aa7a86400bff0d23b36d57789f82bbfe8f6ae9
https://github.com/llvm/llvm-project/commit/93aa7a86400bff0d23b36d57789f82bbfe8f6ae9
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-02 (Mon, 02 Sep 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Add support and documentation for DREAL.
Original-commit: flang-compiler/f18 at 5b6a2dc26ccd4faf56543ccb616a22d86812aa02
Reviewed-on: https://github.com/flang-compiler/f18/pull/705
Commit: fff45a620a54262800eba4178e674740009d2cd2
https://github.com/llvm/llvm-project/commit/fff45a620a54262800eba4178e674740009d2cd2
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-03 (Tue, 03 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#705 from flang-compiler/sjs-dreal
Add support and documentation for DREAL.
Original-commit: flang-compiler/f18 at e14461455f562ca788933d327ee6da58333d1f6f
Reviewed-on: https://github.com/flang-compiler/f18/pull/705
Commit: 689e6ee7b618a0d2d6876b879826dc6409e3f09d
https://github.com/llvm/llvm-project/commit/689e6ee7b618a0d2d6876b879826dc6409e3f09d
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-02 (Mon, 02 Sep 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] Fold more cases of cmplx and dcmplx.
Original-commit: flang-compiler/f18 at 57401319b04514c123307758414377444e490522
Reviewed-on: https://github.com/flang-compiler/f18/pull/706
Commit: 55d1fb1996ab5123af387774ac2888aaeb031e60
https://github.com/llvm/llvm-project/commit/55d1fb1996ab5123af387774ac2888aaeb031e60
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#706 from flang-compiler/sjs-cmplx
Fold more cases of cmplx and dcmplx.
Original-commit: flang-compiler/f18 at e42947dcde7342e39dc7c117b5c978e6d35720fd
Reviewed-on: https://github.com/flang-compiler/f18/pull/706
Commit: 9f49ffb94f705a32b91966aa8673572558c4fbfc
https://github.com/llvm/llvm-project/commit/9f49ffb94f705a32b91966aa8673572558c4fbfc
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve36.f90
Log Message:
-----------
[flang] Fix declaration of module procedure subprograms
Names of subprograms declared with MODULE PROCEDURE in a submodule
were not found correctly. The fix is to separate the handling of
these from other subprograms. The subprogram being defined must have
been declared in the same module or an ancestor module/submodule.
Fixes flang-compiler/f18#709
Original-commit: flang-compiler/f18 at 80b635d34355d657a807e7f276b8d40d191bcef9
Reviewed-on: https://github.com/flang-compiler/f18/pull/710
Commit: 6970974c4e596827bfac545b041f1df99e05439e
https://github.com/llvm/llvm-project/commit/6970974c4e596827bfac545b041f1df99e05439e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#710 from flang-compiler/tsk-issue709
Fix declaration of module procedure subprograms
Original-commit: flang-compiler/f18 at b56bc365bb57fb5d810da6e54409066ade35d9c8
Reviewed-on: https://github.com/flang-compiler/f18/pull/710
Commit: cc07c43a84bf12b9c215c3583e3429637aebeb53
https://github.com/llvm/llvm-project/commit/cc07c43a84bf12b9c215c3583e3429637aebeb53
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/resolve61.f90
Log Message:
-----------
[flang] Name resolution for Cray pointers
Resolve the pointer and pointee names in a `BasedPointerStmt` and
enforce some of the constraints on them. There are still some
constraints to be implemented, mainly about what kind of attributes
the pointers and pointees can have.
The rules for these are a little vague. I mostly followed
- Cray Fortran Reference Manual section 9.3.2
- https://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html
- VSI Fortran for OpenVMS Language Reference Manual section B.11
Note that the first two use the term "Cray pointer" but the last does
not. That is confusing because you have to know from context whether
it is referring to Cray pointers or Fortran pointers, so I used
"Cray pointer" and "Cray pointee" in error messages to refer to the
two names in the pointer statement.
Original-commit: flang-compiler/f18 at cabb112be2922ee2be9e29cfedcc30053c9a2864
Reviewed-on: https://github.com/flang-compiler/f18/pull/697
Commit: 5d2f12074b387b0ebbbc236f51482a59bf5835f1
https://github.com/llvm/llvm-project/commit/5d2f12074b387b0ebbbc236f51482a59bf5835f1
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#697 from flang-compiler/tsk-crayptr
Name resolution for Cray pointers
Original-commit: flang-compiler/f18 at a18c5ebed0910bc9492614c2ded5b66f7f89ae9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/697
Commit: f1212c660650debb2d5c5dd068643bcd22ea0183
https://github.com/llvm/llvm-project/commit/f1212c660650debb2d5c5dd068643bcd22ea0183
Author: David Truby <david.truby at arm.com>
Date: 2019-09-03 (Tue, 03 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] Implement semantic checking for TASKLOOP
Original-commit: flang-compiler/f18 at a8e65f2c2d27cc9584ed493d822fa44d514edc37
Reviewed-on: https://github.com/flang-compiler/f18/pull/688
Commit: 26b18f5217626cfd25f2d31f5ba52198490de4c3
https://github.com/llvm/llvm-project/commit/26b18f5217626cfd25f2d31f5ba52198490de4c3
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#688 from DavidTruby/taskloop
Implement semantic checking for TASKLOOP
Original-commit: flang-compiler/f18 at a5786851fab78aa03e3155922589fa259e600574
Reviewed-on: https://github.com/flang-compiler/f18/pull/688
Commit: 658cf65249d6617757f1b8fdc7d418cef686ac87
https://github.com/llvm/llvm-project/commit/658cf65249d6617757f1b8fdc7d418cef686ac87
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
Log Message:
-----------
[flang] [OpenMP] Expand full sets for `do`, `simd`, and `do simd`
Original-commit: flang-compiler/f18 at 1f5bbeb3ea18456425804198fa03aeb8026a207b
Commit: 77ed1df8a796ce6bd44bac3a47a2104a5b75d3cf
https://github.com/llvm/llvm-project/commit/77ed1df8a796ce6bd44bac3a47a2104a5b75d3cf
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
Log Message:
-----------
[flang] [OpenMP] fix type for `Final` clause
The type should be `ScalarLogicalExpr`.
Original-commit: flang-compiler/f18 at 97e4282d7c05d38ebfbdc1ac661dc5d629278d0a
Commit: c4fa8b867e700a46534028e61a9e8ff90c51678e
https://github.com/llvm/llvm-project/commit/c4fa8b867e700a46534028e61a9e8ff90c51678e
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] Add structural checks for `TASK`
1. fix `OmpIfClause` on `Task`
2. add structural checks
Original-commit: flang-compiler/f18 at a77830a191989d7885337cf6182ac82ccf9c5ae9
Commit: e902c1d6b7d07ac3816adb2f95ba42f9ebc615a7
https://github.com/llvm/llvm-project/commit/e902c1d6b7d07ac3816adb2f95ba42f9ebc615a7
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] enable check for `IF` clause modifier
Original-commit: flang-compiler/f18 at f56fe4a3895a6ac444b45ad80b433c4dbeca4bbe
Commit: d1bbccf1d565b47529e9eb5b70fe1836a4a747bb
https://github.com/llvm/llvm-project/commit/d1bbccf1d565b47529e9eb5b70fe1836a4a747bb
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-declarative-directive.f90
Log Message:
-----------
[flang] [OpenMP] update `declare simd` directive with exclusive set
Original-commit: flang-compiler/f18 at dc1bd8edc6968f8505429a9cba5db707c2d647d8
Commit: 5c543da53ac25408e4f160bc71840c11027739eb
https://github.com/llvm/llvm-project/commit/5c543da53ac25408e4f160bc71840c11027739eb
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] add structural checks for `TASKLOOP SIMD`
Original-commit: flang-compiler/f18 at 21b4dde276fa9a19fe5046b608c5eea1a7610d37
Commit: bc52fc19222dd425eca1c2be26993297b817e11d
https://github.com/llvm/llvm-project/commit/bc52fc19222dd425eca1c2be26993297b817e11d
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] [OpenMP] extend `IF` clause to accept modifier on composite/combined constructs
Original-commit: flang-compiler/f18 at 03302a15468bf9920618a2103d1e4fe45d6dc388
Commit: d7443b5ad2e420a39002610ed32b2ce9e3808145
https://github.com/llvm/llvm-project/commit/d7443b5ad2e420a39002610ed32b2ce9e3808145
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-05 (Thu, 05 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
Log Message:
-----------
[flang] Add missing include for unordered_map
Original-commit: flang-compiler/f18 at a9aadfb6071a4823caa39179ec1b69ca44a21a0f
Commit: 9dcbed47351e4128e63f58d58f7cacf7f93ec207
https://github.com/llvm/llvm-project/commit/9dcbed47351e4128e63f58d58f7cacf7f93ec207
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
A flang/documentation/Calls.md
Log Message:
-----------
[flang] Extract Calls.md into its own branch.
Original-commit: flang-compiler/f18 at 8a5a2c99dc7336f0790d7127224d16efc4e041cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 700448d39c412e39c6b1dbd03f58b6bffca27697
https://github.com/llvm/llvm-project/commit/700448d39c412e39c6b1dbd03f58b6bffca27697
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] More writing
Original-commit: flang-compiler/f18 at f475086c0c20b02f6793a298d0f4ad15dfdeda50
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: d732d10b80c30f032811d712eed095e54bd4c130
https://github.com/llvm/llvm-project/commit/d732d10b80c30f032811d712eed095e54bd4c130
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] more writing
Original-commit: flang-compiler/f18 at a067cca183197a4f004aed1649f368f50115cc30
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 311300b15d0790b80189feb7b70cf3d666118311
https://github.com/llvm/llvm-project/commit/311300b15d0790b80189feb7b70cf3d666118311
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-23 (Fri, 23 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] more writing
Original-commit: flang-compiler/f18 at 16a8b0065a6e31cbce5a28b5230df1aff8968cab
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 0c3a9424229f19c426b2570b205da3c05bd9c8dc
https://github.com/llvm/llvm-project/commit/0c3a9424229f19c426b2570b205da3c05bd9c8dc
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] trampolines
Original-commit: flang-compiler/f18 at 3e9cebe8dce2039942d06f63af7798f4503b1e7d
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 1e90c6b9486594b770fc3967e8be4ff33e843fd0
https://github.com/llvm/llvm-project/commit/1e90c6b9486594b770fc3967e8be4ff33e843fd0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] naming
Original-commit: flang-compiler/f18 at c3673287f8904e8a6ab32eb42fba9fac4e959ed7
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: e9c6ab361572169eaaf3fb1e9757e386547579f6
https://github.com/llvm/llvm-project/commit/e9c6ab361572169eaaf3fb1e9757e386547579f6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] refine naming
Original-commit: flang-compiler/f18 at a4888a08cd18f0ed0219b88ba9a43122c1e2d229
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: a000beae7143ce2970686fcd6188401117ef09a5
https://github.com/llvm/llvm-project/commit/a000beae7143ce2970686fcd6188401117ef09a5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-26 (Mon, 26 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] fix typo, add examples
Original-commit: flang-compiler/f18 at e0964fe07691265b2a1b74847ba2fb323b816278
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: fe7ea5325f2fed706f0ff30654bd9d0290c852fd
https://github.com/llvm/llvm-project/commit/fe7ea5325f2fed706f0ff30654bd9d0290c852fd
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Address some review comments
Original-commit: flang-compiler/f18 at 5666998b0fb8826d96b2272b6d13c5379b45adb2
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 6d7fef5cd0dcedec4bff2256db45b76b0e30ed7e
https://github.com/llvm/llvm-project/commit/6d7fef5cd0dcedec4bff2256db45b76b0e30ed7e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] More research
Original-commit: flang-compiler/f18 at 1e2b0be07f6accac15028c8fd9c676d6199d760f
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: c6041dfecfcf7356dd293ae19a35aac5a7919083
https://github.com/llvm/llvm-project/commit/c6041dfecfcf7356dd293ae19a35aac5a7919083
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Enumerate semantics checks
Original-commit: flang-compiler/f18 at 3ddf31109adfa7cb313c8909982d6f87773e9a68
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: c236c8377519ce0729f261934405e21dc307a2b8
https://github.com/llvm/llvm-project/commit/c236c8377519ce0729f261934405e21dc307a2b8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-27 (Tue, 27 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Resolve some TODOs
Original-commit: flang-compiler/f18 at 3f3e9c9320f3bd6662378f500dfab3c47243e993
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: c71ba62c9fea8814e5cb344679e23eaa5b13a7f8
https://github.com/llvm/llvm-project/commit/c71ba62c9fea8814e5cb344679e23eaa5b13a7f8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
M flang/runtime/descriptor.h
Log Message:
-----------
[flang] Correct obsolete comment in descriptor.h
Original-commit: flang-compiler/f18 at 8ff52c493ade974a69943eb9438cee9ba05b43f1
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: a26bbed6d6a1d8f2360816f166927e5ed1c862d8
https://github.com/llvm/llvm-project/commit/a26bbed6d6a1d8f2360816f166927e5ed1c862d8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Corrections and additions
Original-commit: flang-compiler/f18 at 000301fcf987192585dfa01ca62a96c1ce49557c
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: f4f44b90f00977870e545e5ff8d6447abdd99099
https://github.com/llvm/llvm-project/commit/f4f44b90f00977870e545e5ff8d6447abdd99099
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Limitations on function results with assumed type parameters
Original-commit: flang-compiler/f18 at 4ba9fdb0eaa479486f2b808dea913fdb8b6a9aad
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 76337eb4cb07f20c63a9a3f5a110e8c09aedf649
https://github.com/llvm/llvm-project/commit/76337eb4cb07f20c63a9a3f5a110e8c09aedf649
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Simplify by using the term F77ish
Original-commit: flang-compiler/f18 at 063d9dc6c82eb98b80f2687c27fd8671e6e4c31d
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 321fcad0a9206bb14f929c32c8ae7cb8fc4a3558
https://github.com/llvm/llvm-project/commit/321fcad0a9206bb14f929c32c8ae7cb8fc4a3558
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] address review comments
Original-commit: flang-compiler/f18 at 793c15fd04a5f922ea80fede5f21a895f27c969e
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 9469ce8aeb90e1f61e11462e29dea463e291970e
https://github.com/llvm/llvm-project/commit/9469ce8aeb90e1f61e11462e29dea463e291970e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-08-29 (Thu, 29 Aug 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] refinements
Original-commit: flang-compiler/f18 at a4de8161f934f6c134a8c5736a4a191591bcbf86
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Commit: 7f9922203f924ee66802363e1d7acb22793c3488
https://github.com/llvm/llvm-project/commit/7f9922203f924ee66802363e1d7acb22793c3488
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-04 (Wed, 04 Sep 2019)
Changed paths:
M flang/documentation/Calls.md
Log Message:
-----------
[flang] Review comments
Original-commit: flang-compiler/f18 at 376359d456e120c037b21779ea9b8bdae6ab5b39
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Commit: c036e834200afed6d002d9a587fd737fb55e6652
https://github.com/llvm/llvm-project/commit/c036e834200afed6d002d9a587fd737fb55e6652
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-06 (Fri, 06 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#683 from flang-compiler/pmk-call-doc
Requirements and first draft design for procedure call protocol
Original-commit: flang-compiler/f18 at 9e3ab7d32f8a550cfc46c3f556aa3f01fe9c8acf
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Commit: 28e8f7a9fd51c40b8551c935c0141b7a061e93a6
https://github.com/llvm/llvm-project/commit/28e8f7a9fd51c40b8551c935c0141b7a061e93a6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/documentation/ArrayComposition.md
Log Message:
-----------
[flang] Jot down thoughts on array expr and intrinsic evaluation for Jean
Original-commit: flang-compiler/f18 at 83c72062d57f737955d8d3ebdfed4a08f5a9107b
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Tree-same-pre-rewrite: false
Commit: f0778f0fe2ce5be9c3c09d397e356512059018f0
https://github.com/llvm/llvm-project/commit/f0778f0fe2ce5be9c3c09d397e356512059018f0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/documentation/ArrayComposition.md
Log Message:
-----------
[flang] edits
Original-commit: flang-compiler/f18 at 729cc19e0f8e18cd13026723df6578c7e786c9c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Tree-same-pre-rewrite: false
Commit: e73a1d287ae70034d53a0ce64fafe733c118b986
https://github.com/llvm/llvm-project/commit/e73a1d287ae70034d53a0ce64fafe733c118b986
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/documentation/ArrayComposition.md
Log Message:
-----------
[flang] edits
Original-commit: flang-compiler/f18 at 07da944e4b9ab01880c3770d826ecf044958cad6
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Tree-same-pre-rewrite: false
Commit: dca31ebe93e72c4cb044df8298614e3ee02ff129
https://github.com/llvm/llvm-project/commit/dca31ebe93e72c4cb044df8298614e3ee02ff129
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/documentation/ArrayComposition.md
Log Message:
-----------
[flang] More edits
Original-commit: flang-compiler/f18 at 6b9ce52250373644098930ee6f28cb4001095ba5
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Tree-same-pre-rewrite: false
Commit: a56e5f0615299bb4e0615c1847a3e68e16c0877b
https://github.com/llvm/llvm-project/commit/a56e5f0615299bb4e0615c1847a3e68e16c0877b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/documentation/ArrayComposition.md
Log Message:
-----------
[flang] edits
Original-commit: flang-compiler/f18 at ff3cab0bb5585f5a4386146c9b7eb9a79be04385
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Tree-same-pre-rewrite: false
Commit: e665f1d7d11a3b536c645d33e8c2c758fb32f1e6
https://github.com/llvm/llvm-project/commit/e665f1d7d11a3b536c645d33e8c2c758fb32f1e6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/documentation/ArrayComposition.md
Log Message:
-----------
[flang] More writing
Original-commit: flang-compiler/f18 at 8dce9cb7f0487c82f7f2a277e4bea6f7aa1fd3d2
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Commit: 9bd23a1fcd96372cda32986365d37af94f33a400
https://github.com/llvm/llvm-project/commit/9bd23a1fcd96372cda32986365d37af94f33a400
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#534 from flang-compiler/pmk-arr-comp
Jot down thoughts on array expr and intrinsic evaluation for Jean
Original-commit: flang-compiler/f18 at f9b1d69c00b2bbd39b4797998a6afb1e65de7210
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Commit: db25a52fe754b4e28cfd0112f784f20f17c4b1d4
https://github.com/llvm/llvm-project/commit/db25a52fe754b4e28cfd0112f784f20f17c4b1d4
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
Log Message:
-----------
[flang] [OpenMP] formalize `DEFAULTMAP` clause
OpenMP 4.5 only accepts `defaultmap(tofrom:scalar)`. The original implementation
only parses the entire `tofrom:scalar` string and does nothing else. This commit
makes it treat `tofrom` (`ImplicitBehavior`) and `scalar` (`VariableCategory`)
separately, which is clear and extendable for OpenMP 5.0 Spec.
Original-commit: flang-compiler/f18 at 12074dcd2cb65bdb97c9d48e4829288eac2dd732
Commit: fa3410d5fb3dae2ec6c0ef028082e9bc7415c2d4
https://github.com/llvm/llvm-project/commit/fa3410d5fb3dae2ec6c0ef028082e9bc7415c2d4
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/CMakeLists.txt
M flang/lib/parser/char-buffer.h
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/source.cc
Log Message:
-----------
[flang] Clean out some dead code, improve naming & comments
Original-commit: flang-compiler/f18 at 349555556572d5d4f96c3e3c2878c666d4e71e2a
Reviewed-on: https://github.com/flang-compiler/f18/pull/715
Tree-same-pre-rewrite: false
Commit: 73329265ffa72a07a5ae003146276b59b30df08f
https://github.com/llvm/llvm-project/commit/73329265ffa72a07a5ae003146276b59b30df08f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/lib/common/interval.h
M flang/lib/parser/char-buffer.h
M flang/lib/parser/parsing.cc
M flang/lib/parser/parsing.h
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Implement provenance -> CharBlock map
Original-commit: flang-compiler/f18 at f2e7b6cd72d0f5e6e97c7a8c338ceeb2479ccf52
Reviewed-on: https://github.com/flang-compiler/f18/pull/715
Tree-same-pre-rewrite: false
Commit: be799e4300d8461ae22123f5e4fd9e4eaee52872
https://github.com/llvm/llvm-project/commit/be799e4300d8461ae22123f5e4fd9e4eaee52872
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/lib/parser/provenance.cc
Log Message:
-----------
[flang] Check for having compiled the inverted map before using it
Original-commit: flang-compiler/f18 at cef90ee11e26a3d4428389770a222ab90455e650
Reviewed-on: https://github.com/flang-compiler/f18/pull/715
Tree-same-pre-rewrite: false
Commit: 0208a7d400249e7fd9523a269f1ed68f8e42afe5
https://github.com/llvm/llvm-project/commit/0208a7d400249e7fd9523a269f1ed68f8e42afe5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/lib/parser/provenance.h
Log Message:
-----------
[flang] Remove needless include
Original-commit: flang-compiler/f18 at 5d2afd0ad37f82403c2445385aa76ab8b834ff36
Reviewed-on: https://github.com/flang-compiler/f18/pull/715
Commit: 38891f8ee008ae1c1a5bd0340fb24239f92c100e
https://github.com/llvm/llvm-project/commit/38891f8ee008ae1c1a5bd0340fb24239f92c100e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#715 from flang-compiler/pmk-prov-to-ccs
Implement a mapping from source file Provenances to cooked stream offsets
Original-commit: flang-compiler/f18 at f27eb362de3ee5325e77e3f30af41460c6c433c8
Reviewed-on: https://github.com/flang-compiler/f18/pull/715
Commit: 8068d016db676af3571f571a991fe85950f50103
https://github.com/llvm/llvm-project/commit/8068d016db676af3571f571a991fe85950f50103
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/test/semantics/call01.f90
A flang/test/semantics/call02.f90
A flang/test/semantics/call03.f90
Log Message:
-----------
[flang] First three tests
Original-commit: flang-compiler/f18 at 600b5263b1d6fb5bb97749ac09b90f4195894283
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: 0e1259db7a56ed61fa142acf14507fd2ad6784e0
https://github.com/llvm/llvm-project/commit/0e1259db7a56ed61fa142acf14507fd2ad6784e0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/test/semantics/call04.f90
Log Message:
-----------
[flang] Add call04.f90 test
Original-commit: flang-compiler/f18 at 0b329380cdcb90c5cb740277be8c16426f17e212
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: 7ffe10c1fb49837418dec1666064ded3eefab673
https://github.com/llvm/llvm-project/commit/7ffe10c1fb49837418dec1666064ded3eefab673
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/test/semantics/call05.f90
A flang/test/semantics/call06.f90
Log Message:
-----------
[flang] call06.f90
Original-commit: flang-compiler/f18 at 81b64dacaabd48868d4ca58280aa905a191c7e3b
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: c74f40f46ea7328b6c6349d96829f9c607982b75
https://github.com/llvm/llvm-project/commit/c74f40f46ea7328b6c6349d96829f9c607982b75
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/test/semantics/call07.f90
Log Message:
-----------
[flang] call07.f90
Original-commit: flang-compiler/f18 at a92307c3d6dba7221b2446b4e54e79212591845e
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: c3d35afd876308582cddd0d7ac994c9810d3180a
https://github.com/llvm/llvm-project/commit/c3d35afd876308582cddd0d7ac994c9810d3180a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/test/semantics/call08.f90
Log Message:
-----------
[flang] call08.f90
Original-commit: flang-compiler/f18 at 2bda489d4517a5b66e912a728e340ba0db5d3068
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: 7f52d94bf3e1654ecb72c818fbd6f55c4888e786
https://github.com/llvm/llvm-project/commit/7f52d94bf3e1654ecb72c818fbd6f55c4888e786
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/test/semantics/call03.f90
A flang/test/semantics/call09.f90
Log Message:
-----------
[flang] call09.f90 and review comment
Original-commit: flang-compiler/f18 at bc2ac270c688f5a36f723d3fcd95e2d431880404
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: c19c1e5abd873020d17ba2f936899bd9bf5ae3c1
https://github.com/llvm/llvm-project/commit/c19c1e5abd873020d17ba2f936899bd9bf5ae3c1
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
A flang/test/semantics/call10.f90
A flang/test/semantics/call11.f90
A flang/test/semantics/call12.f90
Log Message:
-----------
[flang] More tests
Original-commit: flang-compiler/f18 at 52e3b74f4eb29085e6ebff30d0b695b8cd8cf521
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: 5ea5fe9b1e6de1d25edd7a3a1dc771db3a6a8084
https://github.com/llvm/llvm-project/commit/5ea5fe9b1e6de1d25edd7a3a1dc771db3a6a8084
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/test/semantics/call07.f90
M flang/test/semantics/call10.f90
M flang/test/semantics/call11.f90
Log Message:
-----------
[flang] More tests
Original-commit: flang-compiler/f18 at bd5e95e40c179f4b462571074cebd107412ebe13
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: 99757783d2ce74e0f272fab754ab7b2b5dfcb0d5
https://github.com/llvm/llvm-project/commit/99757783d2ce74e0f272fab754ab7b2b5dfcb0d5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/test/semantics/call10.f90
Log Message:
-----------
[flang] Fix Fortran in call10.f90
Original-commit: flang-compiler/f18 at 8154a24232ad50344a6dd49c3983e8fe5e4c3a28
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: 9dee00eccc61a81f96927edb0e57b2ae17667321
https://github.com/llvm/llvm-project/commit/9dee00eccc61a81f96927edb0e57b2ae17667321
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/test/semantics/call12.f90
Log Message:
-----------
[flang] Finish test/semantics/call12.f90
Original-commit: flang-compiler/f18 at d002f0ce377de4b71fd15a0fdee87c013476e93b
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Tree-same-pre-rewrite: false
Commit: bf6ba0ff189e5921809cc5a23639db15c72a4852
https://github.com/llvm/llvm-project/commit/bf6ba0ff189e5921809cc5a23639db15c72a4852
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/test/semantics/call03.f90
M flang/test/semantics/call12.f90
Log Message:
-----------
[flang] Fix some Fortran and use existing messages for errors already caught.
Original-commit: flang-compiler/f18 at 2d360e78ea3a872501f05904ec39f3c3ea3172a4
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Commit: 1a7c1c1dac9075e5867f9c36336b38c3feccc2da
https://github.com/llvm/llvm-project/commit/1a7c1c1dac9075e5867f9c36336b38c3feccc2da
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#711 from flang-compiler/pmk-call-tests
Tests for call semantics
Original-commit: flang-compiler/f18 at 8fada8d5cd99e85bfe8c2fdd4defd7da36017ffc
Reviewed-on: https://github.com/flang-compiler/f18/pull/711
Commit: de974041daa7120e5f1366d7aa53668155199404
https://github.com/llvm/llvm-project/commit/de974041daa7120e5f1366d7aa53668155199404
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/test/semantics/call11.f90
M flang/test/semantics/doconcurrent01.f90
M flang/test/semantics/doconcurrent02.f90
Log Message:
-----------
[flang] Fix expected error messages in tests to correspond with recent update to compiler
Original-commit: flang-compiler/f18 at 95202dd31384c042165184acd6ed2ec1c752ee0c
Reviewed-on: https://github.com/flang-compiler/f18/pull/721
Commit: 89ff150e7cfedb7e877b24137d62bc4f8ead6db1
https://github.com/llvm/llvm-project/commit/89ff150e7cfedb7e877b24137d62bc4f8ead6db1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#721 from flang-compiler/pmk-fix-errormsg
Fix expected error messages in tests to correspond with recent update…
Original-commit: flang-compiler/f18 at ffbc017c45527a3ac4825cbe33e732eee1f0ecee
Reviewed-on: https://github.com/flang-compiler/f18/pull/721
Commit: 02a9cdb3fdb9cbf8868fd64da2cdf90b615db3ee
https://github.com/llvm/llvm-project/commit/02a9cdb3fdb9cbf8868fd64da2cdf90b615db3ee
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/module/iso_fortran_env.f90
Log Message:
-----------
[flang] Define iso_fortran_env error_unit.
Provisionally use a value of 0 to match PGI.
Original-commit: flang-compiler/f18 at ec7f0a0968d5552f9f95d1c24256d6fe40d36770
Reviewed-on: https://github.com/flang-compiler/f18/pull/722
Commit: 7459d81d8db77037048c930d7f84739de62c14a3
https://github.com/llvm/llvm-project/commit/7459d81d8db77037048c930d7f84739de62c14a3
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#722 from flang-compiler/sjs-error-unit
Define iso_fortran_env error_unit.
Original-commit: flang-compiler/f18 at cb1752d5cb3913c14d819b328be7ff36cd8a406d
Reviewed-on: https://github.com/flang-compiler/f18/pull/722
Commit: 1343cf78f332512170ae8eb90fd2482e13ec0482
https://github.com/llvm/llvm-project/commit/1343cf78f332512170ae8eb90fd2482e13ec0482
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-08-30 (Fri, 30 Aug 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/intrinsics-library.cc
M flang/test/evaluate/folding02.f90
Log Message:
-----------
[flang] Implement folding of x**y where y is real or complex
This was a TODO. The implementation uses the host runtime
function pow, either from libm or libpgmath.
Original-commit: flang-compiler/f18 at ee581121120fe67a0990b8a41663b85b868035a7
Reviewed-on: https://github.com/flang-compiler/f18/pull/699
Tree-same-pre-rewrite: false
Commit: 45820f4caaaea8d031397cff1d92841597c81301
https://github.com/llvm/llvm-project/commit/45820f4caaaea8d031397cff1d92841597c81301
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/evaluate/intrinsics-library.cc
Log Message:
-----------
[flang] address comment: add ',' for better formatting
Original-commit: flang-compiler/f18 at 0c854999853463b2113d672836cb343e98ae1c61
Reviewed-on: https://github.com/flang-compiler/f18/pull/699
Commit: af933e12c8dd237f1d382042bc5357109f34072d
https://github.com/llvm/llvm-project/commit/af933e12c8dd237f1d382042bc5357109f34072d
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#699 from flang-compiler/jpr-fix-695
Implement folding of x**y where y is real or complex
Original-commit: flang-compiler/f18 at 0efc573230a2038f64597c11b0e1a733c5bf5fff
Reviewed-on: https://github.com/flang-compiler/f18/pull/699
Commit: c1c83477ed2cc561f5053bd2a05013ac80d745d1
https://github.com/llvm/llvm-project/commit/c1c83477ed2cc561f5053bd2a05013ac80d745d1
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Add storage_size intrinsic.
Original-commit: flang-compiler/f18 at bcde26a7c1373c3ccbcc8e216cf37c8b3530b06d
Reviewed-on: https://github.com/flang-compiler/f18/pull/723
Tree-same-pre-rewrite: false
Commit: 654a86a277c2b86e58a414ffae0c33e6b522816f
https://github.com/llvm/llvm-project/commit/654a86a277c2b86e58a414ffae0c33e6b522816f
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Update comment to reflect that STORAGE_SIZE is implemented.
Original-commit: flang-compiler/f18 at 3c2431bbf8025856bd19e2c7b66aaf06b6acdbfe
Reviewed-on: https://github.com/flang-compiler/f18/pull/723
Commit: 4fd8ef1a163fe87c4e05ea8440d654fae3590334
https://github.com/llvm/llvm-project/commit/4fd8ef1a163fe87c4e05ea8440d654fae3590334
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#723 from flang-compiler/sjs-storage-size
Add storage_size intrinsic.
Original-commit: flang-compiler/f18 at f2ffcfafd2b04703879581df8727b98ffb508ea3
Reviewed-on: https://github.com/flang-compiler/f18/pull/723
Commit: f8cfc7cdf98037a39882b42ade2bd64da56dfaa4
https://github.com/llvm/llvm-project/commit/f8cfc7cdf98037a39882b42ade2bd64da56dfaa4
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/module/ieee_exceptions.f90
Log Message:
-----------
[flang] Fixed the declarations of IEEE_SUPPORT_FLAG and IEEE_SUPPORT_HALTING to
be functions rather than subroutines. Note that Table 17.3 in the
standard summarizes the contents of IEEE_EXCEPTIONS with the details
specified in section 17.11.
Original-commit: flang-compiler/f18 at fca58d479d2ab4578a029980f5144d11a46d5e78
Reviewed-on: https://github.com/flang-compiler/f18/pull/730
Commit: ada293fa6650cb240e81289cd6c280e2504e06d2
https://github.com/llvm/llvm-project/commit/ada293fa6650cb240e81289cd6c280e2504e06d2
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#730 from flang-compiler/ps-issue725
Fixed the declarations of IEEE_SUPPORT_FLAG and IEEE_SUPPORT_HALTING
Original-commit: flang-compiler/f18 at 238b9ee459599e3803a1d536479a4a2d9dc09723
Reviewed-on: https://github.com/flang-compiler/f18/pull/730
Commit: 73ef31b164cd829f2cc31ca037de0fddcc512287
https://github.com/llvm/llvm-project/commit/73ef31b164cd829f2cc31ca037de0fddcc512287
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/dosemantics10.f90
Log Message:
-----------
[flang] Changes to add an executable construct stack
I added a stack of ExecutableConstruct's to SemanticsContext along with
functions to push and pop constructs. I added code to the SemanticsVisitor
to use these new functions. I also added functions Pre and Post functions
for UnlabeledStatement's so that we could isolate the source positions for
statements embedded in "if" statements to improve error messages.
I also added code to check-do.[h,cc] to use this new infrastructure to check
for CYCLE and EXIT statements that are not contained within DO constructs
along with a test.
Original-commit: flang-compiler/f18 at b8370bdeb899791b9c841a7bd86e61412a92af22
Reviewed-on: https://github.com/flang-compiler/f18/pull/686
Tree-same-pre-rewrite: false
Commit: eedbe90e7247a483bbbf6b4c086c1f0ad487eaa3
https://github.com/llvm/llvm-project/commit/eedbe90e7247a483bbbf6b4c086c1f0ad487eaa3
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/dosemantics10.f90
Log Message:
-----------
[flang] Responses to review comments and team meeting
The most significant change is that I replaced the stack of
ExecutableConstruct's with a stack composed of ConstructNode's, each of which
is a variant of the constructs that made up the type ExecutableConstruct. This
change allows the nodes of the stack to be extended to include the types needed
for OMP semantic checking.
I also extended the existing test to include some correct DO loops with CYCLE
and EXIT statements to test the code more completely.
Original-commit: flang-compiler/f18 at d26f34e3a4cf72f1b6c56ececf24afa7a6299ffd
Reviewed-on: https://github.com/flang-compiler/f18/pull/686
Tree-same-pre-rewrite: false
Commit: 9cc2f8300bc59961bf33e31a7d628f16a230e40c
https://github.com/llvm/llvm-project/commit/9cc2f8300bc59961bf33e31a7d628f16a230e40c
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
Log Message:
-----------
[flang] Responses to review comments
I changed the interface of ```PushConstruct()``` to take an rvalue reference as its only parameter and made the construction of the ```ConstructNode```s explicit in all of the ```Pre()``` functions for the various construct types.
Original-commit: flang-compiler/f18 at f8be813874ac7a8021bd5e8138c7b421e166ea22
Reviewed-on: https://github.com/flang-compiler/f18/pull/686
Tree-same-pre-rewrite: false
Commit: 74112759c3d0bc1dff66ef408556a00f2fc949d1
https://github.com/llvm/llvm-project/commit/74112759c3d0bc1dff66ef408556a00f2fc949d1
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
Log Message:
-----------
[flang] Changed ```PushConstruct()``` to be a template, which moves the implicit
creation of the ```ConstructNode``` into ```PushConstruct()```.
Original-commit: flang-compiler/f18 at 3984566858743c1b18a7a53cb899e68bf951154a
Reviewed-on: https://github.com/flang-compiler/f18/pull/686
Tree-same-pre-rewrite: false
Commit: 97d7b398e4da89bbfb18b1232d6e1b8474fe683c
https://github.com/llvm/llvm-project/commit/97d7b398e4da89bbfb18b1232d6e1b8474fe683c
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/semantics.cc
Log Message:
-----------
[flang] Combined the implementations to ```Pre()``` and ```Post()``` functions that
call `PushConstruct()``` and ```PopConstruct()``` following a genius
suggestion from Peter.
Original-commit: flang-compiler/f18 at be2a03ebf479be8eda2529e6c47a7d44a073c455
Reviewed-on: https://github.com/flang-compiler/f18/pull/686
Commit: df632a4cbc0206cc6cfee1b280ba7e2be7313fce
https://github.com/llvm/llvm-project/commit/df632a4cbc0206cc6cfee1b280ba7e2be7313fce
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#686 from flang-compiler/ps-stmt-stack
Changes to add an executable construct stack
Original-commit: flang-compiler/f18 at 2fc28c75386ee70e01a21533ee18bc1cba149e4c
Reviewed-on: https://github.com/flang-compiler/f18/pull/686
Commit: 34f07e50c0e4aa1789be89056953d24191f446ee
https://github.com/llvm/llvm-project/commit/34f07e50c0e4aa1789be89056953d24191f446ee
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/evaluate/call.h
M flang/lib/semantics/check-io.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/semantics.cc
Log Message:
-----------
[flang] commit to switch branches
Some groundwork
Original-commit: flang-compiler/f18 at 64ebeb511cc823e8ea7ad9647d0475542930f506
Reviewed-on: https://github.com/flang-compiler/f18/pull/732
Tree-same-pre-rewrite: false
Commit: 2ae26b850136dc52e90d82b92b0985dc44056edc
https://github.com/llvm/llvm-project/commit/2ae26b850136dc52e90d82b92b0985dc44056edc
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call01.f90
M flang/test/semantics/call02.f90
M flang/test/semantics/call03.f90
M flang/test/semantics/call04.f90
M flang/test/semantics/call05.f90
M flang/test/semantics/call06.f90
M flang/test/semantics/call07.f90
M flang/test/semantics/call08.f90
M flang/test/semantics/call09.f90
M flang/test/semantics/call10.f90
M flang/test/semantics/call11.f90
M flang/test/semantics/call12.f90
Log Message:
-----------
[flang] Check recursive calls for NON_RECURSIVE and assumed-length CHARACTER(*)
Original-commit: flang-compiler/f18 at 92777f8f669284ecd0fc4f73bd20f82e148ceba3
Reviewed-on: https://github.com/flang-compiler/f18/pull/732
Tree-same-pre-rewrite: false
Commit: 9db810f5e335fe712d8b957f09eda74e78555e70
https://github.com/llvm/llvm-project/commit/9db810f5e335fe712d8b957f09eda74e78555e70
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/CMakeLists.txt
A flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/call01.f90
Log Message:
-----------
[flang] Add static declaration checker; get call01.f90 to pass
Original-commit: flang-compiler/f18 at 7cc5bc76174d36c90b8273b0a892a229d8787af2
Reviewed-on: https://github.com/flang-compiler/f18/pull/732
Tree-same-pre-rewrite: false
Commit: 67eb35d970e98f00dcfcc3fc1ac5a585e9d0e9c0
https://github.com/llvm/llvm-project/commit/67eb35d970e98f00dcfcc3fc1ac5a585e9d0e9c0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
A flang/lib/semantics/check-declarations.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
Log Message:
-----------
[flang] Address review comment
Original-commit: flang-compiler/f18 at 65dc8d4996b74148a06bc73d59c318a2bf38fe07
Reviewed-on: https://github.com/flang-compiler/f18/pull/732
Commit: 98a74083471830013341ef58578adb1e3b9eed50
https://github.com/llvm/llvm-project/commit/98a74083471830013341ef58578adb1e3b9eed50
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#732 from flang-compiler/pmk-call
Begin semantic checks for calls
Original-commit: flang-compiler/f18 at 4d6ae6fab014b3e7c48572e2f843425f0796721b
Reviewed-on: https://github.com/flang-compiler/f18/pull/732
Commit: f9ed573b1dad6eb8078983b71cba0653a4c8550e
https://github.com/llvm/llvm-project/commit/f9ed573b1dad6eb8078983b71cba0653a4c8550e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/grammar.h
Log Message:
-----------
[flang] Recover better from syntax errors on USE statements
Original-commit: flang-compiler/f18 at 29968698d9afe367de92d536e54a048cc998b359
Reviewed-on: https://github.com/flang-compiler/f18/pull/731
Commit: 99fb2cfc2f8c6a1114b21a4014773c11631893c9
https://github.com/llvm/llvm-project/commit/99fb2cfc2f8c6a1114b21a4014773c11631893c9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#731 from flang-compiler/pmk-fix-728
Recover better from syntax errors on USE statements
Original-commit: flang-compiler/f18 at 2c45d65b88e1cffa59d0eafa08c5ee5762a86155
Reviewed-on: https://github.com/flang-compiler/f18/pull/731
Commit: 2f205a5f5251098cbd04861e2386a5708e664b76
https://github.com/llvm/llvm-project/commit/2f205a5f5251098cbd04861e2386a5708e664b76
Author: Tin Huynh <tinlun123 at gmail.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/getdefinition01.f90
A flang/test/semantics/getdefinition02.f
A flang/test/semantics/getdefinition03-a.f90
A flang/test/semantics/getdefinition03-b.f90
A flang/test/semantics/getsymbols01.f90
A flang/test/semantics/getsymbols02-a.f90
A flang/test/semantics/getsymbols02-b.f90
A flang/test/semantics/getsymbols02-c.f90
A flang/test/semantics/getsymbols03-a.f90
A flang/test/semantics/getsymbols03-b.f90
M flang/test/semantics/test_any.sh
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Added -fget-definitions and -fget-all-symbols.
- -fget-definitions finds the definition of the symbol under specified source
position.
- -fget-all-symbols finds definition locations of all symbols in a document. For
symbols found in other modules, shows which module the symbol came from.
- Tests.
- New structure SourcePosition with file, line, column information.
Original-commit: flang-compiler/f18 at e0099b0900b47ff1d8903c2462bb8a42ecc7999b
Reviewed-on: https://github.com/flang-compiler/f18/pull/698
Tree-same-pre-rewrite: false
Commit: 69fd49a00229d1491b2e5887eb0ace4440ccd339
https://github.com/llvm/llvm-project/commit/69fd49a00229d1491b2e5887eb0ace4440ccd339
Author: Tin Huynh <tinlun123 at gmail.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/source.cc
M flang/lib/parser/source.h
M flang/lib/semantics/semantics.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/getdefinition04.f90
A flang/test/semantics/getdefinition05.f90
M flang/test/semantics/getsymbols01.f90
A flang/test/semantics/getsymbols04.f90
A flang/test/semantics/getsymbols05.f90
M flang/test/semantics/test_any.sh
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] FindOffsetLineAndColumn also uses SourcePosition.
New tests for COMMON and BLOCK.
Added CHECK-ONCE to test_any.sh. Make sure pattern only occurs once.
Original-commit: flang-compiler/f18 at ad82dafcf905c521904a0120462ad1636917fc8c
Reviewed-on: https://github.com/flang-compiler/f18/pull/698
Tree-same-pre-rewrite: false
Commit: 2e1807998c9d41006ad4f1f38e3412ac3f23b587
https://github.com/llvm/llvm-project/commit/2e1807998c9d41006ad4f1f38e3412ac3f23b587
Author: Tin Huynh <tinlun123 at gmail.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/source.h
M flang/lib/semantics/semantics.cc
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Using new Prov to Cooked mappings for get-definition.
Original-commit: flang-compiler/f18 at 5a42c5c9e19c5a56fdc256db56d32e3564e72765
Reviewed-on: https://github.com/flang-compiler/f18/pull/698
Commit: 2deefe166c1e2f534c07fb82879b02f8c68e21bf
https://github.com/llvm/llvm-project/commit/2deefe166c1e2f534c07fb82879b02f8c68e21bf
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#698 from tinlun/master
Added -fget-definition and -fget-symbols-sources.
Original-commit: flang-compiler/f18 at 24caaea2bf729fdc46d29981b10c668d92b0ccb9
Reviewed-on: https://github.com/flang-compiler/f18/pull/698
Commit: 62e4acf23271c1c7b0026a25faf8339e57c7c2c9
https://github.com/llvm/llvm-project/commit/62e4acf23271c1c7b0026a25faf8339e57c7c2c9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve05.f90
M flang/test/semantics/resolve20.f90
Log Message:
-----------
[flang] Allow module, submodule, and program names to be used as local identifiers. Check for USE of m in m.
Original-commit: flang-compiler/f18 at 9abfd9e45001bba6f5e4b5a6e08674ce92789052
Reviewed-on: https://github.com/flang-compiler/f18/pull/737
Tree-same-pre-rewrite: false
Commit: bd2bf58e7a82cfbb15c11c73a2373cdc4bbe09eb
https://github.com/llvm/llvm-project/commit/bd2bf58e7a82cfbb15c11c73a2373cdc4bbe09eb
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Extend comments
Original-commit: flang-compiler/f18 at 9f918c2559698a893aaa917dc7b109c226c6d49f
Reviewed-on: https://github.com/flang-compiler/f18/pull/737
Commit: 05f75ac01fc0c32774ec96d221d571309c2b8100
https://github.com/llvm/llvm-project/commit/05f75ac01fc0c32774ec96d221d571309c2b8100
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#737 from flang-compiler/pmk-m-in-m
Allow module, submodule, and program names to be used as local identi…
Original-commit: flang-compiler/f18 at ffc90d0b1c352ddb55e346469061a6b775e51803
Reviewed-on: https://github.com/flang-compiler/f18/pull/737
Commit: 48659b1eb0d537291f93af516938d6f2acddd297
https://github.com/llvm/llvm-project/commit/48659b1eb0d537291f93af516938d6f2acddd297
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/test/evaluate/folding05.f90
Log Message:
-----------
[flang] Add NEW_LINE intrinsic to the intrinsic table
NEW_LINE intrinsic folding was already implemented but it had not
yet been added the the intrinsic table and was therefore not yet
recognised an intrinsic.
Add related tests.
Original-commit: flang-compiler/f18 at 42fcf5b5f1e63267a024afaad39f012982c8abc1
Reviewed-on: https://github.com/flang-compiler/f18/pull/734
Commit: ea7652a251b936bb67664902f097e2e0e29c6fbe
https://github.com/llvm/llvm-project/commit/ea7652a251b936bb67664902f097e2e0e29c6fbe
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#734 from flang-compiler/jpr-fix-700
Add NEW_LINE intrinsic to the intrinsic table
Original-commit: flang-compiler/f18 at 9c10e02d396f3e1ce7cd636fc58f3093abc3c53a
Reviewed-on: https://github.com/flang-compiler/f18/pull/734
Commit: c93ceeeef7047c9062af2edbc8b5035b053cfe9e
https://github.com/llvm/llvm-project/commit/c93ceeeef7047c9062af2edbc8b5035b053cfe9e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
Log Message:
-----------
[flang] Improve error message (add types)
Original-commit: flang-compiler/f18 at 48b8f32d516e38cfd80f4759c4b78a08a24ebdf3
Reviewed-on: https://github.com/flang-compiler/f18/pull/738
Tree-same-pre-rewrite: false
Commit: 988749e8f39e99a621dd5f1f6195a1f4e1e95782
https://github.com/llvm/llvm-project/commit/988749e8f39e99a621dd5f1f6195a1f4e1e95782
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#735
Original-commit: flang-compiler/f18 at dccb16d492685cbe02771c2f78a60cbd46fc1bac
Reviewed-on: https://github.com/flang-compiler/f18/pull/738
Tree-same-pre-rewrite: false
Commit: 8fc7824feb3e293951b4244ce4071c48f4f06c28
https://github.com/llvm/llvm-project/commit/8fc7824feb3e293951b4244ce4071c48f4f06c28
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
M flang/test/semantics/symbol09.f90
Log Message:
-----------
[flang] tweak test results
Original-commit: flang-compiler/f18 at 360c6717e790b7160655677e6f160c4d467383f8
Reviewed-on: https://github.com/flang-compiler/f18/pull/738
Commit: 722ffc3e2dd9b5c1f9da15098c2d7a7bb6c9539f
https://github.com/llvm/llvm-project/commit/722ffc3e2dd9b5c1f9da15098c2d7a7bb6c9539f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#738 from flang-compiler/pmk-fix-735
Fix bug flang-compiler/f18#735
Original-commit: flang-compiler/f18 at 675ccd4208cc6061b7e3fe9b6c02441ceaea2e06
Reviewed-on: https://github.com/flang-compiler/f18/pull/738
Commit: f2917c777bafdd81fbec8c7d1681ed30a4e71f8d
https://github.com/llvm/llvm-project/commit/f2917c777bafdd81fbec8c7d1681ed30a4e71f8d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
M flang/lib/evaluate/real.cc
Log Message:
-----------
[flang] Do not emit a bogus exponent (0.e-1)
Original-commit: flang-compiler/f18 at 3d0b13d7ed146eae2641a4e6218d353314c7496f
Reviewed-on: https://github.com/flang-compiler/f18/pull/736
Commit: a443fdcb6af33342facb43cf26dd30e037e14c33
https://github.com/llvm/llvm-project/commit/a443fdcb6af33342facb43cf26dd30e037e14c33
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#736 from flang-compiler/pmk-fix-expo
Do not emit a bogus exponent on zero (0.e-1)
Original-commit: flang-compiler/f18 at ab19f2e9a7a9daa57ed1c1767cc182bf7fff98e6
Reviewed-on: https://github.com/flang-compiler/f18/pull/736
Commit: 5676797c2aa46a40224e8ce91dd6ae3dac288706
https://github.com/llvm/llvm-project/commit/5676797c2aa46a40224e8ce91dd6ae3dac288706
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
M flang/lib/semantics/symbol.cc
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/symbol01.f90
M flang/test/semantics/symbol02.f90
M flang/test/semantics/symbol03.f90
M flang/test/semantics/symbol05.f90
M flang/test/semantics/symbol06.f90
M flang/test/semantics/symbol07.f90
M flang/test/semantics/symbol08.f90
M flang/test/semantics/symbol09.f90
M flang/test/semantics/symbol10.f90
M flang/test/semantics/symbol11.f90
M flang/test/semantics/symbol12.f90
M flang/test/semantics/symbol13.f90
M flang/test/semantics/symbol14.f90
M flang/test/semantics/symbol15.f90
M flang/test/semantics/symbol16.f90
Log Message:
-----------
[flang] Improve flag dumping for -funparse-with-symbols
Original-commit: flang-compiler/f18 at 768fb1b36925c1e1ed563562ef01146c2bba4b2b
Commit: 9c3a9375be62e16c899b9be093c6c7e6c240ba35
https://github.com/llvm/llvm-project/commit/9c3a9375be62e16c899b9be093c6c7e6c240ba35
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/tools.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call02.f90
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/resolve59.f90
Log Message:
-----------
[flang] Implement checks for test/semantics/call02.f90
Original-commit: flang-compiler/f18 at 38eaaa72fffe1b1f2fccec97a1a2a428f47da98f
Reviewed-on: https://github.com/flang-compiler/f18/pull/745
Tree-same-pre-rewrite: false
Commit: 1c10d963aa02b51b3e8e565d26a6c17bf06ff915
https://github.com/llvm/llvm-project/commit/1c10d963aa02b51b3e8e565d26a6c17bf06ff915
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/call01.f90
M flang/test/semantics/call02.f90
M flang/test/semantics/call04.f90
M flang/test/semantics/call05.f90
M flang/test/semantics/call06.f90
M flang/test/semantics/call10.f90
M flang/test/semantics/call11.f90
M flang/test/semantics/call12.f90
M flang/test/semantics/expr-errors01.f90
M flang/test/semantics/omp-nested01.f90
M flang/test/semantics/resolve05.f90
Log Message:
-----------
[flang] Remove periods from the ends of messages, per review comment
Original-commit: flang-compiler/f18 at 0ce32de0d62be7e6eb447fde074e661011b6fc1c
Reviewed-on: https://github.com/flang-compiler/f18/pull/745
Commit: f9f0ff19787de5d5ab8d16909bc8f43819e504ad
https://github.com/llvm/llvm-project/commit/f9f0ff19787de5d5ab8d16909bc8f43819e504ad
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#745 from flang-compiler/pmk-call
Implement checks for test/semantics/call02.f90
Original-commit: flang-compiler/f18 at 45604a2d72d5d541b5de68aadb482d2f06d2c66a
Reviewed-on: https://github.com/flang-compiler/f18/pull/745
Commit: 4b30ecf11c6f68c2ff5eb1451b2c58e1a364e9bd
https://github.com/llvm/llvm-project/commit/4b30ecf11c6f68c2ff5eb1451b2c58e1a364e9bd
Author: David Truby <david.truby at arm.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Semantic checks for target construct
Original-commit: flang-compiler/f18 at 373391bc03359e11a80022f5058c5e91ec08cd0a
Reviewed-on: https://github.com/flang-compiler/f18/pull/719
Tree-same-pre-rewrite: false
Commit: 9527a188163aac5ade622ad2ca492448bbd83018
https://github.com/llvm/llvm-project/commit/9527a188163aac5ade622ad2ca492448bbd83018
Author: David Truby <david.truby at arm.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Added tofrom:scalar check for defaultmap clause
Original-commit: flang-compiler/f18 at 1025649b647f670aa05d7779319591440dae6c27
Reviewed-on: https://github.com/flang-compiler/f18/pull/719
Tree-same-pre-rewrite: false
Commit: da26e76078d35100d444219e6dc4eb1a8419ced8
https://github.com/llvm/llvm-project/commit/da26e76078d35100d444219e6dc4eb1a8419ced8
Author: David Truby <david.truby at arm.com>
Date: 2019-09-11 (Wed, 11 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Changed missing tofrom:scalar error message to be more descriptive
Original-commit: flang-compiler/f18 at 18e0a55a026f96e7afecafedd385efa697391ac2
Reviewed-on: https://github.com/flang-compiler/f18/pull/719
Commit: 6f9ae14b27c356db6aa81f03cd2a1445a2272ed7
https://github.com/llvm/llvm-project/commit/6f9ae14b27c356db6aa81f03cd2a1445a2272ed7
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-14 (Sat, 14 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#719 from DavidTruby/target
Semantic checks for target construct
Original-commit: flang-compiler/f18 at 2752d09c3a7f599c27de14fcef3846f9db39e97e
Reviewed-on: https://github.com/flang-compiler/f18/pull/719
Commit: d43405e4e6d4af8fe5e1d660ceed05f74bb62633
https://github.com/llvm/llvm-project/commit/d43405e4e6d4af8fe5e1d660ceed05f74bb62633
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-12 (Thu, 12 Sep 2019)
Changed paths:
M flang/lib/semantics/symbol.cc
M flang/test/semantics/resolve17.f90
Log Message:
-----------
[flang] Fix bug merging generics on USE
When we use-associate the same generic name from two different modules
they are merged together. If the same specific procedure occurs in both
generics it should only occur once in the merged one.
Similarly, it's not an error if they both have a derived type or
specific procedure named the same as the generic, as long as they are
the same symbol.
Fixes flang-compiler/f18#733.
Original-commit: flang-compiler/f18 at d37db076914ea40aece502b13b9059dc4c1b319b
Reviewed-on: https://github.com/flang-compiler/f18/pull/741
Tree-same-pre-rewrite: false
Commit: f13cf9f0ed7f5d9b7247973c53dac96380da08ca
https://github.com/llvm/llvm-project/commit/f13cf9f0ed7f5d9b7247973c53dac96380da08ca
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve17.f90
Log Message:
-----------
[flang] Better handling of merged generics
If a generic name is use-associated from two different modules and they
both have a specific procedure or both have a derived type with the same
name, report it as an error.
Original-commit: flang-compiler/f18 at 42369af96d3cca7ca2050592e728e04de8124bd8
Reviewed-on: https://github.com/flang-compiler/f18/pull/741
Tree-same-pre-rewrite: false
Commit: 4fde74a1c86d64c8e0c522f3a45e6926f0893c59
https://github.com/llvm/llvm-project/commit/4fde74a1c86d64c8e0c522f3a45e6926f0893c59
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
M flang/lib/semantics/symbol.cc
Log Message:
-----------
[flang] Address review comment
Original-commit: flang-compiler/f18 at 134190f75e0481a63fe97343977bb3fe895c9a5c
Reviewed-on: https://github.com/flang-compiler/f18/pull/741
Commit: a10899f7296dc6792456f7b22afb9e2ef8386304
https://github.com/llvm/llvm-project/commit/a10899f7296dc6792456f7b22afb9e2ef8386304
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#741 from flang-compiler/tsk-issue733
Fix bug merging generics on USE
Original-commit: flang-compiler/f18 at 5cedc81d15960f3a7349781d3f5f555abb0692c9
Reviewed-on: https://github.com/flang-compiler/f18/pull/741
Commit: ce8b500d57cac7abb98b71cbb90e442eed843b2f
https://github.com/llvm/llvm-project/commit/ce8b500d57cac7abb98b71cbb90e442eed843b2f
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/tools.cc
M flang/test/semantics/modfile03.f90
Log Message:
-----------
[flang] Refactoring
Eliminate two of the three overloadings of `Scope::MakeDerivedType()`.
Keep the one that has `Category` first because that's the order the
constructor of `DeclTypeSpec` uses.
In `mod-file.cc`, eliminate some calls to `PutLower()`. Symbols and
names are already lower case so they don't need to be converted.
In `modfile03.f90`, move the expected `.mod` file comments to right
after the corresponding modules. That makes it easier to work with.
Original-commit: flang-compiler/f18 at 86874d9bf8398391d3c24b0f0c8ed6c1e2c88185
Reviewed-on: https://github.com/flang-compiler/f18/pull/740
Tree-same-pre-rewrite: false
Commit: 0b86ab186d593c1c4e61f3586a4b0d2b3b07f8a7
https://github.com/llvm/llvm-project/commit/0b86ab186d593c1c4e61f3586a4b0d2b3b07f8a7
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/test/semantics/modfile03.f90
Log Message:
-----------
[flang] Fix renames in module files
When a module contains a use-association with rename, we have to be
careful to use the correct name (i.e. the local-name, not the use-name)
when writing out its `.mod` file.
When analyzing a `Name` in an expression, follow the use-association
for details, attributes, and constant values; but if we need to make a
`Designator` or `ProcedureDesignator`, use the local name.
Original-commit: flang-compiler/f18 at 8f07b803e141e34b3e512f8f02ef228186abe80f
Reviewed-on: https://github.com/flang-compiler/f18/pull/740
Tree-same-pre-rewrite: false
Commit: a29678ddb67a4131d7c72d76d29a55f2f950ef84
https://github.com/llvm/llvm-project/commit/a29678ddb67a4131d7c72d76d29a55f2f950ef84
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/formatting.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/test/semantics/modfile03.f90
M flang/test/semantics/symbol06.f90
Log Message:
-----------
[flang] Fix bugs with use-associated derived type with rename
When a derived type is use-associated with a rename, like
`use m, only: t2 => t1`
we need to record in the `DerivedTypeSpec` both the local-name in this
scope and the symbol for the derived type.
In most cases we need to work the the type symbol and its
`DerivedTypeDetails`, but when writing the type to the module file
we need the local-name. The name of the type symbol may be hidden
or not use-associated.
When analyzing a `parser::Name` we don't want to follow use-associations
because we could end up with the wrong name in a `DataRef` (i.e. the
use-name rather than the local-name). But that means that
`GetNamedConstantValue()` does have to follow them or named constants
won't always be folded.
Fixes flang-compiler/f18#729.
Original-commit: flang-compiler/f18 at 50d8921c6909d913774b4630b51bd3eb30ee34fc
Reviewed-on: https://github.com/flang-compiler/f18/pull/740
Commit: fe221123224d1f4df94a8739493b9b0f0aaef298
https://github.com/llvm/llvm-project/commit/fe221123224d1f4df94a8739493b9b0f0aaef298
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#740 from flang-compiler/tsk5
Fix bugs with use-association renames
Original-commit: flang-compiler/f18 at 61d5c7a8c1caaf38b32bea32554c7691af5764f8
Reviewed-on: https://github.com/flang-compiler/f18/pull/740
Commit: ca8630845384d6a3ecd0b1653bcf31076ba75a06
https://github.com/llvm/llvm-project/commit/ca8630845384d6a3ecd0b1653bcf31076ba75a06
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-13 (Fri, 13 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve59.f90
Log Message:
-----------
[flang] Prevent RESULT name from being the same as the function.
Fix flang-compiler/f18#726.
Add test and error messsage for such scenario and set error on the
result symbol because it is unclear what it is inside the function.
Original-commit: flang-compiler/f18 at a3d5b5af0d4a2537e2cd1cf84cae16e622d2c50c
Reviewed-on: https://github.com/flang-compiler/f18/pull/743
Tree-same-pre-rewrite: false
Commit: ba89315523a7e49d423b8351b3c27d59343b2b7b
https://github.com/llvm/llvm-project/commit/ba89315523a7e49d423b8351b3c27d59343b2b7b
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve59.f90
Log Message:
-----------
[flang] Address comment: make error a warning instead and ignore RESULT
Instead of emitting an error when RESULT has the same name as the
function, emit a warning and ignore RESULT in the rest of the
compilation.
Original-commit: flang-compiler/f18 at 8ce3862d39cee904b719ed68752237b20d9e154f
Reviewed-on: https://github.com/flang-compiler/f18/pull/743
Commit: ac761ca21acdf41b34dd0033422cd20fcc69a774
https://github.com/llvm/llvm-project/commit/ac761ca21acdf41b34dd0033422cd20fcc69a774
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-09-17 (Tue, 17 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#743 from flang-compiler/jpr-fix-726
Prevent RESULT name from being the same as the function name
Original-commit: flang-compiler/f18 at 648d6b9eeaac17134ec5850493a3e60d7c7ad09b
Reviewed-on: https://github.com/flang-compiler/f18/pull/743
Commit: bb1127efb689782e6fe8fceceb835d7abf8e9584
https://github.com/llvm/llvm-project/commit/bb1127efb689782e6fe8fceceb835d7abf8e9584
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-09-18 (Wed, 18 Sep 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] [OpenMP] Simplify `OmpObject` with `std::variant`
Instead of using an `ENUM_CLASS Kind` to distinguish a `Designator`
or common-block name, change it to `std::variant`. If the `Name`
is available, then it is common-block name.
Original-commit: flang-compiler/f18 at abf5db6171bc57eeddb58d22cd09e2344b023cad
Commit: b506f39f1895511a2895f043b4756db3ebad05d5
https://github.com/llvm/llvm-project/commit/b506f39f1895511a2895f043b4756db3ebad05d5
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-18 (Wed, 18 Sep 2019)
Changed paths:
M flang/test/semantics/test_any.sh
Log Message:
-----------
[flang] Clean up temp dirs
A temp directory is created in `common.sh` and it is cleaned up by
`trap ... EXIT`. If the test script has its own trap, as this one does,
it seems to replace the first one. So the cleanup from `common.sh` was
not being executed when the `%t` feature was used and empty temp
directories were being left in the directory where the tests ran.
Since we already have a temp directory that is cleaned up, just use
that for `%t` and don't bother with another `mktemp`.
Original-commit: flang-compiler/f18 at f61d62ddec011c1a6462ece12af29c5f0b16e60a
Reviewed-on: https://github.com/flang-compiler/f18/pull/754
Commit: e525afbb216190d92da37f56509bbf562df99eb7
https://github.com/llvm/llvm-project/commit/e525afbb216190d92da37f56509bbf562df99eb7
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-19 (Thu, 19 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#754 from flang-compiler/tsk6
Clean up temp dirs
Original-commit: flang-compiler/f18 at 6e8f90127adf6bdce291f35ec28cf3054c727f0d
Reviewed-on: https://github.com/flang-compiler/f18/pull/754
Commit: 493a135a56c4e50106550dad824c20e850149aa8
https://github.com/llvm/llvm-project/commit/493a135a56c4e50106550dad824c20e850149aa8
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-19 (Thu, 19 Sep 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names-utils.h
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/modfile07.f90
M flang/test/semantics/resolve11.f90
M flang/test/semantics/resolve25.f90
M flang/test/semantics/resolve38.f90
Log Message:
-----------
[flang] Handle alternative names for relational operators
10.1.6.2 says:
> The operators <, <=, >, >=, ==, and /= always have the same interpretations
> as the operators .LT., .LE., .GT., .GE., .EQ., and .NE., respectively.
That means we have to treat `operator(<)` like `operator(.lt.)`,
for example. `<>` is a third alias for `.NE.`.
We can't just choose always to use one form (e.g. replacing `operator(.lt.)`
with `operator(<)`). This is because all symbols names are `CharBlock`s
referring to the cooked character stream so that they have proper source
provenance. Also, if a user prefers one style and uses it consistently,
that's the form they should see in messages.
So the fix is to use whatever form is found in the source, but also to
look up symbols by the other names when necessary. To assist this, add
`GenericSpecInfo::GetAllNames()` to return all of the names of a generic
spec. Each place a generic spec can occur we have to use these to look
for the symbol.
Also reorganize the `AddUse()` overloads to work with this change.
Fixes flang-compiler/f18#746.
Original-commit: flang-compiler/f18 at 7f06f175d5033f0728f67b1be25ecd53df1f8de5
Reviewed-on: https://github.com/flang-compiler/f18/pull/752
Commit: 3165e0b5b224b51f67452ed2eb25af0ae58b5272
https://github.com/llvm/llvm-project/commit/3165e0b5b224b51f67452ed2eb25af0ae58b5272
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-19 (Thu, 19 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#752 from flang-compiler/tsk-issue746
Handle alternative names for relational operators
Original-commit: flang-compiler/f18 at c448c2b1a59876e60db7134dda3594f6a991c2ef
Reviewed-on: https://github.com/flang-compiler/f18/pull/752
Commit: d8fc41f61282217b6e7aaf644c094ab184a6e11d
https://github.com/llvm/llvm-project/commit/d8fc41f61282217b6e7aaf644c094ab184a6e11d
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-16 (Mon, 16 Sep 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
M flang/test/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Allow more argument types in some specific intrinsic
Fix flang-compiler/f18#724.
Allow all type kinds for arguments in restricted specific conversion
intrinisc (no warning, this is ubiquitous).
Allow MAX/MIN restricted intrinsic (AMAX0...) to be replaced by the
related generic foolowed by a type conversion to the expected result
type of the specific. Emit a warning because xlf and ifort are doing so
but pgfortran is converting the arguments instead.
Original-commit: flang-compiler/f18 at c07adb94ed2b2b46284d6a4a4b23c4189ea1d936
Reviewed-on: https://github.com/flang-compiler/f18/pull/749
Tree-same-pre-rewrite: false
Commit: 9a01a4915eda91300ffcdf5e7ecb7048c3969e10
https://github.com/llvm/llvm-project/commit/9a01a4915eda91300ffcdf5e7ecb7048c3969e10
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-17 (Tue, 17 Sep 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Address editorial comments and use oxford comma
Original-commit: flang-compiler/f18 at 88a8d1be035b8aacab277526ebc09802cf22e176
Reviewed-on: https://github.com/flang-compiler/f18/pull/749
Tree-same-pre-rewrite: false
Commit: 00c02c469ce69dedce9cbec802465866586de5b7
https://github.com/llvm/llvm-project/commit/00c02c469ce69dedce9cbec802465866586de5b7
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-18 (Wed, 18 Sep 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Refactor IntrinsicProcTable::Implementation::Probe for readability
Original-commit: flang-compiler/f18 at 4a7211e42bfc1d709246b13cc659356d738edd45
Reviewed-on: https://github.com/flang-compiler/f18/pull/749
Tree-same-pre-rewrite: false
Commit: cd15ba5360512a4c7c139d2c77a707195edd20e4
https://github.com/llvm/llvm-project/commit/cd15ba5360512a4c7c139d2c77a707195edd20e4
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-09-18 (Wed, 18 Sep 2019)
Changed paths:
M flang/lib/evaluate/host.cc
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Fix typos and style in some comments
Original-commit: flang-compiler/f18 at 621ded353f6179045e8fc4c18ef13a4aa05293b9
Reviewed-on: https://github.com/flang-compiler/f18/pull/749
Commit: 505b214493e2d9c6422fa9bb6db21f5e0a9cbee0
https://github.com/llvm/llvm-project/commit/505b214493e2d9c6422fa9bb6db21f5e0a9cbee0
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-09-23 (Mon, 23 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#749 from flang-compiler/jpr-fix-724-2
Allow more argument types in some specific intrinsic
Original-commit: flang-compiler/f18 at e379451c7f319b0bb811022af269f7ad45b190ac
Reviewed-on: https://github.com/flang-compiler/f18/pull/749
Commit: ab1231451408a5649f6b26981a226945f6b63f45
https://github.com/llvm/llvm-project/commit/ab1231451408a5649f6b26981a226945f6b63f45
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-23 (Mon, 23 Sep 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/doconcurrent05.f90
M flang/test/semantics/doconcurrent06.f90
M flang/test/semantics/dosemantics10.f90
A flang/test/semantics/dosemantics11.f90
Log Message:
-----------
[flang] Implementation of semantic checks C1135, C1167, and C1168
These constraints state that CYCLE and EXIT statements should not leave DO
CONCURRENT, CRITICAL, or CHANGE TEAM constructs.
I added checking code to check-do.cc and removed some superseded code from
check-do.cc and semantics.cc. The new code uses the construct stack
implemented in my previous pull request.
I also added a new test -- dosemantics11.f90 and modified the tests
dosemantics10.f90, doconcurrent05.f90, and doconcurrent06.f90 to adapt to
the new error messages. I converted these latter two tests to use
test_error.sh since they only reported errors.
Original-commit: flang-compiler/f18 at b0bea7da64ee73a66a761b851d9e1f922ac94e16
Reviewed-on: https://github.com/flang-compiler/f18/pull/756
Tree-same-pre-rewrite: false
Commit: e0eee884b21cbcc8407d445b7d337e68d402e6c6
https://github.com/llvm/llvm-project/commit/e0eee884b21cbcc8407d445b7d337e68d402e6c6
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-23 (Mon, 23 Sep 2019)
Changed paths:
M flang/lib/common/template.h
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/dosemantics10.f90
M flang/test/semantics/dosemantics11.f90
Log Message:
-----------
[flang] Responses to a comments in my previous pull request.
Original-commit: flang-compiler/f18 at e0d73a45ac0f6de78bfa9db18d730b11555dcfc0
Reviewed-on: https://github.com/flang-compiler/f18/pull/756
Tree-same-pre-rewrite: false
Commit: 33b208e48769bc6cf2b707e763d9d65c71cd21e0
https://github.com/llvm/llvm-project/commit/33b208e48769bc6cf2b707e763d9d65c71cd21e0
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-24 (Tue, 24 Sep 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
Log Message:
-----------
[flang] More responses to comments in the pull request. The big change was to
implement an enum class to indicate whether the statement being checked
is a CYCLE or EXIT statement. This change rippled through a few
interfaces, resulting in cleaner, more readable code. Thanks for the
tip, Tim!
Original-commit: flang-compiler/f18 at e167c3d39fa95c93f402a0bfdf916dc10dbd80e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/756
Tree-same-pre-rewrite: false
Commit: ea1cf9ee0b8bb6d464a254659f6badefded0759a
https://github.com/llvm/llvm-project/commit/ea1cf9ee0b8bb6d464a254659f6badefded0759a
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-24 (Tue, 24 Sep 2019)
Changed paths:
M flang/lib/common/template.h
M flang/lib/semantics/check-do.cc
Log Message:
-----------
[flang] More responses to pull request comments.
Original-commit: flang-compiler/f18 at 0fb4cf1c9b3fe36e2c5075981e0d7ce61cb49aae
Reviewed-on: https://github.com/flang-compiler/f18/pull/756
Commit: acda903be8f9d723fcf5b7725acb9e89da490599
https://github.com/llvm/llvm-project/commit/acda903be8f9d723fcf5b7725acb9e89da490599
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#756 from flang-compiler/ps-do
Implementation of semantic checks C1135, C1167, and C1168
Original-commit: flang-compiler/f18 at e43377f999862e22ddd141f95d9988a1ad5da8a4
Reviewed-on: https://github.com/flang-compiler/f18/pull/756
Commit: e9dda4f0f5794668f84371c375312e1879e9ffb3
https://github.com/llvm/llvm-project/commit/e9dda4f0f5794668f84371c375312e1879e9ffb3
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/descender.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/fold.h
M flang/lib/evaluate/traversal.h
Log Message:
-----------
[flang] checkpoint
Original-commit: flang-compiler/f18 at 782f44fe7d1cc23f6edac4b18104f932a6884490
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 9016b1d6a88a7de51f81d4a8ed2a378f5e1c0244
https://github.com/llvm/llvm-project/commit/9016b1d6a88a7de51f81d4a8ed2a378f5e1c0244
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/descender.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/fold.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
Log Message:
-----------
[flang] checkpoint
Original-commit: flang-compiler/f18 at 96ade8e6e9004a3f556defbb6f252214c9e38459
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 8d8e1c46040f7fb2e96358d4f8c0456f474e33d9
https://github.com/llvm/llvm-project/commit/8d8e1c46040f7fb2e96358d4f8c0456f474e33d9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
A flang/test/semantics/expr-errors02.f90
Log Message:
-----------
[flang] add test
Original-commit: flang-compiler/f18 at ad2fa9dfdf2da204ad1c9ef510133b8ba43b41aa
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: c36f7d916a44169a0f55ce7bd87a0b9cf1f8590b
https://github.com/llvm/llvm-project/commit/c36f7d916a44169a0f55ce7bd87a0b9cf1f8590b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/semantics/expression.cc
M flang/test/semantics/expr-errors02.f90
Log Message:
-----------
[flang] progress
Original-commit: flang-compiler/f18 at b5e3e709cb0f9ee61124af3422372b01132e07be
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 0bc6d134a69dc1752aef854e62089d8efc6a07b8
https://github.com/llvm/llvm-project/commit/0bc6d134a69dc1752aef854e62089d8efc6a07b8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/CMakeLists.txt
A flang/lib/evaluate/check-expression.cc
A flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/fold.h
A flang/lib/evaluate/traverse.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/type.h
M flang/test/semantics/expr-errors02.f90
Log Message:
-----------
[flang] Repackaging; tests pass
Original-commit: flang-compiler/f18 at 1fa7bb7717a1feb2e93e40c907ffe49c10f45332
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: e6e66c022bbd7de7a8c15e04f24845f7b54691ec
https://github.com/llvm/llvm-project/commit/e6e66c022bbd7de7a8c15e04f24845f7b54691ec
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/traverse.h
Log Message:
-----------
[flang] Redo IsInitialDataTarget
Original-commit: flang-compiler/f18 at 988c38e1f53115291a5e2a0c7e059cbb42bf096b
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 48fd773a1928541b5c0a7ee91d4822a76872bd8f
https://github.com/llvm/llvm-project/commit/48fd773a1928541b5c0a7ee91d4822a76872bd8f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traverse.h
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Refinements; replace several clients of old Visitor with new Traverse
Original-commit: flang-compiler/f18 at 0b44a86e31c0c7f84cf0c8dcafbedfb5e0e09c9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: f07d6bc6bae459e908af9f94162e6bb8eb570d05
https://github.com/llvm/llvm-project/commit/f07d6bc6bae459e908af9f94162e6bb8eb570d05
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
Log Message:
-----------
[flang] more conversions to Traverse
Original-commit: flang-compiler/f18 at e8668e23687f8cf0ae4a2300ed23a93a95b67470
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: fc5d127c1ccd177378b106dbbb9f55995efc48fc
https://github.com/llvm/llvm-project/commit/fc5d127c1ccd177378b106dbbb9f55995efc48fc
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
R flang/lib/evaluate/traversal.h
Log Message:
-----------
[flang] Complete conversions, delete old visitor
Original-commit: flang-compiler/f18 at 6ce1da55c8f62f60a3f3727ce8f2d01394d4133b
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 32f2ea0753e017a4a41775fce572700a7c00f213
https://github.com/llvm/llvm-project/commit/32f2ea0753e017a4a41775fce572700a7c00f213
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/traverse.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Build with all compilers * versions
Original-commit: flang-compiler/f18 at 7332caa613696aa61dad848d8ed5790294edc7b9
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 686baf0b0eff7055ae285abe5e12f2c8ae21dc1e
https://github.com/llvm/llvm-project/commit/686baf0b0eff7055ae285abe5e12f2c8ae21dc1e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/descender.h
Log Message:
-----------
[flang] Remove dead code
Original-commit: flang-compiler/f18 at 4d90aad3614a00e0c37595a0643d1b282148c6cd
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: d8c9b50fd64351ff0f38ea8e0d89adbd034144a7
https://github.com/llvm/llvm-project/commit/d8c9b50fd64351ff0f38ea8e0d89adbd034144a7
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/CMakeLists.txt
M flang/lib/evaluate/check-expression.cc
R flang/lib/evaluate/descender.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/traverse.h
Log Message:
-----------
[flang] Prep for review
Original-commit: flang-compiler/f18 at 8be02a41c7e0312a95ee4ea399318eb20c45ccce
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: 9fd72e93938bd32557786a11d78f9da1fe26c260
https://github.com/llvm/llvm-project/commit/9fd72e93938bd32557786a11d78f9da1fe26c260
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/check-expression.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/test/semantics/expr-errors02.f90
Log Message:
-----------
[flang] Clean up test results
Original-commit: flang-compiler/f18 at 7d3180160c83577f7bfb108ac047ce18b6ab1166
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Tree-same-pre-rewrite: false
Commit: ccb91afba7cb29ed695209d20c07e9e2a266ac22
https://github.com/llvm/llvm-project/commit/ccb91afba7cb29ed695209d20c07e9e2a266ac22
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/traverse.h
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Address review comments
Original-commit: flang-compiler/f18 at 2393157d3fa9cdb870035986b6f56c81f481c4e7
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Commit: b80a8dcc1f7e7784267aae6a9a74c6e59fe75a9f
https://github.com/llvm/llvm-project/commit/b80a8dcc1f7e7784267aae6a9a74c6e59fe75a9f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#755 from flang-compiler/pmk-spec-expr
Check specification expression constraints (10.1.11)
Original-commit: flang-compiler/f18 at 0c99f8dc8e583fd7425514cff0ce31bc8b1a13db
Reviewed-on: https://github.com/flang-compiler/f18/pull/755
Commit: 55e241a72239445f261b1cf4771fca8a13b8d243
https://github.com/llvm/llvm-project/commit/55e241a72239445f261b1cf4771fca8a13b8d243
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/evaluate/traverse.h
Log Message:
-----------
[flang] Fix build on OSX
Original-commit: flang-compiler/f18 at 453b03af1c594e32b1a3b6f994da5bfc9bc7eca7
Reviewed-on: https://github.com/flang-compiler/f18/pull/760
Commit: 42c1c21300c8ed86bf260cc2e23d0484b013d5c2
https://github.com/llvm/llvm-project/commit/42c1c21300c8ed86bf260cc2e23d0484b013d5c2
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#760 from flang-compiler/pmk-fix-build
Fix build on OSX
Original-commit: flang-compiler/f18 at 61dcae34429c0c49d05b0b0652f0811f56923d49
Reviewed-on: https://github.com/flang-compiler/f18/pull/760
Commit: 73c630a4ea6ec613a4f34cc97a6121bdf26ccb51
https://github.com/llvm/llvm-project/commit/73c630a4ea6ec613a4f34cc97a6121bdf26ccb51
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/parser/message.h
M flang/lib/parser/parsing.cc
M flang/lib/parser/parsing.h
M flang/lib/parser/provenance.cc
M flang/lib/parser/source.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/mod-file.h
M flang/test/semantics/resolve12.f90
M flang/test/semantics/resolve26.f90
Log Message:
-----------
[flang] Improve module file reading and writing
Fix problems with writing a mod file while another compilation is
reading or writing. Write to a temp and then rename it:
- compute the new contents of the .mod file
- if it already exists, check if it is already correct
- if not, write new contents to a temp file
- rename the temp to the final destination
`mkstemps()` seems to be the best way to create the temp file.
It returns a file descriptor, so change the rest of the mod file
writing to use POSIX open/read/write/close. This seems to set
errno more reliably too.
There is some extra work around creating the temp to make it have
the same directory and suffix as the final file (so that if one gets
left behind by a crash, "rm *.mod" still cleans it up).
`mkstemps()` creates file with 0600 permissions so try to change it
to what it would have been if we just wrote the file.
Change module file reading to only read the file once; we used to
read it to verify the checksum and then again to parse it.
Instead, change `Parsing` so that we can get the file contents
after `Prescan()` and use that to verify the checksum. Also, it has
a mechanism for searching directories for files, so make use of that
instead of duplicating that functionality in `ModFileReader`.
This requires some changes to how errors are returned so they can
be reported in the right place.
Original-commit: flang-compiler/f18 at d0d54971a5547820f8ed0271eb9818557bc8bc82
Reviewed-on: https://github.com/flang-compiler/f18/pull/758
Tree-same-pre-rewrite: false
Commit: 3ef61ec22672c145cc93675c98845b27d272b961
https://github.com/llvm/llvm-project/commit/3ef61ec22672c145cc93675c98845b27d272b961
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/test/semantics/getdefinition01.f90
M flang/test/semantics/getdefinition02.f
M flang/test/semantics/getdefinition03-a.f90
M flang/test/semantics/getdefinition03-b.f90
M flang/test/semantics/getsymbols01.f90
M flang/test/semantics/getsymbols02-a.f90
M flang/test/semantics/getsymbols02-b.f90
M flang/test/semantics/getsymbols02-c.f90
M flang/test/semantics/getsymbols03-a.f90
M flang/test/semantics/getsymbols03-b.f90
Log Message:
-----------
[flang] Fix tests that use the same .mod file
The tests run by `test_any.sh` don't redirect their .mod files to
a different directory so they occasionally fail when the same file
is accessed by different tests at the same time. With locking of
module files implemented, this problem reproduces much more reliably
Work around it by changing the module names to be distinct. Also remove
some comments left over when copied from `test_symbols.sh` tests.
Original-commit: flang-compiler/f18 at f7b5c5f0fcbbac4736940761e6d43ec76a3a372a
Reviewed-on: https://github.com/flang-compiler/f18/pull/758
Commit: fc3c6ee6079eacb32226027d3a39d19771a3ad12
https://github.com/llvm/llvm-project/commit/fc3c6ee6079eacb32226027d3a39d19771a3ad12
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#758 from flang-compiler/tsk-modfiles
Improve module file reading and writing
Original-commit: flang-compiler/f18 at b5f48dfc461db37650a54aea3e29531b577fd871
Reviewed-on: https://github.com/flang-compiler/f18/pull/758
Commit: 3a25e25bd74be9eadfc332a0438c890f432d5321
https://github.com/llvm/llvm-project/commit/3a25e25bd74be9eadfc332a0438c890f432d5321
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-17 (Tue, 17 Sep 2019)
Changed paths:
M flang/documentation/C++style.md
Log Message:
-----------
[flang] Update C++style.md
Add guidelines for error messages and commas. Add a version number for clang-format. Add spaces before ### sections to restart numbering.
Original-commit: flang-compiler/f18 at 3e8db49f34e2dc47ce5b89af6099710f708f64c3
Reviewed-on: https://github.com/flang-compiler/f18/pull/751
Tree-same-pre-rewrite: false
Commit: fdb58597e8597b67a6d672855e591dfd13040cca
https://github.com/llvm/llvm-project/commit/fdb58597e8597b67a6d672855e591dfd13040cca
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-17 (Tue, 17 Sep 2019)
Changed paths:
M flang/documentation/C++style.md
Log Message:
-----------
[flang] Update C++style.md
Original-commit: flang-compiler/f18 at d453fdda31dc6ff479d21fc3009c07c076b51a71
Reviewed-on: https://github.com/flang-compiler/f18/pull/751
Commit: 914e93681a52987ce12ff322ff9838e3a5003801
https://github.com/llvm/llvm-project/commit/914e93681a52987ce12ff322ff9838e3a5003801
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#751 from flang-compiler/sjs-style-update
Update C++style.md
Original-commit: flang-compiler/f18 at ab0cce154634900f64c8a6184d5e0302f790e5d6
Reviewed-on: https://github.com/flang-compiler/f18/pull/751
Commit: cad44d2e916a44a1b262a04cffb2262f90941549
https://github.com/llvm/llvm-project/commit/cad44d2e916a44a1b262a04cffb2262f90941549
Author: David Truby <david.truby at arm.com>
Date: 2019-09-17 (Tue, 17 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Semantic checks for teams directive
Original-commit: flang-compiler/f18 at ec22e9c4c2b5592975c53869f3cfbcd097222203
Reviewed-on: https://github.com/flang-compiler/f18/pull/750
Tree-same-pre-rewrite: false
Commit: 5efbea87cfccd576aa23c7012a574218fb6639c7
https://github.com/llvm/llvm-project/commit/5efbea87cfccd576aa23c7012a574218fb6639c7
Author: David Truby <david.truby at arm.com>
Date: 2019-09-19 (Thu, 19 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
Log Message:
-----------
[flang] Added grammar for teams directive to semantic checks
Original-commit: flang-compiler/f18 at 1cee26516b39824523b4ec8c44a076d6a3f56e25
Reviewed-on: https://github.com/flang-compiler/f18/pull/750
Commit: 0e3b30489cbae3ec3c2b716fa7ad8480fbe325a7
https://github.com/llvm/llvm-project/commit/0e3b30489cbae3ec3c2b716fa7ad8480fbe325a7
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#750 from DavidTruby/teams
Semantic checks for OpenMP teams directive
Original-commit: flang-compiler/f18 at 4b2a8be379a745afb7bdd689b943ce5868f2bdc6
Reviewed-on: https://github.com/flang-compiler/f18/pull/750
Commit: a3d296663731f837a44842af364cc323c607e6da
https://github.com/llvm/llvm-project/commit/a3d296663731f837a44842af364cc323c607e6da
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
Log Message:
-----------
[flang] Fix clang build on MacOS
clang doesn't consider `std::strlen` of a constant to be a constexpr,
so just replace with the actual length.
Original-commit: flang-compiler/f18 at 738deab4656478df41a3ef7fdb9f02fe503779c5
Reviewed-on: https://github.com/flang-compiler/f18/pull/761
Commit: 997cfcdcc225a49e519040f426852da85dc211e4
https://github.com/llvm/llvm-project/commit/997cfcdcc225a49e519040f426852da85dc211e4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-09-25 (Wed, 25 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#761 from flang-compiler/tsk-modfiles
Fix clang build on MacOS
Original-commit: flang-compiler/f18 at b99d1665fc04e87183ad8077a5e139c1df810738
Reviewed-on: https://github.com/flang-compiler/f18/pull/761
Commit: c3f05ac421c8564c20193dfe8799e681cc0081e4
https://github.com/llvm/llvm-project/commit/c3f05ac421c8564c20193dfe8799e681cc0081e4
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-09-26 (Thu, 26 Sep 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/test/semantics/doconcurrent01.f90
Log Message:
-----------
[flang] Added tests for image control statements in DO CONCURRENT
There was already code in check-do.cc to test for the presence of a
variety of different image control statements, but several of them did
not have associated tests. This change adds tests for most of them.
Also, I removed the check for the END PROGRAM statement, since its
presence causes a syntax error which prevents the semantic check from
ever being reached.
Original-commit: flang-compiler/f18 at 9cc6f5bd40689fa4bd0972e821ad3a871733b6fb
Reviewed-on: https://github.com/flang-compiler/f18/pull/764
Commit: 75c912e5eda9d7e59dfcbd68ba08bfc2a5716bd0
https://github.com/llvm/llvm-project/commit/75c912e5eda9d7e59dfcbd68ba08bfc2a5716bd0
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-09-26 (Thu, 26 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#764 from flang-compiler/ps-do
Added tests for image control statements in DO CONCURRENT
Original-commit: flang-compiler/f18 at 2856f0f2488c57874d2d06a6f40a02b4ddf1a109
Reviewed-on: https://github.com/flang-compiler/f18/pull/764
Commit: 6e7ed4fb4d28fdfbba2e65d4904ddbf02b3986b4
https://github.com/llvm/llvm-project/commit/6e7ed4fb4d28fdfbba2e65d4904ddbf02b3986b4
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Fix flang-compiler/f18#765
Original-commit: flang-compiler/f18 at bb2ffac7176ce81079940b8736461cb01794f9c8
Reviewed-on: https://github.com/flang-compiler/f18/pull/766
Commit: 25ced3c767bf8fcd023b75090cd246c8df1dc6d5
https://github.com/llvm/llvm-project/commit/25ced3c767bf8fcd023b75090cd246c8df1dc6d5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#766 from flang-compiler/pmk-fix-765
Fix flang-compiler/f18#765
Original-commit: flang-compiler/f18 at 2fffc265c328ef0169ca63f654f1d54401a86880
Reviewed-on: https://github.com/flang-compiler/f18/pull/766
Commit: deef31dc7cc9b4824fde8d062f91336772b37532
https://github.com/llvm/llvm-project/commit/deef31dc7cc9b4824fde8d062f91336772b37532
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)
Changed paths:
A flang/include/fir/Type.h
Log Message:
-----------
[flang] add fir types header
Original-commit: flang-compiler/f18 at 4dc278b271ca5c30505db1c980d284929e464541
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: 38301e7fa0616d97c93c67dc39fd6a49f6687807
https://github.com/llvm/llvm-project/commit/38301e7fa0616d97c93c67dc39fd6a49f6687807
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-06 (Fri, 06 Sep 2019)
Changed paths:
M flang/include/fir/Type.h
Log Message:
-----------
[flang] changes per review comments
Original-commit: flang-compiler/f18 at eb34e2d47b1a8d43c87ce4368046fe2195e3b783
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: 717cdbd4acaf5c366c2674d947ab0e33a47849a4
https://github.com/llvm/llvm-project/commit/717cdbd4acaf5c366c2674d947ab0e33a47849a4
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-06 (Fri, 06 Sep 2019)
Changed paths:
M flang/include/fir/Type.h
Log Message:
-----------
[flang] more cleanup
Original-commit: flang-compiler/f18 at 23fdcf77d03e0b813eb000237e127bf9eea92a15
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: 27e80ffd737520efed64919a5fa5c71a85773841
https://github.com/llvm/llvm-project/commit/27e80ffd737520efed64919a5fa5c71a85773841
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-06 (Fri, 06 Sep 2019)
Changed paths:
A flang/include/fir/Attribute.h
Log Message:
-----------
[flang] add attributes
Original-commit: flang-compiler/f18 at d35f55b0d5fc45d161515824731430bda8fd3d67
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: d6bfd9135c7e4b8c42017abb2440f37ce0ff30e1
https://github.com/llvm/llvm-project/commit/d6bfd9135c7e4b8c42017abb2440f37ce0ff30e1
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M flang/include/fir/Dialect.h
Log Message:
-----------
[flang] fix name of argument
Original-commit: flang-compiler/f18 at ad505459416fabf3f9b3663bd170f1645abbfc88
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: 6bff59ec6bc6eee945268828203cebaeab7aa771
https://github.com/llvm/llvm-project/commit/6bff59ec6bc6eee945268828203cebaeab7aa771
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-10 (Tue, 10 Sep 2019)
Changed paths:
A flang/include/fir/FIROps.h
Log Message:
-----------
[flang] add FIROps.h
Original-commit: flang-compiler/f18 at e53fefb66cd1f86b0c157786f41b05bbb607c54c
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: cca3c31176e0ac76b375b72bb34cca24edf32981
https://github.com/llvm/llvm-project/commit/cca3c31176e0ac76b375b72bb34cca24edf32981
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-17 (Tue, 17 Sep 2019)
Changed paths:
A flang/include/fir/Analysis/IteratedDominanceFrontier.h
A flang/include/fir/CMakeLists.txt
M flang/include/fir/FIROps.h
M flang/include/fir/FIROps.td
A flang/include/fir/Transforms/MemToReg.h
Log Message:
-----------
[flang] latest changes
Original-commit: flang-compiler/f18 at c4278fe1aa82c5667f7dd9de21c8d3777a48d07b
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Tree-same-pre-rewrite: false
Commit: 5c8c0716b4c9cbe83daa60e4bc50e37880d06612
https://github.com/llvm/llvm-project/commit/5c8c0716b4c9cbe83daa60e4bc50e37880d06612
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-09-26 (Thu, 26 Sep 2019)
Changed paths:
M flang/include/fir/Analysis/IteratedDominanceFrontier.h
M flang/include/fir/Attribute.h
M flang/include/fir/Dialect.h
M flang/include/fir/FIROps.h
M flang/include/fir/FIROps.td
M flang/include/fir/Transforms/MemToReg.h
M flang/include/fir/Type.h
Log Message:
-----------
[flang] sync latest changes to these files
Original-commit: flang-compiler/f18 at 97becf30fa9cf79f8fd1aa01d1e1e2271251e4a9
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Commit: bd73184fdc53b334b20f54fdae3e2361628e5832
https://github.com/llvm/llvm-project/commit/bd73184fdc53b334b20f54fdae3e2361628e5832
Author: Eric Schweitz <eric.schweitz at pgroup.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#696 from schweitzpgi/fir-type
add fir types header
Original-commit: flang-compiler/f18 at fc53f3415ee67bf731287e44593fa51ef4fd82ec
Reviewed-on: https://github.com/flang-compiler/f18/pull/696
Commit: d3e8c76f675447af9e584eb7fa3189ada4d176d1
https://github.com/llvm/llvm-project/commit/d3e8c76f675447af9e584eb7fa3189ada4d176d1
Author: David Truby <david.truby at arm.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Added semantic checks for map clauses
Original-commit: flang-compiler/f18 at 75b62283888c53c066999245bcd1fe9bdd29fe41
Reviewed-on: https://github.com/flang-compiler/f18/pull/748
Tree-same-pre-rewrite: false
Commit: 7c09d48218acf50ffa5da1c9c985fea190b31f9b
https://github.com/llvm/llvm-project/commit/7c09d48218acf50ffa5da1c9c985fea190b31f9b
Author: David Truby <david.truby at arm.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Corrections for map semantics to match coding style
Original-commit: flang-compiler/f18 at f2d97c3a1e77398addecbdb20ed55f2aa01361d8
Reviewed-on: https://github.com/flang-compiler/f18/pull/748
Tree-same-pre-rewrite: false
Commit: 5776003259cb83e5b4794358818ac84621ee77dd
https://github.com/llvm/llvm-project/commit/5776003259cb83e5b4794358818ac84621ee77dd
Author: David Truby <david.truby at arm.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Corrected check for required OpenMP clauses
Original-commit: flang-compiler/f18 at ce3ec50c3f01785f8bc0f92f1a7f6b65b2e52973
Reviewed-on: https://github.com/flang-compiler/f18/pull/748
Tree-same-pre-rewrite: false
Commit: e0c15c4952147ba0ea4aff871f3f0a6a99039820
https://github.com/llvm/llvm-project/commit/e0c15c4952147ba0ea4aff871f3f0a6a99039820
Author: David Truby <david.truby at arm.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
Log Message:
-----------
[flang] Added grammar comments for enter data and exit data directives
Original-commit: flang-compiler/f18 at a1e6cded2f0c0af9fda8ea53ac8c6636843e07e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/748
Commit: ac8a9574933424f49c8a4584f263176c86d992af
https://github.com/llvm/llvm-project/commit/ac8a9574933424f49c8a4584f263176c86d992af
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-10-01 (Tue, 01 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#748 from DavidTruby/map
Added semantic checks for map clauses
Original-commit: flang-compiler/f18 at 183b3aab8351bdc0018c9d4963e9ce07588560af
Reviewed-on: https://github.com/flang-compiler/f18/pull/748
Commit: 855f817d9d8c99c0e332b84256a63b15f57dfd7a
https://github.com/llvm/llvm-project/commit/855f817d9d8c99c0e332b84256a63b15f57dfd7a
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-10-01 (Tue, 01 Oct 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/test/semantics/doconcurrent01.f90
Log Message:
-----------
[flang] More semantic checking for DO constructs
This time I'm adding to the checks for constraint C1137, which states
that image control statements cannot appear in a DO CONCURRENT. The
checks I added test to see if the DO CONCURRENT contains an ALLOCATE or
DEALLOCATE that references a coarray.
Original-commit: flang-compiler/f18 at c16b883db3016bceb2c795babe047d297ba92717
Reviewed-on: https://github.com/flang-compiler/f18/pull/769
Commit: 259364c3e505d7953e2e136a4a1293288fe77d0b
https://github.com/llvm/llvm-project/commit/259364c3e505d7953e2e136a4a1293288fe77d0b
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-10-01 (Tue, 01 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#769 from flang-compiler/ps-c1137
More semantic checking for DO constructs
Original-commit: flang-compiler/f18 at 3a13d84742a88a0684e372e025e4e7530378d3bf
Reviewed-on: https://github.com/flang-compiler/f18/pull/769
Commit: 7d1696b3ad6d21d932c29b4de8a515593b87d84a
https://github.com/llvm/llvm-project/commit/7d1696b3ad6d21d932c29b4de8a515593b87d84a
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/documentation/FortranIR.md
M flang/lib/CMakeLists.txt
A flang/lib/burnside/CMakeLists.txt
A flang/lib/burnside/builder.h
A flang/lib/burnside/flattened.cc
A flang/lib/burnside/flattened.h
A flang/lib/burnside/mixin.h
Log Message:
-----------
[flang] add initial Burnside bridge code
Original-commit: flang-compiler/f18 at 0d387d146849ecb218b554e3b072794c8d6216d6
Reviewed-on: https://github.com/flang-compiler/f18/pull/720
Commit: 5e86f8893717c2203f235215907d2abafc23d65e
https://github.com/llvm/llvm-project/commit/5e86f8893717c2203f235215907d2abafc23d65e
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#720 from schweitzpgi/resurrect-flat-form
re-add files from old FIR code
Original-commit: flang-compiler/f18 at 5bf0827c20f4b9be3b49c1fd28bb14871a3ed9ad
Reviewed-on: https://github.com/flang-compiler/f18/pull/720
Commit: c579118ce6212cf29607e61a9d3a76440604d6da
https://github.com/llvm/llvm-project/commit/c579118ce6212cf29607e61a9d3a76440604d6da
Author: David Truby <david.truby at arm.com>
Date: 2019-09-30 (Mon, 30 Sep 2019)
Changed paths:
M flang/lib/evaluate/intrinsics-library-templates.h
M flang/lib/evaluate/intrinsics-library.h
Log Message:
-----------
[flang] Replace access through union with reinterpret_cast.
This avoids undefined behaviour.
Original-commit: flang-compiler/f18 at e289bbfa83ebb818971a688b019be697fd900d62
Reviewed-on: https://github.com/flang-compiler/f18/pull/767
Tree-same-pre-rewrite: false
Commit: 98223835c0b61a7616973d734dc3e6dcbcd05bd4
https://github.com/llvm/llvm-project/commit/98223835c0b61a7616973d734dc3e6dcbcd05bd4
Author: David Truby <david.truby at arm.com>
Date: 2019-10-01 (Tue, 01 Oct 2019)
Changed paths:
M flang/lib/evaluate/intrinsics-library.h
Log Message:
-----------
[flang] Added comment about gcc function cast workaround.
Original-commit: flang-compiler/f18 at 28bc021323b5b76371fe3f5640b17f8adb0ee4b1
Reviewed-on: https://github.com/flang-compiler/f18/pull/767
Commit: 9253f3c03511be57ceeae4f99fb004d9de57531e
https://github.com/llvm/llvm-project/commit/9253f3c03511be57ceeae4f99fb004d9de57531e
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#767 from DavidTruby/generic-fp
Replace access through union with reinterpret_cast.
Original-commit: flang-compiler/f18 at f7d8318b56665ed1c6d7998310bf3d51db4aae12
Reviewed-on: https://github.com/flang-compiler/f18/pull/767
Commit: 56efc1eca29fd88cdc79b06bb17a53ec3f56b7f4
https://github.com/llvm/llvm-project/commit/56efc1eca29fd88cdc79b06bb17a53ec3f56b7f4
Author: David Truby <david.truby at arm.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
M flang/test/semantics/omp-device-constructs.f90
Log Message:
-----------
[flang] Added basic sema checks for distribute construct
Original-commit: flang-compiler/f18 at f23059bf308a3d29b60bc0452deaa23da3d8eaa1
Reviewed-on: https://github.com/flang-compiler/f18/pull/771
Commit: 7292b3334cd69de38ebf71330b3f943a91f3f36a
https://github.com/llvm/llvm-project/commit/7292b3334cd69de38ebf71330b3f943a91f3f36a
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#771 from DavidTruby/distribute
Added basic sema checks for distribute construct
Original-commit: flang-compiler/f18 at 3aeb44b3a8a5fe8baa2e1758ae2e38c89a57eedd
Reviewed-on: https://github.com/flang-compiler/f18/pull/771
Commit: 9aa80d33534a92704b9491a7d3e5e0cbc33870cf
https://github.com/llvm/llvm-project/commit/9aa80d33534a92704b9491a7d3e5e0cbc33870cf
Author: David Truby <david.truby at arm.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/parser/openmp-grammar.h
M flang/lib/parser/parse-tree.h
Log Message:
-----------
[flang] Make the second argument to dist_schedule optional.
Original-commit: flang-compiler/f18 at 7ed2d0e3ec68f00c483d3107d0383a4f172d1feb
Reviewed-on: https://github.com/flang-compiler/f18/pull/772
Tree-same-pre-rewrite: false
Commit: e401082289d52b72a1bca35191d78ddba70d069d
https://github.com/llvm/llvm-project/commit/e401082289d52b72a1bca35191d78ddba70d069d
Author: David Truby <david.truby at arm.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
M flang/lib/parser/unparse.cc
Log Message:
-----------
[flang] Removed stray comma in unparse for dist_schedule clause
Original-commit: flang-compiler/f18 at 0b61bc22c23fa302b34cb560cb291f0484926e5e
Reviewed-on: https://github.com/flang-compiler/f18/pull/772
Commit: 1c2cb4bfe5b8b4eb19018b7b4f54f8cf6d882517
https://github.com/llvm/llvm-project/commit/1c2cb4bfe5b8b4eb19018b7b4f54f8cf6d882517
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#772 from DavidTruby/dist-schedule
Make the second argument to dist_schedule optional.
Original-commit: flang-compiler/f18 at ff8dde78e6c7ad93fe1d9055d345f7355706eaad
Reviewed-on: https://github.com/flang-compiler/f18/pull/772
Commit: 637b9332020ed2b24ceae4ec37e2aa1e41ec086a
https://github.com/llvm/llvm-project/commit/637b9332020ed2b24ceae4ec37e2aa1e41ec086a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/CMakeLists.txt
M flang/lib/common/template.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/parser/characters.cc
M flang/lib/parser/instrumented-parser.cc
M flang/lib/parser/prescan.cc
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/type.cc
Log Message:
-----------
[flang] Enable more warnings, clean them up
Original-commit: flang-compiler/f18 at c6b3420e5fd7aca76453ae996bec1c8402a2ab43
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Tree-same-pre-rewrite: false
Commit: 5c35f3288a24052a450a84a308f95ddd61492a96
https://github.com/llvm/llvm-project/commit/5c35f3288a24052a450a84a308f95ddd61492a96
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/common/idioms.h
M flang/lib/parser/characters.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/type.cc
Log Message:
-----------
[flang] Retain no-op default: cases when compiling with gcc
Original-commit: flang-compiler/f18 at 8ebfd8d2e9b00ae003ecdc5eb71f63e6fe908143
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Tree-same-pre-rewrite: false
Commit: 4ee37ac356d09ad65cf485765fcdffaefcff5dfe
https://github.com/llvm/llvm-project/commit/4ee37ac356d09ad65cf485765fcdffaefcff5dfe
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/common/idioms.h
M flang/lib/parser/characters.cc
M flang/lib/parser/prescan.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/type.cc
Log Message:
-----------
[flang] Address review comments
Original-commit: flang-compiler/f18 at b2a0503614b325c62af920db5a183a2e254994f7
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Tree-same-pre-rewrite: false
Commit: e88bf15d2a7a0e2f769c843fda7ea3bab1430f23
https://github.com/llvm/llvm-project/commit/e88bf15d2a7a0e2f769c843fda7ea3bab1430f23
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/common/idioms.h
Log Message:
-----------
[flang] Dodge weird clang-format behavior
Original-commit: flang-compiler/f18 at 48b81a2dd9e6f92725be92b3225b1cd258173607
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Tree-same-pre-rewrite: false
Commit: 07d48c0a23037b38f061cc8cc1e4239322935b58
https://github.com/llvm/llvm-project/commit/07d48c0a23037b38f061cc8cc1e4239322935b58
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/documentation/C++style.md
Log Message:
-----------
[flang] Extend documentation
Original-commit: flang-compiler/f18 at 7e11f8165f67426ff33887677adf5d723e3895b6
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Tree-same-pre-rewrite: false
Commit: 9b37989e0542278b0b747ac876194487faa4176b
https://github.com/llvm/llvm-project/commit/9b37989e0542278b0b747ac876194487faa4176b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/common/idioms.h
M flang/lib/semantics/type.cc
Log Message:
-----------
[flang] Final tweaks
Original-commit: flang-compiler/f18 at 6e269b4e299d04a14eb4efc125821168eedeef04
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Commit: 019627ebd7155b1fb3d8f1a4f8011f12ff008fd5
https://github.com/llvm/llvm-project/commit/019627ebd7155b1fb3d8f1a4f8011f12ff008fd5
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#774 from flang-compiler/pmk-more-warnings
Enable clang warnings used by LLVM
Original-commit: flang-compiler/f18 at c098156735a9e6b1844f97800be2a94b6a89978f
Reviewed-on: https://github.com/flang-compiler/f18/pull/774
Commit: 78d33b600e0870a6c84bde189379c7244686a11f
https://github.com/llvm/llvm-project/commit/78d33b600e0870a6c84bde189379c7244686a11f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-02 (Wed, 02 Oct 2019)
Changed paths:
M flang/lib/parser/grammar.h
M flang/lib/parser/type-parsers.h
Log Message:
-----------
[flang] Fix flang-compiler/f18#773
Original-commit: flang-compiler/f18 at d12d1129b746394d3a179b49c3c2034ecdeafd59
Reviewed-on: https://github.com/flang-compiler/f18/pull/775
Commit: c56e08212048e4d576ebd8ddbe684fce49001fcc
https://github.com/llvm/llvm-project/commit/c56e08212048e4d576ebd8ddbe684fce49001fcc
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#775 from flang-compiler/pmk-fix
Fix flang-compiler/f18#773: ambiguous REALA=3 should be an assignment, not a declaration
Original-commit: flang-compiler/f18 at adbb8becdae433b1727f47cf10affc6eb4328482
Reviewed-on: https://github.com/flang-compiler/f18/pull/775
Commit: d6c8bd805f4b390c1229b87f18a438ef8ce96ac6
https://github.com/llvm/llvm-project/commit/d6c8bd805f4b390c1229b87f18a438ef8ce96ac6
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-04 (Fri, 04 Oct 2019)
Changed paths:
A flang/test/preprocessing/pp001.F
A flang/test/preprocessing/pp002.F
A flang/test/preprocessing/pp003.F
A flang/test/preprocessing/pp004.F
A flang/test/preprocessing/pp005.F
A flang/test/preprocessing/pp006.F
A flang/test/preprocessing/pp007.F
A flang/test/preprocessing/pp008.F
A flang/test/preprocessing/pp009.F
A flang/test/preprocessing/pp010.F
A flang/test/preprocessing/pp011.F
A flang/test/preprocessing/pp012.F
A flang/test/preprocessing/pp013.F
A flang/test/preprocessing/pp014.F
A flang/test/preprocessing/pp015.F
A flang/test/preprocessing/pp016.F
A flang/test/preprocessing/pp017.F
A flang/test/preprocessing/pp018.F
A flang/test/preprocessing/pp019.F
A flang/test/preprocessing/pp020.F
A flang/test/preprocessing/pp021.F
A flang/test/preprocessing/pp022.F
A flang/test/preprocessing/pp023.F
A flang/test/preprocessing/pp024.F
A flang/test/preprocessing/pp025.F
A flang/test/preprocessing/pp026.F
A flang/test/preprocessing/pp027.F
A flang/test/preprocessing/pp028.F
A flang/test/preprocessing/pp029.F
A flang/test/preprocessing/pp030.F
A flang/test/preprocessing/pp031.F
A flang/test/preprocessing/pp032.F
A flang/test/preprocessing/pp033.F
A flang/test/preprocessing/pp034.F
A flang/test/preprocessing/pp035.F
A flang/test/preprocessing/pp036.F
A flang/test/preprocessing/pp037.F
A flang/test/preprocessing/pp038.F
A flang/test/preprocessing/pp039.F
A flang/test/preprocessing/pp040.F
A flang/test/preprocessing/pp041.F
A flang/test/preprocessing/pp042.F
A flang/test/preprocessing/pp043.F
A flang/test/preprocessing/pp044.F
A flang/test/preprocessing/pp101.F90
A flang/test/preprocessing/pp102.F90
A flang/test/preprocessing/pp103.F90
A flang/test/preprocessing/pp104.F90
A flang/test/preprocessing/pp105.F90
A flang/test/preprocessing/pp106.F90
A flang/test/preprocessing/pp107.F90
A flang/test/preprocessing/pp108.F90
A flang/test/preprocessing/pp109.F90
A flang/test/preprocessing/pp110.F90
A flang/test/preprocessing/pp111.F90
A flang/test/preprocessing/pp112.F90
A flang/test/preprocessing/pp113.F90
A flang/test/preprocessing/pp114.F90
A flang/test/preprocessing/pp115.F90
A flang/test/preprocessing/pp116.F90
A flang/test/preprocessing/pp117.F90
A flang/test/preprocessing/pp118.F90
A flang/test/preprocessing/pp119.F90
A flang/test/preprocessing/pp120.F90
A flang/test/preprocessing/pp121.F90
A flang/test/preprocessing/pp122.F90
A flang/test/preprocessing/pp123.F90
A flang/test/preprocessing/pp124.F90
A flang/test/preprocessing/pp125.F90
A flang/test/preprocessing/pp126.F90
A flang/test/preprocessing/pp127.F90
A flang/test/preprocessing/pp128.F90
A flang/test/preprocessing/pp129.F90
A flang/test/preprocessing/pp130.F90
Log Message:
-----------
[flang] Import preprocessing tests
Original-commit: flang-compiler/f18 at 7ef7029604fa62c33d47ef0d710403b9f2aae670
Reviewed-on: https://github.com/flang-compiler/f18/pull/777
Commit: 143fe7938324cd8cc027f58e286b55ff6735aa36
https://github.com/llvm/llvm-project/commit/143fe7938324cd8cc027f58e286b55ff6735aa36
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-07 (Mon, 07 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#777 from flang-compiler/pmk-pp-tests
Import preprocessing tests
Original-commit: flang-compiler/f18 at 98f1b5f60b3becd6433ccb1fa1d070529c4cf109
Reviewed-on: https://github.com/flang-compiler/f18/pull/777
Commit: b32a435b0b4f041cbb0150984fb97bb054559931
https://github.com/llvm/llvm-project/commit/b32a435b0b4f041cbb0150984fb97bb054559931
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-07 (Mon, 07 Oct 2019)
Changed paths:
M flang/documentation/Preprocessing.md
M flang/lib/common/constexpr-bitset.h
M flang/lib/evaluate/CMakeLists.txt
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
A flang/lib/evaluate/check-call.cc
A flang/lib/evaluate/check-call.h
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/parser/prescan.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/type.h
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call08.f90
A flang/test/semantics/call13.f90
M flang/test/semantics/doconcurrent01.f90
M flang/test/semantics/expr-errors02.f90
M flang/test/semantics/init01.f90
M flang/test/semantics/modfile08.f90
M flang/test/semantics/modfile10.f90
M flang/test/semantics/modfile14.f90
M flang/test/semantics/modfile15.f90
Log Message:
-----------
[flang] Update preprocessing document, commentary
Extend documentation on preprocessing
IsSimplyContiguous
basic skeleton
Apply suggested improvements to mod-file.cc
Checks for new call13.f90 (15.4.2.2 explicit interfaces)
Implement checking for procedures that can be called via an implicit interface
Argument checking, test fixing
Better argument checking
Better derived type compatibility checking
Treat externals as if implicitly interfaced
Extend IEEE_EXCEPTIONS module so tests still pass with argument checking
SAME_TYPE_AS and EXTENDS_TYPE_OF intrinsic inquiry functions
Define interfaces for most intrinsic subroutines
Better PASS arguments
More with PASS() argument
Prep for review
address comments
fix comment
Remove formatted expression from specification expression error message per review
more review comments
Original-commit: flang-compiler/f18 at 3cca775da9302e3a2acec4a34800cd7666899b5f
Reviewed-on: https://github.com/flang-compiler/f18/pull/776
Commit: 9c8312208dba472f7e56d0be4299e98edfec9ac8
https://github.com/llvm/llvm-project/commit/9c8312208dba472f7e56d0be4299e98edfec9ac8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-07 (Mon, 07 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#776 from flang-compiler/pmk-call
More procedure reference semantics checking (mostly arguments)
Original-commit: flang-compiler/f18 at c582562397a47498a55aaa3671dc0a84d1201af1
Reviewed-on: https://github.com/flang-compiler/f18/pull/776
Commit: 6acae749c84a472b7fe7e5aa96506b48a386d111
https://github.com/llvm/llvm-project/commit/6acae749c84a472b7fe7e5aa96506b48a386d111
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-10-10 (Thu, 10 Oct 2019)
Changed paths:
M flang/lib/evaluate/check-call.cc
M flang/lib/evaluate/check-call.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/modfile32.f90
A flang/test/semantics/resolve62.f90
M flang/test/semantics/test_modfile.sh
Log Message:
-----------
[flang] Generic name resolution in expression analysis
Implement the basics of resolving generic names in expressions.
`ExpressionAnalyzer::ResolveGeneric` maps the symbol for a generic
name to the specific procedure appropriate for the actual arguments.
Extract `CheckExplicitInterface` out of `CheckArguments` so that it
can be tried for each specific procedure of the generic as part of
the test to see which is compatible.
Note that it may be there is an elemental and non-elemental specific
procedure that is compatible with the actual arguments. In that case
the generic is resolved to the non-elemental one.
Test this by using generic functions in specification expressions
that must be written to module files. Verify how the generics were
resolved by looking at the generated `.mod` files.
There is more work to be done in this area: the passed-object dummy
argument is not considered and in some cases generated module files
are not correct.
Original-commit: flang-compiler/f18 at 50e458045a3de42bd60515956e09f0f2d654ae1e
Reviewed-on: https://github.com/flang-compiler/f18/pull/778
Commit: ea7240c3de068cb3f33cccb36effd4dd86ed5af7
https://github.com/llvm/llvm-project/commit/ea7240c3de068cb3f33cccb36effd4dd86ed5af7
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-10-10 (Thu, 10 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#778 from flang-compiler/tsk-generics
Generic name resolution in expression analysis
Original-commit: flang-compiler/f18 at 1688bef152eca1144c985ec7cf9b352a02465130
Reviewed-on: https://github.com/flang-compiler/f18/pull/778
Commit: b71355ca1e6e2a10fd99afd54462564a8548ff90
https://github.com/llvm/llvm-project/commit/b71355ca1e6e2a10fd99afd54462564a8548ff90
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-10 (Thu, 10 Oct 2019)
Changed paths:
M flang/lib/common/idioms.h
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/check-call.cc
M flang/lib/evaluate/common.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/evaluate/expression.cc
M flang/test/evaluate/folding.cc
M flang/test/evaluate/intrinsics.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call03.f90
Log Message:
-----------
[flang] checkpoint
checkpoint
checkpoint
Original-commit: flang-compiler/f18 at 99d12a7215089b4aefdaef39a2407b84538c29ef
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: f29394589e073de6d191d17911c924057d68abb0
https://github.com/llvm/llvm-project/commit/f29394589e073de6d191d17911c924057d68abb0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-10 (Thu, 10 Oct 2019)
Changed paths:
M flang/lib/evaluate/CMakeLists.txt
R flang/lib/evaluate/check-call.cc
R flang/lib/evaluate/check-call.h
M flang/lib/evaluate/intrinsics-library.h
M flang/lib/semantics/CMakeLists.txt
A flang/lib/semantics/check-call.cc
A flang/lib/semantics/check-call.h
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Move call semantic checking into lib/semantics
Original-commit: flang-compiler/f18 at 7996c85cf3311506093a9864263e198e4199ea29
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: d022fc1ccad62498723ac9f12563fa71cbef29ce
https://github.com/llvm/llvm-project/commit/d022fc1ccad62498723ac9f12563fa71cbef29ce
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-10 (Thu, 10 Oct 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/parser/message.cc
M flang/lib/parser/message.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/call03.f90
Log Message:
-----------
[flang] definability tests
Original-commit: flang-compiler/f18 at 4b71f003a9c3a88b4a3e5cbad12f33fb46ef0657
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: b8d4f79d59fb1058c7a2162f8fde239da0df95d7
https://github.com/llvm/llvm-project/commit/b8d4f79d59fb1058c7a2162f8fde239da0df95d7
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-10 (Thu, 10 Oct 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/call03.f90
M flang/test/semantics/call13.f90
M flang/test/semantics/null01.f90
Log Message:
-----------
[flang] pass call03
Original-commit: flang-compiler/f18 at 8c076bd89b30351b0b6470f4cf621efed1c2ae27
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: 4c37c06597b34052effd0001e92d63623eadafa7
https://github.com/llvm/llvm-project/commit/4c37c06597b34052effd0001e92d63623eadafa7
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-11 (Fri, 11 Oct 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/common.h
M flang/lib/evaluate/intrinsics-library-templates.h
M flang/lib/evaluate/intrinsics-library.h
M flang/lib/evaluate/type.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
Log Message:
-----------
[flang] rebase
Original-commit: flang-compiler/f18 at 2691da38361cb4040e394dd5f631becf4caef221
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: 3a4091b5e33629a0e0806e4286ae4a9128dbed84
https://github.com/llvm/llvm-project/commit/3a4091b5e33629a0e0806e4286ae4a9128dbed84
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-16 (Wed, 16 Oct 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/semantics/check-call.cc
Log Message:
-----------
[flang] Fix some bugs exposed by testing new checks
Original-commit: flang-compiler/f18 at 9cc70dcad64a77bb67cdb30f157a00898227f727
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: f090eb878e373021a3fdd0348e71a80590706fa1
https://github.com/llvm/llvm-project/commit/f090eb878e373021a3fdd0348e71a80590706fa1
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-16 (Wed, 16 Oct 2019)
Changed paths:
M flang/lib/evaluate/shape.cc
M flang/module/ieee_exceptions.f90
Log Message:
-----------
[flang] Better shape analysis for CSHIFT, EOSHIFT, SPREAD
Original-commit: flang-compiler/f18 at eb43df85a6048d0ffe417998d068bb6c45e702e0
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: 4abdc30b6302e5ae0ad148fc374dac6b0c2d6500
https://github.com/llvm/llvm-project/commit/4abdc30b6302e5ae0ad148fc374dac6b0c2d6500
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-16 (Wed, 16 Oct 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/shape.cc
M flang/lib/semantics/check-call.cc
M flang/test/semantics/call03.f90
M flang/test/semantics/symbol13.f90
Log Message:
-----------
[flang] Revert to returning default INTEGER for LEN() and offset-in-CHARACTER intrinsics; further shape analysis of intrinsic results
Original-commit: flang-compiler/f18 at 561f5965b2309df3cd15d7e2a96d7e73f2f76e35
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: ca9d6be0e40735d8367657ca3290e5ef86ce4d2b
https://github.com/llvm/llvm-project/commit/ca9d6be0e40735d8367657ca3290e5ef86ce4d2b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-16 (Wed, 16 Oct 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/check-expression.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/call03.f90
Log Message:
-----------
[flang] Pad short CHARACTER actual arguments
Original-commit: flang-compiler/f18 at b9c890ca9cc3e07967ece4dee739ac8059bb9388
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: db4ae5cd98afb91609c8d1d04ffe2547938d97de
https://github.com/llvm/llvm-project/commit/db4ae5cd98afb91609c8d1d04ffe2547938d97de
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-17 (Thu, 17 Oct 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
M flang/test/semantics/call03.f90
Log Message:
-----------
[flang] Address most review comments
Original-commit: flang-compiler/f18 at 43720b5057437c77bbe7baa45c7e93ac871e17f9
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: 5f8817bdac8b6615f6441891bead8ff5cff4721b
https://github.com/llvm/llvm-project/commit/5f8817bdac8b6615f6441891bead8ff5cff4721b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-17 (Thu, 17 Oct 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-declarations.h
Log Message:
-----------
[flang] Address remaining initial comments
Original-commit: flang-compiler/f18 at acd307c91fc27ae0edb6695fd4955ae38c916903
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Tree-same-pre-rewrite: false
Commit: 15f38e2d67699fec7406b08cf3da64637eec2d7a
https://github.com/llvm/llvm-project/commit/15f38e2d67699fec7406b08cf3da64637eec2d7a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-17 (Thu, 17 Oct 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-declarations.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/call03.f90
Log Message:
-----------
[flang] Use component iterators in check-call.cc
Original-commit: flang-compiler/f18 at e78db8907f75ebad88b53126b2cfbc743336a8bf
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Commit: a1839554bfed768a26a5dafbd13c1290ca91108c
https://github.com/llvm/llvm-project/commit/a1839554bfed768a26a5dafbd13c1290ca91108c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#782 from flang-compiler/pmk-calls
Further semantics checks for procedure references
Original-commit: flang-compiler/f18 at fbdd919a1452a10e3ddeed2c219f840ba9638704
Reviewed-on: https://github.com/flang-compiler/f18/pull/782
Commit: e6bf9526e19a3fd3e9ae44a3f635b162a3842384
https://github.com/llvm/llvm-project/commit/e6bf9526e19a3fd3e9ae44a3f635b162a3842384
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call04.f90
Log Message:
-----------
[flang] most call04 checks
Original-commit: flang-compiler/f18 at 65289a66d10d21df497b677164bdf26bc10da6b2
Reviewed-on: https://github.com/flang-compiler/f18/pull/783
Tree-same-pre-rewrite: false
Commit: 9cf827d297869bafc5db933757f3083627df6b5d
https://github.com/llvm/llvm-project/commit/9cf827d297869bafc5db933757f3083627df6b5d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/call04.f90
Log Message:
-----------
[flang] Pass call04
Original-commit: flang-compiler/f18 at 5a4483780420e105b2a5aeb82a1b268c028ef7f1
Reviewed-on: https://github.com/flang-compiler/f18/pull/783
Commit: 416d9ced52cfc4727e41f8e154fef339db86bfca
https://github.com/llvm/llvm-project/commit/416d9ced52cfc4727e41f8e154fef339db86bfca
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#783 from flang-compiler/pmk-call04
Add call semantics checks, pass call04.f90 test
Original-commit: flang-compiler/f18 at 2555860e779d5ee3e475e72fa66027ddbb1cd394
Reviewed-on: https://github.com/flang-compiler/f18/pull/783
Commit: 2348d593aeb57d9310873651986ea753acb29826
https://github.com/llvm/llvm-project/commit/2348d593aeb57d9310873651986ea753acb29826
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
A flang/lib/common/uint128.h
M flang/lib/common/unsigned-const-division.h
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/decimal-to-binary.cc
Log Message:
-----------
[flang] Add software uint128_t (debugging incomplete)
Original-commit: flang-compiler/f18 at 5be270e604965626ece73ca376ec450986cc5ae1
Reviewed-on: https://github.com/flang-compiler/f18/pull/785
Tree-same-pre-rewrite: false
Commit: dc4fac56349b016e7cb8ccf818744bd99080f82f
https://github.com/llvm/llvm-project/commit/dc4fac56349b016e7cb8ccf818744bd99080f82f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
M flang/lib/CMakeLists.txt
M flang/lib/common/uint128.h
M flang/lib/common/unsigned-const-division.h
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/test/evaluate/CMakeLists.txt
A flang/test/evaluate/uint128.cc
Log Message:
-----------
[flang] Testing and debugging
Original-commit: flang-compiler/f18 at 3fa2e55bef6858e1f6bf49b3cd96d424163156d3
Reviewed-on: https://github.com/flang-compiler/f18/pull/785
Tree-same-pre-rewrite: false
Commit: 4f761d601e633520ffa44fd9f5d2ad3d5333d8ba
https://github.com/llvm/llvm-project/commit/4f761d601e633520ffa44fd9f5d2ad3d5333d8ba
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-21 (Mon, 21 Oct 2019)
Changed paths:
M flang/lib/common/uint128.h
M flang/lib/common/unsigned-const-division.h
Log Message:
-----------
[flang] Fix clang performance problem with new code
Original-commit: flang-compiler/f18 at b70cac3ba8e093eeb62cec8d1a8eb932eff585c8
Reviewed-on: https://github.com/flang-compiler/f18/pull/785
Tree-same-pre-rewrite: false
Commit: f3ae44f6454511db5b48640f71d5928f5602ba1f
https://github.com/llvm/llvm-project/commit/f3ae44f6454511db5b48640f71d5928f5602ba1f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/traverse.h
M flang/test/evaluate/CMakeLists.txt
Log Message:
-----------
[flang] Work around a gcc-7.2 specific build bug by recoding with a better approach
Original-commit: flang-compiler/f18 at bc2b4015b06cc2c669e97dc56821050c6022ff7e
Reviewed-on: https://github.com/flang-compiler/f18/pull/785
Commit: 26334a9e1bf843ed75e83b8a25f1af0e35e4cef5
https://github.com/llvm/llvm-project/commit/26334a9e1bf843ed75e83b8a25f1af0e35e4cef5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#785 from flang-compiler/pmk-int128
Implement uint128_t for impoverished build environments
Original-commit: flang-compiler/f18 at 6ea37f7cf56056e8d2bd815f87ae669f29787aed
Reviewed-on: https://github.com/flang-compiler/f18/pull/785
Commit: 7aea2f6cb983a18ce8178db1f150e36e707a8367
https://github.com/llvm/llvm-project/commit/7aea2f6cb983a18ce8178db1f150e36e707a8367
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M flang/test/evaluate/uint128.cc
Log Message:
-----------
[flang] Fix bad new test, and fix detection of test failures in that test too
Original-commit: flang-compiler/f18 at 38ec2a879b63e633a7663698861cfc9aba56acd6
Reviewed-on: https://github.com/flang-compiler/f18/pull/787
Commit: 2a7af74b3ea62d53e076438655b22beb9f124a65
https://github.com/llvm/llvm-project/commit/2a7af74b3ea62d53e076438655b22beb9f124a65
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#787 from flang-compiler/pmk-fix
Fix bad new test, and fix detection of test failures in that test too
Original-commit: flang-compiler/f18 at 7c32e6757134223d1bd900e7e8bd2e5aa41b1c5a
Reviewed-on: https://github.com/flang-compiler/f18/pull/787
Commit: 373f7489efee5db78161d158a208e9de87da5268
https://github.com/llvm/llvm-project/commit/373f7489efee5db78161d158a208e9de87da5268
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/modfile32.f90
M flang/test/semantics/resolve62.f90
Log Message:
-----------
[flang] Resolve defined operators to specifics
Most of these changes involve moving code around so that it case be
used for `DefinedUnary` and `DefinedBinary`. The functional changes are
in the `Analyze` member functions for those cases where the arguments
are now analyzed, the generic is resolved, and a `FunctionRef` is
created.
Add `ArgumentAnalyzer` to handling building of the `ActualArguments`
of a call. This allows the code to be shared with the defined unary
and defined binary cases. Move `AnalyzeActualArgument` and
`AnalyzeActualArgument` into that class (renaming both to `Analyze`).
Create an overload of `GetCalleeAndArguments` for the `Name` case so it
can be used for defined ops where we don't have a `ProcedureDesignator`.
Move `IsGenericDefinedOp` to `tools.h` to make it available to the
new code.
We were using `semantics::CheckExplicitInterface` to resolve a generic
interface to a specific procedure based on actual arguments. The problem
with that is that it performs too many checks. We just want to get the
right specific; there may be errors reported later during call analysis.
To fix this, add a new function, `CheckInterfaceForGeneric`, to perform
this check. It shares code with `CheckExplicitInterface`, but it passes
in a null scope to indicate that the full set of checks aren't
necessary in `CheckExplicitInterfaceArg`. Instead we lift the call to
`TypeAndShape::IsCompatibleWith` out of `CheckExplicitDataArg`, and skip
the latter when there is no scope.
Original-commit: flang-compiler/f18 at fff2d1580f26719e0c384c66576aa6620d04faff
Reviewed-on: https://github.com/flang-compiler/f18/pull/786
Commit: f0cef274b9402cfc65ae77a4f283da4f7a5ee1c6
https://github.com/llvm/llvm-project/commit/f0cef274b9402cfc65ae77a4f283da4f7a5ee1c6
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#786 from flang-compiler/tsk-defined-ops
Resolve defined operators to specifics
Original-commit: flang-compiler/f18 at b10a60d2d6fa3257e5c3429c93e900e96fd646ad
Reviewed-on: https://github.com/flang-compiler/f18/pull/786
Commit: 196fec7d85790db721061686c25088ae5ec014a3
https://github.com/llvm/llvm-project/commit/196fec7d85790db721061686c25088ae5ec014a3
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/doconcurrent01.f90
M flang/test/semantics/doconcurrent03.f90
R flang/test/semantics/doconcurrent08.f90
M flang/test/semantics/dosemantics02.f90
M flang/test/semantics/dosemantics08.f90
Log Message:
-----------
[flang] # This is a combination of 2 commits.
# This is the 1st commit message:
Changes to disallow image control statements in DO CONCURRENT
Most of these changes were already implemented. The last remaining part was to check for calls to move_alloc with coarray arguments. This set of changes implements that. I also bundled other changes. Specifically:
All of the code to detect image control statements was moved from check-do.cc to tools.cc so that it could be used by other semantic checking functions.
I added location information to the error messages for all DO semantics checks to highlight either the DO loop associated with the error or other relevant source locations.
I cleaned up the error messages associated with DO semantics so that they have more consistent grammar and punctuation.
I eliminated redundant checks for IEEE_GET_FLAG and IEEE_HALTING_MODE.
I removed the redundant test doconcurrent08.f90.
Responses to pull request comments
I changed the interface to determine whether a statement is an image control
statement to use an ExecutableConstruct as its input. Since
ExecutableConstruct contains types that do not have source location information
(ChangeTeamConstruct and CriticalConstruct), I also created a function to get
the source location of an ExecutableConstruct. Also, some ExecutableConstructs
are image control statements because they reference coarrays. I wanted to tell
users that the reason that an ALLOCATE statement (for example) is an image
control statement because it references a coarray. To make this happen, I
added another function to return a message for image control statements that
reference coarrays.
I also cleaned up the references to the standard in comments in check-do.cc to
briefly describe the contents of those constraints.
I also added messages that refer to the enclosing DO CONCURRENT statement for
error messages where appropriate.
Responses to pull request comments
The biggest change was to redo the implementation of "IsImageControlStmt()" to
use a custom visitor that strips off the "common::Indirection<...>" prefix of
most of the image control statement types and also takes advantage of
"common::HasMember<...>" to determine if a variant contains a specific type.
Spelling error.
# This is the commit message flang-compiler/f18#2:
More refactoring in response to comments on the pull request.
Original-commit: flang-compiler/f18 at 3f0a0155b3fc3ae8bd81780c1254e235dc272b77
Reviewed-on: https://github.com/flang-compiler/f18/pull/780
Commit: f39e704606cbcb5c512ba87f6a9d185c54a73e1c
https://github.com/llvm/llvm-project/commit/f39e704606cbcb5c512ba87f6a9d185c54a73e1c
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#780 from flang-compiler/ps-move_alloc
Changes to disallow image control statements in DO CONCURRENT
Original-commit: flang-compiler/f18 at adc753c306b690426a955023ebcfb0891a9a545b
Reviewed-on: https://github.com/flang-compiler/f18/pull/780
Commit: b5eec67fc4ff734a20dda182c26399d974904f37
https://github.com/llvm/llvm-project/commit/b5eec67fc4ff734a20dda182c26399d974904f37
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M flang/lib/parser/message.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
Log Message:
-----------
[flang] Add contextualizing interfaces to ExpressionAnalyzer and ContextualMessages
Original-commit: flang-compiler/f18 at 30a004d7b162a425fa41acd9f51fc3dc5e8624c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/790
Commit: bf102b76e454779bbc4f3fcb0cd3845b4168c9e0
https://github.com/llvm/llvm-project/commit/bf102b76e454779bbc4f3fcb0cd3845b4168c9e0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#790 from flang-compiler/pmk-expr-msgs
Add contextualizing interfaces to ExpressionAnalyzer and ContextualMe…
Original-commit: flang-compiler/f18 at 85136c45efaea28e502e66a498604ac64fb7924f
Reviewed-on: https://github.com/flang-compiler/f18/pull/790
Commit: 5f270940ff0167029d2b445eab0b2571c991ddbb
https://github.com/llvm/llvm-project/commit/5f270940ff0167029d2b445eab0b2571c991ddbb
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/shape.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/allocate03.f90
M flang/test/semantics/allocate06.f90
M flang/test/semantics/allocate09.f90
M flang/test/semantics/call05.f90
Log Message:
-----------
[flang] Restored changes from pmk-call05
Original-commit: flang-compiler/f18 at bb9c12eec36e7737ebc20b17d7e51da127aa1fbf
Reviewed-on: https://github.com/flang-compiler/f18/pull/792
Tree-same-pre-rewrite: false
Commit: 715f2c0d86e8805502a3709b310a82ee2b1ac25d
https://github.com/llvm/llvm-project/commit/715f2c0d86e8805502a3709b310a82ee2b1ac25d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
Log Message:
-----------
[flang] Fix duplicate messages
Original-commit: flang-compiler/f18 at 6528c5f31b8ee9a281b672927a636cee67381d4e
Reviewed-on: https://github.com/flang-compiler/f18/pull/792
Tree-same-pre-rewrite: false
Commit: 7c44a2011b66a4ca1284e5e48897dcd08173ab7f
https://github.com/llvm/llvm-project/commit/7c44a2011b66a4ca1284e5e48897dcd08173ab7f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
Log Message:
-----------
[flang] Restore a review comment response
Original-commit: flang-compiler/f18 at d9673df31c7cd011a03685da000279b78c69d6b5
Reviewed-on: https://github.com/flang-compiler/f18/pull/792
Commit: a11446f6c376eeebbc199bc6071905dc559f89f6
https://github.com/llvm/llvm-project/commit/a11446f6c376eeebbc199bc6071905dc559f89f6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#792 from flang-compiler/pmk-call05-again
pmk-call05 again
Original-commit: flang-compiler/f18 at 2b88ae44db2c7377fd655ff381ba1a23150be52c
Reviewed-on: https://github.com/flang-compiler/f18/pull/792
Commit: 31cc8516292abfbcd7efa7c1798b885e095a2f6f
https://github.com/llvm/llvm-project/commit/31cc8516292abfbcd7efa7c1798b885e095a2f6f
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/tools.cc
M flang/test/semantics/doconcurrent01.f90
Log Message:
-----------
[flang] Changes to check for calls to PURE procedure components
This addresses issue flang-compiler/f18#781. I changed my test to create a PURE procedure
component by using an interface as suggested by Peter and Jean. I then
enhanced the function IsPureProcedure() in tools.cc to cover this case
and updated the code in check-do.cc to perform the test.
Original-commit: flang-compiler/f18 at 5df56a217dfc93775305ecb077aa4de2852ab71f
Reviewed-on: https://github.com/flang-compiler/f18/pull/789
Commit: f6a5a3f45ecf5e2e11e99bd0ae81cc3d0b98a18c
https://github.com/llvm/llvm-project/commit/f6a5a3f45ecf5e2e11e99bd0ae81cc3d0b98a18c
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#789 from flang-compiler/ps-issue781
Changes to check for calls to PURE procedure components
Original-commit: flang-compiler/f18 at 3a0457adee173b77439569fdcd795ba5c67faa0c
Reviewed-on: https://github.com/flang-compiler/f18/pull/789
Commit: 4ca8c5dc5c64b06b450da3643e3518308f646388
https://github.com/llvm/llvm-project/commit/4ca8c5dc5c64b06b450da3643e3518308f646388
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/unparse-with-symbols.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/omp-resolve01.f90
A flang/test/semantics/omp-resolve02.f90
A flang/test/semantics/omp-symbol01.f90
A flang/test/semantics/omp-symbol02.f90
A flang/test/semantics/omp-symbol03.f90
A flang/test/semantics/omp-symbol04.f90
A flang/test/semantics/omp-symbol05.f90
Log Message:
-----------
[flang] [OpenMP] OmpVisitor framework for Name Resolution
This is a preliminary framework to do the name resolution for
data references on the OpenMP clauses. Unlike data references
in the OpenMP region, clauses determining the data-sharing or
data-mapping attributes are straightforward and the resolution
process could be extended to do the name resolution in the OpenMP
region. It is hard to determine what kind of checks can be done
in this visitor and what checks should be done later after name
resolution. But the guide line is that `After the completion of
this phase, every Name corresponds to a Symbol with proper OpenMP
attribute(s) determined unless an error occurred.`
1. Take data-sharing clauses as example, create new symbol for
variable that require private access within the OpenMP region.
Declare the entity implicitly if necessary. The new symbol has
`HostAssocDetails`, which is mentioned in the `OpenMP-semantics.md`.
2. For `Shared` or `ThreadPrivate`, no symbol needs to be created.
OpenMP attribute Flag `OmpThreadprivate` needs to be marked for
`Threadprivate` because the `threadprivate` attribute remains the
same whenever these variables are referenced in the program.
`Names` in `Shared` clause need to be resolved to associate the
symbols in the clause enclosing scope (contains the OpenMP directive)
but `OmpShared` does not need to be marked. Declare the entity
implicitly if necessary.
3. For `COMMON block`, when a named common block appears in a list,
it has the same meaning as if every explicit member of the common
block appeared in the list. Also, a common block name specified in
a data-sharing attribute clause must be declared to be a common
block in the same scoping unit in which the data-sharing attribute
clause appears. So, if a named common block appears on a `PRIVATE`
clause, all its members should have new symbols created within the
OpenMP region (scope). For later Semantic checks and CG, a new
symbol is also created for common block name with `HostAssocDetails`.
There are many things are still on the TODO list:
- Better error/warning messages with directive/clause source provenance
- Resolve variables referenced in the OpenMP region, for example,
`private(tt%a)` is not allowed but `tt%a = 1` is allowed in the
OpenMP region and a private version of `tt` maybe created for
the region. The functions created in the `OmpVisitor` should be
able to handle the name resolution on the statement too (more
data structures may be introduced). This is a big portion and may
require some interface changes to distinguish a reference is on
`OpenMP directive/clause` or `statements within OpenMP region`.
- Same data reference appears on multiple data-sharing clauses.
- Take association into consideration for example Pointer association,
`ASSOCIATE` construct, and etc.
- Handle `Array Sections` and `Array or Structure Element`.
- Handle all the name resolution for directives/clauses that have
`parser::Name`.
- More tests
Original-commit: flang-compiler/f18 at b2ea520885eceb6e118f690b95e1846183fe378b
Commit: f3961579acc39dd598406ca048efef6a334d3e7f
https://github.com/llvm/llvm-project/commit/f3961579acc39dd598406ca048efef6a334d3e7f
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/omp-resolve03.f90
Log Message:
-----------
[flang] [OpenMP] add common block example
Original-commit: flang-compiler/f18 at a4c923e848bd55adc734808dbc019951610c29e6
Commit: df51352d72f4c18eb9c1b2259dd41f026887cd1c
https://github.com/llvm/llvm-project/commit/df51352d72f4c18eb9c1b2259dd41f026887cd1c
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/omp-symbol01.f90
Log Message:
-----------
[flang] [OpenMP] avoid creating new symbol for common block
Original-commit: flang-compiler/f18 at ba2cceb4a2eb3846053d8f480bd6406d562f9f1c
Commit: 0554d39d74e8da3942869ccf8f2bfa31feea45a1
https://github.com/llvm/llvm-project/commit/0554d39d74e8da3942869ccf8f2bfa31feea45a1
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/omp-clause-validity01.f90
M flang/test/semantics/omp-resolve02.f90
A flang/test/semantics/omp-resolve04.f90
M flang/test/semantics/omp-symbol02.f90
A flang/test/semantics/omp-symbol06.f90
Log Message:
-----------
[flang] [OpenMP] Implement no-multiple-appearance rule for DSA Clauses
DSA stands for Data-Sharing Attribute. This work is part of the
Name Resolution for OpenMP framework (data-refs on clauses part)
Based on 2.15.3: A list item that specifies a given variable may
not appear in more than one clause on the same directive, except that
a variable may be specified in both firstprivate and lastprivate clauses.
Through a temporary `std::set` of `const Symbol *` to keep track of
all the symbols on a certain OpenMP directive, we can determine whether
a variable `Name` (or `Symbol`, more accurately) has already appeared on
another DSA clause already, with the exception of FIRSTPRIVATE clause
and LASTPRIVATE clause. This rule applies to `/COMMON block/` also and
the source provenance shows on error message points to the `Name` between
slashes.
Added two more tests and changed some existing tests to accommodate
this commit. I intend to keep the `omp-clause-validity01.f90` test to
do the validity checks only.
Original-commit: flang-compiler/f18 at 0d7828c21e8dfe02e470a861178b7747100516ae
Commit: 8143b8980de5a142ed37139c0cb3bf114fcce6dd
https://github.com/llvm/llvm-project/commit/8143b8980de5a142ed37139c0cb3bf114fcce6dd
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] [OpenMP] adjust for PR#753 `OmpObject` parse tree change
PR#753 changed the `OmpObject` to be:
```
struct OmpObject {
UNION_CLASS_BOILERPLATE(OmpObject);
std::variant<Designator, /*common block*/ Name> u;
};
```
This commit adjust the logic flow for `ResolveOmpObject` based on
the above parse tree change.
For an `OmpObject`,
```
if (Designator) {
if (DataRef.Name) {
// Resolve Names
} else {
// ResolveDesignator
// AnalyzeExpr
if (Designator.Substring) {
// Error
}
// other checks like StructureComponent, ArrayElement, etc.
}
} else if (Name) {
// Resolve COMMON block
}
```
Original-commit: flang-compiler/f18 at e5c1b92c15e5e8aee202d3469e337893510cfe21
Commit: eeda3041605baf76b22b80256a06834b719ce380
https://github.com/llvm/llvm-project/commit/eeda3041605baf76b22b80256a06834b719ce380
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-25 (Fri, 25 Oct 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/omp-resolve01.f90
Log Message:
-----------
[flang] [OpenMP] address more comments
The major changes are:
1) changed the non-nullptr type to reference
2) changed ResolveOmpObject to use std::visit
3) the rest of the changes are about positions and naming
Original-commit: flang-compiler/f18 at 93debe59f39542aa6c891a0b7b320ac48ddad44a
Commit: 004a4c577b347b8edffd5c11677ac0770c25dd77
https://github.com/llvm/llvm-project/commit/004a4c577b347b8edffd5c11677ac0770c25dd77
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-28 (Mon, 28 Oct 2019)
Changed paths:
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/common.sh
M flang/test/semantics/test_errors.sh
M flang/test/semantics/test_symbols.sh
Log Message:
-----------
[flang] [OpenMP] Test Infra update to support OpenMP symbol tests
During the symbol tests, OpenMP directives (start with "!$omp")
line needs to be saved for 1.f90 and 2.f90. Also moved "OPTIONS:"
detection to common.sh as "$USER_OPTIONS"
Original-commit: flang-compiler/f18 at 7d4e8e8ad52608ed9e4b5239371533cd28f0fbda
Commit: 2839cb3835c55013a203df3c06313370f87a07b4
https://github.com/llvm/llvm-project/commit/2839cb3835c55013a203df3c06313370f87a07b4
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2019-10-28 (Mon, 28 Oct 2019)
Changed paths:
M flang/test/semantics/test_any.sh
Log Message:
-----------
[flang] Throw error in case of missing listed test
Original-commit: flang-compiler/f18 at dabc0ba0e0441d1057218d84a6b6f755985e50cc
Commit: afd39cd49c00ddf861c7995baab89ab7f03fecdf
https://github.com/llvm/llvm-project/commit/afd39cd49c00ddf861c7995baab89ab7f03fecdf
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M flang/documentation/C++style.md
A flang/lib/common/reference.h
M flang/lib/common/unwrap.h
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/constant.h
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traverse.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/variable.cc
M flang/lib/evaluate/variable.h
M flang/lib/parser/message.cc
M flang/lib/parser/message.h
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/mod-file.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Use reference_wrapper in vectors and sets
Convert some CharBlock references to values
Replace more pointers with reference wrappers
Restore object references that were converted to value semantics in an earlier commit
Use Reference<> in Scope
Fix new component iterator
Document pitfall that bit me
final tweaks before rebasing and merging
Rebasing
Original-commit: flang-compiler/f18 at 87874af934a0344f40374d9288e6805a2757e32f
Reviewed-on: https://github.com/flang-compiler/f18/pull/788
Commit: e46a5a4c1050dc0fe2e33764dde109920d93db1e
https://github.com/llvm/llvm-project/commit/e46a5a4c1050dc0fe2e33764dde109920d93db1e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#788 from flang-compiler/pmk-ref-wrap
Create `common::Reference<>`, use it to replace non-nullable pointers
Original-commit: flang-compiler/f18 at 0857755e59b822115370f26f5951046068e7ee7d
Reviewed-on: https://github.com/flang-compiler/f18/pull/788
Commit: 926da903f23d8c37e069588fb023802e4e6439ed
https://github.com/llvm/llvm-project/commit/926da903f23d8c37e069588fb023802e4e6439ed
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-30 (Wed, 30 Oct 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/blockconstruct01.f90
M flang/test/semantics/call03.f90
M flang/test/semantics/call04.f90
M flang/test/semantics/call06.f90
A flang/test/semantics/call14.f90
M flang/test/semantics/doconcurrent01.f90
M flang/test/semantics/init01.f90
A flang/test/semantics/misc-declarations.f90
M flang/test/semantics/modfile24.f90
Log Message:
-----------
[flang] enable call06.f90 test
Relax checking when irrelevant due to INTENT(IN)
Add and pass call14.f90 test on VALUE
Allow ASYNCHRONOUS/VOLATILE to apply to host/USE associated entities, add tests
Pass call06
Check C827 & C828, fix tests
Original-commit: flang-compiler/f18 at df6cb83794b4f8842170c748d9edb7b53ba56fe8
Reviewed-on: https://github.com/flang-compiler/f18/pull/801
Commit: 0e74840ac2048b5ca421420455ba77f36db1a739
https://github.com/llvm/llvm-project/commit/0e74840ac2048b5ca421420455ba77f36db1a739
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-30 (Wed, 30 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#801 from flang-compiler/pmk-call06
More semantic checks for calls & declarations
Original-commit: flang-compiler/f18 at d29f634c350085e4dade3feabd28e4486de34bfb
Reviewed-on: https://github.com/flang-compiler/f18/pull/801
Commit: 7a681f46f8abf109807c221a87526b21bb5bbdf8
https://github.com/llvm/llvm-project/commit/7a681f46f8abf109807c221a87526b21bb5bbdf8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-10-31 (Thu, 31 Oct 2019)
Changed paths:
M flang/documentation/C++style.md
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/type.cc
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/prescan.cc
Log Message:
-----------
[flang] Use c_str() rather than data() where NUL termination is assumed
Original-commit: flang-compiler/f18 at 5baed3c856bcffdb2024e6b20f0f20411b0a15f7
Reviewed-on: https://github.com/flang-compiler/f18/pull/804
Commit: e91e7e4d9548ea42c2d8221830a509179ab70cd1
https://github.com/llvm/llvm-project/commit/e91e7e4d9548ea42c2d8221830a509179ab70cd1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-10-31 (Thu, 31 Oct 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#804 from flang-compiler/pmk-c_str
Use c_str() rather than data() where NUL termination is assumed
Original-commit: flang-compiler/f18 at 97a0a0f78f6b51dfecb5ce3302496a4982394ab7
Reviewed-on: https://github.com/flang-compiler/f18/pull/804
Commit: c14c2b9573a3771ed473fc23c43f6f93bfd17168
https://github.com/llvm/llvm-project/commit/c14c2b9573a3771ed473fc23c43f6f93bfd17168
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-02 (Sat, 02 Nov 2019)
Changed paths:
M flang/lib/common/indirection.h
M flang/lib/common/restorer.h
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traverse.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call07.f90
M flang/test/semantics/null01.f90
Log Message:
-----------
[flang] Enable and pass test call07.f90
Remove a std::move()
Final tweaks after testing and review
Original-commit: flang-compiler/f18 at b3fe97b1a0cd21b238d8511b44be3feb01823fc4
Reviewed-on: https://github.com/flang-compiler/f18/pull/806
Commit: 41aa3bf7a4bca781152a3ef82992b44673ae83a1
https://github.com/llvm/llvm-project/commit/41aa3bf7a4bca781152a3ef82992b44673ae83a1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-02 (Sat, 02 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#806 from flang-compiler/pmk-calls
Enable and pass test call07.f90
Original-commit: flang-compiler/f18 at ac3c69f29c4a8c75ac700052ef95debba8808221
Reviewed-on: https://github.com/flang-compiler/f18/pull/806
Commit: dce7f0aca07a17cf2ded5a04c642aa94597cb95e
https://github.com/llvm/llvm-project/commit/dce7f0aca07a17cf2ded5a04c642aa94597cb95e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-04 (Mon, 04 Nov 2019)
Changed paths:
M flang/lib/common/CMakeLists.txt
A flang/lib/common/Fortran.cc
M flang/lib/common/Fortran.h
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/tools.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/modfile33.f90
A flang/test/semantics/resolve63.f90
Log Message:
-----------
[flang] Resolve extended intrinsic operators
Enhance `ArgumentAnalyzer` to do most of the work for this.
For each kind of operator that might have a user-defined form we follow
this process:
- analyze the arguments
- if the types and shapes match the intrinsic operator do the usual
processing
- otherwise attempt to interpret it as a user-defined operator with
`TryDefinedOp`
When we fail to resolve an operator, produce different errors depending
on whether there is a user-defined operator available or not.
If there is, report that neither user-defined nor intrinsic operator
worked. If there is not, describe the rules for the intrinsic operator.
In either case, include the type(s) of the operand(s).
Most of the uses of `ArgumentAnalyzer` are in helper functions that
apply to classes of operators.
For consistency, rename `BinaryOperationHelper` to `NumericBinaryOperator`
and `LogicalHelper` to `LogicalBinaryHelper` and introduce `NumericUnaryHelper`
for unary `+` and `-`. `.NOT.` and `//` are not implemented in helpers.
Replace `success_` with `fatalErrors_` in `ArgumentAnalyzer` for
consistency with `ExpressionAnalyzer`.
Add `NumericOperator` and `LogicalOperator` enums to `Fortran.h` to go
with `RelationalOperator`. Add `AddFortran` functions to each to convert
to a Fortran source string. `RelationalOperator` also has `AllFortranNames`
because there are multiple names for each operator. This replaces
`LogicalOperator` in `expression.h` and the string representation of
the operators in `formatting.cc`.
Original-commit: flang-compiler/f18 at 3bb9d664e86c931a67b3e78859d2108e53d23f80
Reviewed-on: https://github.com/flang-compiler/f18/pull/807
Commit: eaa0a455875b548663dc822ee8dd0b254b15d3d9
https://github.com/llvm/llvm-project/commit/eaa0a455875b548663dc822ee8dd0b254b15d3d9
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-04 (Mon, 04 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#807 from flang-compiler/tsk-defined-ops
Resolve extended intrinsic operators
Original-commit: flang-compiler/f18 at bcdf3fc6e58ae5dca72247df8793221175a885b0
Reviewed-on: https://github.com/flang-compiler/f18/pull/807
Commit: cf9059ae98b1931803d10c0616d4e001724f80cd
https://github.com/llvm/llvm-project/commit/cf9059ae98b1931803d10c0616d4e001724f80cd
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-04 (Mon, 04 Nov 2019)
Changed paths:
M flang/lib/common/Fortran.cc
M flang/lib/common/Fortran.h
M flang/test/semantics/resolve63.f90
Log Message:
-----------
[flang] Fix build error using clang
Change `AllFortranNames()` to return a `std::vector` rather than a
`std::initialization_list`. The latter doesn't own its underlying
storage and so can't be returned as a value. clang detects this and
issues a warning.
Two tests in `resolve63.f90` behave differently with clang and require
further investigation.
Original-commit: flang-compiler/f18 at 1ed3a3cfee1d372b23afc4529d5867ecd46db681
Reviewed-on: https://github.com/flang-compiler/f18/pull/810
Commit: 5d76a55b016b66d26b3d09a7bd3b601457f515ce
https://github.com/llvm/llvm-project/commit/5d76a55b016b66d26b3d09a7bd3b601457f515ce
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-04 (Mon, 04 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#810 from flang-compiler/tsk-defined-ops
Fix build error using clang
Original-commit: flang-compiler/f18 at 0879810f8bf4f84bcce06a5b6feb7817609c1cdb
Reviewed-on: https://github.com/flang-compiler/f18/pull/810
Commit: 2c89c31a5923346194ad0d8f721b8c6cfc6765a7
https://github.com/llvm/llvm-project/commit/2c89c31a5923346194ad0d8f721b8c6cfc6765a7
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-04 (Mon, 04 Nov 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call08.f90
Log Message:
-----------
[flang] Enable and pass call08.f90
Refine a check
Original-commit: flang-compiler/f18 at bb96c195d4d6825041912d8ab0b5c5fb7f9418e2
Reviewed-on: https://github.com/flang-compiler/f18/pull/812
Commit: f991c76521efe67c679afe3736a38af72537583c
https://github.com/llvm/llvm-project/commit/f991c76521efe67c679afe3736a38af72537583c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-04 (Mon, 04 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#812 from flang-compiler/pmk-call08
Enable and pass call08.f90
Original-commit: flang-compiler/f18 at 997f59f4a352786a03ad5023b748af1a91b4e7c6
Reviewed-on: https://github.com/flang-compiler/f18/pull/812
Commit: 572de7c7b01ca242b71ff4114c15d25015145bd3
https://github.com/llvm/llvm-project/commit/572de7c7b01ca242b71ff4114c15d25015145bd3
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-11-05 (Tue, 05 Nov 2019)
Changed paths:
M flang/lib/evaluate/character.h
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/variable.cc
M flang/test/evaluate/folding01.f90
Log Message:
-----------
[flang] Implement MIN and MAX folding
* Use Extremum<T> FoldOperation to fold MIN and MAX
* Fix Extremum<T> FolOperation
* For character, the length is the one of the longest argument.
Define and use `CharacterUtils<Kind>::Resize` helper to do this.
* For array of all types, Extremum<T> with Ordering::Less was
behaving like Ordering::Greater. This is because the default
`ApplyElementwise` for `Operation` was selected and it then
called the Extremum<T> constructor without the ordering
argument (which was an optional defaulted to Greater).
Define a specific handler for Extremum<T> and make the ordering
argument mandatory to prevent this kind of bug to pass
f18 compilation in the futur.
* Fix intrinsic.cc for MIN and MAX
* When provided with two arguments, `Match` was adding an empty
3rd optional actual argument. Later code working on min and
max was not expecting this and failing. The fix prevent this
empty argument to be created by changing the initial size of
`actualForDummy` to actually be the number of dummies that do
not have `Optionality::Repeats`
This commit fixes issue flang-compiler/f18#677.
Original-commit: flang-compiler/f18 at acb62f240b55d866797b9917f5a45dcd5ecc23e8
Reviewed-on: https://github.com/flang-compiler/f18/pull/803
Commit: 9392f2a329e2abac8da0e59b73c82153679de503
https://github.com/llvm/llvm-project/commit/9392f2a329e2abac8da0e59b73c82153679de503
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-11-05 (Tue, 05 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#803 from flang-compiler/jpr-extremums
Implement MIN and MAX folding
Original-commit: flang-compiler/f18 at b91bb504101bc80c458815035a058c8d1839d847
Reviewed-on: https://github.com/flang-compiler/f18/pull/803
Commit: 65791b2d0bede3c775b55177ed0a291f459d8f1c
https://github.com/llvm/llvm-project/commit/65791b2d0bede3c775b55177ed0a291f459d8f1c
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2019-11-05 (Tue, 05 Nov 2019)
Changed paths:
M flang/lib/common/format.h
M flang/test/semantics/io07.f90
M flang/test/semantics/io08.f90
M flang/test/semantics/io10.f90
Log Message:
-----------
[flang] Relax the implementation of constraint C1302. (flang-compiler/f18#805)
* Relax the implementation of constraint C1302.
When a list of format items can be unambiguously partitioned into individual items even though one or more otherwise required comma separators are omitted, generate a warning rather than an error.
Fixes flang-compiler/f18#703
Original-commit: flang-compiler/f18 at 79c0731137e1092c26c4dec7c12113c52a72effd
Reviewed-on: https://github.com/flang-compiler/f18/pull/805
Commit: a717d170cc997629b6b11dfef9cf29ec6104df4c
https://github.com/llvm/llvm-project/commit/a717d170cc997629b6b11dfef9cf29ec6104df4c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-05 (Tue, 05 Nov 2019)
Changed paths:
M flang/lib/evaluate/characteristics.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] Change more pointers into references
Remove unused interface
Respond to review comments
Original-commit: flang-compiler/f18 at 7fdfe7b4acb28578dddc23965ce9c890fbbd6c8a
Reviewed-on: https://github.com/flang-compiler/f18/pull/809
Commit: e391c6f0d3e6333a67c528db243f611e0ceabd14
https://github.com/llvm/llvm-project/commit/e391c6f0d3e6333a67c528db243f611e0ceabd14
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-05 (Tue, 05 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#809 from flang-compiler/pmk-symbol-refs
Convert more non-nullable pointers to Reference<>s
Original-commit: flang-compiler/f18 at 4a6d6f184bcf54de971f30df0bf6649e2768016f
Reviewed-on: https://github.com/flang-compiler/f18/pull/809
Commit: cae50f01ff6ef5a13410c273f6838687aa66cc02
https://github.com/llvm/llvm-project/commit/cae50f01ff6ef5a13410c273f6838687aa66cc02
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-06 (Wed, 06 Nov 2019)
Changed paths:
A flang/lib/common/features.h
M flang/lib/parser/basic-parsers.h
R flang/lib/parser/features.h
M flang/lib/parser/parse-state.h
M flang/lib/parser/parsing.cc
M flang/lib/parser/parsing.h
M flang/lib/parser/prescan.cc
M flang/lib/parser/prescan.h
M flang/lib/parser/user-state.h
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Move features.h from parser to common
Which features are enabled and disabled applies to more than just the
parser, so move that functionality to `common`.
Original-commit: flang-compiler/f18 at 98b3240efc25095b6bdfa43280513f2afcac99e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/815
Tree-same-pre-rewrite: false
Commit: 9b31cbe7dbdfe462ed371b92ceab2c915c21398f
https://github.com/llvm/llvm-project/commit/9b31cbe7dbdfe462ed371b92ceab2c915c21398f
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-07 (Thu, 07 Nov 2019)
Changed paths:
M flang/lib/common/CMakeLists.txt
M flang/lib/common/Fortran.cc
M flang/lib/common/Fortran.h
A flang/lib/common/features.cc
M flang/lib/common/features.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/tools.cc
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/grammar.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names-utils.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/semantics.h
M flang/lib/semantics/symbol.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/modfile33.f90
M flang/test/semantics/resolve63.f90
A flang/test/semantics/resolve64.f90
M flang/test/semantics/test_modfile.sh
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Add support for logical abbreviations and .XOR.
Update the grammar to handle logical abbreviations (e.g. `.A.` for `.AND.`)
when the feature is enabled. Only support `.X.` when both XOR and
logical abbreviations are enabled.
Fix the driver to enable logical abbreviations with the
`-flogical-abbreviations` option. This was already documented in
`documentation/Extensions.md`.
Remove `parser::Expr::XOR` from the parse tree and immediately map
`.XOR.` to `.NEQV.` if that feature is enabled. This was already being
done during expression analysis anyway.
Add `LanguageFeatureControl::GetNames` to return all of the names of
a logical or relational operator, depending on which features are
enabled. Use these in both name resolution and expression analysis.
Add `Not` to `LogicalOperator` to help in those cases.
Fix handling of BOZ literals: A numeric operation with one real or
integer operand and the other a BOZ literal is intrinsic.
Also, unary plus with a BOZ literal operand is also intrinsic.
Original-commit: flang-compiler/f18 at 956bd50bc7c93a31bb3ac39841d7b5ba15ff04a3
Reviewed-on: https://github.com/flang-compiler/f18/pull/815
Commit: ab024b73976a2ccef1fb04fde15bfe5a2c2ee828
https://github.com/llvm/llvm-project/commit/ab024b73976a2ccef1fb04fde15bfe5a2c2ee828
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-07 (Thu, 07 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#815 from flang-compiler/tsk-defined-ops
Add support for logical abbreviations and .XOR.
Original-commit: flang-compiler/f18 at a7a581526e21d2f2659192bc81ecff321a272e66
Reviewed-on: https://github.com/flang-compiler/f18/pull/815
Commit: e2166e1ca0220957317f3770941a75e14a37c9f0
https://github.com/llvm/llvm-project/commit/e2166e1ca0220957317f3770941a75e14a37c9f0
Author: sameeranjoshi17 <joshisameeran17 at gmail.com>
Date: 2019-11-03 (Sun, 03 Nov 2019)
Changed paths:
M flang/lib/semantics/check-omp-structure.cc
Log Message:
-----------
[flang] semantic checks for Master construct
Original-commit: flang-compiler/f18 at b052a710629cc08cda27de579651dd5328e24b9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/808
Tree-same-pre-rewrite: false
Commit: 4aac676c54e926e69be113f42a79481bd8da7d8c
https://github.com/llvm/llvm-project/commit/4aac676c54e926e69be113f42a79481bd8da7d8c
Author: sameeranjoshi17 <joshisameeran17 at gmail.com>
Date: 2019-11-06 (Wed, 06 Nov 2019)
Changed paths:
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] Added test case for semantic check of OpenMP Master construct
Original-commit: flang-compiler/f18 at 22f3088c76517b32996962da4ab4687b376ef878
Reviewed-on: https://github.com/flang-compiler/f18/pull/808
Tree-same-pre-rewrite: false
Commit: 8d216b40c894d28d1c5c33b291345c1dbf916fe4
https://github.com/llvm/llvm-project/commit/8d216b40c894d28d1c5c33b291345c1dbf916fe4
Author: sameeranjoshi17 <joshisameeran17 at gmail.com>
Date: 2019-11-06 (Wed, 06 Nov 2019)
Changed paths:
M flang/test/semantics/omp-clause-validity01.f90
Log Message:
-----------
[flang] Added passing test case
Original-commit: flang-compiler/f18 at 752142055b0d029a0e483e6b8a74cc507f0f49ab
Reviewed-on: https://github.com/flang-compiler/f18/pull/808
Commit: f638549d8cacf0c75aeeede569a124616777d4cf
https://github.com/llvm/llvm-project/commit/f638549d8cacf0c75aeeede569a124616777d4cf
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-07 (Thu, 07 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#808 from Sameeranjoshi/master
[OpenMP] Semantic check for Master construct
Original-commit: flang-compiler/f18 at d8b6e8e4feaa59c4ffe57a56e9535f201f06d6d9
Reviewed-on: https://github.com/flang-compiler/f18/pull/808
Commit: 6c9b8845e9ba7cbce06de5efec02ce391decebfc
https://github.com/llvm/llvm-project/commit/6c9b8845e9ba7cbce06de5efec02ce391decebfc
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-09 (Sat, 09 Nov 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/integer.h
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/parser/grammar.h
M flang/lib/parser/type-parsers.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call02.f90
M flang/test/semantics/call09.f90
M flang/test/semantics/expr-errors02.f90
Log Message:
-----------
[flang] checkpoint, all tests pass
Fix name resolution for undeclared intrinsic actual arguments
Original-commit: flang-compiler/f18 at 12470f06bcc09eb4858af9c3e412752d7ba71aee
Reviewed-on: https://github.com/flang-compiler/f18/pull/818
Commit: e2437596a4025d1e943e0b24ca5bcb7d5c71bc60
https://github.com/llvm/llvm-project/commit/e2437596a4025d1e943e0b24ca5bcb7d5c71bc60
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-09 (Sat, 09 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#818 from flang-compiler/pmk-call09
Check semantics for actual arguments associated with dummy procedures
Original-commit: flang-compiler/f18 at 5de75d9118e6b0f596599a126fc69383eeaef208
Reviewed-on: https://github.com/flang-compiler/f18/pull/818
Commit: 18f5ce59649a7715279b9cf4c4e076fa4b515866
https://github.com/llvm/llvm-project/commit/18f5ce59649a7715279b9cf4c4e076fa4b515866
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-11 (Mon, 11 Nov 2019)
Changed paths:
M flang/documentation/C++style.md
M flang/lib/common/idioms.h
M flang/lib/common/template.h
M flang/lib/common/unwrap.h
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/fold.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/formatting.h
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traverse.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/evaluate/variable.cc
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/message.cc
M flang/lib/parser/parse-state.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.cc
M flang/lib/parser/parsing.cc
M flang/lib/parser/preprocessor.cc
M flang/lib/parser/prescan.cc
M flang/lib/parser/prescan.h
M flang/lib/parser/provenance.cc
M flang/lib/parser/source.cc
M flang/lib/parser/token-parsers.h
M flang/lib/parser/tools.h
M flang/lib/parser/unparse.cc
M flang/lib/parser/user-state.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/canonicalize-do.cc
M flang/lib/semantics/canonicalize-omp.cc
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-arithmeticif.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/rewrite-parse-tree.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/semantics.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/runtime/ISO_Fortran_binding.cc
M flang/runtime/derived-type.h
M flang/runtime/descriptor.cc
M flang/runtime/descriptor.h
M flang/runtime/transformational.cc
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Remove most comparisons to nullptr
Remove needless usage of has_value()
Original-commit: flang-compiler/f18 at 1da7fcf7a54066b18e521620ecedb79c7cd2eb97
Reviewed-on: https://github.com/flang-compiler/f18/pull/822
Commit: 3efb332af2a6b0ded9ff8c318cf9f845c5ffaefc
https://github.com/llvm/llvm-project/commit/3efb332af2a6b0ded9ff8c318cf9f845c5ffaefc
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-11 (Mon, 11 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#822 from flang-compiler/pmk-nullptr
Remove explicit comparisons to `nullptr` and most usage of `has_value()`
Original-commit: flang-compiler/f18 at fdb351ca2afb0d71028785da4687113343e11f54
Reviewed-on: https://github.com/flang-compiler/f18/pull/822
Commit: b5c7193769cc2eaef6f0084e95624583806513d2
https://github.com/llvm/llvm-project/commit/b5c7193769cc2eaef6f0084e95624583806513d2
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/lib/semantics/canonicalize-omp.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix crashes in ResolveOmpObject and RewriteOpenMPLoopConstruct
Using debug build of f18, `omp-resolve01.f90` sometimes crashed in
`OmpVisitor::ResolveOmpObject`. This was because when the designator was
analyzed it could be rewritten from an `ArrayElement` to a `Substring`.
That made the reference to the `Name` inside the designator no longer
valid so the crash happened when it was referenced later. The fix is to
return when the substring is detected so the name is not referenced.
Also, the name returned from `ResolveDesignator` can but null so it must
be checked.
The crash in `RewriteOpenMPLoopConstruct` happened intermittently on
`omp-loop-association.f90`. It happened when the DO construct was the
last element of the block. In that case `block.erase()` returns an
iterator pointing to `block.end()` which must not be dereferenced.
Original-commit: flang-compiler/f18 at 3299972d047696aca28212131ab4644a3966fc8b
Reviewed-on: https://github.com/flang-compiler/f18/pull/824
Commit: 751add0045ad5ac3d524dbc3b3a6dda17d56f6fb
https://github.com/llvm/llvm-project/commit/751add0045ad5ac3d524dbc3b3a6dda17d56f6fb
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#824 from flang-compiler/tsk-omp-crash
Fix crashes in ResolveOmpObject and RewriteOpenMPLoopConstruct
Original-commit: flang-compiler/f18 at 283542ff5a04fa5de65a252891567001fbe24857
Reviewed-on: https://github.com/flang-compiler/f18/pull/824
Commit: c1ca1b2b7f8c00920b0af23114bc34dde6c1b0fa
https://github.com/llvm/llvm-project/commit/c1ca1b2b7f8c00920b0af23114bc34dde6c1b0fa
Author: kiranktp <kirankumart.tp at amd.com>
Date: 2019-11-07 (Thu, 07 Nov 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/separate_module_procs_1.f90
A flang/test/semantics/separate_module_procs_2.f90
Log Message:
-----------
[flang] Fix for flang-compiler/f18#694 - Unexpected error when compiling submodule
Change-Id: I03939bfc705cc5319a0b7da3305026b8403b8edc
Original-commit: flang-compiler/f18 at e1237939aa4b198119671096a05219ab9374b5c2
Reviewed-on: https://github.com/flang-compiler/f18/pull/817
Tree-same-pre-rewrite: false
Commit: deffc7a55cd2d241bb2cf3b6464b9b874f07ce14
https://github.com/llvm/llvm-project/commit/deffc7a55cd2d241bb2cf3b6464b9b874f07ce14
Author: kiranktp <kirankumart.tp at amd.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/separate-module-procs.f90
Log Message:
-----------
[flang] Fix for flang-compiler/f18#694 - Unexpected error when compiling submodule
Incorporated all review comments and updated the test case.
Change-Id: I03939bfc705cc5319a0b7da3305026b8403b8edc
Original-commit: flang-compiler/f18 at 010da4228e31e1fd75aca6410ee8057746fa9857
Reviewed-on: https://github.com/flang-compiler/f18/pull/817
Tree-same-pre-rewrite: false
Commit: e572117f8b7c7c63769bc83475b348cd35b109fb
https://github.com/llvm/llvm-project/commit/e572117f8b7c7c63769bc83475b348cd35b109fb
Author: kiranktp <kirankumart.tp at amd.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
R flang/test/semantics/separate_module_procs_1.f90
R flang/test/semantics/separate_module_procs_2.f90
Log Message:
-----------
[flang] Fix for flang-compiler/f18#694 - Unexpected error when compiling submodule
Incorporated all review comments and updated the test case.
Change-Id: I03939bfc705cc5319a0b7da3305026b8403b8edc
Original-commit: flang-compiler/f18 at a52b0367ea1f34e0059b0043d1f370bec5896c74
Reviewed-on: https://github.com/flang-compiler/f18/pull/817
Tree-same-pre-rewrite: false
Commit: 17332e283e257b4259a315ce21cf53784f3b6060
https://github.com/llvm/llvm-project/commit/17332e283e257b4259a315ce21cf53784f3b6060
Author: kiranktp <kirankumart.tp at amd.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/separate-module-procs.f90
Log Message:
-----------
[flang] Fix for flang-compiler/f18#694 - Unexpected error when compiling submodule
Incorporated all review comments and updated the test case.
Change-Id: I03939bfc705cc5319a0b7da3305026b8403b8edc
Original-commit: flang-compiler/f18 at 5c602bfbc74a3cad1de6f35204bbfd64ac29bfa3
Reviewed-on: https://github.com/flang-compiler/f18/pull/817
Commit: 80375b84aa92f68e3e741ea382b4272ed5548af2
https://github.com/llvm/llvm-project/commit/80375b84aa92f68e3e741ea382b4272ed5548af2
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#817 from kiranktp/master
Fix for flang-compiler/f18#694 - Unexpected error when compiling submodule
Original-commit: flang-compiler/f18 at d7b1121189483489b5c5488b159fad3d73d05582
Reviewed-on: https://github.com/flang-compiler/f18/pull/817
Commit: 877b26598da89de2df1cdcb8287062a257e0129b
https://github.com/llvm/llvm-project/commit/877b26598da89de2df1cdcb8287062a257e0129b
Author: David Truby <david.truby at arm.com>
Date: 2019-11-13 (Wed, 13 Nov 2019)
Changed paths:
A flang/.drone.star
Log Message:
-----------
[flang] Add CI file for cloud.drone.io
Original-commit: flang-compiler/f18 at 32252639abd07ed409fe5f48755d852b91b9ae11
Reviewed-on: https://github.com/flang-compiler/f18/pull/823
Tree-same-pre-rewrite: false
Commit: 056f5f73b7dd0fe08468c6143a1dafb5bad8fe65
https://github.com/llvm/llvm-project/commit/056f5f73b7dd0fe08468c6143a1dafb5bad8fe65
Author: David Truby <david.truby at arm.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Reduce number of threads used for building.
This is to avoid running out of memory on some builds.
Original-commit: flang-compiler/f18 at f8abe443cf3d12d47d08d61530f4da4b4b96c0c5
Reviewed-on: https://github.com/flang-compiler/f18/pull/823
Commit: d61a8091f6eff2b5b5270efc255a9e005d001b5d
https://github.com/llvm/llvm-project/commit/d61a8091f6eff2b5b5270efc255a9e005d001b5d
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#823 from DavidTruby/drone_ci
Add CI file for cloud.drone.io
Original-commit: flang-compiler/f18 at 14a4f166e9004683a15cddb0020a9b5dd140a810
Reviewed-on: https://github.com/flang-compiler/f18/pull/823
Commit: 158f9e09fc9123bb2fd3f339f8d614668c2e2566
https://github.com/llvm/llvm-project/commit/158f9e09fc9123bb2fd3f339f8d614668c2e2566
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/lib/semantics/program-tree.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix bad deference in ProgramTree
We weren't handling MainProgram with no ProgramStmt correctly in
ProgramTree. When building it we were dereferencing an empty optional.
And in ResolveSpecificationParts we were dereferencing a null pointer.
Original-commit: flang-compiler/f18 at 1bda90d0051d7b67bf76f9aaa1f2963976a15d4a
Reviewed-on: https://github.com/flang-compiler/f18/pull/827
Commit: f3ed0b59d40afde17f3af614ed66c224188d0bb4
https://github.com/llvm/llvm-project/commit/f3ed0b59d40afde17f3af614ed66c224188d0bb4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-15 (Fri, 15 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#827 from flang-compiler/tsk-bad-deref
Fix bad deferences in ProgramTree
Original-commit: flang-compiler/f18 at 4190785904a7953d964b3ee41bf9b9183a4d07b7
Reviewed-on: https://github.com/flang-compiler/f18/pull/827
Commit: 608ea6414dc964a5523b876be25badf7362621d3
https://github.com/llvm/llvm-project/commit/608ea6414dc964a5523b876be25badf7362621d3
Author: David Truby <david.truby at arm.com>
Date: 2019-11-15 (Fri, 15 Nov 2019)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Disable arm64 gcc builds in CI until they can be fixed
Currently the arm64 gcc builds in CI are getting stuck,
so disable these to get CI working again until they're fixed.
Original-commit: flang-compiler/f18 at 49803e62ee3fdfc29ae0bdd6a712cc288e10bb26
Reviewed-on: https://github.com/flang-compiler/f18/pull/829
Commit: 0f6eaa6269a98ae370776e893a699c00e01e600f
https://github.com/llvm/llvm-project/commit/0f6eaa6269a98ae370776e893a699c00e01e600f
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-15 (Fri, 15 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#829 from DavidTruby/drone_ci
Disable arm64 gcc builds in CI until they can be fixed
Original-commit: flang-compiler/f18 at c8d226d181b222bc0e0d829922d166acdf26a601
Reviewed-on: https://github.com/flang-compiler/f18/pull/829
Commit: ed1ed24ec2aa11d2e9dc97a120ce189e661486d8
https://github.com/llvm/llvm-project/commit/ed1ed24ec2aa11d2e9dc97a120ce189e661486d8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-15 (Fri, 15 Nov 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/semantics/CMakeLists.txt
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-io.h
A flang/lib/semantics/check-purity.cc
A flang/lib/semantics/check-purity.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call02.f90
M flang/test/semantics/call10.f90
M flang/test/semantics/expr-errors02.f90
M flang/test/semantics/modfile03.f90
M flang/test/semantics/resolve04.f90
M flang/test/semantics/resolve62.f90
M flang/test/semantics/structconst03.f90
M flang/test/semantics/structconst04.f90
Log Message:
-----------
[flang] Semantic checks for PURE subprograms (test call10.f90)
Fix bug found in testing
Original-commit: flang-compiler/f18 at ccdd7326ba56c5a3cf8bc944516e3d1b93b25848
Reviewed-on: https://github.com/flang-compiler/f18/pull/825
Commit: 22d5da94729aa86f7be69272984ab6dc99b55c35
https://github.com/llvm/llvm-project/commit/22d5da94729aa86f7be69272984ab6dc99b55c35
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-15 (Fri, 15 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#825 from flang-compiler/pmk-call10
Extend, enable, and pass test call10.f90 (restrictions on PURE subprograms)
Original-commit: flang-compiler/f18 at bf1cc4a9bb821aa1cc12c189c2c3a05b7bf11619
Reviewed-on: https://github.com/flang-compiler/f18/pull/825
Commit: ccee728e5a3069d1e01cbe48a70bb05cf14ee30f
https://github.com/llvm/llvm-project/commit/ccee728e5a3069d1e01cbe48a70bb05cf14ee30f
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/lib/common/CMakeLists.txt
R flang/lib/common/features.cc
R flang/lib/common/features.h
A flang/lib/common/flang-features.cc
A flang/lib/common/flang-features.h
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/parse-state.h
M flang/lib/parser/parsing.h
M flang/lib/parser/prescan.h
M flang/lib/parser/user-state.h
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/semantics.h
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Rename features.h because many linux systems have an include file called features.h which can complicate makefiles that use a search path.
Original-commit: flang-compiler/f18 at fc34d0ddf355e4f978e2cb984486191041c24ea9
Reviewed-on: https://github.com/flang-compiler/f18/pull/826
Tree-same-pre-rewrite: false
Commit: 33dad7318701abb8b51bd6ba86e2a73c24fe48b4
https://github.com/llvm/llvm-project/commit/33dad7318701abb8b51bd6ba86e2a73c24fe48b4
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-14 (Thu, 14 Nov 2019)
Changed paths:
M flang/lib/common/CMakeLists.txt
A flang/lib/common/Fortran-features.cc
A flang/lib/common/Fortran-features.h
R flang/lib/common/flang-features.cc
R flang/lib/common/flang-features.h
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/parse-state.h
M flang/lib/parser/parsing.h
M flang/lib/parser/prescan.h
M flang/lib/parser/user-state.h
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/semantics.h
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Rename flang-features to Fortran-features; update the guard macro.
Original-commit: flang-compiler/f18 at 1a7f5596ecab5eb954130713c5b9e4f6a16c5ab7
Reviewed-on: https://github.com/flang-compiler/f18/pull/826
Commit: ca2b6589886f74bcf855ea8bc9c9594cc677c77f
https://github.com/llvm/llvm-project/commit/ca2b6589886f74bcf855ea8bc9c9594cc677c77f
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-16 (Sat, 16 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#826 from flang-compiler/sjs-feature-rename
Rename features.h
Original-commit: flang-compiler/f18 at 6cf3196dbf3b857c5f308101709b473a5578743a
Reviewed-on: https://github.com/flang-compiler/f18/pull/826
Commit: e5b754e8102f37169e05e6076c8c9451c7fd5ee1
https://github.com/llvm/llvm-project/commit/e5b754e8102f37169e05e6076c8c9451c7fd5ee1
Author: David Truby <david.truby at arm.com>
Date: 2019-11-18 (Mon, 18 Nov 2019)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Change images used for CI to solve build issues
Original-commit: flang-compiler/f18 at 325b26b3a4025d4c54725db6b557276025f706fa
Reviewed-on: https://github.com/flang-compiler/f18/pull/832
Tree-same-pre-rewrite: false
Commit: f3cab5281d0557bf3f1d638f6571bc128f9976d6
https://github.com/llvm/llvm-project/commit/f3cab5281d0557bf3f1d638f6571bc128f9976d6
Author: David Truby <david.truby at arm.com>
Date: 2019-11-18 (Mon, 18 Nov 2019)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Another atempt to lower core count
Original-commit: flang-compiler/f18 at 60eeb446b160826d587adeea939cc99416c03df5
Reviewed-on: https://github.com/flang-compiler/f18/pull/832
Commit: 3b001e8cff45415c8f35b367857f1539000d614a
https://github.com/llvm/llvm-project/commit/3b001e8cff45415c8f35b367857f1539000d614a
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-11-18 (Mon, 18 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#832 from DavidTruby/drone_ci
Change images used for CI to solve build issues
Original-commit: flang-compiler/f18 at 369327a6d0c512973359f57a90b5482f45b2b6f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/832
Commit: fc94aa6d32c0ee9f13f15ca1733a7cfd2230bdb5
https://github.com/llvm/llvm-project/commit/fc94aa6d32c0ee9f13f15ca1733a7cfd2230bdb5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-19 (Tue, 19 Nov 2019)
Changed paths:
M flang/module/iso_fortran_env.f90
A flang/runtime/entry-names.h
A flang/runtime/io-api.h
A flang/runtime/magic-numbers.h
Log Message:
-----------
[flang] Define runtime I/O library interface to be used by generated code.
Original-commit: flang-compiler/f18 at 82cb9b0c8794e253d6bec4fd01be1b6b5428fc56
Reviewed-on: https://github.com/flang-compiler/f18/pull/802
Commit: 841561b4322caa49bf7b9b1d37a948b7ab9704d8
https://github.com/llvm/llvm-project/commit/841561b4322caa49bf7b9b1d37a948b7ab9704d8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-19 (Tue, 19 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#802 from flang-compiler/pmk-io-header
API for generated code to use to implement I/O data transfer statements
Original-commit: flang-compiler/f18 at 696bce96856a00b5912afb71bb21269698660eed
Reviewed-on: https://github.com/flang-compiler/f18/pull/802
Commit: ff765f8500361834d6b2b29947e171a325d689a9
https://github.com/llvm/llvm-project/commit/ff765f8500361834d6b2b29947e171a325d689a9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-19 (Tue, 19 Nov 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/variable.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/bindings01.f90
M flang/test/semantics/call10.f90
M flang/test/semantics/call11.f90
M flang/test/semantics/modfile10.f90
M flang/test/semantics/resolve31.f90
M flang/test/semantics/resolve32.f90
M flang/test/semantics/resolve52.f90
Log Message:
-----------
[flang] For call11.f90: more checks on PURE subprograms and TBP bindings
Original-commit: flang-compiler/f18 at 7aa47f0b9e4ad5a7496d3142953092a404f621a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/833
Commit: 96a6b8c8d0a1fab42fab89dc3eb8498274720e30
https://github.com/llvm/llvm-project/commit/96a6b8c8d0a1fab42fab89dc3eb8498274720e30
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-19 (Tue, 19 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#833 from flang-compiler/pmk-call11
For call11.f90: more checks on PURE subprograms and TBP bindings
Original-commit: flang-compiler/f18 at 1122b381d65add5d33ee5b39ac39b6d07e110955
Reviewed-on: https://github.com/flang-compiler/f18/pull/833
Commit: fd76cc47c54fad4e29105fca58f00095d5d00788
https://github.com/llvm/llvm-project/commit/fd76cc47c54fad4e29105fca58f00095d5d00788
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-11-21 (Thu, 21 Nov 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/semantics.h
M flang/lib/semantics/tools.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/doconcurrent08.f90
M flang/test/semantics/dosemantics05.f90
Log Message:
-----------
[flang] Changes to check for constraint C1140
This constraint prohibits deallocation of polymorphic entities in a DO
CONCURRENT.
Section 9.7.3.2 specifies the situations that might cause deallocation
of a polymorphic entity. The ones that are applicable to a DO CONCURRENT
are exiting from a block that declares such variables, intrinsic
assignment, and an actual DEALLOCATE statement. This section also
specifies (paragraph 8) that deallocation of a derived type causes
deallocation of all of its allocatable subobjects.
Section 10.2.1.3 specifies what happens during intrinsic assignment.
Paragraph 3 states If the variable is an allocated allocatable variable,
it is deallocated if expr is an array of different shape, any
corresponding length type parameter values of the variable and expr
differ, or the variable is polymorphic and the dynamic type or any
corresponding kind type parameter values of the variable and expr
differ." Thus, an allocatable polymorphic variable on the left hand side
of an assignment statement gets deallocated. Paragraph 13 states that
"For a noncoarray allocatable component the following sequence of
operations is applied.
(1) If the component of the variable is allocated, it is deallocated."
Thus, a variable on the left-hand side of an assignment statement might have noncorray allocatable components. Such components will be deallocated.
Deallocation can be caused by exiting from a block where the entity is
declared, from an assignment, and from direct deallocation.
Original-commit: flang-compiler/f18 at 7d1932d344308d8266503268a7534532cebe6087
Reviewed-on: https://github.com/flang-compiler/f18/pull/814
Commit: c7462536ef643527f6d5a9d406c5052e75d90104
https://github.com/llvm/llvm-project/commit/c7462536ef643527f6d5a9d406c5052e75d90104
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-11-21 (Thu, 21 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#814 from flang-compiler/ps-c1140
Changes to check for constraint C1140 -- deallocation of polymorphic entities
Original-commit: flang-compiler/f18 at 794b75155abfca6a938b5baa9bff0bc2cf2c4b67
Reviewed-on: https://github.com/flang-compiler/f18/pull/814
Commit: 11ce9b08234ca8652c8fd944c347ac7f004cfdf7
https://github.com/llvm/llvm-project/commit/11ce9b08234ca8652c8fd944c347ac7f004cfdf7
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-21 (Thu, 21 Nov 2019)
Changed paths:
M flang/lib/evaluate/common.h
M flang/lib/evaluate/variable.cc
M flang/lib/evaluate/variable.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-nullify.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call12.f90
M flang/test/semantics/structconst03.f90
M flang/test/semantics/structconst04.f90
Log Message:
-----------
[flang] Revert Symbol::operator=() changes
Rearrange "if" nest for clarity
Pass call12.f90 test.
Original-commit: flang-compiler/f18 at 69a1a2b796f64c13b37f417dc03ff6a416384b94
Reviewed-on: https://github.com/flang-compiler/f18/pull/835
Tree-same-pre-rewrite: false
Commit: 4d372b6dc174d54e6cb276af4737d8faca06df3e
https://github.com/llvm/llvm-project/commit/4d372b6dc174d54e6cb276af4737d8faca06df3e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-21 (Thu, 21 Nov 2019)
Changed paths:
M flang/lib/evaluate/variable.cc
M flang/lib/semantics/semantics.h
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] Reformat all C++ in lib/*
Original-commit: flang-compiler/f18 at 232bcedb6647592e63dc0dec6c6bd83fd41082b4
Reviewed-on: https://github.com/flang-compiler/f18/pull/835
Tree-same-pre-rewrite: false
Commit: 223499ec99c7011b06cb4ca124961cdd3a5d86b5
https://github.com/llvm/llvm-project/commit/223499ec99c7011b06cb4ca124961cdd3a5d86b5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-21 (Thu, 21 Nov 2019)
Changed paths:
M flang/lib/evaluate/variable.h
M flang/lib/semantics/assignment.cc
Log Message:
-----------
[flang] Address review comments
Original-commit: flang-compiler/f18 at 0ce592c7c550027b8d4516af2cda8330b2ddc08a
Reviewed-on: https://github.com/flang-compiler/f18/pull/835
Commit: bc98aaad7e70bee666ca61fd29a8bae96a8f38f4
https://github.com/llvm/llvm-project/commit/bc98aaad7e70bee666ca61fd29a8bae96a8f38f4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-21 (Thu, 21 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#835 from flang-compiler/pmk-call12
Enable, extend, and pass call12.f90 test; revert some recent changes
Original-commit: flang-compiler/f18 at 3feacd8a637f150b8433bbc46d10c53cc054957a
Reviewed-on: https://github.com/flang-compiler/f18/pull/835
Commit: fe7e36d46c865003a9cb67c215182459f5d59dfd
https://github.com/llvm/llvm-project/commit/fe7e36d46c865003a9cb67c215182459f5d59dfd
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2019-11-22 (Fri, 22 Nov 2019)
Changed paths:
M flang/lib/common/interval.h
Log Message:
-----------
[flang] Need algorithm for std::min (flang-compiler/f18#837)
Original-commit: flang-compiler/f18 at d20a79cdd952e5013c741f052157e50ecb391d34
Reviewed-on: https://github.com/flang-compiler/f18/pull/837
Commit: e46cd9ee18d5d809123f4984fa23df9648f2fa8e
https://github.com/llvm/llvm-project/commit/e46cd9ee18d5d809123f4984fa23df9648f2fa8e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-11-22 (Fri, 22 Nov 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/semantics/expression.cc
M flang/module/iso_fortran_env.f90
Log Message:
-----------
[flang] Fold MERGE, use it in ISO_FORTRAN_ENV
Reduce use of intrinsic type KIND codes in ISO_FORTRAN_ENV
Use COUNT([x]) rather than MERGE(1,0,x)
Fix problems in array constructor expression analysis
Original-commit: flang-compiler/f18 at 79018f7126a55a4b8a907f121cc099d5f4f9666a
Reviewed-on: https://github.com/flang-compiler/f18/pull/836
Commit: 4d7b6cf3c1e63187707d4254e291f6298792675c
https://github.com/llvm/llvm-project/commit/4d7b6cf3c1e63187707d4254e291f6298792675c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-11-22 (Fri, 22 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#836 from flang-compiler/pmk-kinds
Fold MERGE, use it in ISO_FORTRAN_ENV
Original-commit: flang-compiler/f18 at 34e04649fe6515a84cc5288b8ecfb133bd618e5a
Reviewed-on: https://github.com/flang-compiler/f18/pull/836
Commit: 701a9bd0e5910c3767c41dfa2c4ecef7db8f060e
https://github.com/llvm/llvm-project/commit/701a9bd0e5910c3767c41dfa2c4ecef7db8f060e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] Refactor GenericKind
Change GenericKind from an enum class to a variant that includes the
`NumericOperator`, `LogicalOperator`, and `RelationalOperator` from `common`.
This allows for better tests like `IsIntrinsicOperator` (which used to
check for being in a range of the `GenericKind` enumeration) and
simplifies mapping the kind to a string representation.
Original-commit: flang-compiler/f18 at c74327c393649ff95355f00333ffd2352b148f72
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: e2b939e5f349bd2a9b42dc6daecd64b069cc1fee
https://github.com/llvm/llvm-project/commit/e2b939e5f349bd2a9b42dc6daecd64b069cc1fee
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
Log Message:
-----------
[flang] Combine GenericDetails and GenericBindingDetails
`GenericDetails` and `GenericBindingDetails` were almost identical:
the former has optional data members to handle the case when a specific
procedure or derived type has the same name as the generic symbol.
Most places they are handled the same way so it simplifies things to
have only one type. In the case where we want to know if it is a generic
binding (e.g. in `mod-file.cc`) we can check the kind of scope that owns
the symbol.
Save name from the generic binding for better location of error messages.
Original-commit: flang-compiler/f18 at f65a9edca232098be1412607e59b6ed1d5803ad7
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: abc99c63ff1bfa0de59429ecf6ba99d2b76d3656
https://github.com/llvm/llvm-project/commit/abc99c63ff1bfa0de59429ecf6ba99d2b76d3656
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/semantics.h
Log Message:
-----------
[flang] Change AttachDeclaration to take reference instead of pointer
AttachDeclaration (and so also SayWithDeclaration) don't do anything
when passed a null pointer for the symbol and in all but one place they
are called the symbol can't be null. So change both function to take
`const Symbol &` rather than `const Symbol *`. Change it to handle
procedure bindings as well.
Add `SayWithDeclaration` to `CheckHelper` to simplify calling the one in
`evaluate` and prevent attaching the declaration when it would point at
the same line.
Original-commit: flang-compiler/f18 at 5f1c2ff6638da837616fa7ae6e3e121544c89bb7
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: 67c548376d3360f79bc201ac524153e6b5d2420d
https://github.com/llvm/llvm-project/commit/67c548376d3360f79bc201ac524153e6b5d2420d
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Move distinguishability check to check-declarations.cc
The check that specific procedures of a generic are distinguishable
doesn't need to be done in `resolve-names.cc`. It can be deferred until
`check-declarations.cc` because it only depends on the symbol table.
Make use of `AttachDeclaration` when reporting errors
Refactor checks for different symbol details into separate functions
as they are getting more numerous.
Original-commit: flang-compiler/f18 at cd0d6930bba3ae92f2526d7ce1fbf5e39afe2f38
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: b51673cab9b11e4b6d987f47a99e88851cde6199
https://github.com/llvm/llvm-project/commit/b51673cab9b11e4b6d987f47a99e88851cde6199
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/resolve15.f90
M flang/test/semantics/resolve53.f90
A flang/test/semantics/resolve65.f90
Log Message:
-----------
[flang] Add checks for valid defined assignment procedures
Perform the checks from 15.4.3.4.3 to determine what procedures are
valid to implement defined assignment. This requires characterizing
procedures, so share the result of that with
`CheckSpecificsAreDistinguishable`.
Original-commit: flang-compiler/f18 at 9e0d79f1735cf99b43f9ff7f6d712d7aa862dead
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: e67f6a775ec2fb0e1f2878b3eaff6e507e8f47e8
https://github.com/llvm/llvm-project/commit/e67f6a775ec2fb0e1f2878b3eaff6e507e8f47e8
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Extract Parenthesize function
Move the code to parenthesize an expression from `ExpressionAnalyzer`
into `evaluate/tools.h` so that it can be used to parenthesize an
`ActualArgument`. This will be needed for defined assignment calls.
Original-commit: flang-compiler/f18 at 6180d1fb9bd8dbbf26697353b271deb59aa466fa
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: ddb4f259f6c766eb692ead85a1302b214448b8a0
https://github.com/llvm/llvm-project/commit/ddb4f259f6c766eb692ead85a1302b214448b8a0
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/parser/parse-tree.cc
M flang/lib/parser/parse-tree.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/tools/f18/stub-evaluate.cc
Log Message:
-----------
[flang] Add analyzed assignment to parse tree
Add `typedAssignment` to the `AssignmentStmt` node, analagous to
`typedExpr` in `Expr`. This represents the analyzed form of an assignment.
It may be a subroutine call in the case of a user-defined assignment.
Add `GetAssignment` function to get it from the parse tree node if present.
Original-commit: flang-compiler/f18 at 675b0b9bb7617231e8e4bfa0c7a63423c74d79a4
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Tree-same-pre-rewrite: false
Commit: 18f3a2beef2ed24fc7fe1c1f226ab49af62dc098
https://github.com/llvm/llvm-project/commit/18f3a2beef2ed24fc7fe1c1f226ab49af62dc098
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/call10.f90
M flang/test/semantics/resolve62.f90
M flang/test/semantics/resolve63.f90
M flang/test/semantics/resolve64.f90
A flang/test/semantics/resolve66.f90
Log Message:
-----------
[flang] Analyze intrinsic and user-defined assignments
Change expression analysis to do assignment statements as it currently
does call statements. Check there for defined assignment and set
`typedAssignment` in the `AssignmentStmt` node to contain the analyzed
assignment, either intrinsic or user-defined.
When `var = expr` is implemented by subroutine `sub`, the analyzed
assignment contains a procedure reference to `sub(var, (expr))`.
Add `IsDefinedAssignment` to decide based on types and ranks of lhs
and rhs whether is can be a defined assignment. The result is
tri-state because when they are both the same derived type it can
be either intrinsic or defined. Use this where a similar decision
is made in `check-declarations.cc`.
Change "Procedure referenced in PURE subprogram" error message to
contain the name of the procedure. If the reference is from a defined
assignment that name won't appear on the highlighted source line.
Original-commit: flang-compiler/f18 at 5c87071210ec74e9395805dd547c107e7d3bf7b6
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Commit: 477bd3c67e343cc2b8715841e0cb1189a15d5dc5
https://github.com/llvm/llvm-project/commit/477bd3c67e343cc2b8715841e0cb1189a15d5dc5
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#841 from flang-compiler/tsk-assignment3
Analyze defined assignments
Original-commit: flang-compiler/f18 at 706a166476f4c275e67adde14669f2b844f0ea39
Reviewed-on: https://github.com/flang-compiler/f18/pull/841
Commit: 201119217fd8d3eac9e19d79cddc5e00d4c72500
https://github.com/llvm/llvm-project/commit/201119217fd8d3eac9e19d79cddc5e00d4c72500
Author: kiranchandramohan <kiranchandramohan at gmail.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/test/evaluate/folding06.f90
Log Message:
-----------
[flang] Minor fix in folding of reshape intrinsic (flang-compiler/f18#842)
The standard permits source to have more elements than the
result (as specified by the SHAPE arg). While copying, ensure
that we do not copy more than the number of elements of the
result.
Original-commit: flang-compiler/f18 at 6b8284f4f2cff32fcf5483ea93d1d239ecdacd33
Reviewed-on: https://github.com/flang-compiler/f18/pull/842
Commit: b0823c7b69dcad4b0539d903b61c8687753fe343
https://github.com/llvm/llvm-project/commit/b0823c7b69dcad4b0539d903b61c8687753fe343
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-02 (Mon, 02 Dec 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/resolve11.f90
M flang/test/semantics/resolve13.f90
M flang/test/semantics/resolve25.f90
M flang/test/semantics/resolve53.f90
M flang/test/semantics/resolve63.f90
A flang/test/semantics/resolve67.f90
Log Message:
-----------
[flang] Check functions that implement defined operators (flang-compiler/f18#846)
Section 15.4.3.4.2 specifies restrictions on functions that may be used
to implement an "extended-intrinsic-op". These checkw are implemented in
`CheckHelper::CheckDefinedOperator`.
Move `IsIntrinsicRelational` et al. to `semantics/tools.h` so that
the same logic is used to check both dummy and actual arguments.
Fix up tests that had errors that are now detected.
Original-commit: flang-compiler/f18 at b900762eed5883bfbc31349847381098de1e7b6a
Reviewed-on: https://github.com/flang-compiler/f18/pull/846
Commit: 7139a04e31c33ffca564dae763e97173cf69271f
https://github.com/llvm/llvm-project/commit/7139a04e31c33ffca564dae763e97173cf69271f
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-12-02 (Mon, 02 Dec 2019)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/dosemantics02.f90
M flang/test/semantics/dosemantics05.f90
Log Message:
-----------
[flang] Add a check for DO step expressions being zero
This is prohibited by Section 11.1.7.4.1, paragraph 1.
Note also that we allow for REAL step expressions. But the check I
added only works for INTEGER step expressions.
I added a function to tools.cc to test to see if an expression is zero,
and I added calls to check-do.cc for regular and CONCURRENT DO
statements to this function. I made the regular DO a warning and the DO
CONCURRENT message an error. I added tests for the DO CONCURRENT case,
including a test that uses an integer constant.
Original-commit: flang-compiler/f18 at 8c4fadfe00fec25f9c814a14aa1e4d31c21df3be
Reviewed-on: https://github.com/flang-compiler/f18/pull/834
Commit: e373ddf6cd229f3edce404c05335fcb7cf56af53
https://github.com/llvm/llvm-project/commit/e373ddf6cd229f3edce404c05335fcb7cf56af53
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-12-02 (Mon, 02 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#834 from flang-compiler/ps-zerodo
Add a check for DO step expressions being zero
Original-commit: flang-compiler/f18 at a5a55d5f3fb71109afd5d94ba3fdd0051778a19c
Reviewed-on: https://github.com/flang-compiler/f18/pull/834
Commit: 780c2aea65bb30356a4f0cdf8c122f4791f7104c
https://github.com/llvm/llvm-project/commit/780c2aea65bb30356a4f0cdf8c122f4791f7104c
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-02 (Mon, 02 Dec 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/bad-forward-type.f90
A flang/test/semantics/symbol17.f90
Log Message:
-----------
[flang] Implement forward references to derived types (fix flang-compiler/f18#573)
Restructuring PDT instantiation in preparation for forward references
Complete tests, pass them
Address review comments
Original-commit: flang-compiler/f18 at b66ba55a73c8e4b94ffd4164b8428a848e593b3f
Reviewed-on: https://github.com/flang-compiler/f18/pull/847
Commit: 29a890e631119989badefc11fea7a9be3604c26f
https://github.com/llvm/llvm-project/commit/29a890e631119989badefc11fea7a9be3604c26f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-02 (Mon, 02 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#847 from flang-compiler/pmk-forward-type-ref
Forward references to derived types
Original-commit: flang-compiler/f18 at 5928825790958a89d5b29f7def7b1d31596a5a06
Reviewed-on: https://github.com/flang-compiler/f18/pull/847
Commit: b1e7ec6620be0cb1ca1b1a59f9264ee448334c1a
https://github.com/llvm/llvm-project/commit/b1e7ec6620be0cb1ca1b1a59f9264ee448334c1a
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-02 (Mon, 02 Dec 2019)
Changed paths:
M flang/lib/semantics/symbol.cc
Log Message:
-----------
[flang] Dodge GCC 7.2 bug
Original-commit: flang-compiler/f18 at bde158343aa254d529cac85657c4102194999b6f
Reviewed-on: https://github.com/flang-compiler/f18/pull/848
Commit: 293c7c28a8636d0fc63aebc68cb83fc5dfee31b1
https://github.com/llvm/llvm-project/commit/293c7c28a8636d0fc63aebc68cb83fc5dfee31b1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#848 from flang-compiler/pmk-fix-gcc-7.2-build
Dodge GCC 7.2 bug
Original-commit: flang-compiler/f18 at 567a1642f45d9831dea16bcab7e66ed9f2729e9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/848
Commit: 203627d3a5b45c95a2e845e242c97f6baf11bd7f
https://github.com/llvm/llvm-project/commit/203627d3a5b45c95a2e845e242c97f6baf11bd7f
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/lib/semantics/tools.cc
M flang/test/semantics/call11.f90
Log Message:
-----------
[flang] Fix PURE check on procedure binding
A symbol that represents a procedure binding is PURE if the procedure
it is bound to is PURE. Fix `IsPureProcedure` to check that.
Make use of `IsPureProcedure` in `CheckSpecificationExprHelper`.
Original-commit: flang-compiler/f18 at c95f2eb4fb25d464977690ba03260be2451911d7
Reviewed-on: https://github.com/flang-compiler/f18/pull/849
Commit: 1564d2735c94649a0d39e2cda1e11c396031efbf
https://github.com/llvm/llvm-project/commit/1564d2735c94649a0d39e2cda1e11c396031efbf
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#849 from flang-compiler/tsk-pure
Fix PURE check on procedure binding
Original-commit: flang-compiler/f18 at 58f036ec01c0abd8c186914711f565388e67ae52
Reviewed-on: https://github.com/flang-compiler/f18/pull/849
Commit: 64ea224aceb6cd4b1b83f7fc1cad23ecce2c5cf5
https://github.com/llvm/llvm-project/commit/64ea224aceb6cd4b1b83f7fc1cad23ecce2c5cf5
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
M flang/lib/parser/parsing.cc
M flang/lib/parser/provenance.cc
M flang/lib/semantics/mod-file.cc
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#843, bad recovery from failed opens of source files
Original-commit: flang-compiler/f18 at 27d9db610fc7302b8da33e19a70c441a0ead6c7c
Reviewed-on: https://github.com/flang-compiler/f18/pull/850
Commit: 31624ae53f14a11a1cb2e2cd1ec03fc94eca69bf
https://github.com/llvm/llvm-project/commit/31624ae53f14a11a1cb2e2cd1ec03fc94eca69bf
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#850 from flang-compiler/pmk-853
Fix bug flang-compiler/f18#843, bad recovery from failed opens of source files
Original-commit: flang-compiler/f18 at db7214e2e6fd8f2ae5f9224748a61c749e35a1c0
Reviewed-on: https://github.com/flang-compiler/f18/pull/850
Commit: 9cf3c638ecdf3cb749977e44546bf98a686dc459
https://github.com/llvm/llvm-project/commit/9cf3c638ecdf3cb749977e44546bf98a686dc459
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/symbol17.f90
Log Message:
-----------
[flang] Fix forward ref to derived type when symbol exists
Fix some comments
Original-commit: flang-compiler/f18 at 3274ed95459865057a2e77966863e6b01b5f6d35
Reviewed-on: https://github.com/flang-compiler/f18/pull/852
Commit: c559c42c14520afbdc09627ce3473aa2098aabc5
https://github.com/llvm/llvm-project/commit/c559c42c14520afbdc09627ce3473aa2098aabc5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#852 from flang-compiler/pmk-forward-private
Fix forward ref to derived type when symbol exists
Original-commit: flang-compiler/f18 at 7471db2be0fc1b3e66de48acb8d573e9f31cf815
Reviewed-on: https://github.com/flang-compiler/f18/pull/852
Commit: b0371c2fd576e7887a1939916010819ccb772307
https://github.com/llvm/llvm-project/commit/b0371c2fd576e7887a1939916010819ccb772307
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-12-03 (Tue, 03 Dec 2019)
Changed paths:
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/real.cc
M flang/test/semantics/modfile20.f90
Log Message:
-----------
[flang] Complex expression dump fixes
1. Dump negative parts in complex constants without parentheses
(-1., 0.) was dumped as ((-1.), 0.) from f18 expression format.
The latter format is only valid with the complex constructor extension
that is not supported by all compilers.
This commit ensure the former fromat is used in dumps so that dumps can
be used by all fortran compilers. It turns out the parenthesis added
by REAL::AsFortran are not required because operation lowering is
already taking care of this.
2. Dump evaluate::ComplexComponent with REAL/IMAG instead of %RE/%IM
f18 was failing to reparse its own dump in some cases involving
complex expressions like `-z**i`.
The reason was %RE and %IM were used to dump ComplexComponents.
%RE and %IM can only be used on designators but ComplexComponent can
contain arbitrary complex expressions.
Hence, %RE and %IM cannot be used to dump ComplexComponent.
This commit replace them with call to intrinsic function
REAL/IMAG.
Note that this may unfortunatly be unsafe if the user
shadowed REAL or IMAG but I do not see an easy way to solve
this... The current dump is not correct.
Original-commit: flang-compiler/f18 at 4550a23d0bdce4ffa8d8765a1da4b35151eebe50
Reviewed-on: https://github.com/flang-compiler/f18/pull/851
Commit: 0aa8f5f643b670837f86bb273b534ffadce2c693
https://github.com/llvm/llvm-project/commit/0aa8f5f643b670837f86bb273b534ffadce2c693
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-12-04 (Wed, 04 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#851 from flang-compiler/jpr-complex-literal-dump-2
Complex expression dump fixes
Original-commit: flang-compiler/f18 at 84c57b8e011e0701cb582522faaacbf06479d88a
Reviewed-on: https://github.com/flang-compiler/f18/pull/851
Commit: f439356f61f1bb3be36a0cb7668f8e6969dcdd8f
https://github.com/llvm/llvm-project/commit/f439356f61f1bb3be36a0cb7668f8e6969dcdd8f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-05 (Thu, 05 Dec 2019)
Changed paths:
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/test/evaluate/intrinsics.cc
M flang/test/semantics/call11.f90
M flang/test/semantics/modfile08.f90
M flang/test/semantics/modfile10.f90
M flang/test/semantics/modfile14.f90
M flang/test/semantics/modfile15.f90
Log Message:
-----------
[flang] Fix problems with passed-object arguments by deferring the
identification of their index in the dummy argument list,
simplifying their representation, completing the representation
of their actual arguments, and (while I'm here) resolving
calls to type-bound procedures whose bindings are known at
compilation time.
Button up class ActualArgument by making remaining data
members private and adding accessors & mutators.
Original-commit: flang-compiler/f18 at 5eb60ec41912b0963e41bbc1a3141164efcb7fbf
Reviewed-on: https://github.com/flang-compiler/f18/pull/855
Commit: 371399b8e1707a39e1262aed5d46536df5e97655
https://github.com/llvm/llvm-project/commit/371399b8e1707a39e1262aed5d46536df5e97655
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-05 (Thu, 05 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#855 from flang-compiler/pmk-fix
Fix problems with passed-object arguments...
Original-commit: flang-compiler/f18 at 882d20d4fb676535d0b96e2960d3874ce1a2a09a
Reviewed-on: https://github.com/flang-compiler/f18/pull/855
Commit: 00c3c274de3b4f954ff727676354cba5ba6a197d
https://github.com/llvm/llvm-project/commit/00c3c274de3b4f954ff727676354cba5ba6a197d
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-06 (Fri, 06 Dec 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/common/Fortran-features.h
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Allow assignment between INTEGER and LOGICAL as extension
Extend documentation
Original-commit: flang-compiler/f18 at 7a719198fc7dc09f50cd1e4129d87f2ace711c4b
Reviewed-on: https://github.com/flang-compiler/f18/pull/856
Commit: 47575727f7e285a1aa719c78e407fc41e175da35
https://github.com/llvm/llvm-project/commit/47575727f7e285a1aa719c78e407fc41e175da35
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-06 (Fri, 06 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#856 from flang-compiler/pmk-legacy-assignments
Allow assignment between INTEGER and LOGICAL as extension
Original-commit: flang-compiler/f18 at 169f380eafa87f2164e4529a314701feaee55ad6
Reviewed-on: https://github.com/flang-compiler/f18/pull/856
Commit: 6c390a780b4195a0498802f0a2e8658e934cc4ad
https://github.com/llvm/llvm-project/commit/6c390a780b4195a0498802f0a2e8658e934cc4ad
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-06 (Fri, 06 Dec 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/common/Fortran-features.h
M flang/lib/parser/grammar.h
M flang/lib/parser/parsing.cc
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/source.cc
Log Message:
-----------
[flang] Accept source files with no program units (flang-compiler/f18#658)
update documentation
Original-commit: flang-compiler/f18 at 3dfb8314991035a428c514cf0ad46af446d64a4e
Reviewed-on: https://github.com/flang-compiler/f18/pull/859
Commit: f8ae66dd11dfeb2b9f163ed80e503c00f08cb7c8
https://github.com/llvm/llvm-project/commit/f8ae66dd11dfeb2b9f163ed80e503c00f08cb7c8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-06 (Fri, 06 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#859 from flang-compiler/pmk-empty
Accept source files with no program units (flang-compiler/f18#658)
Original-commit: flang-compiler/f18 at 2ebb75529c80a21658250dafffbf49ebdc27847e
Reviewed-on: https://github.com/flang-compiler/f18/pull/859
Commit: ce1bd441983eb80361a86866e3be595944a0a6f1
https://github.com/llvm/llvm-project/commit/ce1bd441983eb80361a86866e3be595944a0a6f1
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-12-09 (Mon, 09 Dec 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/test/evaluate/folding01.f90
Log Message:
-----------
[flang] Fix COMPLEX/REAL `/` and `**` operand promotion
The real operand was always converted to the complex operand type.
The highest precison should be used instead. This fix converts the
real to a complex of the same kind before applying the promotion
rules for complex operands.
Reference to Fortran 2018 standard 10.9.1.3 that rules this added
in comments.
Original-commit: flang-compiler/f18 at 0d6b9c33aae59d80ff1b77f3561a6acb1db98645
Reviewed-on: https://github.com/flang-compiler/f18/pull/858
Commit: ed37b52fef86ec1638d44d514658b19d17e6d08d
https://github.com/llvm/llvm-project/commit/ed37b52fef86ec1638d44d514658b19d17e6d08d
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-12-09 (Mon, 09 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#858 from flang-compiler/jpr-complex-power-promote-fix
Fix COMPLEX-REAL `/` and `**` operand promotion
Original-commit: flang-compiler/f18 at 722caa61f217625aed4d4654e5f03627777d2323
Reviewed-on: https://github.com/flang-compiler/f18/pull/858
Commit: ef68ed381d2e07293fa9cbf96d34fdd658c6d142
https://github.com/llvm/llvm-project/commit/ef68ed381d2e07293fa9cbf96d34fdd658c6d142
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-09 (Mon, 09 Dec 2019)
Changed paths:
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/modfile34.f90
A flang/test/semantics/resolve68.f90
Log Message:
-----------
[flang] Resolve calls to type-bound generic names
Extend `ResolveGeneric` to handle calls to procedure components by
passing in the data-ref that is used as the passed-object argument.
`AddPassArg` takes care of adding a placeholder for the passed object.
This is shared by the generic and non-generic cases of calls to
procedure components.
Original-commit: flang-compiler/f18 at be83590183f7abf32c0cc111c812fd484af36f2b
Reviewed-on: https://github.com/flang-compiler/f18/pull/863
Commit: a27ed74672655716ff21910cc834abd733475914
https://github.com/llvm/llvm-project/commit/a27ed74672655716ff21910cc834abd733475914
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-09 (Mon, 09 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#863 from flang-compiler/tsk-defined-op2
Resolve calls to type-bound generic names
Original-commit: flang-compiler/f18 at b3bb698086ab9a79c285f90b956036d8411f4520
Reviewed-on: https://github.com/flang-compiler/f18/pull/863
Commit: e693198c5c127aa9592a9d33a64f35981cf9b695
https://github.com/llvm/llvm-project/commit/e693198c5c127aa9592a9d33a64f35981cf9b695
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-10 (Tue, 10 Dec 2019)
Changed paths:
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/formatting.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
M flang/test/semantics/modfile34.f90
Log Message:
-----------
[flang] Revert recent addition of ActualArgument::PassedObject
reformatting
Complete merging with current master
implement extension of inherited type-bound generics
Original-commit: flang-compiler/f18 at e58c4e53c2fcf6559e7254ce0fd1e4b96d158c73
Reviewed-on: https://github.com/flang-compiler/f18/pull/864
Commit: 84c0faa5b6c280bc7e7fcf805d8352d1b6b441c2
https://github.com/llvm/llvm-project/commit/84c0faa5b6c280bc7e7fcf805d8352d1b6b441c2
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-10 (Tue, 10 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#864 from flang-compiler/pmk-fix
Revert recent addition of ActualArgument::PassedObject
Original-commit: flang-compiler/f18 at d1b6e3cd2c4ef79df6804edd85d7b1e1d398e255
Reviewed-on: https://github.com/flang-compiler/f18/pull/864
Commit: 562b067439e70d3bf1be0534c4ae404a052b352a
https://github.com/llvm/llvm-project/commit/562b067439e70d3bf1be0534c4ae404a052b352a
Author: arjunsuresh1987 <58212614+arjunsuresh1987 at users.noreply.github.com>
Date: 2019-12-10 (Tue, 10 Dec 2019)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Fix file path in cmake (flang-compiler/f18#844)
Original-commit: flang-compiler/f18 at 4771f8cb7895ebc1fa836e8cf3ceddfa7a705eba
Reviewed-on: https://github.com/flang-compiler/f18/pull/844
Commit: cdf4ef496288600a11e62c00992fe53fe1eea527
https://github.com/llvm/llvm-project/commit/cdf4ef496288600a11e62c00992fe53fe1eea527
Author: Jean Perier <jperier at nvidia.com>
Date: 2019-12-10 (Tue, 10 Dec 2019)
Changed paths:
M flang/lib/evaluate/tools.cc
Log Message:
-----------
[flang] Fix INTGER**COMPLEX regression introduced by PR 858
Fix bad copy past that had introduced an unitialized value use.
Original-commit: flang-compiler/f18 at 9a84bcb9ac3a06800e9c0f0941a6a82d8416a9fe
Reviewed-on: https://github.com/flang-compiler/f18/pull/865
Commit: a66086749bbebb90fce95361b945a0d70caa941d
https://github.com/llvm/llvm-project/commit/a66086749bbebb90fce95361b945a0d70caa941d
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2019-12-10 (Tue, 10 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#865 from flang-compiler/jpr-fix-cplx-power
Fix INTGER**COMPLEX regression introduced by PR 858
Original-commit: flang-compiler/f18 at 53545d7436c452e2329615326ab95799083dbcd3
Reviewed-on: https://github.com/flang-compiler/f18/pull/865
Commit: b96a26c1fcce8060c0ee957f4d1ea86b6525c666
https://github.com/llvm/llvm-project/commit/b96a26c1fcce8060c0ee957f4d1ea86b6525c666
Author: Kiran Kumar T P <50909805+kiranktp at users.noreply.github.com>
Date: 2019-12-11 (Wed, 11 Dec 2019)
Changed paths:
M flang/test/semantics/call10.f90
Log Message:
-----------
[flang] Updated call10.f90 with more test for flang-compiler/f18#794-Check for PURE procedures containing image control statements (flang-compiler/f18#857)
Original-commit: flang-compiler/f18 at ae4868e572c90e0ec2c618f4235c9de1ea8cade5
Reviewed-on: https://github.com/flang-compiler/f18/pull/857
Commit: 3e656068370d2ce0f1728bb30516737d57d829ca
https://github.com/llvm/llvm-project/commit/3e656068370d2ce0f1728bb30516737d57d829ca
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2019-12-11 (Wed, 11 Dec 2019)
Changed paths:
M flang/LICENSE
M flang/runtime/magic-numbers.h
Log Message:
-----------
[flang] Flang relicense: LICENSE file and one change (flang-compiler/f18#867)
Add new license text to runtime/magic-numbers.h, which is unusual
in that it is the only .h file in flang that is intended to be
included in either C or Fortran files. This requires special
handling of the license text.
Original-commit: flang-compiler/f18 at 61bb9db531ad4fbe8fda9978a6b7754cb86323c2
Reviewed-on: https://github.com/flang-compiler/f18/pull/867
Commit: abf50fc3a7eba734d6e29d5e502968e0a6471529
https://github.com/llvm/llvm-project/commit/abf50fc3a7eba734d6e29d5e502968e0a6471529
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-12-11 (Wed, 11 Dec 2019)
Changed paths:
M flang/lib/CMakeLists.txt
R flang/lib/burnside/CMakeLists.txt
R flang/lib/burnside/builder.h
R flang/lib/burnside/flattened.cc
R flang/lib/burnside/flattened.h
R flang/lib/burnside/mixin.h
Log Message:
-----------
[flang] remove some old files
Original-commit: flang-compiler/f18 at d7554c7605079c8a2f8d3d2d6d584241d3112ecd
Reviewed-on: https://github.com/flang-compiler/f18/pull/868
Commit: 5c5880db2f1770875c7b7186aeeec87702803a4a
https://github.com/llvm/llvm-project/commit/5c5880db2f1770875c7b7186aeeec87702803a4a
Author: Eric Schweitz <eric.schweitz at pgroup.com>
Date: 2019-12-11 (Wed, 11 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#868 from schweitzpgi/remove-flatten
remove some old files
Original-commit: flang-compiler/f18 at 3d05d39e3636fecab2bc1b7540cec9d672f72944
Reviewed-on: https://github.com/flang-compiler/f18/pull/868
Commit: f90350021a0cb7942af6a1712fd64ef074f635b5
https://github.com/llvm/llvm-project/commit/f90350021a0cb7942af6a1712fd64ef074f635b5
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-12-13 (Fri, 13 Dec 2019)
Changed paths:
R flang/include/fir/Analysis/IteratedDominanceFrontier.h
R flang/include/fir/Attribute.h
R flang/include/fir/CMakeLists.txt
R flang/include/fir/Dialect.h
R flang/include/fir/FIROps.h
R flang/include/fir/FIROps.td
R flang/include/fir/Transforms/MemToReg.h
R flang/include/fir/Type.h
Log Message:
-----------
[flang] remove stale optimizer files
Original-commit: flang-compiler/f18 at c497c135f6f277f2dee0c1c3c82319577448438c
Reviewed-on: https://github.com/flang-compiler/f18/pull/869
Commit: f061d345094baa161355c8e2e3d3ab50d045ec6e
https://github.com/llvm/llvm-project/commit/f061d345094baa161355c8e2e3d3ab50d045ec6e
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#869 from schweitzpgi/master
remove stale optimizer files
Original-commit: flang-compiler/f18 at 6a8dec4991ecb219f0d42a865d799c93e675612f
Reviewed-on: https://github.com/flang-compiler/f18/pull/869
Commit: d08b0104081d237dfec91b15c386852f07635639
https://github.com/llvm/llvm-project/commit/d08b0104081d237dfec91b15c386852f07635639
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/intrinsics.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/evaluate/variable.cc
M flang/lib/evaluate/variable.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/rewrite-parse-tree.cc
M flang/lib/semantics/symbol.h
M flang/test/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Apply implicit typing to names in COMMON that appear in specification expressions
Extend semantic analysis of expressions to catch missing cases
Fix statement function semantics, add degree trig intrinsics
Add GetUltimate to rewrite of bare namelist
Address review comments
Original-commit: flang-compiler/f18 at 52ff319de2e750733660d8e7e938e09159a3c11c
Reviewed-on: https://github.com/flang-compiler/f18/pull/871
Commit: 968eabbd9dc0f7230cce9892792e6bf85c181726
https://github.com/llvm/llvm-project/commit/968eabbd9dc0f7230cce9892792e6bf85c181726
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#871 from flang-compiler/pmk-fixes
Fix remaining failures in expression semantics
Original-commit: flang-compiler/f18 at 7473f0bcd76a055fffea9d3f47567a64fceb5ccf
Reviewed-on: https://github.com/flang-compiler/f18/pull/871
Commit: e567bf9f5e7200df6f94c489d43b06bb764f0e15
https://github.com/llvm/llvm-project/commit/e567bf9f5e7200df6f94c489d43b06bb764f0e15
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
M flang/lib/parser/message.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/modfile35.f90
M flang/test/semantics/resolve63.f90
Log Message:
-----------
[flang] Support for type-bound operators and assignment
Add `ArgumentAnalyzer::FindBoundOp` to look for an operator or
assignment definition in the type of each operand. Then `TryBoundOp`
checks if it is actually applicable.
Change ResolveGeneric to handle type-bound operators: the `adjustActuals`
function passed in handles the difference between these and normal
type-bound procedures. For operators, either operand may be the passed-
object argument. For procedures we know which one it is.
Extract `GetDerivedTypeSpec`, `GetBindingResolution`, and
`OkLogicalIntegerAssignment` into separate functions to simplify the
logic of the calling functions.
Original-commit: flang-compiler/f18 at 1f7ff22145ef61c4c168c466f4de4fab11e0f611
Reviewed-on: https://github.com/flang-compiler/f18/pull/872
Tree-same-pre-rewrite: false
Commit: 6e2e78a09e5a4474702f7ceb74b59dc449a930dd
https://github.com/llvm/llvm-project/commit/6e2e78a09e5a4474702f7ceb74b59dc449a930dd
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/test/semantics/resolve63.f90
M flang/test/semantics/resolve65.f90
Log Message:
-----------
[flang] C774: Defined operator/assignment may not have NOPASS
Original-commit: flang-compiler/f18 at 6bfa3d3568b6dc373d62d691db2fd5e8859fff47
Reviewed-on: https://github.com/flang-compiler/f18/pull/872
Tree-same-pre-rewrite: false
Commit: ea00274e6d016115f795084e6d60902c8ab4197b
https://github.com/llvm/llvm-project/commit/ea00274e6d016115f795084e6d60902c8ab4197b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-coarray.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
Log Message:
-----------
[flang] Add evaluate::GetDerivedTypeSpec(DynamicType)
It gets the semantics::DerivedTypeSpec of a DynamicType if it has one.
Make use of it where it simplifies the code.
Original-commit: flang-compiler/f18 at 9ad12e7c131459a8beab2b9ffa204966a85f405a
Reviewed-on: https://github.com/flang-compiler/f18/pull/872
Commit: b738d4ad3809cb6e9e6ca72c9e6ae7516d18cd0b
https://github.com/llvm/llvm-project/commit/b738d4ad3809cb6e9e6ca72c9e6ae7516d18cd0b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#872 from flang-compiler/tsk-defined-op2
Support for type-bound operators and assignment
Original-commit: flang-compiler/f18 at 9862c9406144ccb39f97453909fc476d8c380f4b
Reviewed-on: https://github.com/flang-compiler/f18/pull/872
Commit: 40f0e01d2d88f337b33ef49cd2209e5533b80c75
https://github.com/llvm/llvm-project/commit/40f0e01d2d88f337b33ef49cd2209e5533b80c75
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
M flang/lib/parser/CMakeLists.txt
A flang/lib/parser/Fortran-parsers.cc
A flang/lib/parser/executable-parsers.cc
A flang/lib/parser/expr-parsers.cc
A flang/lib/parser/expr-parsers.h
R flang/lib/parser/grammar.h
A flang/lib/parser/io-parsers.cc
A flang/lib/parser/misc-parsers.h
R flang/lib/parser/openmp-grammar.h
A flang/lib/parser/openmp-parsers.cc
M flang/lib/parser/parsing.cc
A flang/lib/parser/program-parsers.cc
M flang/lib/parser/token-parsers.h
A flang/lib/parser/type-parser-implementation.h
M flang/lib/parser/type-parsers.h
M flang/lib/parser/user-state.cc
Log Message:
-----------
[flang] Outline per-type parsers to reduce f18 build-time
CPU & memory requirements
Original-commit: flang-compiler/f18 at f48fe07dfac52b4c2f031e34d27404f37a0a7cd7
Reviewed-on: https://github.com/flang-compiler/f18/pull/862
Tree-same-pre-rewrite: false
Commit: 828eed971b2993987cec39a7618fdfa28c1bc16e
https://github.com/llvm/llvm-project/commit/828eed971b2993987cec39a7618fdfa28c1bc16e
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
M flang/lib/parser/Fortran-parsers.cc
M flang/lib/parser/executable-parsers.cc
M flang/lib/parser/expr-parsers.cc
M flang/lib/parser/io-parsers.cc
M flang/lib/parser/program-parsers.cc
Log Message:
-----------
[flang] Improve commentary
Original-commit: flang-compiler/f18 at 364ac83bfc39e7f866536f4d1fd1c19c271469c1
Reviewed-on: https://github.com/flang-compiler/f18/pull/862
Commit: a318aee272e46699928f6d2e4878e2880a403d7f
https://github.com/llvm/llvm-project/commit/a318aee272e46699928f6d2e4878e2880a403d7f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-16 (Mon, 16 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#862 from flang-compiler/pmk-grammar
Outline parsers for types (reduce f18 build memory requirements)
Original-commit: flang-compiler/f18 at 8d2b296fe1ecc6e4b92789b8dffaf22b3930a89e
Reviewed-on: https://github.com/flang-compiler/f18/pull/862
Commit: cd1d3881f153340517ee2eb4b251e1af49dfa5cf
https://github.com/llvm/llvm-project/commit/cd1d3881f153340517ee2eb4b251e1af49dfa5cf
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-17 (Tue, 17 Dec 2019)
Changed paths:
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/expression.cc
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/parser/unparse.h
M flang/lib/semantics/expression.cc
M flang/tools/f18/f18.cc
M flang/tools/f18/stub-evaluate.cc
Log Message:
-----------
[flang] Save analyzed CALL statements in the parse tree
Original-commit: flang-compiler/f18 at bd618f179c82ca613efd8db71548ceb5b1143e70
Reviewed-on: https://github.com/flang-compiler/f18/pull/873
Tree-same-pre-rewrite: false
Commit: cfe146bfdeb74984c584b5b87071e1cfcc287d7b
https://github.com/llvm/llvm-project/commit/cfe146bfdeb74984c584b5b87071e1cfcc287d7b
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-17 (Tue, 17 Dec 2019)
Changed paths:
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Back some changes out
Original-commit: flang-compiler/f18 at 7f6345ac627e5f5b8ed8daeb7290b2a7712b0e5d
Reviewed-on: https://github.com/flang-compiler/f18/pull/873
Commit: 37568d4d647d945c788f75dac69f146ab7504dc3
https://github.com/llvm/llvm-project/commit/37568d4d647d945c788f75dac69f146ab7504dc3
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-17 (Tue, 17 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#873 from flang-compiler/pmk-call
Save analyzed ProcedureRef in parse tree node for CALL statement
Original-commit: flang-compiler/f18 at 80c27052055fccd20b18130b510169549ff38fea
Reviewed-on: https://github.com/flang-compiler/f18/pull/873
Commit: e668139fdcd3d4acc8ba7963e507ce2b63ea5f2f
https://github.com/llvm/llvm-project/commit/e668139fdcd3d4acc8ba7963e507ce2b63ea5f2f
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/formatting.cc
M flang/lib/parser/unparse.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Fix unparsing of assignment representation and excess parentheses
More fixes, and move prefix/infix/suffix strings into formatting.cc
Original-commit: flang-compiler/f18 at 49d68700e0ab105459fb1e05bf60f8ec352a8aac
Reviewed-on: https://github.com/flang-compiler/f18/pull/874
Commit: 47f6ebda6135602d4bda7653370104847c553593
https://github.com/llvm/llvm-project/commit/47f6ebda6135602d4bda7653370104847c553593
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#874 from flang-compiler/pmk-fixes
Fix unparsing of assignment representation and excess parentheses
Original-commit: flang-compiler/f18 at 3e7e95fff203bb33834f9b91e2a3ec5a3885b73b
Reviewed-on: https://github.com/flang-compiler/f18/pull/874
Commit: 37de6803e3e07d8ca352e77a484ed2627906af8b
https://github.com/llvm/llvm-project/commit/37de6803e3e07d8ca352e77a484ed2627906af8b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Include analyzed exprs in parse tree dump
When dumping the parse tree, if there are analyzed expressions,
assignments, or call statements, include the Fortran form of those
in the dump.
This uses the same `AnalyzedObjectsAsFortran` object that unparsing
does so it applies to the same nodes.
We already do something like this for `Name` nodes as well as some
predefined types, so abstract it into an `AsFortran` function which
returns the Fortran source for a node that is to be included in the
dump.
Original-commit: flang-compiler/f18 at 823b044d2a009f43fe5ce15755a8ae23f70dfed8
Reviewed-on: https://github.com/flang-compiler/f18/pull/878
Tree-same-pre-rewrite: false
Commit: c6aaa9875d8fd1d416ffd1ef34deff6fcbfb8f55
https://github.com/llvm/llvm-project/commit/c6aaa9875d8fd1d416ffd1ef34deff6fcbfb8f55
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
M flang/lib/parser/dump-parse-tree.h
Log Message:
-----------
[flang] Remove extraneous occurences of parser::
This file is in `Fortran::parser` so we don't need to qualify names
with `parser::`.
Original-commit: flang-compiler/f18 at e8e7ffcae88c3be8fecf4188896736790217578c
Reviewed-on: https://github.com/flang-compiler/f18/pull/878
Commit: b200b244f607404aabd4eca05182c6276c0640b3
https://github.com/llvm/llvm-project/commit/b200b244f607404aabd4eca05182c6276c0640b3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#878 from flang-compiler/tsk-dump-parse-expr
Include analyzed exprs in parse tree dump
Original-commit: flang-compiler/f18 at 0855ba8baa5c6e9afc62f96fd4cba5d9a32d56d5
Reviewed-on: https://github.com/flang-compiler/f18/pull/878
Commit: 2e9633125ea36faf3112fad205b2e08214b3d278
https://github.com/llvm/llvm-project/commit/2e9633125ea36faf3112fad205b2e08214b3d278
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-19 (Thu, 19 Dec 2019)
Changed paths:
M flang/lib/semantics/expression.cc
Log Message:
-----------
[flang] Save CallStmt::typedCall (flang-compiler/f18#879)
When `ExpressionAnalyzer::AnalyzeCall` processed a subroutine it was
always returning std::nullopt. Change it to return a `ProcedureRef`
wrapped in an `Expr` so that it can be saved in `CallStmt::typedCall`.
Original-commit: flang-compiler/f18 at 2cc226f66ec51b38056c779494a7b6104557f9a8
Reviewed-on: https://github.com/flang-compiler/f18/pull/879
Commit: 617a4cce50679d4da385bc20e8681bbe08d723b8
https://github.com/llvm/llvm-project/commit/617a4cce50679d4da385bc20e8681bbe08d723b8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-19 (Thu, 19 Dec 2019)
Changed paths:
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/type.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-io.h
M flang/lib/semantics/check-nullify.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/type.cc
M flang/test/semantics/call12.f90
Log Message:
-----------
[flang] Roll up fixes for semantic analysis of SPEC CPU codes
- Add cases to IsDescriptor
- Fix NULLIFY in PURE checking
- Fix fotonik3d mutually-referencing derived type bug
- Fix spurious I/O error message on ALLOCATE
Original-commit: flang-compiler/f18 at 34b64db7da9e90109b1dfec5347b344eae7dd8ad
Reviewed-on: https://github.com/flang-compiler/f18/pull/883
Commit: d98d029b021d3401a8c994c0a2de4e905a045325
https://github.com/llvm/llvm-project/commit/d98d029b021d3401a8c994c0a2de4e905a045325
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-19 (Thu, 19 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#883 from flang-compiler/pmk-spec-fixes
Misc fixes from SPEC
Original-commit: flang-compiler/f18 at 9e91c635d7c706b78ed8f3776e7bfac1e20b559f
Reviewed-on: https://github.com/flang-compiler/f18/pull/883
Commit: 3a725ca8d09c267ddab95b365e866e0e97e9dfc7
https://github.com/llvm/llvm-project/commit/3a725ca8d09c267ddab95b365e866e0e97e9dfc7
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-20 (Fri, 20 Dec 2019)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/parser/unparse.cc
M flang/lib/semantics/check-call.cc
Log Message:
-----------
[flang] Auto conversion of integer scalar actual argument exprs
Add documentation
Original-commit: flang-compiler/f18 at c1b200d23891cff4eca1991deec58c1adf65842e
Reviewed-on: https://github.com/flang-compiler/f18/pull/884
Commit: 8db76ec77992afaae788d4b9dfef422668704058
https://github.com/llvm/llvm-project/commit/8db76ec77992afaae788d4b9dfef422668704058
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-20 (Fri, 20 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#884 from flang-compiler/pmk-warn-size
Convert INTEGER scalar actual argument expressions to the kinds of dummies
Original-commit: flang-compiler/f18 at c88694b36eeb0ac0010127d8751627f000800000
Reviewed-on: https://github.com/flang-compiler/f18/pull/884
Commit: d67fbce92b533087739d9b95152c7e0cd9cde3a8
https://github.com/llvm/llvm-project/commit/d67fbce92b533087739d9b95152c7e0cd9cde3a8
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-20 (Fri, 20 Dec 2019)
Changed paths:
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Fix kind of REAL(complex) to be the same as the argument by default
Fixes for expression formatting
Original-commit: flang-compiler/f18 at 13e8909587f2284e0093cdfaab5ac8335b060ec9
Reviewed-on: https://github.com/flang-compiler/f18/pull/885
Commit: c1ccbcf9139ac3368521fa52dd49ed024fe4307d
https://github.com/llvm/llvm-project/commit/c1ccbcf9139ac3368521fa52dd49ed024fe4307d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-20 (Fri, 20 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#885 from flang-compiler/pmk-fixes
Two small fixes
Original-commit: flang-compiler/f18 at 2d8a4815a338b3c21cc9882ebbb165fe1204ed93
Reviewed-on: https://github.com/flang-compiler/f18/pull/885
Commit: 69d01593b4c5ab768aba45fafb3c46eff2b0f7fd
https://github.com/llvm/llvm-project/commit/69d01593b4c5ab768aba45fafb3c46eff2b0f7fd
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2019-12-20 (Fri, 20 Dec 2019)
Changed paths:
M flang/module/ieee_exceptions.f90
Log Message:
-----------
[flang] Mark ieee_get_flag and ieee_get_halting_mode as elemental
Original-commit: flang-compiler/f18 at d6237fa31112acc7bd864b9f732cb288014e6cf7
Reviewed-on: https://github.com/flang-compiler/f18/pull/886
Commit: 317c3fa860304e86229312229badae6c606a98e1
https://github.com/llvm/llvm-project/commit/317c3fa860304e86229312229badae6c606a98e1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-20 (Fri, 20 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#886 from kiranchandramohan/elemental
Mark ieee_get_flag and ieee_get_halting_mode as elemental
Original-commit: flang-compiler/f18 at a694b62c6d464ef2fc17046497a0aa0a0b14a756
Reviewed-on: https://github.com/flang-compiler/f18/pull/886
Commit: 9e7548ab3114a5afc7fe639345d144d1a2dd1268
https://github.com/llvm/llvm-project/commit/9e7548ab3114a5afc7fe639345d144d1a2dd1268
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2019-12-23 (Mon, 23 Dec 2019)
Changed paths:
M flang/CMakeLists.txt
R flang/LICENSE
A flang/LICENSE.txt
M flang/README.md
M flang/documentation/ArrayComposition.md
M flang/documentation/C++17.md
M flang/documentation/C++style.md
M flang/documentation/Calls.md
M flang/documentation/ControlFlowGraph.md
M flang/documentation/Directives.md
M flang/documentation/Extensions.md
M flang/documentation/FortranForCProgrammers.md
M flang/documentation/FortranIR.md
M flang/documentation/Intrinsics.md
M flang/documentation/Investigating-FIR-as-an-MLIR-dialect.md
M flang/documentation/LabelResolution.md
M flang/documentation/ModFiles.md
M flang/documentation/OpenMP-4.5-grammar.txt
M flang/documentation/OpenMP-semantics.md
M flang/documentation/OptionComparison.md
M flang/documentation/Overview.md
M flang/documentation/ParserCombinators.md
M flang/documentation/Parsing.md
M flang/documentation/Preprocessing.md
M flang/documentation/RuntimeDescriptor.md
M flang/documentation/Semantics.md
M flang/documentation/f2018-grammar.txt
M flang/documentation/flang-c-style.el
M flang/include/flang/CMakeLists.txt
M flang/include/flang/Config/config.h.cmake
M flang/include/flang/ISO_Fortran_binding.h
M flang/lib/CMakeLists.txt
M flang/lib/common/CMakeLists.txt
M flang/lib/common/Fortran-features.cc
M flang/lib/common/Fortran-features.h
M flang/lib/common/Fortran.cc
M flang/lib/common/Fortran.h
M flang/lib/common/bit-population-count.h
M flang/lib/common/constexpr-bitset.h
M flang/lib/common/default-kinds.cc
M flang/lib/common/default-kinds.h
M flang/lib/common/enum-set.h
M flang/lib/common/format.h
M flang/lib/common/idioms.cc
M flang/lib/common/idioms.h
M flang/lib/common/indirection.h
M flang/lib/common/interval.h
M flang/lib/common/leading-zero-bit-count.h
M flang/lib/common/reference-counted.h
M flang/lib/common/reference.h
M flang/lib/common/restorer.h
M flang/lib/common/template.h
M flang/lib/common/uint128.h
M flang/lib/common/unsigned-const-division.h
M flang/lib/common/unwrap.h
M flang/lib/decimal/CMakeLists.txt
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
M flang/lib/evaluate/CMakeLists.txt
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/character.h
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/common.cc
M flang/lib/evaluate/common.h
M flang/lib/evaluate/complex.cc
M flang/lib/evaluate/complex.h
M flang/lib/evaluate/constant.cc
M flang/lib/evaluate/constant.h
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/fold.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/formatting.h
M flang/lib/evaluate/host.cc
M flang/lib/evaluate/host.h
M flang/lib/evaluate/int-power.h
M flang/lib/evaluate/integer.cc
M flang/lib/evaluate/integer.h
M flang/lib/evaluate/intrinsics-library-templates.h
M flang/lib/evaluate/intrinsics-library.cc
M flang/lib/evaluate/intrinsics-library.h
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/intrinsics.h
M flang/lib/evaluate/logical.cc
M flang/lib/evaluate/logical.h
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/real.h
M flang/lib/evaluate/rounding-bits.h
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/static-data.cc
M flang/lib/evaluate/static-data.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traverse.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/evaluate/variable.cc
M flang/lib/evaluate/variable.h
M flang/lib/parser/CMakeLists.txt
M flang/lib/parser/Fortran-parsers.cc
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/char-block.h
M flang/lib/parser/char-buffer.cc
M flang/lib/parser/char-buffer.h
M flang/lib/parser/char-set.cc
M flang/lib/parser/char-set.h
M flang/lib/parser/characters.cc
M flang/lib/parser/characters.h
M flang/lib/parser/debug-parser.cc
M flang/lib/parser/debug-parser.h
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/executable-parsers.cc
M flang/lib/parser/expr-parsers.cc
M flang/lib/parser/expr-parsers.h
M flang/lib/parser/format-specification.h
M flang/lib/parser/instrumented-parser.cc
M flang/lib/parser/instrumented-parser.h
M flang/lib/parser/io-parsers.cc
M flang/lib/parser/message.cc
M flang/lib/parser/message.h
M flang/lib/parser/misc-parsers.h
M flang/lib/parser/openmp-parsers.cc
M flang/lib/parser/parse-state.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.cc
M flang/lib/parser/parse-tree.h
M flang/lib/parser/parsing.cc
M flang/lib/parser/parsing.h
M flang/lib/parser/preprocessor.cc
M flang/lib/parser/preprocessor.h
M flang/lib/parser/prescan.cc
M flang/lib/parser/prescan.h
M flang/lib/parser/program-parsers.cc
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/source.cc
M flang/lib/parser/source.h
M flang/lib/parser/stmt-parser.h
M flang/lib/parser/token-parsers.h
M flang/lib/parser/token-sequence.cc
M flang/lib/parser/token-sequence.h
M flang/lib/parser/tools.cc
M flang/lib/parser/tools.h
M flang/lib/parser/type-parser-implementation.h
M flang/lib/parser/type-parsers.h
M flang/lib/parser/unparse.cc
M flang/lib/parser/unparse.h
M flang/lib/parser/user-state.cc
M flang/lib/parser/user-state.h
M flang/lib/semantics/CMakeLists.txt
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/attr.cc
M flang/lib/semantics/attr.h
M flang/lib/semantics/canonicalize-do.cc
M flang/lib/semantics/canonicalize-do.h
M flang/lib/semantics/canonicalize-omp.cc
M flang/lib/semantics/canonicalize-omp.h
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-allocate.h
M flang/lib/semantics/check-arithmeticif.cc
M flang/lib/semantics/check-arithmeticif.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/check-coarray.cc
M flang/lib/semantics/check-coarray.h
M flang/lib/semantics/check-deallocate.cc
M flang/lib/semantics/check-deallocate.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-declarations.h
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/check-if-stmt.cc
M flang/lib/semantics/check-if-stmt.h
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-io.h
M flang/lib/semantics/check-nullify.cc
M flang/lib/semantics/check-nullify.h
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/lib/semantics/check-purity.cc
M flang/lib/semantics/check-purity.h
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/check-return.h
M flang/lib/semantics/check-stop.cc
M flang/lib/semantics/check-stop.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/mod-file.h
M flang/lib/semantics/program-tree.cc
M flang/lib/semantics/program-tree.h
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-labels.h
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names-utils.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/resolve-names.h
M flang/lib/semantics/rewrite-parse-tree.cc
M flang/lib/semantics/rewrite-parse-tree.h
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/lib/semantics/unparse-with-symbols.cc
M flang/lib/semantics/unparse-with-symbols.h
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/ieee_features.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/module/omp_lib.f90
M flang/module/omp_lib.h
M flang/runtime/CMakeLists.txt
M flang/runtime/ISO_Fortran_binding.cc
M flang/runtime/derived-type.cc
M flang/runtime/derived-type.h
M flang/runtime/descriptor.cc
M flang/runtime/descriptor.h
M flang/runtime/entry-names.h
M flang/runtime/io-api.h
M flang/runtime/magic-numbers.h
M flang/runtime/transformational.cc
M flang/runtime/transformational.h
M flang/runtime/type-code.cc
M flang/runtime/type-code.h
M flang/test/CMakeLists.txt
M flang/test/decimal/CMakeLists.txt
M flang/test/decimal/quick-sanity-test.cc
M flang/test/decimal/thorough-test.cc
M flang/test/evaluate/CMakeLists.txt
M flang/test/evaluate/ISO-Fortran-binding.cc
M flang/test/evaluate/bit-population-count.cc
M flang/test/evaluate/expression.cc
M flang/test/evaluate/folding.cc
M flang/test/evaluate/folding01.f90
M flang/test/evaluate/folding02.f90
M flang/test/evaluate/folding03.f90
M flang/test/evaluate/folding04.f90
M flang/test/evaluate/folding05.f90
M flang/test/evaluate/folding06.f90
M flang/test/evaluate/folding07.f90
M flang/test/evaluate/folding08.f90
M flang/test/evaluate/fp-testing.cc
M flang/test/evaluate/fp-testing.h
M flang/test/evaluate/integer.cc
M flang/test/evaluate/intrinsics.cc
M flang/test/evaluate/leading-zero-bit-count.cc
M flang/test/evaluate/logical.cc
M flang/test/evaluate/real.cc
M flang/test/evaluate/reshape.cc
M flang/test/evaluate/test_folding.sh
M flang/test/evaluate/testing.cc
M flang/test/evaluate/testing.h
M flang/test/evaluate/uint128.cc
M flang/test/preprocessing/pp001.F
M flang/test/preprocessing/pp002.F
M flang/test/preprocessing/pp003.F
M flang/test/preprocessing/pp004.F
M flang/test/preprocessing/pp005.F
M flang/test/preprocessing/pp006.F
M flang/test/preprocessing/pp007.F
M flang/test/preprocessing/pp008.F
M flang/test/preprocessing/pp009.F
M flang/test/preprocessing/pp010.F
M flang/test/preprocessing/pp011.F
M flang/test/preprocessing/pp012.F
M flang/test/preprocessing/pp013.F
M flang/test/preprocessing/pp014.F
M flang/test/preprocessing/pp015.F
M flang/test/preprocessing/pp016.F
M flang/test/preprocessing/pp017.F
M flang/test/preprocessing/pp018.F
M flang/test/preprocessing/pp019.F
M flang/test/preprocessing/pp020.F
M flang/test/preprocessing/pp021.F
M flang/test/preprocessing/pp022.F
M flang/test/preprocessing/pp023.F
M flang/test/preprocessing/pp024.F
M flang/test/preprocessing/pp025.F
M flang/test/preprocessing/pp026.F
M flang/test/preprocessing/pp027.F
M flang/test/preprocessing/pp028.F
M flang/test/preprocessing/pp029.F
M flang/test/preprocessing/pp030.F
M flang/test/preprocessing/pp031.F
M flang/test/preprocessing/pp032.F
M flang/test/preprocessing/pp033.F
M flang/test/preprocessing/pp034.F
M flang/test/preprocessing/pp035.F
M flang/test/preprocessing/pp036.F
M flang/test/preprocessing/pp037.F
M flang/test/preprocessing/pp038.F
M flang/test/preprocessing/pp039.F
M flang/test/preprocessing/pp040.F
M flang/test/preprocessing/pp041.F
M flang/test/preprocessing/pp042.F
M flang/test/preprocessing/pp043.F
M flang/test/preprocessing/pp044.F
M flang/test/preprocessing/pp101.F90
M flang/test/preprocessing/pp102.F90
M flang/test/preprocessing/pp103.F90
M flang/test/preprocessing/pp104.F90
M flang/test/preprocessing/pp105.F90
M flang/test/preprocessing/pp106.F90
M flang/test/preprocessing/pp107.F90
M flang/test/preprocessing/pp108.F90
M flang/test/preprocessing/pp109.F90
M flang/test/preprocessing/pp110.F90
M flang/test/preprocessing/pp111.F90
M flang/test/preprocessing/pp112.F90
M flang/test/preprocessing/pp113.F90
M flang/test/preprocessing/pp114.F90
M flang/test/preprocessing/pp115.F90
M flang/test/preprocessing/pp116.F90
M flang/test/preprocessing/pp117.F90
M flang/test/preprocessing/pp118.F90
M flang/test/preprocessing/pp119.F90
M flang/test/preprocessing/pp120.F90
M flang/test/preprocessing/pp121.F90
M flang/test/preprocessing/pp122.F90
M flang/test/preprocessing/pp123.F90
M flang/test/preprocessing/pp124.F90
M flang/test/preprocessing/pp125.F90
M flang/test/preprocessing/pp126.F90
M flang/test/preprocessing/pp127.F90
M flang/test/preprocessing/pp128.F90
M flang/test/preprocessing/pp129.F90
M flang/test/preprocessing/pp130.F90
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/allocate01.f90
M flang/test/semantics/allocate02.f90
M flang/test/semantics/allocate03.f90
M flang/test/semantics/allocate04.f90
M flang/test/semantics/allocate05.f90
M flang/test/semantics/allocate06.f90
M flang/test/semantics/allocate07.f90
M flang/test/semantics/allocate08.f90
M flang/test/semantics/allocate09.f90
M flang/test/semantics/allocate10.f90
M flang/test/semantics/allocate11.f90
M flang/test/semantics/allocate12.f90
M flang/test/semantics/allocate13.f90
M flang/test/semantics/altreturn01.f90
M flang/test/semantics/altreturn02.f90
M flang/test/semantics/altreturn03.f90
M flang/test/semantics/altreturn04.f90
M flang/test/semantics/assign01.f90
M flang/test/semantics/bad-forward-type.f90
M flang/test/semantics/bindings01.f90
M flang/test/semantics/blockconstruct01.f90
M flang/test/semantics/blockconstruct02.f90
M flang/test/semantics/blockconstruct03.f90
M flang/test/semantics/call01.f90
M flang/test/semantics/call02.f90
M flang/test/semantics/call03.f90
M flang/test/semantics/call04.f90
M flang/test/semantics/call05.f90
M flang/test/semantics/call06.f90
M flang/test/semantics/call07.f90
M flang/test/semantics/call08.f90
M flang/test/semantics/call09.f90
M flang/test/semantics/call10.f90
M flang/test/semantics/call11.f90
M flang/test/semantics/call12.f90
M flang/test/semantics/call13.f90
M flang/test/semantics/call14.f90
M flang/test/semantics/canondo01.f90
M flang/test/semantics/canondo02.f90
M flang/test/semantics/canondo03.f90
M flang/test/semantics/canondo04.f90
M flang/test/semantics/canondo05.f90
M flang/test/semantics/canondo06.f90
M flang/test/semantics/canondo07.f90
M flang/test/semantics/canondo08.f90
M flang/test/semantics/canondo09.f90
M flang/test/semantics/canondo10.f90
M flang/test/semantics/canondo11.f90
M flang/test/semantics/canondo12.f90
M flang/test/semantics/canondo13.f90
M flang/test/semantics/canondo14.f90
M flang/test/semantics/canondo15.f90
M flang/test/semantics/canondo16.f90
M flang/test/semantics/canondo17.f90
M flang/test/semantics/canondo18.f90
M flang/test/semantics/canondo19.f90
M flang/test/semantics/coarrays01.f90
M flang/test/semantics/common.sh
M flang/test/semantics/computed-goto01.f90
M flang/test/semantics/computed-goto02.f90
M flang/test/semantics/deallocate01.f90
M flang/test/semantics/deallocate04.f90
M flang/test/semantics/deallocate05.f90
M flang/test/semantics/doconcurrent01.f90
M flang/test/semantics/doconcurrent02.f90
M flang/test/semantics/doconcurrent03.f90
M flang/test/semantics/doconcurrent04.f90
M flang/test/semantics/doconcurrent05.f90
M flang/test/semantics/doconcurrent06.f90
M flang/test/semantics/doconcurrent07.f90
M flang/test/semantics/doconcurrent08.f90
M flang/test/semantics/dosemantics01.f90
M flang/test/semantics/dosemantics02.f90
M flang/test/semantics/dosemantics03.f90
M flang/test/semantics/dosemantics04.f90
M flang/test/semantics/dosemantics05.f90
M flang/test/semantics/dosemantics06.f90
M flang/test/semantics/dosemantics07.f90
M flang/test/semantics/dosemantics08.f90
M flang/test/semantics/dosemantics09.f90
M flang/test/semantics/dosemantics10.f90
M flang/test/semantics/dosemantics11.f90
M flang/test/semantics/equivalence01.f90
M flang/test/semantics/expr-errors01.f90
M flang/test/semantics/expr-errors02.f90
M flang/test/semantics/forall01.f90
M flang/test/semantics/getdefinition01.f90
M flang/test/semantics/getdefinition02.f
M flang/test/semantics/getdefinition03-a.f90
M flang/test/semantics/getdefinition03-b.f90
M flang/test/semantics/getdefinition04.f90
M flang/test/semantics/getdefinition05.f90
M flang/test/semantics/getsymbols01.f90
M flang/test/semantics/getsymbols02-a.f90
M flang/test/semantics/getsymbols02-b.f90
M flang/test/semantics/getsymbols02-c.f90
M flang/test/semantics/getsymbols03-a.f90
M flang/test/semantics/getsymbols03-b.f90
M flang/test/semantics/getsymbols04.f90
M flang/test/semantics/getsymbols05.f90
M flang/test/semantics/if_arith01.f90
M flang/test/semantics/if_arith02.f90
M flang/test/semantics/if_arith03.f90
M flang/test/semantics/if_arith04.f90
M flang/test/semantics/if_construct01.f90
M flang/test/semantics/if_construct02.f90
M flang/test/semantics/if_stmt01.f90
M flang/test/semantics/if_stmt02.f90
M flang/test/semantics/if_stmt03.f90
M flang/test/semantics/implicit01.f90
M flang/test/semantics/implicit02.f90
M flang/test/semantics/implicit03.f90
M flang/test/semantics/implicit04.f90
M flang/test/semantics/implicit05.f90
M flang/test/semantics/implicit06.f90
M flang/test/semantics/implicit07.f90
M flang/test/semantics/implicit08.f90
M flang/test/semantics/init01.f90
M flang/test/semantics/int-literals.f90
M flang/test/semantics/io01.f90
M flang/test/semantics/io02.f90
M flang/test/semantics/io03.f90
M flang/test/semantics/io04.f90
M flang/test/semantics/io05.f90
M flang/test/semantics/io06.f90
M flang/test/semantics/io07.f90
M flang/test/semantics/io08.f90
M flang/test/semantics/io09.f90
M flang/test/semantics/io10.f90
M flang/test/semantics/kinds01.f90
M flang/test/semantics/kinds02.f90
M flang/test/semantics/kinds03.f90
M flang/test/semantics/label01.F90
M flang/test/semantics/label02.f90
M flang/test/semantics/label03.f90
M flang/test/semantics/label04.f90
M flang/test/semantics/label05.f90
M flang/test/semantics/label06.f90
M flang/test/semantics/label07.f90
M flang/test/semantics/label08.f90
M flang/test/semantics/label09.f90
M flang/test/semantics/label10.f90
M flang/test/semantics/label11.f90
M flang/test/semantics/label12.f90
M flang/test/semantics/label13.f90
M flang/test/semantics/label14.f90
M flang/test/semantics/misc-declarations.f90
M flang/test/semantics/modfile01.f90
M flang/test/semantics/modfile02.f90
M flang/test/semantics/modfile03.f90
M flang/test/semantics/modfile04.f90
M flang/test/semantics/modfile05.f90
M flang/test/semantics/modfile06.f90
M flang/test/semantics/modfile07.f90
M flang/test/semantics/modfile08.f90
M flang/test/semantics/modfile10.f90
M flang/test/semantics/modfile11.f90
M flang/test/semantics/modfile12.f90
M flang/test/semantics/modfile13.f90
M flang/test/semantics/modfile14.f90
M flang/test/semantics/modfile15.f90
M flang/test/semantics/modfile16.f90
M flang/test/semantics/modfile17.f90
M flang/test/semantics/modfile18.f90
M flang/test/semantics/modfile19.f90
M flang/test/semantics/modfile20.f90
M flang/test/semantics/modfile21.f90
M flang/test/semantics/modfile22.f90
M flang/test/semantics/modfile23.f90
M flang/test/semantics/modfile24.f90
M flang/test/semantics/modfile25.f90
M flang/test/semantics/modfile26.f90
M flang/test/semantics/modfile27.f90
M flang/test/semantics/modfile28.f90
M flang/test/semantics/modfile29.f90
M flang/test/semantics/modfile30.f90
M flang/test/semantics/modfile31.f90
M flang/test/semantics/modfile32.f90
M flang/test/semantics/modfile33.f90
M flang/test/semantics/modfile34.f90
M flang/test/semantics/modfile35.f90
M flang/test/semantics/null01.f90
M flang/test/semantics/nullify01.f90
M flang/test/semantics/nullify02.f90
M flang/test/semantics/omp-atomic.f90
M flang/test/semantics/omp-clause-validity01.f90
M flang/test/semantics/omp-declarative-directive.f90
M flang/test/semantics/omp-device-constructs.f90
M flang/test/semantics/omp-loop-association.f90
M flang/test/semantics/omp-nested01.f90
M flang/test/semantics/omp-resolve01.f90
M flang/test/semantics/omp-resolve02.f90
M flang/test/semantics/omp-resolve03.f90
M flang/test/semantics/omp-resolve04.f90
M flang/test/semantics/omp-symbol01.f90
M flang/test/semantics/omp-symbol02.f90
M flang/test/semantics/omp-symbol03.f90
M flang/test/semantics/omp-symbol04.f90
M flang/test/semantics/omp-symbol05.f90
M flang/test/semantics/omp-symbol06.f90
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/resolve01.f90
M flang/test/semantics/resolve02.f90
M flang/test/semantics/resolve03.f90
M flang/test/semantics/resolve04.f90
M flang/test/semantics/resolve05.f90
M flang/test/semantics/resolve06.f90
M flang/test/semantics/resolve07.f90
M flang/test/semantics/resolve08.f90
M flang/test/semantics/resolve09.f90
M flang/test/semantics/resolve10.f90
M flang/test/semantics/resolve11.f90
M flang/test/semantics/resolve12.f90
M flang/test/semantics/resolve13.f90
M flang/test/semantics/resolve14.f90
M flang/test/semantics/resolve15.f90
M flang/test/semantics/resolve16.f90
M flang/test/semantics/resolve17.f90
M flang/test/semantics/resolve18.f90
M flang/test/semantics/resolve19.f90
M flang/test/semantics/resolve20.f90
M flang/test/semantics/resolve21.f90
M flang/test/semantics/resolve22.f90
M flang/test/semantics/resolve23.f90
M flang/test/semantics/resolve24.f90
M flang/test/semantics/resolve25.f90
M flang/test/semantics/resolve26.f90
M flang/test/semantics/resolve27.f90
M flang/test/semantics/resolve28.f90
M flang/test/semantics/resolve29.f90
M flang/test/semantics/resolve30.f90
M flang/test/semantics/resolve31.f90
M flang/test/semantics/resolve32.f90
M flang/test/semantics/resolve33.f90
M flang/test/semantics/resolve34.f90
M flang/test/semantics/resolve35.f90
M flang/test/semantics/resolve36.f90
M flang/test/semantics/resolve37.f90
M flang/test/semantics/resolve38.f90
M flang/test/semantics/resolve39.f90
M flang/test/semantics/resolve40.f90
M flang/test/semantics/resolve41.f90
M flang/test/semantics/resolve42.f90
M flang/test/semantics/resolve43.f90
M flang/test/semantics/resolve44.f90
M flang/test/semantics/resolve45.f90
M flang/test/semantics/resolve46.f90
M flang/test/semantics/resolve47.f90
M flang/test/semantics/resolve48.f90
M flang/test/semantics/resolve49.f90
M flang/test/semantics/resolve50.f90
M flang/test/semantics/resolve51.f90
M flang/test/semantics/resolve52.f90
M flang/test/semantics/resolve53.f90
M flang/test/semantics/resolve54.f90
M flang/test/semantics/resolve55.f90
M flang/test/semantics/resolve56.f90
M flang/test/semantics/resolve57.f90
M flang/test/semantics/resolve58.f90
M flang/test/semantics/resolve59.f90
M flang/test/semantics/resolve60.f90
M flang/test/semantics/resolve61.f90
M flang/test/semantics/resolve62.f90
M flang/test/semantics/resolve63.f90
M flang/test/semantics/resolve64.f90
M flang/test/semantics/resolve65.f90
M flang/test/semantics/resolve66.f90
M flang/test/semantics/resolve67.f90
M flang/test/semantics/resolve68.f90
M flang/test/semantics/stop01.f90
M flang/test/semantics/structconst01.f90
M flang/test/semantics/structconst02.f90
M flang/test/semantics/structconst03.f90
M flang/test/semantics/structconst04.f90
M flang/test/semantics/symbol01.f90
M flang/test/semantics/symbol02.f90
M flang/test/semantics/symbol03.f90
M flang/test/semantics/symbol05.f90
M flang/test/semantics/symbol06.f90
M flang/test/semantics/symbol07.f90
M flang/test/semantics/symbol08.f90
M flang/test/semantics/symbol09.f90
M flang/test/semantics/symbol10.f90
M flang/test/semantics/symbol11.f90
M flang/test/semantics/symbol12.f90
M flang/test/semantics/symbol13.f90
M flang/test/semantics/symbol14.f90
M flang/test/semantics/symbol15.f90
M flang/test/semantics/symbol16.f90
M flang/test/semantics/symbol17.f90
M flang/test/semantics/test_any.sh
M flang/test/semantics/test_errors.sh
M flang/test/semantics/test_modfile.sh
M flang/test/semantics/test_symbols.sh
M flang/tools/CMakeLists.txt
M flang/tools/f18/CMakeLists.txt
M flang/tools/f18/dump.cc
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
M flang/tools/f18/flang.sh
M flang/tools/f18/stub-evaluate.cc
Log Message:
-----------
[flang] Flang relicensing changes for LLVM Apache 2.0 license
This changes the license information in many of the flang source files.
- Renamed LICENSE to LICENSE.txt.
- NVIDIA Copyright lines have been removed.
- Initial lines for files follow the LLVM coding convention (file name on the first line; Emacs mode information on the first line).
- License references have been replaced with the abridged LLVM text.
- License information was removed from the test files.
- No file header was placed on test files (these weren't in most LLVM test files).
- License information was added to documentation files where it was missing.
We did not add brief file summaries to the initial line.
See http://llvm.org/docs/DeveloperPolicy.html#new-llvm-project-license-framework
for a description of the new license.
See http://llvm.org/docs/CodingStandards.html#file-headers
for a description of the new LLVM standard file header.
Original-commit: flang-compiler/f18 at add6cde7244b926ca457a1c74c21fea071b85329
Reviewed-on: https://github.com/flang-compiler/f18/pull/887
Commit: 6ba7d300aae8a45802c4f84edfab81fcebfcc014
https://github.com/llvm/llvm-project/commit/6ba7d300aae8a45802c4f84edfab81fcebfcc014
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2019-12-23 (Mon, 23 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#887 from flang-compiler/gak-relicense
Flang relicensing changes for LLVM Apache 2.0 license
Original-commit: flang-compiler/f18 at e06be2faa64a52471b3cfb2829dc05888236aa68
Reviewed-on: https://github.com/flang-compiler/f18/pull/887
Commit: a0caa6af3698da0b3db7dd23495fc490c28cf571
https://github.com/llvm/llvm-project/commit/a0caa6af3698da0b3db7dd23495fc490c28cf571
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2019-12-23 (Mon, 23 Dec 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/lib/parser/type-parser-implementation.h
M flang/test/evaluate/fp-testing.cc
Log Message:
-----------
[flang] Fix clang-format issues identified during relicensing
While running clang-format during the relicensing, there were
a few files that showed minor format issues that could be cleaned
up. These changes address them.
Original-commit: flang-compiler/f18 at b308f9e35a6d386b53ded90e84bbfac600f38867
Reviewed-on: https://github.com/flang-compiler/f18/pull/890
Commit: f8393113f2bf3942b53a8358c3feca4081cf1b82
https://github.com/llvm/llvm-project/commit/f8393113f2bf3942b53a8358c3feca4081cf1b82
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2019-12-23 (Mon, 23 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#890 from flang-compiler/gak-format-fixes
Fix clang-format issues identified during relicensing
Original-commit: flang-compiler/f18 at a04295dc36f8685447bd83dffdd037dc2e819f2e
Reviewed-on: https://github.com/flang-compiler/f18/pull/890
Commit: 16c5b8636886785130a86286fb1b5a091437c945
https://github.com/llvm/llvm-project/commit/16c5b8636886785130a86286fb1b5a091437c945
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-23 (Mon, 23 Dec 2019)
Changed paths:
M flang/lib/evaluate/call.h
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/tools.h
M flang/lib/parser/preprocessor.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/type.h
M flang/test/semantics/call05.f90
Log Message:
-----------
[flang] Fix off-by-one error in preprocessing expressions
Original-commit: flang-compiler/f18 at 4c08a4a1be9fb398a8fc7561da114dc9d2a3accc
Reviewed-on: https://github.com/flang-compiler/f18/pull/891
Commit: 17fdc5cc63ba04bc9929d5f02a8ff8c4412c178e
https://github.com/llvm/llvm-project/commit/17fdc5cc63ba04bc9929d5f02a8ff8c4412c178e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-23 (Mon, 23 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#891 from flang-compiler/pmk-spec
Some fixes
Original-commit: flang-compiler/f18 at e3ee4a658ad4236a6683e8cbec8c24345dab9805
Reviewed-on: https://github.com/flang-compiler/f18/pull/891
Commit: 611db270f656694c776fe224b4f6e741f488f907
https://github.com/llvm/llvm-project/commit/611db270f656694c776fe224b4f6e741f488f907
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2019-12-24 (Tue, 24 Dec 2019)
Changed paths:
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-deallocate.cc
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/dosemantics12.f90
Log Message:
-----------
[flang] Semantic checks to see if a DO variable is modified
I added infrastructure to SemanticsContext to track active DO variables
and the source locations where they appear in DO statements. I also
added code to semantics.[h,cc] to check to see if a DO variable is
already defined, and, if so, to emit an error message along with a
reference to the relevant DO construct. I also added calls to several
places where variables are defined to determine if the definitions are
happening in the context of an active DO construct.
I have not yet added the checks for DO variables being redefined when passing
them as actual arguments to dummy arguments with INTENT(OUT) or INTENT(INOUT).
I wanted to get these changes merged first and catch up with the other changes
in master.
Original-commit: flang-compiler/f18 at 1bbfcca61b94dccfbbe943b511f846acc1c33997
Reviewed-on: https://github.com/flang-compiler/f18/pull/860
Commit: 24b3d0adc6e577163ffbb6d1893b31997fe78842
https://github.com/llvm/llvm-project/commit/24b3d0adc6e577163ffbb6d1893b31997fe78842
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2019-12-24 (Tue, 24 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#860 from flang-compiler/ps-do-redefine
Semantic checks to see if a DO variable is modified
Original-commit: flang-compiler/f18 at 6715b162fa234b8836e34b216886d4de80ca4568
Reviewed-on: https://github.com/flang-compiler/f18/pull/860
Commit: 71f6a80c2b5328c633e22d06324f2332f43b2559
https://github.com/llvm/llvm-project/commit/71f6a80c2b5328c633e22d06324f2332f43b2559
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2019-12-24 (Tue, 24 Dec 2019)
Changed paths:
M flang/tools/f18/flang.sh
Log Message:
-----------
[flang] The #! sequence must be at the start of the script file. (flang-compiler/f18#894)
Original-commit: flang-compiler/f18 at b1ff232730778d6de62036711afb34fd3ded0bd6
Reviewed-on: https://github.com/flang-compiler/f18/pull/894
Commit: b8a7bad3e0395b48a0dc3fb29479dcf72ea13aee
https://github.com/llvm/llvm-project/commit/b8a7bad3e0395b48a0dc3fb29479dcf72ea13aee
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-24 (Tue, 24 Dec 2019)
Changed paths:
M flang/lib/common/default-kinds.cc
M flang/lib/common/default-kinds.h
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-purity.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/call10.f90
M flang/test/semantics/call11.f90
M flang/test/semantics/call12.f90
M flang/test/semantics/doconcurrent01.f90
M flang/test/semantics/resolve66.f90
M flang/test/semantics/structconst03.f90
M flang/test/semantics/structconst04.f90
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Fix test for assignment to host-associated object in PURE
Original-commit: flang-compiler/f18 at 019e61aa85ce55298d233dbb3af6399a8ce974b6
Reviewed-on: https://github.com/flang-compiler/f18/pull/893
Commit: 0e5c4272ea62d27cb3157e1487f543c1be968d2b
https://github.com/llvm/llvm-project/commit/0e5c4272ea62d27cb3157e1487f543c1be968d2b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-24 (Tue, 24 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#893 from flang-compiler/pmk-fixes
Fix flang-compiler/f18#892 and a crash
Original-commit: flang-compiler/f18 at 86ae6e6cc85c46958c2446d754650026ba26ff86
Reviewed-on: https://github.com/flang-compiler/f18/pull/893
Commit: 663db2741d4ee134e8f0db1ead02c1fc21848fc0
https://github.com/llvm/llvm-project/commit/663db2741d4ee134e8f0db1ead02c1fc21848fc0
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/intrinsics.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
A flang/module/__fortran_builtins.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/c_f_pointer.f90
M flang/test/semantics/canondo16.f90
M flang/test/semantics/modfile20.f90
M flang/test/semantics/modfile25.f90
M flang/test/semantics/modfile26.f90
M flang/test/semantics/modfile27.f90
M flang/test/semantics/modfile28.f90
M flang/test/semantics/modfile30.f90
M flang/test/semantics/modfile31.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] C_F_POINTER
Emit INTRINSIC statements in module files
Argument checking utility
Complete error checking
Original-commit: flang-compiler/f18 at 9c6a88f0482c1f222b37e0cc548c822f80ad00e7
Reviewed-on: https://github.com/flang-compiler/f18/pull/896
Commit: 15d285a63a8eccf3126f766db634e2465d6977ec
https://github.com/llvm/llvm-project/commit/15d285a63a8eccf3126f766db634e2465d6977ec
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#896 from flang-compiler/pmk-c_f_pointer
C_F_POINTER
Original-commit: flang-compiler/f18 at f4d48e852543a02ba19d8b9cce9fe18ee749d2d5
Reviewed-on: https://github.com/flang-compiler/f18/pull/896
Commit: ec833a6bb75107ff6625fe161794bc15e6c0f8f9
https://github.com/llvm/llvm-project/commit/ec833a6bb75107ff6625fe161794bc15e6c0f8f9
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/test/semantics/canondo16.f90
Log Message:
-----------
[flang] Patch build problem
Original-commit: flang-compiler/f18 at a66851210028d1cf31ba4875a2eb71eebb333a91
Reviewed-on: https://github.com/flang-compiler/f18/pull/898
Commit: dd04f72b2bca9773e32d0246cf3f966e6c3b9dd8
https://github.com/llvm/llvm-project/commit/dd04f72b2bca9773e32d0246cf3f966e6c3b9dd8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#898 from flang-compiler/pmk-patch
Patch build problem
Original-commit: flang-compiler/f18 at 07318b5c8936060d6f0602da5e555d951b6abd29
Reviewed-on: https://github.com/flang-compiler/f18/pull/898
Commit: add998bec16d8072bc54d8c027f60ee9b8477118
https://github.com/llvm/llvm-project/commit/add998bec16d8072bc54d8c027f60ee9b8477118
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Make SHAPE= argument to C_F_POINTER() sensitive to -Mlargearray
Original-commit: flang-compiler/f18 at daaa74bbc85f0d1625d1aecd89a0b428209c5c4c
Reviewed-on: https://github.com/flang-compiler/f18/pull/900
Tree-same-pre-rewrite: false
Commit: d64886d01b3839b6b589259d1fdb90e9a4bf1d12
https://github.com/llvm/llvm-project/commit/d64886d01b3839b6b589259d1fdb90e9a4bf1d12
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/lib/evaluate/CMakeLists.txt
A flang/lib/evaluate/fold-character.cc
A flang/lib/evaluate/fold-complex.cc
A flang/lib/evaluate/fold-implementation.h
A flang/lib/evaluate/fold-integer.cc
A flang/lib/evaluate/fold-logical.cc
A flang/lib/evaluate/fold-real.cc
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] Break up fold.cc along per-type fault lines
Original-commit: flang-compiler/f18 at 8022c143d9283d670350e9d2d68b21325becf8c6
Reviewed-on: https://github.com/flang-compiler/f18/pull/900
Tree-same-pre-rewrite: false
Commit: 8deb4bbeb78a7a2887dce32d1d9abdbe8d370117
https://github.com/llvm/llvm-project/commit/8deb4bbeb78a7a2887dce32d1d9abdbe8d370117
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] More restructuring
Original-commit: flang-compiler/f18 at 6e4aca113a7d744af8b2566a52e270d59743084e
Reviewed-on: https://github.com/flang-compiler/f18/pull/900
Tree-same-pre-rewrite: false
Commit: ceb81960235cf34a04b9bb097d72cce085085097
https://github.com/llvm/llvm-project/commit/ceb81960235cf34a04b9bb097d72cce085085097
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/fold.cc
Log Message:
-----------
[flang] Put templates back into implementation header
Original-commit: flang-compiler/f18 at 89499243510d44d94ac47d41db34c0e6822801b0
Reviewed-on: https://github.com/flang-compiler/f18/pull/900
Tree-same-pre-rewrite: false
Commit: c587f89a3c375c1020dd2ea3abaffa1ce2c41988
https://github.com/llvm/llvm-project/commit/c587f89a3c375c1020dd2ea3abaffa1ce2c41988
Author: peter klausler <pklausler at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/lib/evaluate/fold-implementation.h
Log Message:
-----------
[flang] Prep for review
Original-commit: flang-compiler/f18 at 25cb92e9903dfd97a8b5b8ecd2b60ce22ecd3659
Reviewed-on: https://github.com/flang-compiler/f18/pull/900
Commit: 20a9a8154df89293167aadbc6420f9f65518ce1e
https://github.com/llvm/llvm-project/commit/20a9a8154df89293167aadbc6420f9f65518ce1e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#900 from flang-compiler/pmk-fold
Partition fold.cc to reduce build-time memory requirements
Original-commit: flang-compiler/f18 at 372c82219a7b6cd355bf6d785b81daaf39790ac4
Reviewed-on: https://github.com/flang-compiler/f18/pull/900
Commit: 96ce00bba2ae1edb7aa3ae3c5a448224588a3b02
https://github.com/llvm/llvm-project/commit/96ce00bba2ae1edb7aa3ae3c5a448224588a3b02
Author: Tim Keith <tkeith at nvidia.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)
Changed paths:
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/test/semantics/canondo16.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Add .mod file dependencies
Make compilation of other predefined module files depend on
__fortran_builtins.mod. Currently only iso_c_binding.f90 and
iso_fortran_env.f90 depend on it but others could in the future.
Create the .f18.mod files by copying from the .mod files so that
we don't have to worry about dependencies for those.
Original-commit: flang-compiler/f18 at 8209ad3d32909573e9ef72327ba61932f8967587
Reviewed-on: https://github.com/flang-compiler/f18/pull/899
Commit: 0bea8c9d6b5547201058e0aaff25fc0e1b3a7815
https://github.com/llvm/llvm-project/commit/0bea8c9d6b5547201058e0aaff25fc0e1b3a7815
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-02 (Thu, 02 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#899 from flang-compiler/deps
Add .mod file dependencies
Original-commit: flang-compiler/f18 at 74617f1d489ad211a81b91881ab8d4c199860fd8
Reviewed-on: https://github.com/flang-compiler/f18/pull/899
Commit: 9948f910a509cec427362c81c1b309e746cc4e09
https://github.com/llvm/llvm-project/commit/9948f910a509cec427362c81c1b309e746cc4e09
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-02 (Thu, 02 Jan 2020)
Changed paths:
M flang/lib/parser/message.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/test/semantics/modfile35.f90
M flang/test/semantics/resolve62.f90
M flang/test/semantics/resolve63.f90
Log Message:
-----------
[flang] Handle type-bound user-defined operators
Pre-review clean-up
Original-commit: flang-compiler/f18 at 1d4e85563aad3fc28c4decdc27f4c52af229c3d4
Reviewed-on: https://github.com/flang-compiler/f18/pull/901
Commit: a8ce0fcc1ec1ae32e017d1bf4653044a0ebe8091
https://github.com/llvm/llvm-project/commit/a8ce0fcc1ec1ae32e017d1bf4653044a0ebe8091
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-02 (Thu, 02 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#901 from flang-compiler/pmk-operator-tbp
Fix type-bound user-defined operators
Original-commit: flang-compiler/f18 at db63c87fb0ba8784c6b16cef80d6ae715900fa67
Reviewed-on: https://github.com/flang-compiler/f18/pull/901
Commit: d32d669651441ccb16069f404c230d13c426279b
https://github.com/llvm/llvm-project/commit/d32d669651441ccb16069f404c230d13c426279b
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/evaluate/call.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/test/semantics/dosemantics12.f90
Log Message:
-----------
[flang] Check for passing DO variables to OUT arguments in a CALL statement
I added code to save the INTENT of a dummy argument in the checked expression
of the actual argument. When processing a CallStmt, I then retrieve the
ProcedureRef, which contains a list of the checked ActualArguments. I then
traverse this list looking for actual arguments that are active DO variable
that are being passed to dummy arguments whose INTENT is either OUT or INOUT.
For OUT dummies, I put out an error message and warn for INOUT dummies.
Original-commit: flang-compiler/f18 at 0ff1d264284c51a0142df0b785eb5f6409e8ad51
Reviewed-on: https://github.com/flang-compiler/f18/pull/902
Commit: 004b8417d416bc35eb6198061fa739fd1ba3dd64
https://github.com/llvm/llvm-project/commit/004b8417d416bc35eb6198061fa739fd1ba3dd64
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#902 from flang-compiler/ps-do-call
Check for passing DO variables to OUT arguments in a CALL statement
Original-commit: flang-compiler/f18 at 27220661c3ac15c3135510b551458bc01a0a8ba5
Reviewed-on: https://github.com/flang-compiler/f18/pull/902
Commit: 2e32cadddd4fb56ba178616205649447c647b76f
https://github.com/llvm/llvm-project/commit/2e32cadddd4fb56ba178616205649447c647b76f
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/semantics/semantics.cc
Log Message:
-----------
[flang] Remove needless std::move() that breaks clang build
Add the std::move() to where it should have been
Original-commit: flang-compiler/f18 at 54fe9b39a1551313da06e5c40ca2aa523288292d
Reviewed-on: https://github.com/flang-compiler/f18/pull/903
Commit: 833bce4e94f749ac06d70afc755374e32c1d5c1d
https://github.com/llvm/llvm-project/commit/833bce4e94f749ac06d70afc755374e32c1d5c1d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#903 from flang-compiler/pmk-fix
Remove needless std::move() that breaks clang build
Original-commit: flang-compiler/f18 at 85f5cbecf16642b7be7416c1f6d83f85f8fbc9f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/903
Commit: 83d574bf079bff222763204356d20d86226c8887
https://github.com/llvm/llvm-project/commit/83d574bf079bff222763204356d20d86226c8887
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/forall01.f90
Log Message:
-----------
[flang] Move forall01 to ERROR_TESTS
That seems to be what was intended and it provides for better checking
of errors.
Original-commit: flang-compiler/f18 at 99376d77a07aa04173bd20dcc45d08b76cae4a73
Reviewed-on: https://github.com/flang-compiler/f18/pull/904
Tree-same-pre-rewrite: false
Commit: ec88d6780f0ba627d0826bf87419853c1574fd20
https://github.com/llvm/llvm-project/commit/ec88d6780f0ba627d0826bf87419853c1574fd20
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve35.f90
Log Message:
-----------
[flang] Fix type resolution in ConcurrentHeader
As it was implemented we weren't detecting non-constant kind parameters
in the integer-type-spec. The fix is just to walk the integer-type-spec
like was do any other one.
Also, there is not need for ResolveControlExpressions -- all it does is
walk that part of the parse tree.
Original-commit: flang-compiler/f18 at 8c0d890eb8852e460ea247c0c0e873dfe2da0200
Reviewed-on: https://github.com/flang-compiler/f18/pull/904
Tree-same-pre-rewrite: false
Commit: b58617b940d2baef8adf778a534f677a97cfee30
https://github.com/llvm/llvm-project/commit/b58617b940d2baef8adf778a534f677a97cfee30
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/semantics/check-do.cc
Log Message:
-----------
[flang] Use common SymbolSet type
Replace `std::set<const Symbol *>` with `SymbolSet` from `symbol.h`.
Original-commit: flang-compiler/f18 at 78e3ff33cc21999a73a061daaf772ae5f14c8e02
Reviewed-on: https://github.com/flang-compiler/f18/pull/904
Tree-same-pre-rewrite: false
Commit: d42aaa81f29df5f7f470c6bcb23c226eacfcffea
https://github.com/llvm/llvm-project/commit/d42aaa81f29df5f7f470c6bcb23c226eacfcffea
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/parse-tree.h
M flang/lib/parser/unparse.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/forall01.f90
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Add analyzed form of pointer assignment
Add `typedAssignment` to `PointerAssignmentStmt` parse tree node and
extend `evaluate::Assignment` to include pointer assignment, including
analyzed bounds. Analyze pointer assignments and fill those in.
Emit them in unparsed output and parse tree dump when present.
Change assignment checking to use analyzed expressions and assignments
rather than calling AnalyzeExpr. Check bounds in pointer assignments
for impure function calls in FORALL context.
Add `Fold` convenience function to `ExpressionAnalyzer`.
Original-commit: flang-compiler/f18 at 140c983423d3f49fad66bc67317af3684e96ba1b
Reviewed-on: https://github.com/flang-compiler/f18/pull/904
Commit: 092208318142142254aa13019143c2afc27d2204
https://github.com/llvm/llvm-project/commit/092208318142142254aa13019143c2afc27d2204
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#904 from flang-compiler/tsk-assignment3
Add analyzed form of pointer assignment
Original-commit: flang-compiler/f18 at 1f6cc18c7c1252026b2b673b138cefedd87b2a04
Reviewed-on: https://github.com/flang-compiler/f18/pull/904
Commit: 39114d503a2b5abf838b67f41b5ad536f95ebfd7
https://github.com/llvm/llvm-project/commit/39114d503a2b5abf838b67f41b5ad536f95ebfd7
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/parser/characters.cc
M flang/lib/parser/characters.h
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Another attempt to fix bug flang-compiler/f18#877
Original-commit: flang-compiler/f18 at 2ad2330cda59459ccfe63a62f1f944a6151f436c
Reviewed-on: https://github.com/flang-compiler/f18/pull/906
Commit: 8697c77bac28e38ce412827d399328ab146d1705
https://github.com/llvm/llvm-project/commit/8697c77bac28e38ce412827d399328ab146d1705
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#906 from flang-compiler/pmk-fix
Another attempt to fix bug flang-compiler/f18#877
Original-commit: flang-compiler/f18 at a4540324a32d60cd5dd82f765256b1e6d57d9504
Reviewed-on: https://github.com/flang-compiler/f18/pull/906
Commit: cc179ba74990e7a31df773536b09738bfa3248f9
https://github.com/llvm/llvm-project/commit/cc179ba74990e7a31df773536b09738bfa3248f9
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/fold-integer.cc
M flang/lib/evaluate/fold-real.cc
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/real.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/test/evaluate/folding02.f90
M flang/test/evaluate/real.cc
Log Message:
-----------
[flang] Fold FLOOR, CEILING, NINT, and ANINT
Add GetUltimate() to ResolveAssociations(), fixing a UBOUND test case with use association
Fix folding of array-valued subscripts while I am in here
Original-commit: flang-compiler/f18 at f663d4fef4b4c561f99e8126ff3f1d5b8e868c84
Reviewed-on: https://github.com/flang-compiler/f18/pull/905
Commit: c3192a17ed88877cf740c4f272720e688a974f2e
https://github.com/llvm/llvm-project/commit/c3192a17ed88877cf740c4f272720e688a974f2e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-03 (Fri, 03 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#905 from flang-compiler/pmk-folding
Constant folding for ANINT, NINT, FLOOR, and CEILING intrinsic functions
Original-commit: flang-compiler/f18 at ccb3ae517be766436e1cd7bcdcbb06d494fe614b
Reviewed-on: https://github.com/flang-compiler/f18/pull/905
Commit: 582b932542482aa4dac488cc228673c5177385f7
https://github.com/llvm/llvm-project/commit/582b932542482aa4dac488cc228673c5177385f7
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2020-01-04 (Sat, 04 Jan 2020)
Changed paths:
M flang/lib/semantics/check-coarray.cc
M flang/lib/semantics/check-coarray.h
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/critical01.f90
A flang/test/semantics/critical02.f90
A flang/test/semantics/critical03.f90
A flang/test/semantics/critical04.f90
Log Message:
-----------
[flang] Semantic checks for critical construct
The commit includes the following,
-> The name field in DoConcurrent*Enforce classes are not used anymore.
Removing the field and its collection and retrieval from
DoConcurrentBodyEnforce and its usage in DoConcurrentLabelEnforce.
-> DoConcurrentLabelEnforce is useful for checking that there
are no branches escaping from other constructs also. For enabling
use in other constructs (like critical) moving this to tools.h
and renaming it as LabelEnforce.
-> Checks for the constraints.
-> Tests for the constaints.
Original-commit: flang-compiler/f18 at 4b7a007ff3d4a3e519c85e960fc262bb382f3af4
Reviewed-on: https://github.com/flang-compiler/f18/pull/897
Commit: 6099a1b17fe5a6b32a90d912d4d2ec30a053915d
https://github.com/llvm/llvm-project/commit/6099a1b17fe5a6b32a90d912d4d2ec30a053915d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-04 (Sat, 04 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#897 from kiranchandramohan/critical-3
Semantic Checks for critical construct
Original-commit: flang-compiler/f18 at b17ab7f7bda573d33d6ca554ef1e46144148cf57
Reviewed-on: https://github.com/flang-compiler/f18/pull/897
Commit: 01c3e4c9f0c056d10f13d79384ccac492ed3fbc3
https://github.com/llvm/llvm-project/commit/01c3e4c9f0c056d10f13d79384ccac492ed3fbc3
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-07 (Tue, 07 Jan 2020)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/common/default-kinds.cc
M flang/lib/common/default-kinds.h
M flang/lib/evaluate/intrinsics.cc
M flang/test/semantics/getdefinition01.f90
M flang/test/semantics/getdefinition02.f
M flang/test/semantics/getdefinition03-a.f90
M flang/test/semantics/getdefinition04.f90
M flang/test/semantics/getdefinition05.f90
M flang/test/semantics/getsymbols01.f90
M flang/test/semantics/getsymbols02-a.f90
M flang/test/semantics/getsymbols02-b.f90
M flang/test/semantics/getsymbols02-c.f90
M flang/test/semantics/getsymbols03-a.f90
M flang/test/semantics/getsymbols04.f90
M flang/test/semantics/getsymbols05.f90
M flang/test/semantics/label14.f90
M flang/test/semantics/modfile30.f90
M flang/test/semantics/modfile32.f90
M flang/test/semantics/modfile33.f90
M flang/tools/f18/CMakeLists.txt
M flang/tools/f18/f18.cc
M flang/tools/f18/flang.sh
Log Message:
-----------
[flang] enable semantic analysis by default
back out -Mnolargearray default temporarily
Fix C_F_POINTER(SHAPE=) argument check, it can be any kind of integer
Revert default result kind of SIZE() & al. to standard by default
Remove needless usage of -fdebug-semantics
Original-commit: flang-compiler/f18 at 57058a5b163eaa90c7e0f387ea4918f9efa8184c
Reviewed-on: https://github.com/flang-compiler/f18/pull/907
Commit: e546a20972c3551020757521bb0e875df7c35da8
https://github.com/llvm/llvm-project/commit/e546a20972c3551020757521bb0e875df7c35da8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-07 (Tue, 07 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#907 from flang-compiler/pmk-enable-semantics
Enable semantic analysis by default
Original-commit: flang-compiler/f18 at 26ab8745110bcd8909024bb02720cc0f23b9ed9b
Reviewed-on: https://github.com/flang-compiler/f18/pull/907
Commit: 91a2f0c75c3c054680d09cc1d7a4e898043a065f
https://github.com/llvm/llvm-project/commit/91a2f0c75c3c054680d09cc1d7a4e898043a065f
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-07 (Tue, 07 Jan 2020)
Changed paths:
M flang/lib/evaluate/character.h
M flang/lib/evaluate/fold-character.cc
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/fold-integer.cc
M flang/lib/evaluate/fold-real.cc
M flang/lib/evaluate/logical.h
M flang/test/evaluate/folding05.f90
M flang/test/semantics/c_f_pointer.f90
M flang/test/semantics/call08.f90
Log Message:
-----------
[flang] Implement folding of INDEX, SCAN, & VERIFY
Fold LEN_TRIM
Fold REPEAT
Fix gcc build warning
Fix two tests that had illegal pointers to coarrays
Original-commit: flang-compiler/f18 at 36769996fa9559b84dda59f3f9eceee9d2269e74
Reviewed-on: https://github.com/flang-compiler/f18/pull/910
Commit: 7ae9cf95358fda3996505c3197de3a2bcbc3b3ea
https://github.com/llvm/llvm-project/commit/7ae9cf95358fda3996505c3197de3a2bcbc3b3ea
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-07 (Tue, 07 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#910 from flang-compiler/pmk-fold-more
Fold more intrinsic functions
Original-commit: flang-compiler/f18 at 4f737d4cf684fe84abaa3b44c70187f1f8b53072
Reviewed-on: https://github.com/flang-compiler/f18/pull/910
Commit: d267f20a0742bfdac248280c2ea33eb999183674
https://github.com/llvm/llvm-project/commit/d267f20a0742bfdac248280c2ea33eb999183674
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-08 (Wed, 08 Jan 2020)
Changed paths:
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/character.h
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/fold-character.cc
M flang/lib/evaluate/fold-logical.cc
M flang/lib/evaluate/intrinsics.cc
M flang/test/evaluate/CMakeLists.txt
M flang/test/evaluate/folding05.f90
A flang/test/evaluate/folding09.f90
M flang/test/semantics/modfile32.f90
Log Message:
-----------
[flang] Fold TRIM
Accept IS_CONTIGUOUS and fold it
test folding is_contiguous
Original-commit: flang-compiler/f18 at c75a0791b14811477572c6a82a961071ed82c01e
Reviewed-on: https://github.com/flang-compiler/f18/pull/911
Commit: 866ab0783726ed54efd0ae5ca2dacb0aa83cf29f
https://github.com/llvm/llvm-project/commit/866ab0783726ed54efd0ae5ca2dacb0aa83cf29f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-08 (Wed, 08 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#911 from flang-compiler/pmk-fold-trim
Fold TRIM and (new intrinsic) IS_CONTIGUOUS
Original-commit: flang-compiler/f18 at 2c6480a62dfb75884373a4fb8b00eadb2d09adf9
Reviewed-on: https://github.com/flang-compiler/f18/pull/911
Commit: e6ab4a786940431434a02f19188adb7883407baf
https://github.com/llvm/llvm-project/commit/e6ab4a786940431434a02f19188adb7883407baf
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
M flang/documentation/Extensions.md
Log Message:
-----------
[flang] Address complaints in bug flang-compiler/f18#912
Original-commit: flang-compiler/f18 at 829f5647d67131af57dcb84b0ed2d63a5324900d
Reviewed-on: https://github.com/flang-compiler/f18/pull/917
Commit: 9744328fed40b2cd7017f3ec5a951a6cd8c35c4b
https://github.com/llvm/llvm-project/commit/9744328fed40b2cd7017f3ec5a951a6cd8c35c4b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#917 from flang-compiler/pmk-fix-912
Address complaints in bug flang-compiler/f18#912
Original-commit: flang-compiler/f18 at 66025c14e432ee3f2ceab9ad5176bd1c64cd147c
Reviewed-on: https://github.com/flang-compiler/f18/pull/917
Commit: aeb07fbea6de56a96f5fc4443baea62d798c714f
https://github.com/llvm/llvm-project/commit/aeb07fbea6de56a96f5fc4443baea62d798c714f
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
M flang/lib/common/format.h
M flang/runtime/CMakeLists.txt
A flang/runtime/c-or-cpp.h
A flang/runtime/main.cc
A flang/runtime/main.h
A flang/runtime/stop.cc
A flang/runtime/stop.h
A flang/runtime/terminator.cc
A flang/runtime/terminator.h
Log Message:
-----------
[flang] Runtime starting and stopping
Define ImageTerminator as a mixin-able class
Turn start.cc into main.cc
Original-commit: flang-compiler/f18 at cbc6225213075a0bdd778fd25721aa8388908e07
Reviewed-on: https://github.com/flang-compiler/f18/pull/914
Commit: 1c21916785af908a60a04ca8634ce38d79b49e16
https://github.com/llvm/llvm-project/commit/1c21916785af908a60a04ca8634ce38d79b49e16
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#914 from flang-compiler/pmk-runtime-1
Start, stop, and error routines for runtime
Original-commit: flang-compiler/f18 at 42ff2d005242d71f80a9460c00cbcec3e8323971
Reviewed-on: https://github.com/flang-compiler/f18/pull/914
Commit: 9e6d1a7892123b4334ff42ad2919ee76a01a6e98
https://github.com/llvm/llvm-project/commit/9e6d1a7892123b4334ff42ad2919ee76a01a6e98
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
M flang/runtime/main.cc
M flang/runtime/stop.cc
Log Message:
-----------
[flang] Dodge build problem in some Power environments
Original-commit: flang-compiler/f18 at f24abf19c4aac3869459cd0984473ea3b5232d12
Reviewed-on: https://github.com/flang-compiler/f18/pull/919
Commit: fd2896e20a790d589f3f7695c3ad4ef04bb0e2b6
https://github.com/llvm/llvm-project/commit/fd2896e20a790d589f3f7695c3ad4ef04bb0e2b6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#919 from flang-compiler/pmk-fix-power-build
Dodge build problem in some Power environments
Original-commit: flang-compiler/f18 at 5b7f08abd79d3c59723dad6e8de0568c834479e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/919
Commit: cea1040d51e2f30f70dd53375101d28ccff9a06f
https://github.com/llvm/llvm-project/commit/cea1040d51e2f30f70dd53375101d28ccff9a06f
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
M flang/CMakeLists.txt
M flang/documentation/OpenMP-4.5-grammar.txt
M flang/documentation/f2018-grammar.txt
M flang/documentation/flang-c-style.el
M flang/include/flang/CMakeLists.txt
M flang/include/flang/Config/config.h.cmake
M flang/include/flang/ISO_Fortran_binding.h
M flang/lib/CMakeLists.txt
M flang/lib/common/CMakeLists.txt
M flang/lib/common/Fortran-features.cc
M flang/lib/common/Fortran-features.h
M flang/lib/common/Fortran.cc
M flang/lib/common/Fortran.h
M flang/lib/common/bit-population-count.h
M flang/lib/common/constexpr-bitset.h
M flang/lib/common/default-kinds.cc
M flang/lib/common/default-kinds.h
M flang/lib/common/enum-set.h
M flang/lib/common/format.h
M flang/lib/common/idioms.cc
M flang/lib/common/idioms.h
M flang/lib/common/indirection.h
M flang/lib/common/interval.h
M flang/lib/common/leading-zero-bit-count.h
M flang/lib/common/reference-counted.h
M flang/lib/common/reference.h
M flang/lib/common/restorer.h
M flang/lib/common/template.h
M flang/lib/common/uint128.h
M flang/lib/common/unsigned-const-division.h
M flang/lib/common/unwrap.h
M flang/lib/decimal/CMakeLists.txt
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
M flang/lib/decimal/decimal.h
M flang/lib/evaluate/CMakeLists.txt
M flang/lib/evaluate/call.cc
M flang/lib/evaluate/call.h
M flang/lib/evaluate/character.h
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/check-expression.cc
M flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/common.cc
M flang/lib/evaluate/common.h
M flang/lib/evaluate/complex.cc
M flang/lib/evaluate/complex.h
M flang/lib/evaluate/constant.cc
M flang/lib/evaluate/constant.h
M flang/lib/evaluate/expression.cc
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/fold-character.cc
M flang/lib/evaluate/fold-complex.cc
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/fold-integer.cc
M flang/lib/evaluate/fold-logical.cc
M flang/lib/evaluate/fold-real.cc
M flang/lib/evaluate/fold.cc
M flang/lib/evaluate/fold.h
M flang/lib/evaluate/formatting.cc
M flang/lib/evaluate/formatting.h
M flang/lib/evaluate/host.cc
M flang/lib/evaluate/host.h
M flang/lib/evaluate/int-power.h
M flang/lib/evaluate/integer.cc
M flang/lib/evaluate/integer.h
M flang/lib/evaluate/intrinsics-library-templates.h
M flang/lib/evaluate/intrinsics-library.cc
M flang/lib/evaluate/intrinsics-library.h
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/intrinsics.h
M flang/lib/evaluate/logical.cc
M flang/lib/evaluate/logical.h
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/real.h
M flang/lib/evaluate/rounding-bits.h
M flang/lib/evaluate/shape.cc
M flang/lib/evaluate/shape.h
M flang/lib/evaluate/static-data.cc
M flang/lib/evaluate/static-data.h
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/tools.h
M flang/lib/evaluate/traverse.h
M flang/lib/evaluate/type.cc
M flang/lib/evaluate/type.h
M flang/lib/evaluate/variable.cc
M flang/lib/evaluate/variable.h
M flang/lib/parser/CMakeLists.txt
M flang/lib/parser/Fortran-parsers.cc
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/char-block.h
M flang/lib/parser/char-buffer.cc
M flang/lib/parser/char-buffer.h
M flang/lib/parser/char-set.cc
M flang/lib/parser/char-set.h
M flang/lib/parser/characters.cc
M flang/lib/parser/characters.h
M flang/lib/parser/debug-parser.cc
M flang/lib/parser/debug-parser.h
M flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/executable-parsers.cc
M flang/lib/parser/expr-parsers.cc
M flang/lib/parser/expr-parsers.h
M flang/lib/parser/format-specification.h
M flang/lib/parser/instrumented-parser.cc
M flang/lib/parser/instrumented-parser.h
M flang/lib/parser/io-parsers.cc
M flang/lib/parser/message.cc
M flang/lib/parser/message.h
M flang/lib/parser/misc-parsers.h
M flang/lib/parser/openmp-parsers.cc
M flang/lib/parser/parse-state.h
M flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.cc
M flang/lib/parser/parse-tree.h
M flang/lib/parser/parsing.cc
M flang/lib/parser/parsing.h
M flang/lib/parser/preprocessor.cc
M flang/lib/parser/preprocessor.h
M flang/lib/parser/prescan.cc
M flang/lib/parser/prescan.h
M flang/lib/parser/program-parsers.cc
M flang/lib/parser/provenance.cc
M flang/lib/parser/provenance.h
M flang/lib/parser/source.cc
M flang/lib/parser/source.h
M flang/lib/parser/stmt-parser.h
M flang/lib/parser/token-parsers.h
M flang/lib/parser/token-sequence.cc
M flang/lib/parser/token-sequence.h
M flang/lib/parser/tools.cc
M flang/lib/parser/tools.h
M flang/lib/parser/type-parser-implementation.h
M flang/lib/parser/type-parsers.h
M flang/lib/parser/unparse.cc
M flang/lib/parser/unparse.h
M flang/lib/parser/user-state.cc
M flang/lib/parser/user-state.h
M flang/lib/semantics/CMakeLists.txt
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/attr.cc
M flang/lib/semantics/attr.h
M flang/lib/semantics/canonicalize-do.cc
M flang/lib/semantics/canonicalize-do.h
M flang/lib/semantics/canonicalize-omp.cc
M flang/lib/semantics/canonicalize-omp.h
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-allocate.h
M flang/lib/semantics/check-arithmeticif.cc
M flang/lib/semantics/check-arithmeticif.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/check-coarray.cc
M flang/lib/semantics/check-coarray.h
M flang/lib/semantics/check-deallocate.cc
M flang/lib/semantics/check-deallocate.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-declarations.h
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/check-if-stmt.cc
M flang/lib/semantics/check-if-stmt.h
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-io.h
M flang/lib/semantics/check-nullify.cc
M flang/lib/semantics/check-nullify.h
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/lib/semantics/check-purity.cc
M flang/lib/semantics/check-purity.h
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/check-return.h
M flang/lib/semantics/check-stop.cc
M flang/lib/semantics/check-stop.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/mod-file.h
M flang/lib/semantics/program-tree.cc
M flang/lib/semantics/program-tree.h
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-labels.h
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names-utils.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/resolve-names.h
M flang/lib/semantics/rewrite-parse-tree.cc
M flang/lib/semantics/rewrite-parse-tree.h
M flang/lib/semantics/scope.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/semantics.cc
M flang/lib/semantics/semantics.h
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/lib/semantics/unparse-with-symbols.cc
M flang/lib/semantics/unparse-with-symbols.h
M flang/module/__fortran_builtins.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/ieee_features.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/module/omp_lib.f90
M flang/module/omp_lib.h
M flang/runtime/CMakeLists.txt
M flang/runtime/ISO_Fortran_binding.cc
M flang/runtime/c-or-cpp.h
M flang/runtime/derived-type.cc
M flang/runtime/derived-type.h
M flang/runtime/descriptor.cc
M flang/runtime/descriptor.h
M flang/runtime/entry-names.h
M flang/runtime/io-api.h
M flang/runtime/main.cc
M flang/runtime/main.h
M flang/runtime/stop.cc
M flang/runtime/stop.h
M flang/runtime/terminator.cc
M flang/runtime/terminator.h
M flang/runtime/transformational.cc
M flang/runtime/transformational.h
M flang/runtime/type-code.cc
M flang/runtime/type-code.h
M flang/test/CMakeLists.txt
M flang/test/decimal/CMakeLists.txt
M flang/test/evaluate/CMakeLists.txt
M flang/test/semantics/CMakeLists.txt
M flang/tools/CMakeLists.txt
M flang/tools/f18/CMakeLists.txt
M flang/tools/f18/dump.cc
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
M flang/tools/f18/flang.sh
M flang/tools/f18/stub-evaluate.cc
Log Message:
-----------
[flang] Minor format change to LLVM license lines
Replace comment lines containing all dashes with the
proper ===-----....----=== markers.
Original-commit: flang-compiler/f18 at a8936b0d4187a9a9ef43f9d34055a3213beeb9d2
Reviewed-on: https://github.com/flang-compiler/f18/pull/922
Commit: b37ba4d3e315bc5dd126fab97d4d49289a145dc5
https://github.com/llvm/llvm-project/commit/b37ba4d3e315bc5dd126fab97d4d49289a145dc5
Author: Gary Klimowicz <gklimowicz at pobox.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#922 from flang-compiler/gak-fix-comments
Minor format change to LLVM license lines
Original-commit: flang-compiler/f18 at 9c7406324dc3768886ec8d2baf92b0d9395291be
Reviewed-on: https://github.com/flang-compiler/f18/pull/922
Commit: 1243a0d1751cc44a8f20663dc056a1c0ff3fe20e
https://github.com/llvm/llvm-project/commit/1243a0d1751cc44a8f20663dc056a1c0ff3fe20e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
M flang/lib/semantics/expression.cc
M flang/lib/semantics/expression.h
M flang/test/semantics/call13.f90
Log Message:
-----------
[flang] Detect incorrect use of assumed-type dummy arguments
Assumed-type dummy arguments can only be used as actual arguments. If
they are used in other contexts it is an error. Change argument analysis
to handle these differently depending on the context. `allowAssumedType`
is set when the argument can be assumed-type. These expressions now all
get `typedExpr` set to `nullopt`.
Change `AnalyzeSectionSubscripts` to analyze all of the subscripts
even if one has an error. This ensures they all get analyzed expressions
(or `nullopt` in case of error).
Fix a bug analyzing `BoundsRemapping`: the lower bound was analyzed
twice and the upper bound not at all.
These change mean that `typedExpr` is set in all known cases.
Fixes flang-compiler/f18#915.
Original-commit: flang-compiler/f18 at 679ef69905e39f39454768264059afd85b615840
Reviewed-on: https://github.com/flang-compiler/f18/pull/923
Commit: 30088b77d9cf657f97a92e6dcfec1baeb7492bb3
https://github.com/llvm/llvm-project/commit/30088b77d9cf657f97a92e6dcfec1baeb7492bb3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#923 from flang-compiler/tsk-expr2
Detect incorrect use of assumed-type dummy arguments
Original-commit: flang-compiler/f18 at b29f284325f95efbba2b9da35282b2e066f65446
Reviewed-on: https://github.com/flang-compiler/f18/pull/923
Commit: ec45bc26d30a0a548a4df28ed45a2d6060aef17e
https://github.com/llvm/llvm-project/commit/ec45bc26d30a0a548a4df28ed45a2d6060aef17e
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/test/semantics/dosemantics12.f90
Log Message:
-----------
[flang] Checks for DO variables passed to INTENT(OUT) dummies in functions
I added a traveral framework to find actual arguments in expressions.
For arguments that are DO variables being passed to dummy arguments with
INTENT(OUT), I emit an error message. For INTENT(INOUT), I emit a
warning.
Original-commit: flang-compiler/f18 at 815dbed75c2cae778b4a65022a9c1f6ad4cf3d47
Reviewed-on: https://github.com/flang-compiler/f18/pull/918
Commit: 6e9673e91e880a10f0bfd1ca983a9de8366bd4e2
https://github.com/llvm/llvm-project/commit/6e9673e91e880a10f0bfd1ca983a9de8366bd4e2
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-01-10 (Fri, 10 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#918 from flang-compiler/ps-do-func
Checks for DO variables passed to INTENT(OUT) dummies in functions
Original-commit: flang-compiler/f18 at ab8fd34a718ca93d6e621b8818cfa6c2e1e948bf
Reviewed-on: https://github.com/flang-compiler/f18/pull/918
Commit: 5f7a9504aee62476117cc9f8c25083f518ff18b6
https://github.com/llvm/llvm-project/commit/5f7a9504aee62476117cc9f8c25083f518ff18b6
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-01-12 (Sun, 12 Jan 2020)
Changed paths:
M flang/lib/semantics/check-do.cc
Log Message:
-----------
[flang] Removed an unnecessary check after Tim fixed issue flang-compiler/f18#915.
Original-commit: flang-compiler/f18 at 348b04bc1c313d5d18ebb133441967547d4c7d6d
Reviewed-on: https://github.com/flang-compiler/f18/pull/924
Commit: d731aeffacebc37aa5b50743e1ae0eaee8492704
https://github.com/llvm/llvm-project/commit/d731aeffacebc37aa5b50743e1ae0eaee8492704
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-01-12 (Sun, 12 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#924 from flang-compiler/ps-cleanup-do-check
Removed an unnecessary check after Tim fixed issue flang-compiler/f18#915.
Original-commit: flang-compiler/f18 at 538a6dd5e27e3a159b84cd167f46bbbf656c8cfe
Reviewed-on: https://github.com/flang-compiler/f18/pull/924
Commit: 05bdb54a490a3a88d3ca90e8ba8e67492c2f6648
https://github.com/llvm/llvm-project/commit/05bdb54a490a3a88d3ca90e8ba8e67492c2f6648
Author: David Truby <david.truby at arm.com>
Date: 2020-01-13 (Mon, 13 Jan 2020)
Changed paths:
M flang/lib/parser/CMakeLists.txt
A flang/lib/parser/char-block.cc
M flang/lib/parser/char-block.h
Log Message:
-----------
[flang] Outline operator<< for CharBlock. (flang-compiler/f18#916)
This fixes an issue where the Dump function definitions in dump.cc
were relying on the forward declaration of operator<< for CharBlock
which was marked inline and only present in char-block.h.
This is not allowed under section 6.2.10 of the C++17 standard, and
caused a compilation failure when building with clang 9 as this was
inlining every use of the function and therefore not generating an
outlined definition for linking.
Original-commit: flang-compiler/f18 at 3ad75d123b666a5081540f2afedbedde930b2518
Reviewed-on: https://github.com/flang-compiler/f18/pull/916
Commit: 0d9dd49ed4d5d0e4273664adf11fb5d53a6fcd22
https://github.com/llvm/llvm-project/commit/0d9dd49ed4d5d0e4273664adf11fb5d53a6fcd22
Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/CMakeLists.txt
M flang/README.md
A flang/test-lit/CMakeLists.txt
A flang/test-lit/driver/version_test.f90
A flang/test-lit/lit.cfg.py
A flang/test-lit/lit.site.cfg.py.in
Log Message:
-----------
[flang] Regression tests configuration for f18 repository (flang-compiler/f18#861)
The configuration for the tests are in lit.* files.
The lit tests rely on the presence of llvm-lit,FileCheck, not and count.
When building LLVM add:
-DLLVM_INSTALL_UTILS=On at the cmake command.
LLVM_LIT is found by setting LLVM_EXTERNAL_LIT in f18 CMakeLists.txt.
This patch:
* Uses LLVM_EXTERNAL_LIT
* Adds regression tests configurations
* Adds a proof of concept regression test
The regression test needs to have the Utils build in LLVM.
This is done by adding:
-DLLVM_INSTALL_UTILS=On
to the LLVM build cmake.
Signed-off-by: Caroline Concatto <caroline.concatto at arm.com>
Original-commit: flang-compiler/f18 at a58c6067a1ab5cd02dfb5b6fb9919a20b960d984
Reviewed-on: https://github.com/flang-compiler/f18/pull/861
Commit: 1fe6297cab71904df8ac7fa22347abda2f59bf1a
https://github.com/llvm/llvm-project/commit/1fe6297cab71904df8ac7fa22347abda2f59bf1a
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/evaluate/intrinsics.cc
Log Message:
-----------
[flang] Fix bug flang-compiler/f18#931: spurious error reported on CSHIFT
Original-commit: flang-compiler/f18 at bd9bd788652975ac11a24fd5d10197be80c78603
Reviewed-on: https://github.com/flang-compiler/f18/pull/932
Commit: 605d79eaeb3d78ae373d29a4c03408d9e47294d7
https://github.com/llvm/llvm-project/commit/605d79eaeb3d78ae373d29a4c03408d9e47294d7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#932 from flang-compiler/pmk-fix-931
Fix bug flang-compiler/f18#931: spurious error reported on CSHIFT
Original-commit: flang-compiler/f18 at 6adae0b7f4196e54b874c4d0aca93c5cb2d01bd7
Reviewed-on: https://github.com/flang-compiler/f18/pull/932
Commit: 889c81eae79f7ecca49ca0381f13785a33b85c84
https://github.com/llvm/llvm-project/commit/889c81eae79f7ecca49ca0381f13785a33b85c84
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve58.f90
M flang/test/semantics/resolve61.f90
Log Message:
-----------
[flang] Move checks for valid array-spec to check-declarations.cc
At the time we finish processing an array-spec in `resolve-names.cc`,
we don't know if the entity is going to be declared ALLOCATABLE later
so we can't check for validity there. In the new test in `resolve58.f90`
(based on issue flang-compiler/f18#930) we were reporting an error on `b` and not on `a`
when it should be the reverse.
The fix is to move array-spec checking to `check-declarations.cc`,
after name resolution is complete.
Fixes flang-compiler/f18#930.
Original-commit: flang-compiler/f18 at c596d2fef7628236676c1939659f4eb956e4df35
Reviewed-on: https://github.com/flang-compiler/f18/pull/933
Commit: 18e37a7adfa083f7823b8e7e837ba6419bafe87d
https://github.com/llvm/llvm-project/commit/18e37a7adfa083f7823b8e7e837ba6419bafe87d
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#933 from flang-compiler/tsk-issues
Move checks for valid array-spec to check-declarations.cc
Original-commit: flang-compiler/f18 at 7cf6f6137d93a6faca40a835cdabaecebe02d219
Reviewed-on: https://github.com/flang-compiler/f18/pull/933
Commit: ce3d838bc6cdf14ef86ac0f4040c371687301553
https://github.com/llvm/llvm-project/commit/ce3d838bc6cdf14ef86ac0f4040c371687301553
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
Log Message:
-----------
[flang] Clean up AssignmentContext
Eliminate `at_` and use location from `SemanticsContext` instead.
Add and use Analyze functions for `std::optional` and `std::list`.
Original-commit: flang-compiler/f18 at e171029ccdb9efe874cad3a3d91adcfa200a6550
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Tree-same-pre-rewrite: false
Commit: c42a22091fd4851a46623311e0ba85162488cd63
https://github.com/llvm/llvm-project/commit/c42a22091fd4851a46623311e0ba85162488cd63
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/CMakeLists.txt
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/expression.cc
A flang/lib/semantics/pointer-assignment.cc
A flang/lib/semantics/pointer-assignment.h
Log Message:
-----------
[flang] Move pointer assignment checking to its own file
Create `pointer-assignment.{h,cc}` for pointer assignment checking.
It doesn't share with assignment checking so it should be its own file.
Move the code into semantics namespace.
Original-commit: flang-compiler/f18 at 1658aba81f24fe3913298e76ae8b9c938bd4d248
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Tree-same-pre-rewrite: false
Commit: 355ab9bb82591dfebebfb2cb13bae113923b9189
https://github.com/llvm/llvm-project/commit/355ab9bb82591dfebebfb2cb13bae113923b9189
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/evaluate/formatting.cc
M flang/test/evaluate/expression.cc
M flang/test/semantics/modfile18.f90
M flang/test/semantics/modfile25.f90
M flang/test/semantics/modfile26.f90
M flang/test/semantics/modfile27.f90
M flang/test/semantics/modfile31.f90
M flang/test/semantics/null01.f90
M flang/test/semantics/resolve56.f90
M flang/test/semantics/structconst02.f90
Log Message:
-----------
[flang] Make Fortran form of intrinsic types uppercase
`DynamicType::AsFortran` was using mixed case for intrinic type names.
Make it upper case for consistency with TYPE(...) and CHARACTER when a
length is present and other error messages.
Original-commit: flang-compiler/f18 at e16909d67f16425b267511e5fe33f2ff72f69ee9
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Tree-same-pre-rewrite: false
Commit: a5db74b614db7fbb47ea13f1cd1095cad6f8ef89
https://github.com/llvm/llvm-project/commit/a5db74b614db7fbb47ea13f1cd1095cad6f8ef89
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/intrinsics.cc
M flang/lib/evaluate/intrinsics.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/resolve-names.cc
M flang/test/semantics/resolve46.f90
Log Message:
-----------
[flang] Add IntrinsicProcTable::IsSpecificIntrinsicFunction
This replaces IsUnrestrictedSpecificIntrinsicFunction and returns
information that allows the caller to distinguish between restricted
and unrestricted intrinsics.
The new case in `resolve46.f90` used to get an internal error.
Original-commit: flang-compiler/f18 at 4cb1ee10b90bbc5e3c4899ab136fad4d1e841195
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Tree-same-pre-rewrite: false
Commit: cfedf1dac9810483e3797b938b1c291f021865da
https://github.com/llvm/llvm-project/commit/cfedf1dac9810483e3797b938b1c291f021865da
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/evaluate/tools.h
M flang/lib/semantics/assignment.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/assign03.f90
Log Message:
-----------
[flang] C1027: procedure pointer may not be coindexed object
Original-commit: flang-compiler/f18 at 4261daf352edefabee5c97f0ed0da09280240a86
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Tree-same-pre-rewrite: false
Commit: cb378080580b5039a0b9072d99fc06eb71d08635
https://github.com/llvm/llvm-project/commit/cb378080580b5039a0b9072d99fc06eb71d08635
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/expression.cc
M flang/lib/semantics/pointer-assignment.cc
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/assign02.f90
M flang/test/semantics/assign03.f90
M flang/test/semantics/call09.f90
M flang/test/semantics/procinterface01.f90
M flang/test/semantics/resolve46.f90
M flang/test/semantics/symbol17.f90
Log Message:
-----------
[flang] Pointer assignment semantic checks
Call `CheckPointerAssignment()` when analyzing a pointer assignment
statement. NOTE: the cases with bounds-spec and bounds-remapping are
still to be done.
Perform checks on pointer symbols in `check-declarations.cc`.
Check for pointer to generic intrinsic in `semantics/expression.cc`.
Add the other required pointer assignment checks to `pointer-assignment.cc`.
Original-commit: flang-compiler/f18 at 3dc5fd6d9e58d1ef0efd1deefcbaa52499ad93f9
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Commit: b4eade7f88d69a1b8ce223fcf51e3cc211e4d6e0
https://github.com/llvm/llvm-project/commit/b4eade7f88d69a1b8ce223fcf51e3cc211e4d6e0
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#928 from flang-compiler/tsk-assignment3
Pointer assignment semantic checks
Original-commit: flang-compiler/f18 at fc600af81e1a5c75d4f619bed3feb6194117b54d
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
Commit: 15c89acb18c06f8193fc66c7e5a1577c1cbaf275
https://github.com/llvm/llvm-project/commit/15c89acb18c06f8193fc66c7e5a1577c1cbaf275
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-13 (Mon, 13 Jan 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/program-tree.cc
M flang/lib/semantics/program-tree.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/scope.h
M flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/lib/semantics/type.cc
M flang/lib/semantics/type.h
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/block-data01.f90
Log Message:
-----------
[flang] BLOCK DATA
add test
Original-commit: flang-compiler/f18 at 91c084b698b0617da5d7592a5b1830adc5c5d84e
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: efa2ec7670b5eb0782ebb6e087c9a9da05ebabe7
https://github.com/llvm/llvm-project/commit/efa2ec7670b5eb0782ebb6e087c9a9da05ebabe7
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-13 (Mon, 13 Jan 2020)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/evaluate/check-expression.cc
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.h
M flang/test/semantics/block-data01.f90
Log Message:
-----------
[flang] Address review comments
Original-commit: flang-compiler/f18 at 59e5565cb87eebd2c4f44defd22484ca83777942
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: c2bdc144c511161673bb6eebb021fd898f94ab10
https://github.com/llvm/llvm-project/commit/c2bdc144c511161673bb6eebb021fd898f94ab10
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-13 (Mon, 13 Jan 2020)
Changed paths:
M flang/documentation/Extensions.md
M flang/lib/common/Fortran-features.h
M flang/lib/semantics/check-return.cc
M flang/test/semantics/CMakeLists.txt
Log Message:
-----------
[flang] More comments addressed
Original-commit: flang-compiler/f18 at 9c863a572b39beca7f1f3e86edb239e6d3b72d4f
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: 7010fff8de0cc9de7de5ae2ea1690eab2a198b90
https://github.com/llvm/llvm-project/commit/7010fff8de0cc9de7de5ae2ea1690eab2a198b90
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-13 (Mon, 13 Jan 2020)
Changed paths:
M flang/lib/semantics/resolve-names.cc
Log Message:
-----------
[flang] Fix bug
Original-commit: flang-compiler/f18 at 662b8139b5d17b39222b2d297114606e86fa83d7
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: b07a4b24741ceb326e3add903e1c36d40adc07e4
https://github.com/llvm/llvm-project/commit/b07a4b24741ceb326e3add903e1c36d40adc07e4
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/symbol.h
M flang/runtime/CMakeLists.txt
M flang/test/semantics/block-data01.f90
M flang/test/semantics/symbol09.f90
Log Message:
-----------
[flang] Better check for variables in DATA
Original-commit: flang-compiler/f18 at 92e20baaa89fd20cd724bb4414e84670843cc442
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: c1a710d7721f423831471f874e0194230681a3ae
https://github.com/llvm/llvm-project/commit/c1a710d7721f423831471f874e0194230681a3ae
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cc
A flang/test/semantics/altreturn05.f90
Log Message:
-----------
[flang] Address review comments
Original-commit: flang-compiler/f18 at d179c796bd7271916c52d8478e60a88bff809564
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: 26481ef2bbb7e3eb1aa225cc04792a4afa059538
https://github.com/llvm/llvm-project/commit/26481ef2bbb7e3eb1aa225cc04792a4afa059538
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/test/semantics/symbol09.f90
Log Message:
-----------
[flang] Update a test
Original-commit: flang-compiler/f18 at 5f32183eed19560a57a68ae9fd0eec72d18c7a40
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: 294cae1bcd297970a5e9d0d1c8667bc4ff048e6c
https://github.com/llvm/llvm-project/commit/294cae1bcd297970a5e9d0d1c8667bc4ff048e6c
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/main.cc
M flang/runtime/main.h
Log Message:
-----------
[flang] Fix unrelated build error found in testing
Original-commit: flang-compiler/f18 at 5a00d77827feda979f2b11a33a22b7c7b05e824a
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: a3f4eedea750c3d7b322f47306ad4960e9b4a2be
https://github.com/llvm/llvm-project/commit/a3f4eedea750c3d7b322f47306ad4960e9b4a2be
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
Log Message:
-----------
[flang] Better fix; clean up redundant utilities
Original-commit: flang-compiler/f18 at 531db4932155f53f14805b8a6617e31803ab6435
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: 210992e5268d54fa7cbdb1ca61472e7c414289a4
https://github.com/llvm/llvm-project/commit/210992e5268d54fa7cbdb1ca61472e7c414289a4
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cc
M flang/test/semantics/block-data01.f90
Log Message:
-----------
[flang] Better EQUIVALENCE handling
Original-commit: flang-compiler/f18 at 7c55097e81c9ab76953c1c652128bc9b969e6a33
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false
Commit: 68f021b8ac2ba64e68c816fb9d6fc56fac389414
https://github.com/llvm/llvm-project/commit/68f021b8ac2ba64e68c816fb9d6fc56fac389414
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-14 (Tue, 14 Jan 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cc
Log Message:
-----------
[flang] Comments
Original-commit: flang-compiler/f18 at 0c12188e8437abf820381fea787c625eda7e2d1f
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Commit: 2236f2bb7e4a853c78291d90da6fae5a1e3c5936
https://github.com/llvm/llvm-project/commit/2236f2bb7e4a853c78291d90da6fae5a1e3c5936
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#926 from flang-compiler/pmk-bd
BLOCK DATA semantics
Original-commit: flang-compiler/f18 at 4954b95527a48d5242731c91a7181a001bf64283
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Commit: c3df14c30a2f04f17985dd1861d5e689340e00c2
https://github.com/llvm/llvm-project/commit/c3df14c30a2f04f17985dd1861d5e689340e00c2
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M flang/lib/common/Fortran.h
M flang/lib/evaluate/common.h
M flang/lib/evaluate/fold-integer.cc
M flang/lib/evaluate/fold-real.cc
M flang/lib/evaluate/host.cc
M flang/lib/evaluate/real.cc
M flang/lib/evaluate/real.h
M flang/lib/evaluate/rounding-bits.h
M flang/runtime/CMakeLists.txt
A flang/runtime/format.cc
A flang/runtime/format.h
M flang/runtime/stop.cc
M flang/test/CMakeLists.txt
M flang/test/evaluate/fp-testing.cc
M flang/test/evaluate/fp-testing.h
A flang/test/runtime/CMakeLists.txt
A flang/test/runtime/format.cc
Log Message:
-----------
[flang] begin processing format strings
Move RoundingMode to Fortran.h
Always skip blanks outside character literals & Hollerith
Templatize
optimize repeat counts somewhat
Fix license punctuation, remove patch
Original-commit: flang-compiler/f18 at 4a0d39b0398974ade4367a5a96e11a90e853c18c
Reviewed-on: https://github.com/flang-compiler/f18/pull/927
Commit: f4e8eb5d4137bc434af5141e6981ad5c1a44609c
https://github.com/llvm/llvm-project/commit/f4e8eb5d4137bc434af5141e6981ad5c1a44609c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#927 from flang-compiler/pmk-format
Runtime FORMAT scanning
Original-commit: flang-compiler/f18 at 538d4a1dea9d2301fe36b13d1b248fde5c010f83
Reviewed-on: https://github.com/flang-compiler/f18/pull/927
Commit: 628a35907168e3c70c2835322b3a919b902f3850
https://github.com/llvm/llvm-project/commit/628a35907168e3c70c2835322b3a919b902f3850
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/lib/semantics/pointer-assignment.cc
M flang/test/semantics/assign02.f90
Log Message:
-----------
[flang] Fix checking of pointer target with association
When checking if the target of a pointer assignment is valid, we
weren't following associations. E.g. we complained about the assignment
below if `b` had the TARGET attribute but `c` did not:
```
associate(a => b%c)
p => a
end associate
```
The fix is to change `GetSymbolVector()` to follow associations in
creating the chain of symbols from a designator.
Add tests for this, and also some other cases where TARGET is on the
derived type variable rather than the component (which worked but didn't
have tests).
Original-commit: flang-compiler/f18 at c81c6baedd41d6ca2d36c81ca745a144c02be369
Reviewed-on: https://github.com/flang-compiler/f18/pull/937
Commit: 2b5eb76cd21ced510f029d02c3fc662b6ed63780
https://github.com/llvm/llvm-project/commit/2b5eb76cd21ced510f029d02c3fc662b6ed63780
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#937 from flang-compiler/tsk-pointer
Fix checking of pointer target with association
Original-commit: flang-compiler/f18 at 6b3dc6d5ece54c2d051bec5bf01c0c7c8532819f
Reviewed-on: https://github.com/flang-compiler/f18/pull/937
Commit: ee60c9a5538462772e774697e7a90d77c07fbdba
https://github.com/llvm/llvm-project/commit/ee60c9a5538462772e774697e7a90d77c07fbdba
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/characteristics.h
M flang/lib/semantics/pointer-assignment.cc
Log Message:
-----------
[flang] Fix shape analysis of RHS designators of pointer assignments
Original-commit: flang-compiler/f18 at bf26a36ef4255188b294a73bdc138dfba52cf5d3
Reviewed-on: https://github.com/flang-compiler/f18/pull/938
Commit: 8fdcd7f430d2ff12c38ccc34052394786e7305f3
https://github.com/llvm/llvm-project/commit/8fdcd7f430d2ff12c38ccc34052394786e7305f3
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#938 from flang-compiler/pmk-fix-rank
Fix shape analysis of RHS designators of pointer assignments
Original-commit: flang-compiler/f18 at 0423347d69e4422e080a59dfec00c850bf1ddcc2
Reviewed-on: https://github.com/flang-compiler/f18/pull/938
Commit: fa10045bd757a607d0a10a6ecb3401b70f7f7a95
https://github.com/llvm/llvm-project/commit/fa10045bd757a607d0a10a6ecb3401b70f7f7a95
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
A flang/documentation/PullRequestChecklist.md
Log Message:
-----------
[flang] Checklist to precede pull requests
I added a checklist to the C++ Style document for things to check before
submitting a pull request or when responding to a request for comments
on a pull request.
Original-commit: flang-compiler/f18 at 903420268a5aabbab9acdf8788b4344c395ee597
Reviewed-on: https://github.com/flang-compiler/f18/pull/936
Commit: 44e14338558413c105b25d475ff2836ae08d3af1
https://github.com/llvm/llvm-project/commit/44e14338558413c105b25d475ff2836ae08d3af1
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#936 from flang-compiler/ps-checklist
Checklist to precede pull requests
Original-commit: flang-compiler/f18 at b1e67c4a40d8cdd0a8f7429ad1780e25798e0136
Reviewed-on: https://github.com/flang-compiler/f18/pull/936
Commit: 8ad8bfb2a8abf914e4b0a0dd1c4f46b00c8f98a2
https://github.com/llvm/llvm-project/commit/8ad8bfb2a8abf914e4b0a0dd1c4f46b00c8f98a2
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M flang/lib/evaluate/characteristics.cc
M flang/lib/evaluate/expression.h
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/formatting.cc
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/symbol.cc
M flang/lib/semantics/type.cc
M flang/test/evaluate/expression.cc
Log Message:
-----------
[flang] Add `std::string ExpressionBase::AsFortran()`
This is easier to use when including an expression in an error message
and also useful when debugging for dumping expressions.
Fix up several places that no longer need to use a temporary
std::stringstream.
Also change some references to `operator<<` in `formatting.cc` and
`symbol.cc` that became ambiguous with this change.
Original-commit: flang-compiler/f18 at 25dc49b6e9cf5bce61d6d655ab242609cbd28e13
Reviewed-on: https://github.com/flang-compiler/f18/pull/944
Tree-same-pre-rewrite: false
Commit: 0ac2761f2c9ec1ce189ef9c4849a5edbac235b8a
https://github.com/llvm/llvm-project/commit/0ac2761f2c9ec1ce189ef9c4849a5edbac235b8a
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M flang/lib/evaluate/expression.h
M flang/lib/semantics/expression.cc
M flang/lib/semantics/tools.cc
M flang/lib/semantics/tools.h
M flang/tools/f18/f18.cc
Log Message:
-----------
[flang] Make GenericAssignmentWrapper more like GenericExprWrapper
Have it wrap an optional Assignment so that we can distinguish between
unanalyzed and analyzed with error.
Change analysis of PointerAssignmentStmt to proceed with bounds even
if the DataRef or Expr has an error. Otherwise any bounds expressions
won't be analyzed in that case.
In GetExpr() and GetAssignment() if we get an internal error due to an
unanalyzed expression, dump the parse tree for the expression so we have
some context for the error. They should only be called after the
expression analysis phase. At that point, every expression and assignment
should be analyzed, though some may have resulted in errors(indicated by
returning `nullptr`).
Original-commit: flang-compiler/f18 at 3b865d7703f53099cd491ed1aa9b80b46fee9f58
Reviewed-on: https://github.com/flang-compiler/f18/pull/944
Tree-same-pre-rewrite: false
Commit: d4a1bd7c9a2d382c0a4ea7ea3cd95707c5db1aba
https://github.com/llvm/llvm-project/commit/d4a1bd7c9a2d382c0a4ea7ea3cd95707c5db1aba
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/pointer-assignment.cc
Log Message:
-----------
[flang] Refactor Analyze(PointerAssignmentStmt)
Use early returns to reduce the indentation.
Check LHS is a pointer as early as possible.
A PointerAssignmentStmt can only have a typedAssignment that
represents a PointerAssignment. So assert that is the case and
don't worry about the other cases.
Original-commit: flang-compiler/f18 at bdf3d3a292b5f9ce4241e3d63b759bd61838cf18
Reviewed-on: https://github.com/flang-compiler/f18/pull/944
Tree-same-pre-rewrite: false
Commit: d1337ba3ee023273525019c1cfdd587c6f90f8bd
https://github.com/llvm/llvm-project/commit/d1337ba3ee023273525019c1cfdd587c6f90f8bd
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/pointer-assignment.cc
M flang/lib/semantics/pointer-assignment.h
M flang/test/semantics/assign02.f90
M flang/test/semantics/assign03.f90
Log Message:
-----------
[flang] Check bounds on pointer assignment
Perform checks on bounds-spec and bounds-remapping in a pointer
assignment statement:
- check that the rank of the bounds specified matches the rank of the
pointer
- for bounds-spec, check that the pointer rank matches the target rank
- for bounds-remapping:
- check that the target is rank 1 or simply contiguous
- check that there are sufficient elements on the RHS for the bounds
specified, when it can be determined at compile time
Move more of the pointer-specific checking from `assignment.cc`
to `pointer-assignment.cc`.
Original-commit: flang-compiler/f18 at 7489b3539224f8ad7a55873916e5854510236218
Reviewed-on: https://github.com/flang-compiler/f18/pull/944
Commit: 6149ff9bc95259a4cf8a05882186736365c81182
https://github.com/llvm/llvm-project/commit/6149ff9bc95259a4cf8a05882186736365c81182
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#944 from flang-compiler/tsk-pointer
Check bounds on pointer assignment
Original-commit: flang-compiler/f18 at 5e331c1a5cdbfa80c4ef736e95dc0a88b34c6d01
Reviewed-on: https://github.com/flang-compiler/f18/pull/944
Commit: 491122d1cd52dc0870b04d0cc0e05dffec194958
https://github.com/llvm/llvm-project/commit/491122d1cd52dc0870b04d0cc0e05dffec194958
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
M flang/include/flang/ISO_Fortran_binding.h
M flang/runtime/CMakeLists.txt
M flang/runtime/entry-names.h
M flang/runtime/format.cc
M flang/runtime/format.h
A flang/runtime/io-api.cc
M flang/runtime/io-api.h
A flang/runtime/io-error.cc
A flang/runtime/io-error.h
A flang/runtime/io-stmt.cc
A flang/runtime/io-stmt.h
M flang/runtime/magic-numbers.h
M flang/runtime/main.cc
M flang/runtime/main.h
A flang/runtime/memory.cc
A flang/runtime/memory.h
M flang/runtime/terminator.cc
M flang/runtime/terminator.h
M flang/runtime/transformational.cc
M flang/test/runtime/CMakeLists.txt
M flang/test/runtime/format.cc
A flang/test/runtime/hello.cc
Log Message:
-----------
[flang] Drill down to a working implementation of the APIs for an
internal formatted WRITE with no data list items.
Improve argument names in io-api.h
Bump up error number to not conflict with errno values
Use Fortran::runtime::io namespace
Add wrapper around malloc/free, allow use of unique_ptr with wrapper
IoErrorHandler
Revamp FormatContext, use virtual member functions
Update comment syntax, allow for old C
12HHELLO, WORLD
Remove files not yet ready for review
Use std::forward
Fix gcc build warnings
Fix redundant filename in license boilerplate
Reduce runtime dependence on compiler binary libraries, fixing shared lib builds
Original-commit: flang-compiler/f18 at 839a91f1d699cd839767407bcdb1e384f2d2b730
Reviewed-on: https://github.com/flang-compiler/f18/pull/946
Commit: 7f98a070b09a2ec82e5b019013a9c5bbe69041d2
https://github.com/llvm/llvm-project/commit/7f98a070b09a2ec82e5b019013a9c5bbe69041d2
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#946 from flang-compiler/pmk-hello
12HHELLO, WORLD
Original-commit: flang-compiler/f18 at 3087aa82840b817cb7433c48cc2310accf9dc9b6
Reviewed-on: https://github.com/flang-compiler/f18/pull/946
Commit: fae12a08bdb72b23781e670308bdd866099d14c8
https://github.com/llvm/llvm-project/commit/fae12a08bdb72b23781e670308bdd866099d14c8
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
M flang/runtime/CMakeLists.txt
A flang/runtime/file.cc
A flang/runtime/file.h
M flang/runtime/io-api.h
M flang/runtime/io-error.cc
M flang/runtime/io-error.h
A flang/runtime/lock.h
M flang/runtime/memory.h
A flang/runtime/tools.cc
A flang/runtime/tools.h
Log Message:
-----------
[flang] Basic file operation wrapper
Asynchronous interfaces and locking
Original-commit: flang-compiler/f18 at 3ba77a0c2035644485737a025cc8912485b56225
Reviewed-on: https://github.com/flang-compiler/f18/pull/949
Commit: 2dfeffa696e3e23f451268b16d7afc7219eafd70
https://github.com/llvm/llvm-project/commit/2dfeffa696e3e23f451268b16d7afc7219eafd70
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#949 from flang-compiler/pmk-file
OpenFile class: API and implementation wrappers for open external files
Original-commit: flang-compiler/f18 at edd60ae8281ab21588355c4f93680b6152219cd0
Reviewed-on: https://github.com/flang-compiler/f18/pull/949
Commit: 56634417e7b2897f581bf30bcd30755683cc9e82
https://github.com/llvm/llvm-project/commit/56634417e7b2897f581bf30bcd30755683cc9e82
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
M flang/lib/evaluate/check-expression.cc
M flang/test/semantics/assign03.f90
Log Message:
-----------
[flang] Fix bug detecting simply contiguous component
We were always return false when testing a component for simple
contiguity. Change to check that the component is an array that is
simply continguous. Also treat a scalar component of scalar as simply
contiguous.
A pointer with bounds remapping to a complex part is a similar case
so add a test for that too.
Original-commit: flang-compiler/f18 at 27d76da2a44614b2c4cf4d576410372cabf66577
Reviewed-on: https://github.com/flang-compiler/f18/pull/952
Commit: 60e47323158515d1b6c7ef6c2d657f4dd1a0364e
https://github.com/llvm/llvm-project/commit/60e47323158515d1b6c7ef6c2d657f4dd1a0364e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#952 from flang-compiler/tsk-contig
Fix bug detecting simply contiguous component
Original-commit: flang-compiler/f18 at a8a7a8c914aecbfdaff95419eb0408aa979abe53
Reviewed-on: https://github.com/flang-compiler/f18/pull/952
Commit: ea5b1efd8fcbf9fa3b0f5cd872ae89d227275eac
https://github.com/llvm/llvm-project/commit/ea5b1efd8fcbf9fa3b0f5cd872ae89d227275eac
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-25 (Sat, 25 Jan 2020)
Changed paths:
M flang/lib/evaluate/tools.cc
M flang/lib/evaluate/traverse.h
M flang/test/semantics/call11.f90
Log Message:
-----------
[flang] Fix bugs detecting impure calls
Change Traverse to visit the actual arguments of structure constructors.
Change FindImpureCallHelper to visit the actual arguments of a call to a
pure procedure in case one of them makes a call to an impure function.
Original-commit: flang-compiler/f18 at 81a5488ee62b4324d002c348464712c930095a32
Reviewed-on: https://github.com/flang-compiler/f18/pull/951
Commit: 0c880e461cf3080fe40a2905636ec1e5ec87fda1
https://github.com/llvm/llvm-project/commit/0c880e461cf3080fe40a2905636ec1e5ec87fda1
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#951 from flang-compiler/tsk-impure
Fix bugs detecting impure calls
Original-commit: flang-compiler/f18 at db5ebec5156f3f93fb99358192307298c99fc3c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/951
Commit: 65b62f9bde66b3ed493fc12cb428d5467cb1b55a
https://github.com/llvm/llvm-project/commit/65b62f9bde66b3ed493fc12cb428d5467cb1b55a
Author: David Truby <david.truby at arm.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
M flang/.clang-format
A flang/include/flang/common/Fortran-features.h
A flang/include/flang/common/Fortran.h
A flang/include/flang/common/bit-population-count.h
A flang/include/flang/common/constexpr-bitset.h
A flang/include/flang/common/default-kinds.h
A flang/include/flang/common/enum-set.h
A flang/include/flang/common/format.h
A flang/include/flang/common/idioms.h
A flang/include/flang/common/indirection.h
A flang/include/flang/common/interval.h
A flang/include/flang/common/leading-zero-bit-count.h
A flang/include/flang/common/reference-counted.h
A flang/include/flang/common/reference.h
A flang/include/flang/common/restorer.h
A flang/include/flang/common/template.h
A flang/include/flang/common/uint128.h
A flang/include/flang/common/unsigned-const-division.h
A flang/include/flang/common/unwrap.h
A flang/include/flang/decimal/binary-floating-point.h
A flang/include/flang/decimal/decimal.h
A flang/include/flang/evaluate/call.h
A flang/include/flang/evaluate/characteristics.h
A flang/include/flang/evaluate/check-expression.h
A flang/include/flang/evaluate/common.h
A flang/include/flang/evaluate/complex.h
A flang/include/flang/evaluate/constant.h
A flang/include/flang/evaluate/expression.h
A flang/include/flang/evaluate/fold.h
A flang/include/flang/evaluate/formatting.h
A flang/include/flang/evaluate/integer.h
A flang/include/flang/evaluate/intrinsics-library.h
A flang/include/flang/evaluate/intrinsics.h
A flang/include/flang/evaluate/logical.h
A flang/include/flang/evaluate/real.h
A flang/include/flang/evaluate/rounding-bits.h
A flang/include/flang/evaluate/shape.h
A flang/include/flang/evaluate/static-data.h
A flang/include/flang/evaluate/tools.h
A flang/include/flang/evaluate/traverse.h
A flang/include/flang/evaluate/type.h
A flang/include/flang/evaluate/variable.h
A flang/include/flang/parser/char-block.h
A flang/include/flang/parser/char-buffer.h
A flang/include/flang/parser/char-set.h
A flang/include/flang/parser/characters.h
A flang/include/flang/parser/dump-parse-tree.h
A flang/include/flang/parser/format-specification.h
A flang/include/flang/parser/instrumented-parser.h
A flang/include/flang/parser/message.h
A flang/include/flang/parser/parse-state.h
A flang/include/flang/parser/parse-tree-visitor.h
A flang/include/flang/parser/parse-tree.h
A flang/include/flang/parser/parsing.h
A flang/include/flang/parser/provenance.h
A flang/include/flang/parser/source.h
A flang/include/flang/parser/tools.h
A flang/include/flang/parser/unparse.h
A flang/include/flang/parser/user-state.h
A flang/include/flang/semantics/attr.h
A flang/include/flang/semantics/expression.h
A flang/include/flang/semantics/scope.h
A flang/include/flang/semantics/semantics.h
A flang/include/flang/semantics/symbol.h
A flang/include/flang/semantics/tools.h
A flang/include/flang/semantics/type.h
A flang/include/flang/semantics/unparse-with-symbols.h
M flang/lib/common/Fortran-features.cc
R flang/lib/common/Fortran-features.h
M flang/lib/common/Fortran.cc
R flang/lib/common/Fortran.h
R flang/lib/common/bit-population-count.h
R flang/lib/common/constexpr-bitset.h
M flang/lib/common/default-kinds.cc
R flang/lib/common/default-kinds.h
R flang/lib/common/enum-set.h
R flang/lib/common/format.h
M flang/lib/common/idioms.cc
R flang/lib/common/idioms.h
R flang/lib/common/indirection.h
R flang/lib/common/interval.h
R flang/lib/common/leading-zero-bit-count.h
R flang/lib/common/reference-counted.h
R flang/lib/common/reference.h
R flang/lib/common/restorer.h
R flang/lib/common/template.h
R flang/lib/common/uint128.h
R flang/lib/common/unsigned-const-division.h
R flang/lib/common/unwrap.h
M flang/lib/decimal/big-radix-floating-point.h
R flang/lib/decimal/binary-floating-point.h
M flang/lib/decimal/binary-to-decimal.cc
M flang/lib/decimal/decimal-to-binary.cc
R flang/lib/decimal/decimal.h
M flang/lib/evaluate/call.cc
R flang/lib/evaluate/call.h
M flang/lib/evaluate/character.h
M flang/lib/evaluate/characteristics.cc
R flang/lib/evaluate/characteristics.h
M flang/lib/evaluate/check-expression.cc
R flang/lib/evaluate/check-expression.h
M flang/lib/evaluate/common.cc
R flang/lib/evaluate/common.h
M flang/lib/evaluate/complex.cc
R flang/lib/evaluate/complex.h
M flang/lib/evaluate/constant.cc
R flang/lib/evaluate/constant.h
M flang/lib/evaluate/expression.cc
R flang/lib/evaluate/expression.h
M flang/lib/evaluate/fold-implementation.h
M flang/lib/evaluate/fold-logical.cc
M flang/lib/evaluate/fold.cc
R flang/lib/evaluate/fold.h
M flang/lib/evaluate/formatting.cc
R flang/lib/evaluate/formatting.h
M flang/lib/evaluate/host.cc
M flang/lib/evaluate/host.h
M flang/lib/evaluate/int-power.h
M flang/lib/evaluate/integer.cc
R flang/lib/evaluate/integer.h
M flang/lib/evaluate/intrinsics-library-templates.h
R flang/lib/evaluate/intrinsics-library.h
M flang/lib/evaluate/intrinsics.cc
R flang/lib/evaluate/intrinsics.h
M flang/lib/evaluate/logical.cc
R flang/lib/evaluate/logical.h
M flang/lib/evaluate/real.cc
R flang/lib/evaluate/real.h
R flang/lib/evaluate/rounding-bits.h
M flang/lib/evaluate/shape.cc
R flang/lib/evaluate/shape.h
M flang/lib/evaluate/static-data.cc
R flang/lib/evaluate/static-data.h
M flang/lib/evaluate/tools.cc
R flang/lib/evaluate/tools.h
R flang/lib/evaluate/traverse.h
M flang/lib/evaluate/type.cc
R flang/lib/evaluate/type.h
M flang/lib/evaluate/variable.cc
R flang/lib/evaluate/variable.h
M flang/lib/parser/Fortran-parsers.cc
M flang/lib/parser/basic-parsers.h
M flang/lib/parser/char-block.cc
R flang/lib/parser/char-block.h
M flang/lib/parser/char-buffer.cc
R flang/lib/parser/char-buffer.h
M flang/lib/parser/char-set.cc
R flang/lib/parser/char-set.h
M flang/lib/parser/characters.cc
R flang/lib/parser/characters.h
M flang/lib/parser/debug-parser.cc
M flang/lib/parser/debug-parser.h
R flang/lib/parser/dump-parse-tree.h
M flang/lib/parser/executable-parsers.cc
M flang/lib/parser/expr-parsers.cc
M flang/lib/parser/expr-parsers.h
R flang/lib/parser/format-specification.h
M flang/lib/parser/instrumented-parser.cc
R flang/lib/parser/instrumented-parser.h
M flang/lib/parser/io-parsers.cc
M flang/lib/parser/message.cc
R flang/lib/parser/message.h
M flang/lib/parser/misc-parsers.h
M flang/lib/parser/openmp-parsers.cc
R flang/lib/parser/parse-state.h
R flang/lib/parser/parse-tree-visitor.h
M flang/lib/parser/parse-tree.cc
R flang/lib/parser/parse-tree.h
M flang/lib/parser/parsing.cc
R flang/lib/parser/parsing.h
M flang/lib/parser/preprocessor.cc
M flang/lib/parser/preprocessor.h
M flang/lib/parser/prescan.cc
M flang/lib/parser/prescan.h
M flang/lib/parser/program-parsers.cc
M flang/lib/parser/provenance.cc
R flang/lib/parser/provenance.h
M flang/lib/parser/source.cc
R flang/lib/parser/source.h
M flang/lib/parser/token-parsers.h
M flang/lib/parser/token-sequence.cc
M flang/lib/parser/token-sequence.h
M flang/lib/parser/tools.cc
R flang/lib/parser/tools.h
M flang/lib/parser/type-parsers.h
M flang/lib/parser/unparse.cc
R flang/lib/parser/unparse.h
M flang/lib/parser/user-state.cc
R flang/lib/parser/user-state.h
M flang/lib/semantics/assignment.cc
M flang/lib/semantics/assignment.h
M flang/lib/semantics/attr.cc
R flang/lib/semantics/attr.h
M flang/lib/semantics/canonicalize-do.cc
M flang/lib/semantics/canonicalize-omp.cc
M flang/lib/semantics/check-allocate.cc
M flang/lib/semantics/check-allocate.h
M flang/lib/semantics/check-arithmeticif.cc
M flang/lib/semantics/check-arithmeticif.h
M flang/lib/semantics/check-call.cc
M flang/lib/semantics/check-call.h
M flang/lib/semantics/check-coarray.cc
M flang/lib/semantics/check-coarray.h
M flang/lib/semantics/check-deallocate.cc
M flang/lib/semantics/check-deallocate.h
M flang/lib/semantics/check-declarations.cc
M flang/lib/semantics/check-do.cc
M flang/lib/semantics/check-do.h
M flang/lib/semantics/check-if-stmt.cc
M flang/lib/semantics/check-if-stmt.h
M flang/lib/semantics/check-io.cc
M flang/lib/semantics/check-io.h
M flang/lib/semantics/check-nullify.cc
M flang/lib/semantics/check-nullify.h
M flang/lib/semantics/check-omp-structure.cc
M flang/lib/semantics/check-omp-structure.h
M flang/lib/semantics/check-purity.cc
M flang/lib/semantics/check-purity.h
M flang/lib/semantics/check-return.cc
M flang/lib/semantics/check-return.h
M flang/lib/semantics/check-stop.cc
M flang/lib/semantics/check-stop.h
M flang/lib/semantics/expression.cc
R flang/lib/semantics/expression.h
M flang/lib/semantics/mod-file.cc
M flang/lib/semantics/mod-file.h
M flang/lib/semantics/pointer-assignment.cc
M flang/lib/semantics/pointer-assignment.h
M flang/lib/semantics/program-tree.cc
M flang/lib/semantics/program-tree.h
M flang/lib/semantics/resolve-labels.cc
M flang/lib/semantics/resolve-names-utils.cc
M flang/lib/semantics/resolve-names-utils.h
M flang/lib/semantics/resolve-names.cc
M flang/lib/semantics/rewrite-parse-tree.cc
M flang/lib/semantics/scope.cc
R flang/lib/semantics/scope.h
M flang/lib/semantics/semantics.cc
R flang/lib/semantics/semantics.h
M flang/lib/semantics/symbol.cc
R flang/lib/semantics/symbol.h
M flang/lib/semantics/tools.cc
R flang/lib/semantics/tools.h
M flang/lib/semantics/type.cc
R flang/lib/semantics/type.h
M flang/lib/semantics/unparse-with-symbols.cc
R flang/lib/semantics/unparse-with-symbols.h
M flang/runtime/derived-type.h
M flang/runtime/descriptor.cc
M flang/runtime/descriptor.h
M flang/runtime/format.cc
M flang/runtime/format.h
M flang/runtime/transformational.cc
M flang/runtime/type-code.h
M flang/test/decimal/quick-sanity-test.cc
M flang/test/decimal/thorough-test.cc
M flang/test/evaluate/bit-population-count.cc
M flang/test/evaluate/expression.cc
M flang/test/evaluate/folding.cc
M flang/test/evaluate/fp-testing.h
M flang/test/evaluate/integer.cc
M flang/test/evaluate/intrinsics.cc
M flang/test/evaluate/leading-zero-bit-count.cc
M flang/test/evaluate/logical.cc
M flang/test/evaluate/real.cc
M flang/test/evaluate/uint128.cc
M flang/tools/f18/f18-parse-demo.cc
M flang/tools/f18/f18.cc
M flang/tools/f18/stub-evaluate.cc
Log Message:
-----------
[flang] Moved public headers to include/flang (flang-compiler/f18#943)
Original-commit: flang-compiler/f18 at 21adbc7e05b2454ba3fc725b4697748f98599471
Reviewed-on: https://github.com/flang-compiler/f18/pull/943
Commit: 352d347aa5f5f1ba9b17aedd90daa5c110b8a50e
https://github.com/llvm/llvm-project/commit/352d347aa5f5f1ba9b17aedd90daa5c110b8a50e
Author: Alexis Perry <AlexisPerry at users.noreply.github.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
M flang/documentation/C++style.md
M flang/documentation/PullRequestChecklist.md
M flang/include/flang/evaluate/traverse.h
M flang/lib/common/CMakeLists.txt
R flang/lib/common/Fortran-features.cc
A flang/lib/common/Fortran-features.cpp
R flang/lib/common/Fortran.cc
A flang/lib/common/Fortran.cpp
R flang/lib/common/default-kinds.cc
A flang/lib/common/default-kinds.cpp
R flang/lib/common/idioms.cc
A flang/lib/common/idioms.cpp
M flang/lib/decimal/CMakeLists.txt
R flang/lib/decimal/binary-to-decimal.cc
A flang/lib/decimal/binary-to-decimal.cpp
R flang/lib/decimal/decimal-to-binary.cc
A flang/lib/decimal/decimal-to-binary.cpp
M flang/lib/evaluate/CMakeLists.txt
R flang/lib/evaluate/call.cc
A flang/lib/evaluate/call.cpp
R flang/lib/evaluate/characteristics.cc
A flang/lib/evaluate/characteristics.cpp
R flang/lib/evaluate/check-expression.cc
A flang/lib/evaluate/check-expression.cpp
R flang/lib/evaluate/common.cc
A flang/lib/evaluate/common.cpp
R flang/lib/evaluate/complex.cc
A flang/lib/evaluate/complex.cpp
R flang/lib/evaluate/constant.cc
A flang/lib/evaluate/constant.cpp
R flang/lib/evaluate/expression.cc
A flang/lib/evaluate/expression.cpp
R flang/lib/evaluate/fold-character.cc
A flang/lib/evaluate/fold-character.cpp
R flang/lib/evaluate/fold-complex.cc
A flang/lib/evaluate/fold-complex.cpp
R flang/lib/evaluate/fold-integer.cc
A flang/lib/evaluate/fold-integer.cpp
R flang/lib/evaluate/fold-logical.cc
A flang/lib/evaluate/fold-logical.cpp
R flang/lib/evaluate/fold-real.cc
A flang/lib/evaluate/fold-real.cpp
R flang/lib/evaluate/fold.cc
A flang/lib/evaluate/fold.cpp
R flang/lib/evaluate/formatting.cc
A flang/lib/evaluate/formatting.cpp
R flang/lib/evaluate/host.cc
A flang/lib/evaluate/host.cpp
R flang/lib/evaluate/integer.cc
A flang/lib/evaluate/integer.cpp
M flang/lib/evaluate/intrinsics-library-templates.h
R flang/lib/evaluate/intrinsics-library.cc
A flang/lib/evaluate/intrinsics-library.cpp
R flang/lib/evaluate/intrinsics.cc
A flang/lib/evaluate/intrinsics.cpp
R flang/lib/evaluate/logical.cc
A flang/lib/evaluate/logical.cpp
R flang/lib/evaluate/real.cc
A flang/lib/evaluate/real.cpp
R flang/lib/evaluate/shape.cc
A flang/lib/evaluate/shape.cpp
R flang/lib/evaluate/static-data.cc
A flang/lib/evaluate/static-data.cpp
R flang/lib/evaluate/tools.cc
A flang/lib/evaluate/tools.cpp
R flang/lib/evaluate/type.cc
A flang/lib/evaluate/type.cpp
R flang/lib/evaluate/variable.cc
A flang/lib/evaluate/variable.cpp
M flang/lib/parser/CMakeLists.txt
R flang/lib/parser/Fortran-parsers.cc
A flang/lib/parser/Fortran-parsers.cpp
R flang/lib/parser/char-block.cc
A flang/lib/parser/char-block.cpp
R flang/lib/parser/char-buffer.cc
A flang/lib/parser/char-buffer.cpp
R flang/lib/parser/char-set.cc
A flang/lib/parser/char-set.cpp
R flang/lib/parser/characters.cc
A flang/lib/parser/characters.cpp
R flang/lib/parser/debug-parser.cc
A flang/lib/parser/debug-parser.cpp
R flang/lib/parser/executable-parsers.cc
A flang/lib/parser/executable-parsers.cpp
R flang/lib/parser/expr-parsers.cc
A flang/lib/parser/expr-parsers.cpp
R flang/lib/parser/instrumented-parser.cc
A flang/lib/parser/instrumented-parser.cpp
R flang/lib/parser/io-parsers.cc
A flang/lib/parser/io-parsers.cpp
R flang/lib/parser/message.cc
A flang/lib/parser/message.cpp
R flang/lib/parser/openmp-parsers.cc
A flang/lib/parser/openmp-parsers.cpp
R flang/lib/parser/parse-tree.cc
A flang/lib/parser/parse-tree.cpp
R flang/lib/parser/parsing.cc
A flang/lib/parser/parsing.cpp
R flang/lib/parser/preprocessor.cc
A flang/lib/parser/preprocessor.cpp
R flang/lib/parser/prescan.cc
A flang/lib/parser/prescan.cpp
R flang/lib/parser/program-parsers.cc
A flang/lib/parser/program-parsers.cpp
R flang/lib/parser/provenance.cc
A flang/lib/parser/provenance.cpp
R flang/lib/parser/source.cc
A flang/lib/parser/source.cpp
R flang/lib/parser/token-sequence.cc
A flang/lib/parser/token-sequence.cpp
R flang/lib/parser/tools.cc
A flang/lib/parser/tools.cpp
R flang/lib/parser/unparse.cc
A flang/lib/parser/unparse.cpp
R flang/lib/parser/user-state.cc
A flang/lib/parser/user-state.cpp
M flang/lib/semantics/CMakeLists.txt
R flang/lib/semantics/assignment.cc
A flang/lib/semantics/assignment.cpp
R flang/lib/semantics/attr.cc
A flang/lib/semantics/attr.cpp
R flang/lib/semantics/canonicalize-do.cc
A flang/lib/semantics/canonicalize-do.cpp
R flang/lib/semantics/canonicalize-omp.cc
A flang/lib/semantics/canonicalize-omp.cpp
R flang/lib/semantics/check-allocate.cc
A flang/lib/semantics/check-allocate.cpp
R flang/lib/semantics/check-arithmeticif.cc
A flang/lib/semantics/check-arithmeticif.cpp
R flang/lib/semantics/check-call.cc
A flang/lib/semantics/check-call.cpp
R flang/lib/semantics/check-coarray.cc
A flang/lib/semantics/check-coarray.cpp
R flang/lib/semantics/check-deallocate.cc
A flang/lib/semantics/check-deallocate.cpp
R flang/lib/semantics/check-declarations.cc
A flang/lib/semantics/check-declarations.cpp
R flang/lib/semantics/check-do.cc
A flang/lib/semantics/check-do.cpp
R flang/lib/semantics/check-if-stmt.cc
A flang/lib/semantics/check-if-stmt.cpp
R flang/lib/semantics/check-io.cc
A flang/lib/semantics/check-io.cpp
R flang/lib/semantics/check-nullify.cc
A flang/lib/semantics/check-nullify.cpp
R flang/lib/semantics/check-omp-structure.cc
A flang/lib/semantics/check-omp-structure.cpp
R flang/lib/semantics/check-purity.cc
A flang/lib/semantics/check-purity.cpp
R flang/lib/semantics/check-return.cc
A flang/lib/semantics/check-return.cpp
R flang/lib/semantics/check-stop.cc
A flang/lib/semantics/check-stop.cpp
R flang/lib/semantics/expression.cc
A flang/lib/semantics/expression.cpp
R flang/lib/semantics/mod-file.cc
A flang/lib/semantics/mod-file.cpp
R flang/lib/semantics/pointer-assignment.cc
A flang/lib/semantics/pointer-assignment.cpp
R flang/lib/semantics/program-tree.cc
A flang/lib/semantics/program-tree.cpp
R flang/lib/semantics/resolve-labels.cc
A flang/lib/semantics/resolve-labels.cpp
R flang/lib/semantics/resolve-names-utils.cc
A flang/lib/semantics/resolve-names-utils.cpp
M flang/lib/semantics/resolve-names-utils.h
R flang/lib/semantics/resolve-names.cc
A flang/lib/semantics/resolve-names.cpp
R flang/lib/semantics/rewrite-parse-tree.cc
A flang/lib/semantics/rewrite-parse-tree.cpp
R flang/lib/semantics/scope.cc
A flang/lib/semantics/scope.cpp
R flang/lib/semantics/semantics.cc
A flang/lib/semantics/semantics.cpp
R flang/lib/semantics/symbol.cc
A flang/lib/semantics/symbol.cpp
R flang/lib/semantics/tools.cc
A flang/lib/semantics/tools.cpp
R flang/lib/semantics/type.cc
A flang/lib/semantics/type.cpp
R flang/lib/semantics/unparse-with-symbols.cc
A flang/lib/semantics/unparse-with-symbols.cpp
M flang/runtime/CMakeLists.txt
R flang/runtime/ISO_Fortran_binding.cc
A flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/derived-type.cc
A flang/runtime/derived-type.cpp
R flang/runtime/descriptor.cc
A flang/runtime/descriptor.cpp
R flang/runtime/file.cc
A flang/runtime/file.cpp
R flang/runtime/format.cc
A flang/runtime/format.cpp
R flang/runtime/io-api.cc
A flang/runtime/io-api.cpp
R flang/runtime/io-error.cc
A flang/runtime/io-error.cpp
R flang/runtime/io-stmt.cc
A flang/runtime/io-stmt.cpp
R flang/runtime/main.cc
A flang/runtime/main.cpp
R flang/runtime/memory.cc
A flang/runtime/memory.cpp
R flang/runtime/stop.cc
A flang/runtime/stop.cpp
R flang/runtime/terminator.cc
A flang/runtime/terminator.cpp
R flang/runtime/tools.cc
A flang/runtime/tools.cpp
R flang/runtime/transformational.cc
A flang/runtime/transformational.cpp
R flang/runtime/type-code.cc
A flang/runtime/type-code.cpp
M flang/test/decimal/CMakeLists.txt
R flang/test/decimal/quick-sanity-test.cc
A flang/test/decimal/quick-sanity-test.cpp
R flang/test/decimal/thorough-test.cc
A flang/test/decimal/thorough-test.cpp
M flang/test/evaluate/CMakeLists.txt
R flang/test/evaluate/ISO-Fortran-binding.cc
A flang/test/evaluate/ISO-Fortran-binding.cpp
R flang/test/evaluate/bit-population-count.cc
A flang/test/evaluate/bit-population-count.cpp
R flang/test/evaluate/expression.cc
A flang/test/evaluate/expression.cpp
R flang/test/evaluate/folding.cc
A flang/test/evaluate/folding.cpp
R flang/test/evaluate/fp-testing.cc
A flang/test/evaluate/fp-testing.cpp
R flang/test/evaluate/integer.cc
A flang/test/evaluate/integer.cpp
R flang/test/evaluate/intrinsics.cc
A flang/test/evaluate/intrinsics.cpp
R flang/test/evaluate/leading-zero-bit-count.cc
A flang/test/evaluate/leading-zero-bit-count.cpp
R flang/test/evaluate/logical.cc
A flang/test/evaluate/logical.cpp
R flang/test/evaluate/real.cc
A flang/test/evaluate/real.cpp
R flang/test/evaluate/reshape.cc
A flang/test/evaluate/reshape.cpp
R flang/test/evaluate/testing.cc
A flang/test/evaluate/testing.cpp
R flang/test/evaluate/uint128.cc
A flang/test/evaluate/uint128.cpp
M flang/test/runtime/CMakeLists.txt
R flang/test/runtime/format.cc
A flang/test/runtime/format.cpp
R flang/test/runtime/hello.cc
A flang/test/runtime/hello.cpp
M flang/tools/f18/CMakeLists.txt
R flang/tools/f18/dump.cc
A flang/tools/f18/dump.cpp
R flang/tools/f18/f18-parse-demo.cc
A flang/tools/f18/f18-parse-demo.cpp
R flang/tools/f18/f18.cc
A flang/tools/f18/f18.cpp
R flang/tools/f18/stub-evaluate.cc
A flang/tools/f18/stub-evaluate.cpp
Log Message:
-----------
[flang] Changed *.cc file extension to *.cpp (updated scripts) (flang-compiler/f18#958)
Updated CMake files accordingly, using better regex
Updated license headers to match new extension and fit within 80 columns
Updated other comments within files that referred to the old extension
Original-commit: flang-compiler/f18 at ae7721e611918631d1e3821dbb60f5ffcd9a69b1
Reviewed-on: https://github.com/flang-compiler/f18/pull/958
Commit: 78807b988098e41f5f64f0b84d9e631aa24d84c6
https://github.com/llvm/llvm-project/commit/78807b988098e41f5f64f0b84d9e631aa24d84c6
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths:
M flang/documentation/PullRequestChecklist.md
Log Message:
-----------
[flang] More checklist items
I added more items when reviewing some actual pull request comments.
Original-commit: flang-compiler/f18 at 195d807ff221e4247ec5609e8e816e81dab5df94
Reviewed-on: https://github.com/flang-compiler/f18/pull/956
Commit: b93d62e977d981783c1bd8d7473ed56b5b63319c
https://github.com/llvm/llvm-project/commit/b93d62e977d981783c1bd8d7473ed56b5b63319c
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-01-27 (Mon, 27 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#956 from flang-compiler/ps-checklist
More checklist items
Original-commit: flang-compiler/f18 at 32eb0d79c3a334d15ed1dc351619be9fda6b2a9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/956
Commit: 64b7325a2ed6491edc57a998cbd12c0785319f7a
https://github.com/llvm/llvm-project/commit/64b7325a2ed6491edc57a998cbd12c0785319f7a
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2020-01-28 (Tue, 28 Jan 2020)
Changed paths:
M flang/include/flang/parser/parse-tree.h
M flang/include/flang/semantics/symbol.h
M flang/lib/parser/openmp-parsers.cpp
M flang/lib/semantics/resolve-names.cpp
M flang/lib/semantics/scope.cpp
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/omp-device-constructs.f90
A flang/test/semantics/omp-resolve05.f90
A flang/test/semantics/omp-symbol07.f90
Log Message:
-----------
[flang] [OpenMP] Name Resolution for OpenMP constructs (flang-compiler/f18#940)
This is an extended framework based on the previous work that addresses
the NR on OpenMP directives/clauses (b2ea520). In this change:
* New `OmpVisitor` is created (ResolveNamesVisitor derives from it) to
create necessary scopes for certain OpenMP constructs. This is along
with the regular Fortran NR process.
* Old `OmpVisitor` is adjusted and converted to a standalone visitor--
`OmpAttributeVisitor`. This is used to walk through the OpenMP constructs
and do the NR for variables on the OpenMP directives or data references
within the OpenMP constructs. "Do the NR" here means that based on the NR
results of the regular Fortran NR, fix the symbols of `Names` related
to the OpenMP constructs. Note that there is an `OmpContext` in this
visitor (similar to the one in `OmpStructureChecker`), this is necessary
when dealing with the nested OpenMP constructs in the future.
Given an OpenMP code:
```
real*8 a, b
a = 1.
b = 2.
!$omp parallel private(a)
a = 3.
b = 4.
!$omp end parallel
print *, a, b
end
```
w/o -fopenmp:
```
real*8 a, b
!REF: /MainProgram1/a
a = 1.
!REF: /MainProgram1/b
b = 2.
!!!! OMP parallel
!REF: /MainProgram1/a
a = 3.
!REF: /MainProgram1/b
b = 4.
!!!! OMP end parallel
!REF: /MainProgram1/a
!REF: /MainProgram1/b
print *, a, b
end
```
w/ -fopenmp:
```
real*8 a, b
!REF: /MainProgram1/a
a = 1.
!REF: /MainProgram1/b
b = 2.
!$omp parallel private(a) <-- new Symbol for 'a' created
!DEF: /MainProgram1/Block1/a (OmpPrivate) HostAssoc REAL(8)
a = 3. <-- fix the old symbol with new Symbol in parallel scope
!REF: /MainProgram1/b
b = 4. <-- do nothing because by default it is shared in this scope
!$omp end parallel
!REF: /MainProgram1/a
!REF: /MainProgram1/b
print *, a, b
end
```
Please note that this is a framework update, there are still many
things on the TODO list for finishing the NR for OpenMP (based on
the `OpenMP-semantics.md` design doc), which will be on top of this
framework.
Some TODO items:
- Create a generic function to go through all the rules for deciding
`predetermined`, `explicitly determined`, and `implicitly determined`
data-sharing attributes. (This is the next biggest part)
- Handle `Array Sections` and `Array or Structure Element`.
- Take association into consideration for example Pointer association,
`ASSOCIATE` construct, and etc.
- Handle all the name resolution for directives/clauses that have
`parser::Name`.
* N.B. Extend `AddSourceRange` to apply to current and parent scopes
- motivated by a few cases that need to call `AddSourceRange`
for current & parent scopes; the extension should be safe
- global scope is not included
Original-commit: flang-compiler/f18 at 0c3c39d30e3f166a6a1303337c5fd7eead720fd0
Reviewed-on: https://github.com/flang-compiler/f18/pull/940
Commit: d8f4d7fcd29433f17051f476bc59fd6213ae7ccc
https://github.com/llvm/llvm-project/commit/d8f4d7fcd29433f17051f476bc59fd6213ae7ccc
Author: Jinxin Yang <jinxiny at nvidia.com>
Date: 2020-01-28 (Tue, 28 Jan 2020)
Changed paths:
M flang/lib/semantics/resolve-names.cpp
Log Message:
-----------
[flang] Remove `default` case for OmpSectionsDirective (only two enum values)
Original-commit: flang-compiler/f18 at 3f37e0dbaf32f1127553be2149915cab1b93cdcf
Reviewed-on: https://github.com/flang-compiler/f18/pull/960
Commit: 431b0aef135b87d7f26e536af910a4106b3beaca
https://github.com/llvm/llvm-project/commit/431b0aef135b87d7f26e536af910a4106b3beaca
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2020-01-28 (Tue, 28 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#960 from flang-compiler/by-remove-default
Remove `default` case for OmpSectionsDirective (only two enum values)
Original-commit: flang-compiler/f18 at d98bf8494e2e017ed9a7e1d3c93688c379c01bf3
Reviewed-on: https://github.com/flang-compiler/f18/pull/960
Commit: eaf2288857242f4502df2e3690a430accc0a2128
https://github.com/llvm/llvm-project/commit/eaf2288857242f4502df2e3690a430accc0a2128
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-01-29 (Wed, 29 Jan 2020)
Changed paths:
M flang/include/flang/semantics/tools.h
M flang/lib/semantics/check-do.cpp
M flang/lib/semantics/tools.cpp
M flang/test/semantics/doconcurrent08.f90
Log Message:
-----------
[flang] Semantic checks for deallocating entities with IMPURE FINAL procedures
You cannot call an IMPURE procedure in a DO CONCURRENT construct. One
way that can happen is if an entity with an IMPURE FINAL procedure gets
deallocated. Similar to the checks for deallocating coarrays, there are
three ways that an entity can get deallocated that are applicable to DO
CONCURRENT constructs -- an actual DEALLOCATE statement, block exit, and
assignment.
This change depends on the utility function `HasImpureFinal()` in tools.h to
determine if an entity has a derived type with an IMPURE FINAL
procedure. In the course of testing this change, I realized that this
check is incorrect, but the code specific to DO CONCURRENT is
independent of the check, so I might as well implement it.
Original-commit: flang-compiler/f18 at d2294ff511aebd64889df57d02325bd6fcdf914a
Reviewed-on: https://github.com/flang-compiler/f18/pull/954
Commit: 6d92012d23df7949ff6d80a920c9048c9dac874f
https://github.com/llvm/llvm-project/commit/6d92012d23df7949ff6d80a920c9048c9dac874f
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-01-29 (Wed, 29 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#954 from flang-compiler/ps-impure-final
Semantic checks for deallocating entities with IMPURE FINAL procedures
Original-commit: flang-compiler/f18 at 61da1f9e5c59cedb02026954a73ab30d8319a66c
Reviewed-on: https://github.com/flang-compiler/f18/pull/954
Commit: f1b61dbd5ebf9bb563a879c970ef2969461129df
https://github.com/llvm/llvm-project/commit/f1b61dbd5ebf9bb563a879c970ef2969461129df
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-29 (Wed, 29 Jan 2020)
Changed paths:
M flang/lib/evaluate/check-expression.cpp
M flang/test/semantics/assign03.f90
Log Message:
-----------
[flang] Fix another bug checking simple contiguity
The test still wasn't correct for structure components. If the last
part-ref is a non-array or a single array element, but the whole
ArrayRef has non-zero rank, it is not contiguous. Otherwise, if there
are subscripts on the last part-ref they can be checked normally.
Add some tests for cases that were previously failing, and also for
cases with vector subscripts.
Original-commit: flang-compiler/f18 at aa0a0887325bd1fc6c3a1ad40fc6711d2e458a1c
Reviewed-on: https://github.com/flang-compiler/f18/pull/961
Commit: dcad4f580ed8388b053593ff0a678da1049789c1
https://github.com/llvm/llvm-project/commit/dcad4f580ed8388b053593ff0a678da1049789c1
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-01-29 (Wed, 29 Jan 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#961 from flang-compiler/tsk-contig2
Fix another bug checking simple contiguity
Original-commit: flang-compiler/f18 at cd371e9a2ab66c31c6df77c0fa3052a80f00908c
Reviewed-on: https://github.com/flang-compiler/f18/pull/961
Commit: 60cd064058b5c70b3ac05e1919ea60badf59442c
https://github.com/llvm/llvm-project/commit/60cd064058b5c70b3ac05e1919ea60badf59442c
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-03 (Mon, 03 Feb 2020)
Changed paths:
A flang/documentation/ImplementingASemanticCheck.md
Log Message:
-----------
[flang] Explanation of how to implement a semantic check
This is the story of implementing semantic checks for passing DO
variables to functions with dummy arguments with INTENT(OUT) or
INTENT(INOUT).
Original-commit: flang-compiler/f18 at 889f90913f280f285eb9960a0e0baadfd43a555f
Reviewed-on: https://github.com/flang-compiler/f18/pull/939
Commit: 04b71efaf5f84086b50e313e5783bb89697c0e0d
https://github.com/llvm/llvm-project/commit/04b71efaf5f84086b50e313e5783bb89697c0e0d
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-03 (Mon, 03 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#939 from flang-compiler/ps-dev-story
Explanation of how to implement a semantic check
Original-commit: flang-compiler/f18 at bedca1462b46c52cf41b5f40cd7ed9bb6cc78f29
Reviewed-on: https://github.com/flang-compiler/f18/pull/939
Commit: f7be251804e63ba6b8634f40cb808e89d924a0b0
https://github.com/llvm/llvm-project/commit/f7be251804e63ba6b8634f40cb808e89d924a0b0
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-02-04 (Tue, 04 Feb 2020)
Changed paths:
M flang/lib/decimal/binary-to-decimal.cpp
M flang/runtime/CMakeLists.txt
A flang/runtime/buffer.cpp
A flang/runtime/buffer.h
A flang/runtime/environment.cpp
A flang/runtime/environment.h
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/io-api.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/main.cpp
M flang/runtime/main.h
M flang/runtime/memory.cpp
M flang/runtime/memory.h
A flang/runtime/numeric-output.h
M flang/runtime/stop.cpp
M flang/runtime/stop.h
M flang/runtime/tools.h
A flang/runtime/unit.cpp
A flang/runtime/unit.h
M flang/test/runtime/CMakeLists.txt
A flang/test/runtime/external-hello.cpp
M flang/test/runtime/format.cpp
M flang/test/runtime/hello.cpp
Log Message:
-----------
[flang] Initial buffer framing code
Address review comments
Integer output data editing (I,B,O,Z)
Full integer output formatting
Stub out some work in progress
Progress on E output data editing
E, D, EN, and ES output editing done
Fw.d output editing
Real G output editing
G output editing for reals
Make environment a distinct module
CHARACTER and LOGICAL output editing
Minimal decimal representations for E0, F0, G0 editing
Move real output editing code into its own file
Fix/dodge some GCC build problems
Prep work for external I/O statement state
External HELLO, WORLD
Fix build problem with GCC
Add virtual destructors where needed
Add new test
Original-commit: flang-compiler/f18 at c3f1774f8eee903928b7e46636edfb03425eabc0
Reviewed-on: https://github.com/flang-compiler/f18/pull/950
Commit: b6363facf5fec1a6a89ea2735bdf7807df2b80b7
https://github.com/llvm/llvm-project/commit/b6363facf5fec1a6a89ea2735bdf7807df2b80b7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-02-04 (Tue, 04 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#950 from flang-compiler/pmk-frame
Formatted output editing & initial buffer framing code
Original-commit: flang-compiler/f18 at 003b664229a91b1692b52014ef6f9c9b65119b0d
Reviewed-on: https://github.com/flang-compiler/f18/pull/950
Commit: a8ef13ea25e9a21906aad4489f461f19cdb3fa37
https://github.com/llvm/llvm-project/commit/a8ef13ea25e9a21906aad4489f461f19cdb3fa37
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-04 (Tue, 04 Feb 2020)
Changed paths:
M flang/include/flang/common/template.h
Log Message:
-----------
[flang] Fix template step limit issue with clang
While working on PR 959, I instanciated a `common::TupleToVariant`
with ~50+ types inside the tuple. Clang would then crash after
1hr compilation with message:
"constexpr evaluation hit maximum step limit; possible infinite loop"
After investigating, it turned out clang handles very badly the way
`common::AreTypesDistinctHelper` was implemented.
Its "number of steps" was exponential with the number of types.
This fix makes this number quadratic which solves the issue.
Original-commit: flang-compiler/f18 at 4542cb57082eaf578799c76482d4b706ae5da077
Reviewed-on: https://github.com/flang-compiler/f18/pull/968
Commit: bff1d7c39e995d5e0b6745ab8d20386c3768b93b
https://github.com/llvm/llvm-project/commit/bff1d7c39e995d5e0b6745ab8d20386c3768b93b
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-02-05 (Wed, 05 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#968 from flang-compiler/jpr-fix-clang-template-step-limit
Fix template step limit issue with clang
Original-commit: flang-compiler/f18 at d4cd378290feb05ace2d549fb74db3e48b962f10
Reviewed-on: https://github.com/flang-compiler/f18/pull/968
Commit: f90404e59c785f9ed6b456e9ff33f4fa90c9a88f
https://github.com/llvm/llvm-project/commit/f90404e59c785f9ed6b456e9ff33f4fa90c9a88f
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2020-02-05 (Wed, 05 Feb 2020)
Changed paths:
M flang/lib/semantics/check-omp-structure.cpp
M flang/lib/semantics/check-omp-structure.h
M flang/lib/semantics/resolve-names.cpp
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/omp-clause-validity01.f90
M flang/test/semantics/omp-device-constructs.f90
M flang/test/semantics/omp-symbol01.f90
M flang/test/semantics/omp-symbol04.f90
M flang/test/semantics/omp-symbol06.f90
A flang/test/semantics/omp-symbol08.f90
Log Message:
-----------
[flang] [OpenMP] Predetermined rules for loop index variables (flang-compiler/f18#962)
This refers to three rules in OpenMP 4.5 Spec 2.15.1.1:
* The loop iteration variable(s) in the associated do-loop(s) of a do,
parallel do, taskloop, or distribute construct is (are) private.
* The loop iteration variable in the associated do-loop of a simd
construct with just one associated do-loop is linear with a linear-step
that is the increment of the associated do-loop.
* The loop iteration variables in the associated do-loops of a simd
construct with multiple associated do-loops are lastprivate.
A simple example:
```
implicit none
integer :: N = 1024
integer i, j, k
!$omp parallel do collapse(3)
do i=1, N <- i is private
do j=1, N <- j is private
do k=1, N <- k is private
enddo
enddo
enddo
end
```
If `collapse` clause is not present, the associated do-loop for construct
`parallel do` is only `i` loop. With `collapse(n)`, `i`, `j`, and `k` are
all associated do-loops and the loop index variables are private to the
OpenMP construct:
```
implicit none
!DEF: /MainProgram1/n ObjectEntity INTEGER(4)
integer :: n = 1024
!DEF: /MainProgram1/i ObjectEntity INTEGER(4)
!DEF: /MainProgram1/j ObjectEntity INTEGER(4)
!DEF: /MainProgram1/k ObjectEntity INTEGER(4)
integer i, j, k
!$omp parallel do collapse(3)
!DEF: /MainProgram1/Block1/i (OmpPrivate) HostAssoc INTEGER(4)
!REF: /MainProgram1/n
do i=1,n
!DEF: /MainProgram1/Block1/j (OmpPrivate) HostAssoc INTEGER(4)
!REF: /MainProgram1/n
do j=1,n
!DEF: /MainProgram1/Block1/k (OmpPrivate) HostAssoc INTEGER(4)
!REF: /MainProgram1/n
do k=1,n
end do
end do
end do
end program
```
This implementation assumes that the structural checks for do-loops
are done at this point, for example the `n` in `collapse(n)` should
be no more than the number of actual perfectly nested do-loops, etc..
Original-commit: flang-compiler/f18 at 572a57d3d0d785bb3f2aad9e890ef498c1214309
Reviewed-on: https://github.com/flang-compiler/f18/pull/962
Commit: 05f44aff453a38324b1bf2a4aa9dc9d0834d944a
https://github.com/llvm/llvm-project/commit/05f44aff453a38324b1bf2a4aa9dc9d0834d944a
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-07 (Fri, 07 Feb 2020)
Changed paths:
M flang/lib/semantics/resolve-names.cpp
M flang/test/evaluate/folding05.f90
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/allocate03.f90
M flang/test/semantics/allocate09.f90
M flang/test/semantics/modfile28.f90
M flang/test/semantics/resolve37.f90
A flang/test/semantics/resolve69.f90
Log Message:
-----------
[flang] Semantic checks for C702
C702 (R701) A colon shall not be used as a type-param-value except in the
declaration of an entity that has the POINTER or ALLOCATABLE attribute.
I added code to the visitor for a TypeDeclarationStmt to check for the
'LEN' type parameter for strings and to loop over the type parameters
for derived types.
I also ran into a few situations where previous tests had erroneously
used a colon for type parameters without either the POINTER or
ALLOCATABLE attribute and fixed them up.
Original-commit: flang-compiler/f18 at a1a95bfcd1811d697f1386fe57af664b8a16ffb5
Reviewed-on: https://github.com/flang-compiler/f18/pull/973
Commit: 2a1953a1e0ca992556e22adddccd5900befcbe61
https://github.com/llvm/llvm-project/commit/2a1953a1e0ca992556e22adddccd5900befcbe61
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-07 (Fri, 07 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#973 from flang-compiler/ps-c702
Semantic checks for C702
Original-commit: flang-compiler/f18 at 351a7d5ea6264cc58a3fd7a20e79442c41f8dd68
Reviewed-on: https://github.com/flang-compiler/f18/pull/973
Commit: 231ff4e6ad992a66988b34ad17b5df6513d3a5ed
https://github.com/llvm/llvm-project/commit/231ff4e6ad992a66988b34ad17b5df6513d3a5ed
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-10 (Mon, 10 Feb 2020)
Changed paths:
M flang/include/flang/semantics/symbol.h
M flang/lib/semantics/mod-file.cpp
M flang/lib/semantics/resolve-labels.cpp
M flang/lib/semantics/resolve-names.cpp
M flang/lib/semantics/semantics.cpp
M flang/runtime/buffer.h
Log Message:
-----------
[flang] Fix issues comming from clang-10 warnings
- Remove SubprogramDetails copy ctor
- Prevent copies in range based loops over symbols
- Remove unsued var
Original-commit: flang-compiler/f18 at 16543d22f74e9421ecb4078818f4c1970bac0a5d
Reviewed-on: https://github.com/flang-compiler/f18/pull/972
Commit: d3158fecf909bbc0cbe225d98943c751110042d2
https://github.com/llvm/llvm-project/commit/d3158fecf909bbc0cbe225d98943c751110042d2
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-02-10 (Mon, 10 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#972 from flang-compiler/jpr-clang-10-warnings
Fix issues comming from clang-10 warnings
Original-commit: flang-compiler/f18 at 90e6448255d9489eeb3081a9fda9d320caf8b3e3
Reviewed-on: https://github.com/flang-compiler/f18/pull/972
Commit: 6256fbe2007f37e60c6f6e8d9af88aa289078b9c
https://github.com/llvm/llvm-project/commit/6256fbe2007f37e60c6f6e8d9af88aa289078b9c
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-10 (Mon, 10 Feb 2020)
Changed paths:
M flang/runtime/buffer.h
Log Message:
-----------
[flang] Fix compilation error on macOS
The call to `std::min` failed to compile with GCC on macOS due to type
inference because `std::size_t` is `long unsigned int` but `std::int64_t`
is `long long int`.
Original-commit: flang-compiler/f18 at c342575a9e0217fa3252b70b8ef3eac0236a58e3
Reviewed-on: https://github.com/flang-compiler/f18/pull/977
Commit: 9d2d5877632c1a17ef1f2d8b8bf0041eccef890a
https://github.com/llvm/llvm-project/commit/9d2d5877632c1a17ef1f2d8b8bf0041eccef890a
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-10 (Mon, 10 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#977 from flang-compiler/tsk-osx-error
Fix compilation error on macOS
Original-commit: flang-compiler/f18 at 204c67d7b6721c38d24cb2ffb3d812350f6d146b
Reviewed-on: https://github.com/flang-compiler/f18/pull/977
Commit: b9e9b6f84da0a4a50fd4d45bc71169f6bba7ce62
https://github.com/llvm/llvm-project/commit/b9e9b6f84da0a4a50fd4d45bc71169f6bba7ce62
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-11 (Tue, 11 Feb 2020)
Changed paths:
M flang/documentation/ImplementingASemanticCheck.md
Log Message:
-----------
[flang] Updated the description of `evaluate::Expr` types
Original-commit: flang-compiler/f18 at 75adddd504577a295f0c906aa049bd47ce2b4f2e
Reviewed-on: https://github.com/flang-compiler/f18/pull/979
Commit: 766d633ebf70d2a02aa9ce8e4e4110a0991bf45e
https://github.com/llvm/llvm-project/commit/766d633ebf70d2a02aa9ce8e4e4110a0991bf45e
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-11 (Tue, 11 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#979 from flang-compiler/ps-dev-story
Updated the description of `evaluate::Expr` types
Original-commit: flang-compiler/f18 at 92884fa4f63e5186fc23d185b9d163ac28ff39d5
Reviewed-on: https://github.com/flang-compiler/f18/pull/979
Commit: 702d3075acb24cd8e2ff27a492aa04e468d4e221
https://github.com/llvm/llvm-project/commit/702d3075acb24cd8e2ff27a492aa04e468d4e221
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-11 (Tue, 11 Feb 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cpp
M flang/lib/semantics/resolve-names.cpp
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/allocate04.f90
M flang/test/semantics/resolve52.f90
M flang/test/semantics/resolve69.f90
A flang/test/semantics/resolve70.f90
M flang/test/semantics/structconst01.f90
Log Message:
-----------
[flang] Semantic checks for constraints on types
I implemented and added tests for constraints C703, C704, C705, C706,
and C796. In some cases, the code and/or test already existed, and all
I did was add a notation indicating the associated constraint.
Original-commit: flang-compiler/f18 at 49a64c4c2374e930f6890b270289a6f49ba63edd
Reviewed-on: https://github.com/flang-compiler/f18/pull/978
Commit: dbea781d199babb68a71d08a0694522184b93e2d
https://github.com/llvm/llvm-project/commit/dbea781d199babb68a71d08a0694522184b93e2d
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-11 (Tue, 11 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#978 from flang-compiler/ps-types
Semantic checks for constraints on types
Original-commit: flang-compiler/f18 at 2efdf12f6a2533980dfcfc6c3bb375e65ac07a67
Reviewed-on: https://github.com/flang-compiler/f18/pull/978
Commit: 95696d563b927cb51f4a55976e7f64992e1c0acf
https://github.com/llvm/llvm-project/commit/95696d563b927cb51f4a55976e7f64992e1c0acf
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-02-13 (Thu, 13 Feb 2020)
Changed paths:
M flang/documentation/FortranForCProgrammers.md
A flang/documentation/IORuntimeInternals.md
A flang/include/flang/common/real.h
M flang/include/flang/decimal/binary-floating-point.h
M flang/include/flang/decimal/decimal.h
M flang/include/flang/evaluate/common.h
M flang/include/flang/evaluate/complex.h
M flang/include/flang/evaluate/integer.h
M flang/include/flang/evaluate/real.h
M flang/include/flang/evaluate/type.h
M flang/lib/decimal/big-radix-floating-point.h
M flang/lib/decimal/binary-to-decimal.cpp
M flang/lib/decimal/decimal-to-binary.cpp
M flang/lib/evaluate/characteristics.cpp
M flang/lib/evaluate/complex.cpp
M flang/lib/evaluate/real.cpp
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.h
A flang/runtime/connection.cpp
A flang/runtime/connection.h
M flang/runtime/descriptor.cpp
M flang/runtime/descriptor.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/file.cpp
M flang/runtime/file.h
A flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
A flang/runtime/internal-unit.cpp
A flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-api.h
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/lock.h
M flang/runtime/main.cpp
M flang/runtime/memory.cpp
M flang/runtime/memory.h
A flang/runtime/numeric-output.cpp
M flang/runtime/numeric-output.h
M flang/runtime/stop.cpp
M flang/runtime/terminator.cpp
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/test/evaluate/real.cpp
M flang/test/runtime/external-hello.cpp
M flang/test/runtime/format.cpp
M flang/test/runtime/hello.cpp
Log Message:
-----------
[flang] Progress on Fortran I/O runtime
Use internal units for internal I/O state
Replace use of virtual functions
reference_wrapper
Internal formatted output to array descriptor
Delete dead code
Begin list-directed internal output
Refactorings and renamings for clarity
List-directed external I/O (character)
COMPLEX list-directed output
Control list items
First cut at unformatted I/O
More OPEN statement work; rename class to ExternalFileUnit
Complete OPEN (exc. for POSITION=), add CLOSE()
OPEN(POSITION=)
Flush buffers on crash and for terminal output; clean up
Documentation
Fix backquote in documentation
Fix typo in comment
Begin implementation of input
Refactor binary floating-point properties to a new header, simplify numeric output editing
Dodge spurious GCC 7.2 build warning
Address review comments
Original-commit: flang-compiler/f18 at 9c4bba11cf2329575ea9ee446f69e9caa797135c
Reviewed-on: https://github.com/flang-compiler/f18/pull/982
Commit: 6adb4b5981c131104ccf7beca07985c85a7eb7f2
https://github.com/llvm/llvm-project/commit/6adb4b5981c131104ccf7beca07985c85a7eb7f2
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-02-13 (Thu, 13 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#982 from flang-compiler/pmk-more-io
Progress on Fortran I/O runtime
Original-commit: flang-compiler/f18 at 47ed180b67cae9d61251574e94c97675d5c998b1
Reviewed-on: https://github.com/flang-compiler/f18/pull/982
Commit: d7cee59762f50477a5616cff8cf4f3a3b17e1573
https://github.com/llvm/llvm-project/commit/d7cee59762f50477a5616cff8cf4f3a3b17e1573
Author: David Truby <david.truby at arm.com>
Date: 2020-02-13 (Thu, 13 Feb 2020)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Add zlib to drone files so that linking LLVM works. (flang-compiler/f18#983)
Original-commit: flang-compiler/f18 at 403faf847d0beacac26421bc82318aaef0e973c9
Reviewed-on: https://github.com/flang-compiler/f18/pull/983
Commit: 79f38ab4bb612f5bcebd35c3318e1fcf9516babb
https://github.com/llvm/llvm-project/commit/79f38ab4bb612f5bcebd35c3318e1fcf9516babb
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-14 (Fri, 14 Feb 2020)
Changed paths:
M flang/lib/semantics/check-declarations.cpp
M flang/lib/semantics/resolve-names.cpp
M flang/test/semantics/CMakeLists.txt
M flang/test/semantics/allocate01.f90
M flang/test/semantics/allocate09.f90
M flang/test/semantics/resolve44.f90
M flang/test/semantics/resolve70.f90
A flang/test/semantics/resolve71.f90
M flang/test/semantics/symbol09.f90
Log Message:
-----------
[flang] Semantic check for C708
An entity declared with the CLASS keyword shall be a dummy argument or
have the ALLOCATABLE or POINTER attribute.
Implementing this check revealed a problem in the test resolve44.cpp.
It also showed that we were doing semantic checking on the entities
created by the compiler for LOCAL and LOCAL_INIT locality-specs. So I
changed the creation of symbols associated with LOCAL and LOCAL_INIT
locality-specs to be host associated with the outer symbol rather than
new object entities. In the process, I also changed things so that the
`parser::Name` associated with the newly created symbols was set to the
symbol rather than being set to nullptr.
Original-commit: flang-compiler/f18 at 5dd0b0bbe811a908374b2907bb38c75ca76127d2
Reviewed-on: https://github.com/flang-compiler/f18/pull/981
Commit: 5334ee6e5fc0ac3321d5b295af0de21fbc2e41ea
https://github.com/llvm/llvm-project/commit/5334ee6e5fc0ac3321d5b295af0de21fbc2e41ea
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-14 (Fri, 14 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#981 from flang-compiler/ps-c708
Semantic check for C708
Original-commit: flang-compiler/f18 at 4d4b375d14810223badee7b47a151bc1d7ebab5b
Reviewed-on: https://github.com/flang-compiler/f18/pull/981
Commit: c52cd6355ca7f0cfcd259a4e5e6a544141619628
https://github.com/llvm/llvm-project/commit/c52cd6355ca7f0cfcd259a4e5e6a544141619628
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-17 (Mon, 17 Feb 2020)
Changed paths:
A flang/include/fir/.clang-format
A flang/include/flang/lower/.clang-format
A flang/include/flang/optimizer/.clang-format
A flang/lib/fir/.clang-format
A flang/lib/lower/.clang-format
A flang/lib/optimizer/.clang-format
A flang/tools/bbc/.clang-format
A flang/tools/tco/.clang-format
Log Message:
-----------
[flang] Add clang-format files for FIR source (LLVM style)
Note:
This commit does not reflect an actual work log, it is a feature based split of the
changes done in the FIR experimental branch. The related work log can be found in the commits between:
https://github.com/schweitzpgi/f18/commit/8c320e3bf2c3e9cdac66c81db3bf4634bf972e1d
and:
https://github.com/schweitzpgi/f18/commit/9b9ea05f9a75608c7bb5372c56bf7b9363569a69
Original-commit: flang-compiler/f18 at 00d8d5121cdaed09e584a0aea7d59baf322bfaa3
Reviewed-on: https://github.com/flang-compiler/f18/pull/959
Tree-same-pre-rewrite: false
Commit: 336408679535454f8708899cc49cda9395dd725a
https://github.com/llvm/llvm-project/commit/336408679535454f8708899cc49cda9395dd725a
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-17 (Mon, 17 Feb 2020)
Changed paths:
M flang/.drone.star
M flang/CMakeLists.txt
A flang/include/flang/lower/PFTBuilder.h
M flang/include/flang/parser/dump-parse-tree.h
M flang/lib/CMakeLists.txt
A flang/lib/lower/CMakeLists.txt
A flang/lib/lower/PFTBuilder.cpp
M flang/test-lit/CMakeLists.txt
M flang/test-lit/lit.cfg.py
M flang/test-lit/lit.site.cfg.py.in
A flang/test-lit/lower/pre-fir-tree01.f90
A flang/test-lit/lower/pre-fir-tree02.f90
A flang/test-lit/lower/pre-fir-tree03.f90
A flang/test-lit/lower/pre-fir-tree04.f90
M flang/tools/f18/CMakeLists.txt
M flang/tools/f18/f18.cpp
Log Message:
-----------
[flang] Add Pre-FIR Tree structure to help lowering the parse-tree
The Pre-FIR Tree structure is a transient data structure that
is meant to be built from the parse tree just before lowering to
FIR and that will be deleted just afterwards. It is not meant to perfrom
optimization analysis and transformations. It only provides temporary
information, such as label target information or parse tree parent nodes,
that is meant to be used to lower the parse tree structure into
FIR operations.
A PFTBuilder class builds the Pre-Fir Tree from the parse-tree.
A pretty printer is available to visualize this data structure.
- Lit tests are added to:
1. that the PFT tree structure is as expected
2. that the PFT captures all intented nodes
- Cmake changes: Prevent warnings inisde LLVM headers when compiling flang
The issue is that some LLVM headers define functions where the usage of
the parameters depend on environment ifdef. See for instance Size in:
https://github.com/llvm/llvm-project/blob/5f940220bf9438e95ffa4a627ac1591be1e1ba6e/llvm/include/llvm/Support/Compiler.h#L574
Because flang is build with -Werror and -Wunused-parameter is default in
clang, this may breaks build in some environments (like with clang9 on macos).
A solution would be to add -Wno-unused-parameter to flang CmakLists.txt,
but it is wished to keep this warning on flang sources for quality purposes.
Fixing LLVM headers is not an easy task and `[[maybe_unused]]` is C++17 and
cannot be used yet in LLVM headers.
Hence, this fix simply silence warnings coming from LLVM headers by telling
CMake they are to be considered as if they were system headers.
- drone.io changes: remove llvm 6.0 from clang config in drone.io and link
flang with libstdc++ instead of libc++
llvm-dev resolved to llvm-6.0 in clang builds on drone.io. llvm 6.0 too old.
LLVM packages are linked with libstdc++ standard library whereas libc++ was
used for flang. This caused link time failure when building clang. Change
frone.io to build flang with libc++.
Note:
This commit does not reflect an actual work log, it is a feature based split of the
changes done in the FIR experimental branch. The related work log can be found in the
commits between:
864898cbe509d032abfe1172ec367dbd3dd92bc1
and
137c23da9c64cf90584cf81fd646053a69e91f63
Other changes come from https://github.com/flang-compiler/f18/pull/959 review.
Original-commit: flang-compiler/f18 at edb0943bca4b81689f320bda341040bf255d6e2e
Reviewed-on: https://github.com/flang-compiler/f18/pull/959
Commit: 840e19eed8409de46bfaccf63301eb741ffa86ef
https://github.com/llvm/llvm-project/commit/840e19eed8409de46bfaccf63301eb741ffa86ef
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-02-17 (Mon, 17 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#959 from jeanPerier/jpr-mono-split
RFC: FIR Merge - PR1: Add PFTBuilder structure to help lowering the parse-tree
Original-commit: flang-compiler/f18 at f28afa7138a55c0af3aadc8028844012ce8e6191
Reviewed-on: https://github.com/flang-compiler/f18/pull/959
Commit: aa9fc5bddcbccfc7adc8f05dbd579cb0b94f7e20
https://github.com/llvm/llvm-project/commit/aa9fc5bddcbccfc7adc8f05dbd579cb0b94f7e20
Author: Jinxin (Brian) Yang <jinxiny at nvidia.com>
Date: 2020-02-18 (Tue, 18 Feb 2020)
Changed paths:
M flang/include/flang/semantics/symbol.h
M flang/lib/semantics/check-omp-structure.h
M flang/lib/semantics/resolve-names.cpp
M flang/test/semantics/omp-symbol01.f90
M flang/test/semantics/omp-symbol04.f90
M flang/test/semantics/omp-symbol06.f90
M flang/test/semantics/omp-symbol08.f90
Log Message:
-----------
[flang] [OpenMP] Predetermined rule for sequential loop index (flang-compiler/f18#976)
This commit implements rule:
A loop iteration variable for a sequential loop in a parallel or
task generating construct is private in the innermost such construct
that encloses the loop.
A Simple example:
```
i = -1 <== Scope 0
j = -1
!$omp parallel <== Scope 1
print *,i,j <-- both are shared (Scope 0)
!$omp parallel <== Scope 2
print *,i,j <-- a) i is shared (Scope 0), j is private (Scope 2)
!$omp do <== Scope 3
do i=1, 10 <-- i is private (Scope 3)
do j=1, 10 <-- b) j is private (Scope 2, not 3!)
enddo
enddo
print *,i,j <-- c) i is shared (Scope 0), j is private (Scope 2)
!$omp end parallel
print *,i,j <-- both are shared (Scope 0)
!$omp end parallel
print *,i,j <-- both are shared (Scope 0)
end
```
Ideally the above rule solves a), b), and c) but a) is left as a TODO
because it is better to handle the data-sharing attribute conflicts
along with the rules for "Predetermined DSA on Clauses".
The basic idea is when visiting the `DoConstruct` node within an OpenMP
construct, if the do-loop is not associated (like `i` loop is associated
with `!$omp do`) AND the do-loop is in the parallel/task generating
construct, resolve the loop index to be private to that innermost construct.
In the above example, `j` loop is not associated (then it is sequential) and
the innermost parallel/task generating construct that encloses the `j` loop
is the `parallel` construct marked with `<== Scope 2`, so `j` is private
to that construct. To do that, I also need to change the prototype of those
`ResolveOmp*` functions to allow specifiying the `scope` because the new
symbol for `j` should be created in Scope 2 and all the `symbol` field of
`Name j` in that `parallel` construct should be fixed, such as c).
Original-commit: flang-compiler/f18 at 69a845283b058a3644053ec58b00d3361f4d4a59
Reviewed-on: https://github.com/flang-compiler/f18/pull/976
Commit: 24b9ef8727a2e86fb6c78d5328a8edc1b8dfce0e
https://github.com/llvm/llvm-project/commit/24b9ef8727a2e86fb6c78d5328a8edc1b8dfce0e
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Fix issues with -DBUILD_SHARED_LIBS=On
This re-ordering allows building f18 with shared library using and LLVM build
with static libraries.
This reordering (that also made sens form an alphabetical point of view)
works here to do such "shared+archive" compiling because the current
dependency on LLVM is simple (only one f18 lib + an executable depends on LLVM).
As soon as two f18 libraries will depend on LLVM, one will have to use an LLVM
version built with -DBUILD_SHARED_LIBS=On if one wants to use this option
to compile f18.
Original-commit: flang-compiler/f18 at bbbbe9c1aa2fd38dc2164a6440290dbbea1518e2
Reviewed-on: https://github.com/flang-compiler/f18/pull/994
Commit: d49804cde510b12b1fab99a181779d4ff9380623
https://github.com/llvm/llvm-project/commit/d49804cde510b12b1fab99a181779d4ff9380623
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#994 from flang-compiler/jpr-fix-shared-builds
Fix issues with -DBUILD_SHARED_LIBS=On
Original-commit: flang-compiler/f18 at a20a80e71e05f5ceea84e804e8f4d7bd4b7b52e9
Reviewed-on: https://github.com/flang-compiler/f18/pull/994
Commit: 4d0c8522e3a3bd25c1783c1c271cb155240a7b75
https://github.com/llvm/llvm-project/commit/4d0c8522e3a3bd25c1783c1c271cb155240a7b75
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
M flang/include/flang/semantics/type.h
M flang/lib/semantics/check-call.cpp
M flang/lib/semantics/check-declarations.cpp
M flang/lib/semantics/expression.cpp
M flang/module/iso_c_binding.f90
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/call15.f90
M flang/test/semantics/modfile12.f90
A flang/test/semantics/resolve72.f90
Log Message:
-----------
[flang] Semantic checks for C709, C710, and C711
C709 An assumed-type entity shall be a dummy data object that does not
have the ALLOCATABLE, CODIMENSION, INTENT (OUT), POINTER, or VALUE
attribute and is not an explicit-shape array.
C710 An assumed-type variable name shall not appear in a designator or
expression except as an actual argument corresponding to a dummy
argument that is assumed-type, or as the first argument to the intrinsic
function IS_CONTIGUOUS, LBOUND, PRESENT, RANK, SHAPE, SIZE, or UBOUND,
or the function C_LOC from the intrinsic module ISO_C_BINDING.
C711 An assumed-type actual argument that corresponds to an assumed-rank
dummy argument shall be assumed-shape or assumed-rank.
For C709 I added code to check-declarations.cpp. For this, I had to
distinguish between polymorphic types and assumed-type types to
eliminate multiple messages on the same line.
C710 was already checked, but I added a notation in the source.
For C711 I added code to check-call.cpp and the test call15.f90.
Original-commit: flang-compiler/f18 at 4a703f2b5a6484208a059dc0b456363c138a661d
Reviewed-on: https://github.com/flang-compiler/f18/pull/985
Commit: 79c467b1a8d7605a3115ff19beaf30d7698ac1ca
https://github.com/llvm/llvm-project/commit/79c467b1a8d7605a3115ff19beaf30d7698ac1ca
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#985 from flang-compiler/ps-types
Semantic checks for C709, C710, and C711
Original-commit: flang-compiler/f18 at fa6d4753b74d1fb5fa4b453d7c35de14910fd5be
Reviewed-on: https://github.com/flang-compiler/f18/pull/985
Commit: 88aa96ffe9462bea9677c24fbd966c610918bbd0
https://github.com/llvm/llvm-project/commit/88aa96ffe9462bea9677c24fbd966c610918bbd0
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-18 (Tue, 18 Feb 2020)
Changed paths:
M flang/include/flang/evaluate/expression.h
M flang/lib/evaluate/expression.cpp
M flang/lib/semantics/assignment.cpp
M flang/lib/semantics/expression.cpp
M flang/lib/semantics/pointer-assignment.cpp
M flang/lib/semantics/pointer-assignment.h
Log Message:
-----------
[flang] Reorganize evaluate::Assignment
Every analyzed assignment represented by `evaluate::Assignment` has
a LHS and RHS expression. These need to be checked uniformly in various
places. So change Assignment always to have those data members, with
the variant determining which kinds of assignment it is: intrinsic,
user-defined, or pointer.
Original-commit: flang-compiler/f18 at fb87d16a868112e26ade0ad696b2232d8cf3a524
Reviewed-on: https://github.com/flang-compiler/f18/pull/989
Tree-same-pre-rewrite: false
Commit: ee7cc4764f81db864788a6c121913f901eb25270
https://github.com/llvm/llvm-project/commit/ee7cc4764f81db864788a6c121913f901eb25270
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-18 (Tue, 18 Feb 2020)
Changed paths:
M flang/include/flang/evaluate/tools.h
M flang/include/flang/semantics/semantics.h
M flang/lib/evaluate/tools.cpp
M flang/lib/semantics/assignment.cpp
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-allocate.cpp
M flang/lib/semantics/check-deallocate.cpp
M flang/lib/semantics/check-do.cpp
M flang/lib/semantics/check-do.h
M flang/lib/semantics/check-io.cpp
M flang/lib/semantics/semantics.cpp
M flang/test/semantics/call11.f90
M flang/test/semantics/dosemantics02.f90
M flang/test/semantics/dosemantics04.f90
M flang/test/semantics/dosemantics05.f90
M flang/test/semantics/dosemantics09.f90
M flang/test/semantics/forall01.f90
M flang/test/semantics/resolve35.f90
Log Message:
-----------
[flang] Add FORALL checking to DoChecker
FORALL statements and constructs require a lot of the same checking
as DO CONCURRENT, so do the checks in DoChecker so that code can be
shared where possible. This requires some reorganization there.
Remove code from AssignmentChecker that did some of these checks.
Change names that contain `DoVar` or `DoVariable` to `IndexVar` to
reflect the fact that they may be DO or FORALL index variables.
Distinguish between the two when necessary with enum `IndexVarKind`.
Change some messages that referred to "concurrent-header" or
"concurrent-control" to specifically say "DO CONCURRENT" or "FORALL".
Original-commit: flang-compiler/f18 at 84752c492e910573e2f0ede1ed3c0417aac363b9
Reviewed-on: https://github.com/flang-compiler/f18/pull/989
Tree-same-pre-rewrite: false
Commit: aafc1578aee8a72402528e68b0fa52a3d64030d1
https://github.com/llvm/llvm-project/commit/aafc1578aee8a72402528e68b0fa52a3d64030d1
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
M flang/lib/semantics/CMakeLists.txt
A flang/lib/semantics/check-do-forall.cpp
A flang/lib/semantics/check-do-forall.h
R flang/lib/semantics/check-do.cpp
R flang/lib/semantics/check-do.h
M flang/lib/semantics/semantics.cpp
Log Message:
-----------
[flang] Rename DoChecker to DoForallChecker
This reflects the fact that it now performs checks on both DO
and FORALL constructs. Rename the source files as well.
Original-commit: flang-compiler/f18 at 8ecb6a279f53ff4cc9493506370664fb1923470a
Reviewed-on: https://github.com/flang-compiler/f18/pull/989
Commit: 4aea41c9073e33bf5db9a741409e2e25b7b97793
https://github.com/llvm/llvm-project/commit/4aea41c9073e33bf5db9a741409e2e25b7b97793
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#989 from flang-compiler/tsk-forall
Add FORALL checking to DoChecker
Original-commit: flang-compiler/f18 at 35fd0cda58776389d2ed68eaefbc1e1d59423ec8
Reviewed-on: https://github.com/flang-compiler/f18/pull/989
Commit: 256b53688e3a76c00ae364a0528e0356b54405da
https://github.com/llvm/llvm-project/commit/256b53688e3a76c00ae364a0528e0356b54405da
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-02-20 (Thu, 20 Feb 2020)
Changed paths:
M flang/include/flang/decimal/decimal.h
M flang/lib/decimal/binary-to-decimal.cpp
M flang/lib/decimal/decimal-to-binary.cpp
Log Message:
-----------
[flang] Disable 80-bit extended precision if on MSVC (flang-compiler/f18#1003)
Original-commit: flang-compiler/f18 at 2c1fc63758eac43eb4d2fd4fdf1e7b0e63d52f70
Reviewed-on: https://github.com/flang-compiler/f18/pull/1003
Commit: ca861fd4946f16f8d993851c6bfafa0fb12b40c3
https://github.com/llvm/llvm-project/commit/ca861fd4946f16f8d993851c6bfafa0fb12b40c3
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-02-20 (Thu, 20 Feb 2020)
Changed paths:
M flang/include/flang/semantics/symbol.h
Log Message:
-----------
[flang] Add missing array include (flang-compiler/f18#1004)
Original-commit: flang-compiler/f18 at de801a0db7614c93abc8239d02a453d60c9ea8a1
Reviewed-on: https://github.com/flang-compiler/f18/pull/1004
Commit: df1b4b144e81a1219b9daf9f2aa765bc0beed800
https://github.com/llvm/llvm-project/commit/df1b4b144e81a1219b9daf9f2aa765bc0beed800
Author: Anchu Rajendran S <59249359+anchu-rajendran at users.noreply.github.com>
Date: 2020-02-20 (Thu, 20 Feb 2020)
Changed paths:
M flang/include/flang/semantics/expression.h
M flang/lib/semantics/CMakeLists.txt
A flang/lib/semantics/check-data.cpp
A flang/lib/semantics/check-data.h
M flang/lib/semantics/expression.cpp
M flang/lib/semantics/resolve-names.cpp
M flang/lib/semantics/semantics.cpp
M flang/test/semantics/CMakeLists.txt
A flang/test/semantics/data01.f90
Log Message:
-----------
[flang] Issue flang-compiler/f18#992 : Implementing Semantic checks for DATA Statement (C874-C887) (flang-compiler/f18#992)
This commit covers Semantic Constraints C882 - C887
C882 : It was partially Implemented. Finished the implementation
and added test case
C884 : Implemented and added test case
C883 : Implementation was there already. Added test case
C885, C886, C887 : Implementation was there already. Added test case for
data-repeat.
Original-commit: flang-compiler/f18 at 822129736b6b7a96b6ff3ffe810d842ce42e3672
Reviewed-on: https://github.com/flang-compiler/f18/pull/992
Commit: 28d8a67d43aff990d331852178a86e0bf0a94f30
https://github.com/llvm/llvm-project/commit/28d8a67d43aff990d331852178a86e0bf0a94f30
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-21 (Fri, 21 Feb 2020)
Changed paths:
M flang/include/flang/parser/parse-tree.h
M flang/lib/parser/Fortran-parsers.cpp
Log Message:
-----------
[flang] Fix parsing bug on DATA statement
This DATA statement was getting a parsing error:
`data x /a(i)%b/`
The parser was expecting the ending '/' where the '%' was. The problem
was parsing `a(i)` as a structure constructor. Instead, move the
constant subobject case before structure constructor, but match it only
if not followed by '('. That is because in `data x /a(1)(2)/`, `a(1)` is
a valid structure constructor.
Also, remove the NamedConstant alternative from DataStmtRepeat. A named
constant is always parsed as a ConstantSubobject so it can never occur.
Original-commit: flang-compiler/f18 at 04a76b272675d47ec7752420b15976c69a907dab
Reviewed-on: https://github.com/flang-compiler/f18/pull/1012
Commit: 703c56132b16f2500b5856e44c1a297f314a2378
https://github.com/llvm/llvm-project/commit/703c56132b16f2500b5856e44c1a297f314a2378
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-21 (Fri, 21 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1012 from flang-compiler/tsk-rewrite
Fix parsing bug on DATA statement
Original-commit: flang-compiler/f18 at b9f2617f55bd3be8414f8d8f078f53f0bf881667
Reviewed-on: https://github.com/flang-compiler/f18/pull/1012
Commit: e0ba2b8783ec6feb49af89f1aa3378069054a109
https://github.com/llvm/llvm-project/commit/e0ba2b8783ec6feb49af89f1aa3378069054a109
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-21 (Fri, 21 Feb 2020)
Changed paths:
M flang/include/flang/semantics/semantics.h
M flang/lib/semantics/assignment.cpp
M flang/lib/semantics/assignment.h
M flang/lib/semantics/check-do-forall.cpp
M flang/lib/semantics/semantics.cpp
M flang/test/semantics/assign01.f90
M flang/test/semantics/forall01.f90
Log Message:
-----------
[flang] Add more checks on WHERE and FORALL
Check that masks and LHS of assignments in WHERE statements and
constructs have consistent shapes. They must all have the same rank and
any extents that are compile-time constants must match.
Emit a warning for assignments in FORALL statements and constructs where
the LHS does not reference each of the index variables.
Original-commit: flang-compiler/f18 at 8b04dbebcf5621cfd571a8c45878cebcd1a1bfb0
Reviewed-on: https://github.com/flang-compiler/f18/pull/1009
Commit: b7af30a33b28d44029dbde925eee2c23822f5c0f
https://github.com/llvm/llvm-project/commit/b7af30a33b28d44029dbde925eee2c23822f5c0f
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-21 (Fri, 21 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1009 from flang-compiler/tsk-where
Add more checks on WHERE and FORALL
Original-commit: flang-compiler/f18 at c9638d10c6515703e8c095127bd46ae1dae1637e
Reviewed-on: https://github.com/flang-compiler/f18/pull/1009
Commit: 6374eea9cf451b7e1f2a3fe1846f827276c3344e
https://github.com/llvm/llvm-project/commit/6374eea9cf451b7e1f2a3fe1846f827276c3344e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-21 (Fri, 21 Feb 2020)
Changed paths:
M flang/test/semantics/data01.f90
Log Message:
-----------
[flang] Temporarily disable part of data01 test
`data x /a(1)/` is ambiguous. The data value may be an array element
or a structure constructor. We need to parse it as one of these and
then fix up the parse tree when it should have been the other one.
My PR 1012 changed the parser to identify this as an array element.
That makes this test invalid until we have the right parse tree fixup,
so I am disabling it for now.
Original-commit: flang-compiler/f18 at 72aa278f0341f345a12fcd76a6ad1f2045ecc233
Reviewed-on: https://github.com/flang-compiler/f18/pull/1013
Commit: 456a61d188e9cdf43bd44e28e11708773d838798
https://github.com/llvm/llvm-project/commit/456a61d188e9cdf43bd44e28e11708773d838798
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-21 (Fri, 21 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1013 from flang-compiler/tsk-rewrite
Temporarily disable part of data01 test
Original-commit: flang-compiler/f18 at cf48fe874617647e5f9250bedd35248711b8371c
Reviewed-on: https://github.com/flang-compiler/f18/pull/1013
Commit: 64ab3302d5a130c00b66a6957b2e7f0c9b9c537d
https://github.com/llvm/llvm-project/commit/64ab3302d5a130c00b66a6957b2e7f0c9b9c537d
Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths:
M flang/documentation/C++style.md
M flang/documentation/ImplementingASemanticCheck.md
A flang/include/flang/Common/Fortran-features.h
A flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/bit-population-count.h
A flang/include/flang/Common/constexpr-bitset.h
A flang/include/flang/Common/default-kinds.h
A flang/include/flang/Common/enum-set.h
A flang/include/flang/Common/format.h
A flang/include/flang/Common/idioms.h
A flang/include/flang/Common/indirection.h
A flang/include/flang/Common/interval.h
A flang/include/flang/Common/leading-zero-bit-count.h
A flang/include/flang/Common/real.h
A flang/include/flang/Common/reference-counted.h
A flang/include/flang/Common/reference.h
A flang/include/flang/Common/restorer.h
A flang/include/flang/Common/template.h
A flang/include/flang/Common/uint128.h
A flang/include/flang/Common/unsigned-const-division.h
A flang/include/flang/Common/unwrap.h
A flang/include/flang/Decimal/binary-floating-point.h
A flang/include/flang/Decimal/decimal.h
A flang/include/flang/Evaluate/call.h
A flang/include/flang/Evaluate/characteristics.h
A flang/include/flang/Evaluate/check-expression.h
A flang/include/flang/Evaluate/common.h
A flang/include/flang/Evaluate/complex.h
A flang/include/flang/Evaluate/constant.h
A flang/include/flang/Evaluate/expression.h
A flang/include/flang/Evaluate/fold.h
A flang/include/flang/Evaluate/formatting.h
A flang/include/flang/Evaluate/integer.h
A flang/include/flang/Evaluate/intrinsics-library.h
A flang/include/flang/Evaluate/intrinsics.h
A flang/include/flang/Evaluate/logical.h
A flang/include/flang/Evaluate/real.h
A flang/include/flang/Evaluate/rounding-bits.h
A flang/include/flang/Evaluate/shape.h
A flang/include/flang/Evaluate/static-data.h
A flang/include/flang/Evaluate/tools.h
A flang/include/flang/Evaluate/traverse.h
A flang/include/flang/Evaluate/type.h
A flang/include/flang/Evaluate/variable.h
A flang/include/flang/Lower/.clang-format
A flang/include/flang/Lower/PFTBuilder.h
A flang/include/flang/Optimizer/.clang-format
A flang/include/flang/Parser/char-block.h
A flang/include/flang/Parser/char-buffer.h
A flang/include/flang/Parser/char-set.h
A flang/include/flang/Parser/characters.h
A flang/include/flang/Parser/dump-parse-tree.h
A flang/include/flang/Parser/format-specification.h
A flang/include/flang/Parser/instrumented-parser.h
A flang/include/flang/Parser/message.h
A flang/include/flang/Parser/parse-state.h
A flang/include/flang/Parser/parse-tree-visitor.h
A flang/include/flang/Parser/parse-tree.h
A flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/provenance.h
A flang/include/flang/Parser/source.h
A flang/include/flang/Parser/tools.h
A flang/include/flang/Parser/unparse.h
A flang/include/flang/Parser/user-state.h
A flang/include/flang/Semantics/attr.h
A flang/include/flang/Semantics/expression.h
A flang/include/flang/Semantics/scope.h
A flang/include/flang/Semantics/semantics.h
A flang/include/flang/Semantics/symbol.h
A flang/include/flang/Semantics/tools.h
A flang/include/flang/Semantics/type.h
A flang/include/flang/Semantics/unparse-with-symbols.h
R flang/include/flang/common/Fortran-features.h
R flang/include/flang/common/Fortran.h
R flang/include/flang/common/bit-population-count.h
R flang/include/flang/common/constexpr-bitset.h
R flang/include/flang/common/default-kinds.h
R flang/include/flang/common/enum-set.h
R flang/include/flang/common/format.h
R flang/include/flang/common/idioms.h
R flang/include/flang/common/indirection.h
R flang/include/flang/common/interval.h
R flang/include/flang/common/leading-zero-bit-count.h
R flang/include/flang/common/real.h
R flang/include/flang/common/reference-counted.h
R flang/include/flang/common/reference.h
R flang/include/flang/common/restorer.h
R flang/include/flang/common/template.h
R flang/include/flang/common/uint128.h
R flang/include/flang/common/unsigned-const-division.h
R flang/include/flang/common/unwrap.h
R flang/include/flang/decimal/binary-floating-point.h
R flang/include/flang/decimal/decimal.h
R flang/include/flang/evaluate/call.h
R flang/include/flang/evaluate/characteristics.h
R flang/include/flang/evaluate/check-expression.h
R flang/include/flang/evaluate/common.h
R flang/include/flang/evaluate/complex.h
R flang/include/flang/evaluate/constant.h
R flang/include/flang/evaluate/expression.h
R flang/include/flang/evaluate/fold.h
R flang/include/flang/evaluate/formatting.h
R flang/include/flang/evaluate/integer.h
R flang/include/flang/evaluate/intrinsics-library.h
R flang/include/flang/evaluate/intrinsics.h
R flang/include/flang/evaluate/logical.h
R flang/include/flang/evaluate/real.h
R flang/include/flang/evaluate/rounding-bits.h
R flang/include/flang/evaluate/shape.h
R flang/include/flang/evaluate/static-data.h
R flang/include/flang/evaluate/tools.h
R flang/include/flang/evaluate/traverse.h
R flang/include/flang/evaluate/type.h
R flang/include/flang/evaluate/variable.h
R flang/include/flang/lower/.clang-format
R flang/include/flang/lower/PFTBuilder.h
R flang/include/flang/optimizer/.clang-format
R flang/include/flang/parser/char-block.h
R flang/include/flang/parser/char-buffer.h
R flang/include/flang/parser/char-set.h
R flang/include/flang/parser/characters.h
R flang/include/flang/parser/dump-parse-tree.h
R flang/include/flang/parser/format-specification.h
R flang/include/flang/parser/instrumented-parser.h
R flang/include/flang/parser/message.h
R flang/include/flang/parser/parse-state.h
R flang/include/flang/parser/parse-tree-visitor.h
R flang/include/flang/parser/parse-tree.h
R flang/include/flang/parser/parsing.h
R flang/include/flang/parser/provenance.h
R flang/include/flang/parser/source.h
R flang/include/flang/parser/tools.h
R flang/include/flang/parser/unparse.h
R flang/include/flang/parser/user-state.h
R flang/include/flang/semantics/attr.h
R flang/include/flang/semantics/expression.h
R flang/include/flang/semantics/scope.h
R flang/include/flang/semantics/semantics.h
R flang/include/flang/semantics/symbol.h
R flang/include/flang/semantics/tools.h
R flang/include/flang/semantics/type.h
R flang/include/flang/semantics/unparse-with-symbols.h
M flang/lib/CMakeLists.txt
A flang/lib/Common/CMakeLists.txt
A flang/lib/Common/Fortran-features.cpp
A flang/lib/Common/Fortran.cpp
A flang/lib/Common/default-kinds.cpp
A flang/lib/Common/idioms.cpp
A flang/lib/Decimal/CMakeLists.txt
A flang/lib/Decimal/big-radix-floating-point.h
A flang/lib/Decimal/binary-to-decimal.cpp
A flang/lib/Decimal/decimal-to-binary.cpp
A flang/lib/Evaluate/CMakeLists.txt
A flang/lib/Evaluate/call.cpp
A flang/lib/Evaluate/character.h
A flang/lib/Evaluate/characteristics.cpp
A flang/lib/Evaluate/check-expression.cpp
A flang/lib/Evaluate/common.cpp
A flang/lib/Evaluate/complex.cpp
A flang/lib/Evaluate/constant.cpp
A flang/lib/Evaluate/expression.cpp
A flang/lib/Evaluate/fold-character.cpp
A flang/lib/Evaluate/fold-complex.cpp
A flang/lib/Evaluate/fold-implementation.h
A flang/lib/Evaluate/fold-integer.cpp
A flang/lib/Evaluate/fold-logical.cpp
A flang/lib/Evaluate/fold-real.cpp
A flang/lib/Evaluate/fold.cpp
A flang/lib/Evaluate/formatting.cpp
A flang/lib/Evaluate/host.cpp
A flang/lib/Evaluate/host.h
A flang/lib/Evaluate/int-power.h
A flang/lib/Evaluate/integer.cpp
A flang/lib/Evaluate/intrinsics-library-templates.h
A flang/lib/Evaluate/intrinsics-library.cpp
A flang/lib/Evaluate/intrinsics.cpp
A flang/lib/Evaluate/logical.cpp
A flang/lib/Evaluate/real.cpp
A flang/lib/Evaluate/shape.cpp
A flang/lib/Evaluate/static-data.cpp
A flang/lib/Evaluate/tools.cpp
A flang/lib/Evaluate/type.cpp
A flang/lib/Evaluate/variable.cpp
A flang/lib/Fir/.clang-format
A flang/lib/Lower/.clang-format
A flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/PFTBuilder.cpp
A flang/lib/Optimizer/.clang-format
A flang/lib/Parser/CMakeLists.txt
A flang/lib/Parser/Fortran-parsers.cpp
A flang/lib/Parser/basic-parsers.h
A flang/lib/Parser/char-block.cpp
A flang/lib/Parser/char-buffer.cpp
A flang/lib/Parser/char-set.cpp
A flang/lib/Parser/characters.cpp
A flang/lib/Parser/debug-parser.cpp
A flang/lib/Parser/debug-parser.h
A flang/lib/Parser/executable-parsers.cpp
A flang/lib/Parser/expr-parsers.cpp
A flang/lib/Parser/expr-parsers.h
A flang/lib/Parser/instrumented-parser.cpp
A flang/lib/Parser/io-parsers.cpp
A flang/lib/Parser/message.cpp
A flang/lib/Parser/misc-parsers.h
A flang/lib/Parser/openmp-parsers.cpp
A flang/lib/Parser/parse-tree.cpp
A flang/lib/Parser/parsing.cpp
A flang/lib/Parser/preprocessor.cpp
A flang/lib/Parser/preprocessor.h
A flang/lib/Parser/prescan.cpp
A flang/lib/Parser/prescan.h
A flang/lib/Parser/program-parsers.cpp
A flang/lib/Parser/provenance.cpp
A flang/lib/Parser/source.cpp
A flang/lib/Parser/stmt-parser.h
A flang/lib/Parser/token-parsers.h
A flang/lib/Parser/token-sequence.cpp
A flang/lib/Parser/token-sequence.h
A flang/lib/Parser/tools.cpp
A flang/lib/Parser/type-parser-implementation.h
A flang/lib/Parser/type-parsers.h
A flang/lib/Parser/unparse.cpp
A flang/lib/Parser/user-state.cpp
A flang/lib/Semantics/CMakeLists.txt
A flang/lib/Semantics/assignment.cpp
A flang/lib/Semantics/assignment.h
A flang/lib/Semantics/attr.cpp
A flang/lib/Semantics/canonicalize-do.cpp
A flang/lib/Semantics/canonicalize-do.h
A flang/lib/Semantics/canonicalize-omp.cpp
A flang/lib/Semantics/canonicalize-omp.h
A flang/lib/Semantics/check-allocate.cpp
A flang/lib/Semantics/check-allocate.h
A flang/lib/Semantics/check-arithmeticif.cpp
A flang/lib/Semantics/check-arithmeticif.h
A flang/lib/Semantics/check-call.cpp
A flang/lib/Semantics/check-call.h
A flang/lib/Semantics/check-coarray.cpp
A flang/lib/Semantics/check-coarray.h
A flang/lib/Semantics/check-data.cpp
A flang/lib/Semantics/check-data.h
A flang/lib/Semantics/check-deallocate.cpp
A flang/lib/Semantics/check-deallocate.h
A flang/lib/Semantics/check-declarations.cpp
A flang/lib/Semantics/check-declarations.h
A flang/lib/Semantics/check-do-forall.cpp
A flang/lib/Semantics/check-do-forall.h
A flang/lib/Semantics/check-if-stmt.cpp
A flang/lib/Semantics/check-if-stmt.h
A flang/lib/Semantics/check-io.cpp
A flang/lib/Semantics/check-io.h
A flang/lib/Semantics/check-nullify.cpp
A flang/lib/Semantics/check-nullify.h
A flang/lib/Semantics/check-omp-structure.cpp
A flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-purity.cpp
A flang/lib/Semantics/check-purity.h
A flang/lib/Semantics/check-return.cpp
A flang/lib/Semantics/check-return.h
A flang/lib/Semantics/check-stop.cpp
A flang/lib/Semantics/check-stop.h
A flang/lib/Semantics/expression.cpp
A flang/lib/Semantics/mod-file.cpp
A flang/lib/Semantics/mod-file.h
A flang/lib/Semantics/pointer-assignment.cpp
A flang/lib/Semantics/pointer-assignment.h
A flang/lib/Semantics/program-tree.cpp
A flang/lib/Semantics/program-tree.h
A flang/lib/Semantics/resolve-labels.cpp
A flang/lib/Semantics/resolve-labels.h
A flang/lib/Semantics/resolve-names-utils.cpp
A flang/lib/Semantics/resolve-names-utils.h
A flang/lib/Semantics/resolve-names.cpp
A flang/lib/Semantics/resolve-names.h
A flang/lib/Semantics/rewrite-parse-tree.cpp
A flang/lib/Semantics/rewrite-parse-tree.h
A flang/lib/Semantics/scope.cpp
A flang/lib/Semantics/semantics.cpp
A flang/lib/Semantics/symbol.cpp
A flang/lib/Semantics/tools.cpp
A flang/lib/Semantics/type.cpp
A flang/lib/Semantics/unparse-with-symbols.cpp
R flang/lib/common/CMakeLists.txt
R flang/lib/common/Fortran-features.cpp
R flang/lib/common/Fortran.cpp
R flang/lib/common/default-kinds.cpp
R flang/lib/common/idioms.cpp
R flang/lib/decimal/CMakeLists.txt
R flang/lib/decimal/big-radix-floating-point.h
R flang/lib/decimal/binary-to-decimal.cpp
R flang/lib/decimal/decimal-to-binary.cpp
R flang/lib/evaluate/CMakeLists.txt
R flang/lib/evaluate/call.cpp
R flang/lib/evaluate/character.h
R flang/lib/evaluate/characteristics.cpp
R flang/lib/evaluate/check-expression.cpp
R flang/lib/evaluate/common.cpp
R flang/lib/evaluate/complex.cpp
R flang/lib/evaluate/constant.cpp
R flang/lib/evaluate/expression.cpp
R flang/lib/evaluate/fold-character.cpp
R flang/lib/evaluate/fold-complex.cpp
R flang/lib/evaluate/fold-implementation.h
R flang/lib/evaluate/fold-integer.cpp
R flang/lib/evaluate/fold-logical.cpp
R flang/lib/evaluate/fold-real.cpp
R flang/lib/evaluate/fold.cpp
R flang/lib/evaluate/formatting.cpp
R flang/lib/evaluate/host.cpp
R flang/lib/evaluate/host.h
R flang/lib/evaluate/int-power.h
R flang/lib/evaluate/integer.cpp
R flang/lib/evaluate/intrinsics-library-templates.h
R flang/lib/evaluate/intrinsics-library.cpp
R flang/lib/evaluate/intrinsics.cpp
R flang/lib/evaluate/logical.cpp
R flang/lib/evaluate/real.cpp
R flang/lib/evaluate/shape.cpp
R flang/lib/evaluate/static-data.cpp
R flang/lib/evaluate/tools.cpp
R flang/lib/evaluate/type.cpp
R flang/lib/evaluate/variable.cpp
R flang/lib/fir/.clang-format
R flang/lib/lower/.clang-format
R flang/lib/lower/CMakeLists.txt
R flang/lib/lower/PFTBuilder.cpp
R flang/lib/optimizer/.clang-format
R flang/lib/parser/CMakeLists.txt
R flang/lib/parser/Fortran-parsers.cpp
R flang/lib/parser/basic-parsers.h
R flang/lib/parser/char-block.cpp
R flang/lib/parser/char-buffer.cpp
R flang/lib/parser/char-set.cpp
R flang/lib/parser/characters.cpp
R flang/lib/parser/debug-parser.cpp
R flang/lib/parser/debug-parser.h
R flang/lib/parser/executable-parsers.cpp
R flang/lib/parser/expr-parsers.cpp
R flang/lib/parser/expr-parsers.h
R flang/lib/parser/instrumented-parser.cpp
R flang/lib/parser/io-parsers.cpp
R flang/lib/parser/message.cpp
R flang/lib/parser/misc-parsers.h
R flang/lib/parser/openmp-parsers.cpp
R flang/lib/parser/parse-tree.cpp
R flang/lib/parser/parsing.cpp
R flang/lib/parser/preprocessor.cpp
R flang/lib/parser/preprocessor.h
R flang/lib/parser/prescan.cpp
R flang/lib/parser/prescan.h
R flang/lib/parser/program-parsers.cpp
R flang/lib/parser/provenance.cpp
R flang/lib/parser/source.cpp
R flang/lib/parser/stmt-parser.h
R flang/lib/parser/token-parsers.h
R flang/lib/parser/token-sequence.cpp
R flang/lib/parser/token-sequence.h
R flang/lib/parser/tools.cpp
R flang/lib/parser/type-parser-implementation.h
R flang/lib/parser/type-parsers.h
R flang/lib/parser/unparse.cpp
R flang/lib/parser/user-state.cpp
R flang/lib/semantics/CMakeLists.txt
R flang/lib/semantics/assignment.cpp
R flang/lib/semantics/assignment.h
R flang/lib/semantics/attr.cpp
R flang/lib/semantics/canonicalize-do.cpp
R flang/lib/semantics/canonicalize-do.h
R flang/lib/semantics/canonicalize-omp.cpp
R flang/lib/semantics/canonicalize-omp.h
R flang/lib/semantics/check-allocate.cpp
R flang/lib/semantics/check-allocate.h
R flang/lib/semantics/check-arithmeticif.cpp
R flang/lib/semantics/check-arithmeticif.h
R flang/lib/semantics/check-call.cpp
R flang/lib/semantics/check-call.h
R flang/lib/semantics/check-coarray.cpp
R flang/lib/semantics/check-coarray.h
R flang/lib/semantics/check-data.cpp
R flang/lib/semantics/check-data.h
R flang/lib/semantics/check-deallocate.cpp
R flang/lib/semantics/check-deallocate.h
R flang/lib/semantics/check-declarations.cpp
R flang/lib/semantics/check-declarations.h
R flang/lib/semantics/check-do-forall.cpp
R flang/lib/semantics/check-do-forall.h
R flang/lib/semantics/check-if-stmt.cpp
R flang/lib/semantics/check-if-stmt.h
R flang/lib/semantics/check-io.cpp
R flang/lib/semantics/check-io.h
R flang/lib/semantics/check-nullify.cpp
R flang/lib/semantics/check-nullify.h
R flang/lib/semantics/check-omp-structure.cpp
R flang/lib/semantics/check-omp-structure.h
R flang/lib/semantics/check-purity.cpp
R flang/lib/semantics/check-purity.h
R flang/lib/semantics/check-return.cpp
R flang/lib/semantics/check-return.h
R flang/lib/semantics/check-stop.cpp
R flang/lib/semantics/check-stop.h
R flang/lib/semantics/expression.cpp
R flang/lib/semantics/mod-file.cpp
R flang/lib/semantics/mod-file.h
R flang/lib/semantics/pointer-assignment.cpp
R flang/lib/semantics/pointer-assignment.h
R flang/lib/semantics/program-tree.cpp
R flang/lib/semantics/program-tree.h
R flang/lib/semantics/resolve-labels.cpp
R flang/lib/semantics/resolve-labels.h
R flang/lib/semantics/resolve-names-utils.cpp
R flang/lib/semantics/resolve-names-utils.h
R flang/lib/semantics/resolve-names.cpp
R flang/lib/semantics/resolve-names.h
R flang/lib/semantics/rewrite-parse-tree.cpp
R flang/lib/semantics/rewrite-parse-tree.h
R flang/lib/semantics/scope.cpp
R flang/lib/semantics/semantics.cpp
R flang/lib/semantics/symbol.cpp
R flang/lib/semantics/tools.cpp
R flang/lib/semantics/type.cpp
R flang/lib/semantics/unparse-with-symbols.cpp
M flang/runtime/descriptor.cpp
M flang/runtime/environment.h
M flang/runtime/format-implementation.h
M flang/runtime/format.h
M flang/runtime/numeric-output.cpp
M flang/runtime/numeric-output.h
M flang/runtime/transformational.cpp
M flang/runtime/type-code.h
A flang/test-lit/Driver/version_test.f90
A flang/test-lit/Lower/pre-fir-tree01.f90
A flang/test-lit/Lower/pre-fir-tree02.f90
A flang/test-lit/Lower/pre-fir-tree03.f90
A flang/test-lit/Lower/pre-fir-tree04.f90
R flang/test-lit/driver/version_test.f90
R flang/test-lit/lower/pre-fir-tree01.f90
R flang/test-lit/lower/pre-fir-tree02.f90
R flang/test-lit/lower/pre-fir-tree03.f90
R flang/test-lit/lower/pre-fir-tree04.f90
M flang/test/CMakeLists.txt
A flang/test/Decimal/CMakeLists.txt
A flang/test/Decimal/quick-sanity-test.cpp
A flang/test/Decimal/thorough-test.cpp
A flang/test/Evaluate/CMakeLists.txt
A flang/test/Evaluate/ISO-Fortran-binding.cpp
A flang/test/Evaluate/bit-population-count.cpp
A flang/test/Evaluate/expression.cpp
A flang/test/Evaluate/folding.cpp
A flang/test/Evaluate/folding01.f90
A flang/test/Evaluate/folding02.f90
A flang/test/Evaluate/folding03.f90
A flang/test/Evaluate/folding04.f90
A flang/test/Evaluate/folding05.f90
A flang/test/Evaluate/folding06.f90
A flang/test/Evaluate/folding07.f90
A flang/test/Evaluate/folding08.f90
A flang/test/Evaluate/folding09.f90
A flang/test/Evaluate/fp-testing.cpp
A flang/test/Evaluate/fp-testing.h
A flang/test/Evaluate/integer.cpp
A flang/test/Evaluate/intrinsics.cpp
A flang/test/Evaluate/leading-zero-bit-count.cpp
A flang/test/Evaluate/logical.cpp
A flang/test/Evaluate/real.cpp
A flang/test/Evaluate/reshape.cpp
A flang/test/Evaluate/test_folding.sh
A flang/test/Evaluate/testing.cpp
A flang/test/Evaluate/testing.h
A flang/test/Evaluate/uint128.cpp
A flang/test/Preprocessing/pp001.F
A flang/test/Preprocessing/pp002.F
A flang/test/Preprocessing/pp003.F
A flang/test/Preprocessing/pp004.F
A flang/test/Preprocessing/pp005.F
A flang/test/Preprocessing/pp006.F
A flang/test/Preprocessing/pp007.F
A flang/test/Preprocessing/pp008.F
A flang/test/Preprocessing/pp009.F
A flang/test/Preprocessing/pp010.F
A flang/test/Preprocessing/pp011.F
A flang/test/Preprocessing/pp012.F
A flang/test/Preprocessing/pp013.F
A flang/test/Preprocessing/pp014.F
A flang/test/Preprocessing/pp015.F
A flang/test/Preprocessing/pp016.F
A flang/test/Preprocessing/pp017.F
A flang/test/Preprocessing/pp018.F
A flang/test/Preprocessing/pp019.F
A flang/test/Preprocessing/pp020.F
A flang/test/Preprocessing/pp021.F
A flang/test/Preprocessing/pp022.F
A flang/test/Preprocessing/pp023.F
A flang/test/Preprocessing/pp024.F
A flang/test/Preprocessing/pp025.F
A flang/test/Preprocessing/pp026.F
A flang/test/Preprocessing/pp027.F
A flang/test/Preprocessing/pp028.F
A flang/test/Preprocessing/pp029.F
A flang/test/Preprocessing/pp030.F
A flang/test/Preprocessing/pp031.F
A flang/test/Preprocessing/pp032.F
A flang/test/Preprocessing/pp033.F
A flang/test/Preprocessing/pp034.F
A flang/test/Preprocessing/pp035.F
A flang/test/Preprocessing/pp036.F
A flang/test/Preprocessing/pp037.F
A flang/test/Preprocessing/pp038.F
A flang/test/Preprocessing/pp039.F
A flang/test/Preprocessing/pp040.F
A flang/test/Preprocessing/pp041.F
A flang/test/Preprocessing/pp042.F
A flang/test/Preprocessing/pp043.F
A flang/test/Preprocessing/pp044.F
A flang/test/Preprocessing/pp101.F90
A flang/test/Preprocessing/pp102.F90
A flang/test/Preprocessing/pp103.F90
A flang/test/Preprocessing/pp104.F90
A flang/test/Preprocessing/pp105.F90
A flang/test/Preprocessing/pp106.F90
A flang/test/Preprocessing/pp107.F90
A flang/test/Preprocessing/pp108.F90
A flang/test/Preprocessing/pp109.F90
A flang/test/Preprocessing/pp110.F90
A flang/test/Preprocessing/pp111.F90
A flang/test/Preprocessing/pp112.F90
A flang/test/Preprocessing/pp113.F90
A flang/test/Preprocessing/pp114.F90
A flang/test/Preprocessing/pp115.F90
A flang/test/Preprocessing/pp116.F90
A flang/test/Preprocessing/pp117.F90
A flang/test/Preprocessing/pp118.F90
A flang/test/Preprocessing/pp119.F90
A flang/test/Preprocessing/pp120.F90
A flang/test/Preprocessing/pp121.F90
A flang/test/Preprocessing/pp122.F90
A flang/test/Preprocessing/pp123.F90
A flang/test/Preprocessing/pp124.F90
A flang/test/Preprocessing/pp125.F90
A flang/test/Preprocessing/pp126.F90
A flang/test/Preprocessing/pp127.F90
A flang/test/Preprocessing/pp128.F90
A flang/test/Preprocessing/pp129.F90
A flang/test/Preprocessing/pp130.F90
A flang/test/Runtime/CMakeLists.txt
A flang/test/Runtime/external-hello.cpp
A flang/test/Runtime/format.cpp
A flang/test/Runtime/hello.cpp
A flang/test/Semantics/CMakeLists.txt
A flang/test/Semantics/allocate01.f90
A flang/test/Semantics/allocate02.f90
A flang/test/Semantics/allocate03.f90
A flang/test/Semantics/allocate04.f90
A flang/test/Semantics/allocate05.f90
A flang/test/Semantics/allocate06.f90
A flang/test/Semantics/allocate07.f90
A flang/test/Semantics/allocate08.f90
A flang/test/Semantics/allocate09.f90
A flang/test/Semantics/allocate10.f90
A flang/test/Semantics/allocate11.f90
A flang/test/Semantics/allocate12.f90
A flang/test/Semantics/allocate13.f90
A flang/test/Semantics/altreturn01.f90
A flang/test/Semantics/altreturn02.f90
A flang/test/Semantics/altreturn03.f90
A flang/test/Semantics/altreturn04.f90
A flang/test/Semantics/altreturn05.f90
A flang/test/Semantics/assign01.f90
A flang/test/Semantics/assign02.f90
A flang/test/Semantics/assign03.f90
A flang/test/Semantics/bad-forward-type.f90
A flang/test/Semantics/bindings01.f90
A flang/test/Semantics/block-data01.f90
A flang/test/Semantics/blockconstruct01.f90
A flang/test/Semantics/blockconstruct02.f90
A flang/test/Semantics/blockconstruct03.f90
A flang/test/Semantics/c_f_pointer.f90
A flang/test/Semantics/call01.f90
A flang/test/Semantics/call02.f90
A flang/test/Semantics/call03.f90
A flang/test/Semantics/call04.f90
A flang/test/Semantics/call05.f90
A flang/test/Semantics/call06.f90
A flang/test/Semantics/call07.f90
A flang/test/Semantics/call08.f90
A flang/test/Semantics/call09.f90
A flang/test/Semantics/call10.f90
A flang/test/Semantics/call11.f90
A flang/test/Semantics/call12.f90
A flang/test/Semantics/call13.f90
A flang/test/Semantics/call14.f90
A flang/test/Semantics/call15.f90
A flang/test/Semantics/canondo01.f90
A flang/test/Semantics/canondo02.f90
A flang/test/Semantics/canondo03.f90
A flang/test/Semantics/canondo04.f90
A flang/test/Semantics/canondo05.f90
A flang/test/Semantics/canondo06.f90
A flang/test/Semantics/canondo07.f90
A flang/test/Semantics/canondo08.f90
A flang/test/Semantics/canondo09.f90
A flang/test/Semantics/canondo10.f90
A flang/test/Semantics/canondo11.f90
A flang/test/Semantics/canondo12.f90
A flang/test/Semantics/canondo13.f90
A flang/test/Semantics/canondo14.f90
A flang/test/Semantics/canondo15.f90
A flang/test/Semantics/canondo16.f90
A flang/test/Semantics/canondo17.f90
A flang/test/Semantics/canondo18.f90
A flang/test/Semantics/canondo19.f90
A flang/test/Semantics/coarrays01.f90
A flang/test/Semantics/common.sh
A flang/test/Semantics/computed-goto01.f90
A flang/test/Semantics/computed-goto02.f90
A flang/test/Semantics/critical01.f90
A flang/test/Semantics/critical02.f90
A flang/test/Semantics/critical03.f90
A flang/test/Semantics/critical04.f90
A flang/test/Semantics/data01.f90
A flang/test/Semantics/deallocate01.f90
A flang/test/Semantics/deallocate04.f90
A flang/test/Semantics/deallocate05.f90
A flang/test/Semantics/doconcurrent01.f90
A flang/test/Semantics/doconcurrent02.f90
A flang/test/Semantics/doconcurrent03.f90
A flang/test/Semantics/doconcurrent04.f90
A flang/test/Semantics/doconcurrent05.f90
A flang/test/Semantics/doconcurrent06.f90
A flang/test/Semantics/doconcurrent07.f90
A flang/test/Semantics/doconcurrent08.f90
A flang/test/Semantics/dosemantics01.f90
A flang/test/Semantics/dosemantics02.f90
A flang/test/Semantics/dosemantics03.f90
A flang/test/Semantics/dosemantics04.f90
A flang/test/Semantics/dosemantics05.f90
A flang/test/Semantics/dosemantics06.f90
A flang/test/Semantics/dosemantics07.f90
A flang/test/Semantics/dosemantics08.f90
A flang/test/Semantics/dosemantics09.f90
A flang/test/Semantics/dosemantics10.f90
A flang/test/Semantics/dosemantics11.f90
A flang/test/Semantics/dosemantics12.f90
A flang/test/Semantics/equivalence01.f90
A flang/test/Semantics/expr-errors01.f90
A flang/test/Semantics/expr-errors02.f90
A flang/test/Semantics/forall01.f90
A flang/test/Semantics/getdefinition01.f90
A flang/test/Semantics/getdefinition02.f
A flang/test/Semantics/getdefinition03-a.f90
A flang/test/Semantics/getdefinition03-b.f90
A flang/test/Semantics/getdefinition04.f90
A flang/test/Semantics/getdefinition05.f90
A flang/test/Semantics/getsymbols01.f90
A flang/test/Semantics/getsymbols02-a.f90
A flang/test/Semantics/getsymbols02-b.f90
A flang/test/Semantics/getsymbols02-c.f90
A flang/test/Semantics/getsymbols03-a.f90
A flang/test/Semantics/getsymbols03-b.f90
A flang/test/Semantics/getsymbols04.f90
A flang/test/Semantics/getsymbols05.f90
A flang/test/Semantics/if_arith01.f90
A flang/test/Semantics/if_arith02.f90
A flang/test/Semantics/if_arith03.f90
A flang/test/Semantics/if_arith04.f90
A flang/test/Semantics/if_construct01.f90
A flang/test/Semantics/if_construct02.f90
A flang/test/Semantics/if_stmt01.f90
A flang/test/Semantics/if_stmt02.f90
A flang/test/Semantics/if_stmt03.f90
A flang/test/Semantics/implicit01.f90
A flang/test/Semantics/implicit02.f90
A flang/test/Semantics/implicit03.f90
A flang/test/Semantics/implicit04.f90
A flang/test/Semantics/implicit05.f90
A flang/test/Semantics/implicit06.f90
A flang/test/Semantics/implicit07.f90
A flang/test/Semantics/implicit08.f90
A flang/test/Semantics/init01.f90
A flang/test/Semantics/int-literals.f90
A flang/test/Semantics/io01.f90
A flang/test/Semantics/io02.f90
A flang/test/Semantics/io03.f90
A flang/test/Semantics/io04.f90
A flang/test/Semantics/io05.f90
A flang/test/Semantics/io06.f90
A flang/test/Semantics/io07.f90
A flang/test/Semantics/io08.f90
A flang/test/Semantics/io09.f90
A flang/test/Semantics/io10.f90
A flang/test/Semantics/kinds01.f90
A flang/test/Semantics/kinds02.f90
A flang/test/Semantics/kinds03.f90
A flang/test/Semantics/label01.F90
A flang/test/Semantics/label02.f90
A flang/test/Semantics/label03.f90
A flang/test/Semantics/label04.f90
A flang/test/Semantics/label05.f90
A flang/test/Semantics/label06.f90
A flang/test/Semantics/label07.f90
A flang/test/Semantics/label08.f90
A flang/test/Semantics/label09.f90
A flang/test/Semantics/label10.f90
A flang/test/Semantics/label11.f90
A flang/test/Semantics/label12.f90
A flang/test/Semantics/label13.f90
A flang/test/Semantics/label14.f90
A flang/test/Semantics/misc-declarations.f90
A flang/test/Semantics/modfile01.f90
A flang/test/Semantics/modfile02.f90
A flang/test/Semantics/modfile03.f90
A flang/test/Semantics/modfile04.f90
A flang/test/Semantics/modfile05.f90
A flang/test/Semantics/modfile06.f90
A flang/test/Semantics/modfile07.f90
A flang/test/Semantics/modfile08.f90
A flang/test/Semantics/modfile09-a.f90
A flang/test/Semantics/modfile09-b.f90
A flang/test/Semantics/modfile09-c.f90
A flang/test/Semantics/modfile09-d.f90
A flang/test/Semantics/modfile10.f90
A flang/test/Semantics/modfile11.f90
A flang/test/Semantics/modfile12.f90
A flang/test/Semantics/modfile13.f90
A flang/test/Semantics/modfile14.f90
A flang/test/Semantics/modfile15.f90
A flang/test/Semantics/modfile16.f90
A flang/test/Semantics/modfile17.f90
A flang/test/Semantics/modfile18.f90
A flang/test/Semantics/modfile19.f90
A flang/test/Semantics/modfile20.f90
A flang/test/Semantics/modfile21.f90
A flang/test/Semantics/modfile22.f90
A flang/test/Semantics/modfile23.f90
A flang/test/Semantics/modfile24.f90
A flang/test/Semantics/modfile25.f90
A flang/test/Semantics/modfile26.f90
A flang/test/Semantics/modfile27.f90
A flang/test/Semantics/modfile28.f90
A flang/test/Semantics/modfile29.f90
A flang/test/Semantics/modfile30.f90
A flang/test/Semantics/modfile31.f90
A flang/test/Semantics/modfile32.f90
A flang/test/Semantics/modfile33.f90
A flang/test/Semantics/modfile34.f90
A flang/test/Semantics/modfile35.f90
A flang/test/Semantics/null01.f90
A flang/test/Semantics/nullify01.f90
A flang/test/Semantics/nullify02.f90
A flang/test/Semantics/omp-atomic.f90
A flang/test/Semantics/omp-clause-validity01.f90
A flang/test/Semantics/omp-declarative-directive.f90
A flang/test/Semantics/omp-device-constructs.f90
A flang/test/Semantics/omp-loop-association.f90
A flang/test/Semantics/omp-nested01.f90
A flang/test/Semantics/omp-resolve01.f90
A flang/test/Semantics/omp-resolve02.f90
A flang/test/Semantics/omp-resolve03.f90
A flang/test/Semantics/omp-resolve04.f90
A flang/test/Semantics/omp-resolve05.f90
A flang/test/Semantics/omp-symbol01.f90
A flang/test/Semantics/omp-symbol02.f90
A flang/test/Semantics/omp-symbol03.f90
A flang/test/Semantics/omp-symbol04.f90
A flang/test/Semantics/omp-symbol05.f90
A flang/test/Semantics/omp-symbol06.f90
A flang/test/Semantics/omp-symbol07.f90
A flang/test/Semantics/omp-symbol08.f90
A flang/test/Semantics/procinterface01.f90
A flang/test/Semantics/resolve01.f90
A flang/test/Semantics/resolve02.f90
A flang/test/Semantics/resolve03.f90
A flang/test/Semantics/resolve04.f90
A flang/test/Semantics/resolve05.f90
A flang/test/Semantics/resolve06.f90
A flang/test/Semantics/resolve07.f90
A flang/test/Semantics/resolve08.f90
A flang/test/Semantics/resolve09.f90
A flang/test/Semantics/resolve10.f90
A flang/test/Semantics/resolve11.f90
A flang/test/Semantics/resolve12.f90
A flang/test/Semantics/resolve13.f90
A flang/test/Semantics/resolve14.f90
A flang/test/Semantics/resolve15.f90
A flang/test/Semantics/resolve16.f90
A flang/test/Semantics/resolve17.f90
A flang/test/Semantics/resolve18.f90
A flang/test/Semantics/resolve19.f90
A flang/test/Semantics/resolve20.f90
A flang/test/Semantics/resolve21.f90
A flang/test/Semantics/resolve22.f90
A flang/test/Semantics/resolve23.f90
A flang/test/Semantics/resolve24.f90
A flang/test/Semantics/resolve25.f90
A flang/test/Semantics/resolve26.f90
A flang/test/Semantics/resolve27.f90
A flang/test/Semantics/resolve28.f90
A flang/test/Semantics/resolve29.f90
A flang/test/Semantics/resolve30.f90
A flang/test/Semantics/resolve31.f90
A flang/test/Semantics/resolve32.f90
A flang/test/Semantics/resolve33.f90
A flang/test/Semantics/resolve34.f90
A flang/test/Semantics/resolve35.f90
A flang/test/Semantics/resolve36.f90
A flang/test/Semantics/resolve37.f90
A flang/test/Semantics/resolve38.f90
A flang/test/Semantics/resolve39.f90
A flang/test/Semantics/resolve40.f90
A flang/test/Semantics/resolve41.f90
A flang/test/Semantics/resolve42.f90
A flang/test/Semantics/resolve43.f90
A flang/test/Semantics/resolve44.f90
A flang/test/Semantics/resolve45.f90
A flang/test/Semantics/resolve46.f90
A flang/test/Semantics/resolve47.f90
A flang/test/Semantics/resolve48.f90
A flang/test/Semantics/resolve49.f90
A flang/test/Semantics/resolve50.f90
A flang/test/Semantics/resolve51.f90
A flang/test/Semantics/resolve52.f90
A flang/test/Semantics/resolve53.f90
A flang/test/Semantics/resolve54.f90
A flang/test/Semantics/resolve55.f90
A flang/test/Semantics/resolve56.f90
A flang/test/Semantics/resolve57.f90
A flang/test/Semantics/resolve58.f90
A flang/test/Semantics/resolve59.f90
A flang/test/Semantics/resolve60.f90
A flang/test/Semantics/resolve61.f90
A flang/test/Semantics/resolve62.f90
A flang/test/Semantics/resolve63.f90
A flang/test/Semantics/resolve64.f90
A flang/test/Semantics/resolve65.f90
A flang/test/Semantics/resolve66.f90
A flang/test/Semantics/resolve67.f90
A flang/test/Semantics/resolve68.f90
A flang/test/Semantics/resolve69.f90
A flang/test/Semantics/resolve70.f90
A flang/test/Semantics/resolve71.f90
A flang/test/Semantics/resolve72.f90
A flang/test/Semantics/separate-module-procs.f90
A flang/test/Semantics/stop01.f90
A flang/test/Semantics/structconst01.f90
A flang/test/Semantics/structconst02.f90
A flang/test/Semantics/structconst03.f90
A flang/test/Semantics/structconst04.f90
A flang/test/Semantics/symbol01.f90
A flang/test/Semantics/symbol02.f90
A flang/test/Semantics/symbol03.f90
A flang/test/Semantics/symbol05.f90
A flang/test/Semantics/symbol06.f90
A flang/test/Semantics/symbol07.f90
A flang/test/Semantics/symbol08.f90
A flang/test/Semantics/symbol09.f90
A flang/test/Semantics/symbol10.f90
A flang/test/Semantics/symbol11.f90
A flang/test/Semantics/symbol12.f90
A flang/test/Semantics/symbol13.f90
A flang/test/Semantics/symbol14.f90
A flang/test/Semantics/symbol15.f90
A flang/test/Semantics/symbol16.f90
A flang/test/Semantics/symbol17.f90
A flang/test/Semantics/test_any.sh
A flang/test/Semantics/test_errors.sh
A flang/test/Semantics/test_modfile.sh
A flang/test/Semantics/test_symbols.sh
R flang/test/decimal/CMakeLists.txt
R flang/test/decimal/quick-sanity-test.cpp
R flang/test/decimal/thorough-test.cpp
R flang/test/evaluate/CMakeLists.txt
R flang/test/evaluate/ISO-Fortran-binding.cpp
R flang/test/evaluate/bit-population-count.cpp
R flang/test/evaluate/expression.cpp
R flang/test/evaluate/folding.cpp
R flang/test/evaluate/folding01.f90
R flang/test/evaluate/folding02.f90
R flang/test/evaluate/folding03.f90
R flang/test/evaluate/folding04.f90
R flang/test/evaluate/folding05.f90
R flang/test/evaluate/folding06.f90
R flang/test/evaluate/folding07.f90
R flang/test/evaluate/folding08.f90
R flang/test/evaluate/folding09.f90
R flang/test/evaluate/fp-testing.cpp
R flang/test/evaluate/fp-testing.h
R flang/test/evaluate/integer.cpp
R flang/test/evaluate/intrinsics.cpp
R flang/test/evaluate/leading-zero-bit-count.cpp
R flang/test/evaluate/logical.cpp
R flang/test/evaluate/real.cpp
R flang/test/evaluate/reshape.cpp
R flang/test/evaluate/test_folding.sh
R flang/test/evaluate/testing.cpp
R flang/test/evaluate/testing.h
R flang/test/evaluate/uint128.cpp
R flang/test/preprocessing/pp001.F
R flang/test/preprocessing/pp002.F
R flang/test/preprocessing/pp003.F
R flang/test/preprocessing/pp004.F
R flang/test/preprocessing/pp005.F
R flang/test/preprocessing/pp006.F
R flang/test/preprocessing/pp007.F
R flang/test/preprocessing/pp008.F
R flang/test/preprocessing/pp009.F
R flang/test/preprocessing/pp010.F
R flang/test/preprocessing/pp011.F
R flang/test/preprocessing/pp012.F
R flang/test/preprocessing/pp013.F
R flang/test/preprocessing/pp014.F
R flang/test/preprocessing/pp015.F
R flang/test/preprocessing/pp016.F
R flang/test/preprocessing/pp017.F
R flang/test/preprocessing/pp018.F
R flang/test/preprocessing/pp019.F
R flang/test/preprocessing/pp020.F
R flang/test/preprocessing/pp021.F
R flang/test/preprocessing/pp022.F
R flang/test/preprocessing/pp023.F
R flang/test/preprocessing/pp024.F
R flang/test/preprocessing/pp025.F
R flang/test/preprocessing/pp026.F
R flang/test/preprocessing/pp027.F
R flang/test/preprocessing/pp028.F
R flang/test/preprocessing/pp029.F
R flang/test/preprocessing/pp030.F
R flang/test/preprocessing/pp031.F
R flang/test/preprocessing/pp032.F
R flang/test/preprocessing/pp033.F
R flang/test/preprocessing/pp034.F
R flang/test/preprocessing/pp035.F
R flang/test/preprocessing/pp036.F
R flang/test/preprocessing/pp037.F
R flang/test/preprocessing/pp038.F
R flang/test/preprocessing/pp039.F
R flang/test/preprocessing/pp040.F
R flang/test/preprocessing/pp041.F
R flang/test/preprocessing/pp042.F
R flang/test/preprocessing/pp043.F
R flang/test/preprocessing/pp044.F
R flang/test/preprocessing/pp101.F90
R flang/test/preprocessing/pp102.F90
R flang/test/preprocessing/pp103.F90
R flang/test/preprocessing/pp104.F90
R flang/test/preprocessing/pp105.F90
R flang/test/preprocessing/pp106.F90
R flang/test/preprocessing/pp107.F90
R flang/test/preprocessing/pp108.F90
R flang/test/preprocessing/pp109.F90
R flang/test/preprocessing/pp110.F90
R flang/test/preprocessing/pp111.F90
R flang/test/preprocessing/pp112.F90
R flang/test/preprocessing/pp113.F90
R flang/test/preprocessing/pp114.F90
R flang/test/preprocessing/pp115.F90
R flang/test/preprocessing/pp116.F90
R flang/test/preprocessing/pp117.F90
R flang/test/preprocessing/pp118.F90
R flang/test/preprocessing/pp119.F90
R flang/test/preprocessing/pp120.F90
R flang/test/preprocessing/pp121.F90
R flang/test/preprocessing/pp122.F90
R flang/test/preprocessing/pp123.F90
R flang/test/preprocessing/pp124.F90
R flang/test/preprocessing/pp125.F90
R flang/test/preprocessing/pp126.F90
R flang/test/preprocessing/pp127.F90
R flang/test/preprocessing/pp128.F90
R flang/test/preprocessing/pp129.F90
R flang/test/preprocessing/pp130.F90
R flang/test/runtime/CMakeLists.txt
R flang/test/runtime/external-hello.cpp
R flang/test/runtime/format.cpp
R flang/test/runtime/hello.cpp
R flang/test/semantics/CMakeLists.txt
R flang/test/semantics/allocate01.f90
R flang/test/semantics/allocate02.f90
R flang/test/semantics/allocate03.f90
R flang/test/semantics/allocate04.f90
R flang/test/semantics/allocate05.f90
R flang/test/semantics/allocate06.f90
R flang/test/semantics/allocate07.f90
R flang/test/semantics/allocate08.f90
R flang/test/semantics/allocate09.f90
R flang/test/semantics/allocate10.f90
R flang/test/semantics/allocate11.f90
R flang/test/semantics/allocate12.f90
R flang/test/semantics/allocate13.f90
R flang/test/semantics/altreturn01.f90
R flang/test/semantics/altreturn02.f90
R flang/test/semantics/altreturn03.f90
R flang/test/semantics/altreturn04.f90
R flang/test/semantics/altreturn05.f90
R flang/test/semantics/assign01.f90
R flang/test/semantics/assign02.f90
R flang/test/semantics/assign03.f90
R flang/test/semantics/bad-forward-type.f90
R flang/test/semantics/bindings01.f90
R flang/test/semantics/block-data01.f90
R flang/test/semantics/blockconstruct01.f90
R flang/test/semantics/blockconstruct02.f90
R flang/test/semantics/blockconstruct03.f90
R flang/test/semantics/c_f_pointer.f90
R flang/test/semantics/call01.f90
R flang/test/semantics/call02.f90
R flang/test/semantics/call03.f90
R flang/test/semantics/call04.f90
R flang/test/semantics/call05.f90
R flang/test/semantics/call06.f90
R flang/test/semantics/call07.f90
R flang/test/semantics/call08.f90
R flang/test/semantics/call09.f90
R flang/test/semantics/call10.f90
R flang/test/semantics/call11.f90
R flang/test/semantics/call12.f90
R flang/test/semantics/call13.f90
R flang/test/semantics/call14.f90
R flang/test/semantics/call15.f90
R flang/test/semantics/canondo01.f90
R flang/test/semantics/canondo02.f90
R flang/test/semantics/canondo03.f90
R flang/test/semantics/canondo04.f90
R flang/test/semantics/canondo05.f90
R flang/test/semantics/canondo06.f90
R flang/test/semantics/canondo07.f90
R flang/test/semantics/canondo08.f90
R flang/test/semantics/canondo09.f90
R flang/test/semantics/canondo10.f90
R flang/test/semantics/canondo11.f90
R flang/test/semantics/canondo12.f90
R flang/test/semantics/canondo13.f90
R flang/test/semantics/canondo14.f90
R flang/test/semantics/canondo15.f90
R flang/test/semantics/canondo16.f90
R flang/test/semantics/canondo17.f90
R flang/test/semantics/canondo18.f90
R flang/test/semantics/canondo19.f90
R flang/test/semantics/coarrays01.f90
R flang/test/semantics/common.sh
R flang/test/semantics/computed-goto01.f90
R flang/test/semantics/computed-goto02.f90
R flang/test/semantics/critical01.f90
R flang/test/semantics/critical02.f90
R flang/test/semantics/critical03.f90
R flang/test/semantics/critical04.f90
R flang/test/semantics/data01.f90
R flang/test/semantics/deallocate01.f90
R flang/test/semantics/deallocate04.f90
R flang/test/semantics/deallocate05.f90
R flang/test/semantics/doconcurrent01.f90
R flang/test/semantics/doconcurrent02.f90
R flang/test/semantics/doconcurrent03.f90
R flang/test/semantics/doconcurrent04.f90
R flang/test/semantics/doconcurrent05.f90
R flang/test/semantics/doconcurrent06.f90
R flang/test/semantics/doconcurrent07.f90
R flang/test/semantics/doconcurrent08.f90
R flang/test/semantics/dosemantics01.f90
R flang/test/semantics/dosemantics02.f90
R flang/test/semantics/dosemantics03.f90
R flang/test/semantics/dosemantics04.f90
R flang/test/semantics/dosemantics05.f90
R flang/test/semantics/dosemantics06.f90
R flang/test/semantics/dosemantics07.f90
R flang/test/semantics/dosemantics08.f90
R flang/test/semantics/dosemantics09.f90
R flang/test/semantics/dosemantics10.f90
R flang/test/semantics/dosemantics11.f90
R flang/test/semantics/dosemantics12.f90
R flang/test/semantics/equivalence01.f90
R flang/test/semantics/expr-errors01.f90
R flang/test/semantics/expr-errors02.f90
R flang/test/semantics/forall01.f90
R flang/test/semantics/getdefinition01.f90
R flang/test/semantics/getdefinition02.f
R flang/test/semantics/getdefinition03-a.f90
R flang/test/semantics/getdefinition03-b.f90
R flang/test/semantics/getdefinition04.f90
R flang/test/semantics/getdefinition05.f90
R flang/test/semantics/getsymbols01.f90
R flang/test/semantics/getsymbols02-a.f90
R flang/test/semantics/getsymbols02-b.f90
R flang/test/semantics/getsymbols02-c.f90
R flang/test/semantics/getsymbols03-a.f90
R flang/test/semantics/getsymbols03-b.f90
R flang/test/semantics/getsymbols04.f90
R flang/test/semantics/getsymbols05.f90
R flang/test/semantics/if_arith01.f90
R flang/test/semantics/if_arith02.f90
R flang/test/semantics/if_arith03.f90
R flang/test/semantics/if_arith04.f90
R flang/test/semantics/if_construct01.f90
R flang/test/semantics/if_construct02.f90
R flang/test/semantics/if_stmt01.f90
R flang/test/semantics/if_stmt02.f90
R flang/test/semantics/if_stmt03.f90
R flang/test/semantics/implicit01.f90
R flang/test/semantics/implicit02.f90
R flang/test/semantics/implicit03.f90
R flang/test/semantics/implicit04.f90
R flang/test/semantics/implicit05.f90
R flang/test/semantics/implicit06.f90
R flang/test/semantics/implicit07.f90
R flang/test/semantics/implicit08.f90
R flang/test/semantics/init01.f90
R flang/test/semantics/int-literals.f90
R flang/test/semantics/io01.f90
R flang/test/semantics/io02.f90
R flang/test/semantics/io03.f90
R flang/test/semantics/io04.f90
R flang/test/semantics/io05.f90
R flang/test/semantics/io06.f90
R flang/test/semantics/io07.f90
R flang/test/semantics/io08.f90
R flang/test/semantics/io09.f90
R flang/test/semantics/io10.f90
R flang/test/semantics/kinds01.f90
R flang/test/semantics/kinds02.f90
R flang/test/semantics/kinds03.f90
R flang/test/semantics/label01.F90
R flang/test/semantics/label02.f90
R flang/test/semantics/label03.f90
R flang/test/semantics/label04.f90
R flang/test/semantics/label05.f90
R flang/test/semantics/label06.f90
R flang/test/semantics/label07.f90
R flang/test/semantics/label08.f90
R flang/test/semantics/label09.f90
R flang/test/semantics/label10.f90
R flang/test/semantics/label11.f90
R flang/test/semantics/label12.f90
R flang/test/semantics/label13.f90
R flang/test/semantics/label14.f90
R flang/test/semantics/misc-declarations.f90
R flang/test/semantics/modfile01.f90
R flang/test/semantics/modfile02.f90
R flang/test/semantics/modfile03.f90
R flang/test/semantics/modfile04.f90
R flang/test/semantics/modfile05.f90
R flang/test/semantics/modfile06.f90
R flang/test/semantics/modfile07.f90
R flang/test/semantics/modfile08.f90
R flang/test/semantics/modfile09-a.f90
R flang/test/semantics/modfile09-b.f90
R flang/test/semantics/modfile09-c.f90
R flang/test/semantics/modfile09-d.f90
R flang/test/semantics/modfile10.f90
R flang/test/semantics/modfile11.f90
R flang/test/semantics/modfile12.f90
R flang/test/semantics/modfile13.f90
R flang/test/semantics/modfile14.f90
R flang/test/semantics/modfile15.f90
R flang/test/semantics/modfile16.f90
R flang/test/semantics/modfile17.f90
R flang/test/semantics/modfile18.f90
R flang/test/semantics/modfile19.f90
R flang/test/semantics/modfile20.f90
R flang/test/semantics/modfile21.f90
R flang/test/semantics/modfile22.f90
R flang/test/semantics/modfile23.f90
R flang/test/semantics/modfile24.f90
R flang/test/semantics/modfile25.f90
R flang/test/semantics/modfile26.f90
R flang/test/semantics/modfile27.f90
R flang/test/semantics/modfile28.f90
R flang/test/semantics/modfile29.f90
R flang/test/semantics/modfile30.f90
R flang/test/semantics/modfile31.f90
R flang/test/semantics/modfile32.f90
R flang/test/semantics/modfile33.f90
R flang/test/semantics/modfile34.f90
R flang/test/semantics/modfile35.f90
R flang/test/semantics/null01.f90
R flang/test/semantics/nullify01.f90
R flang/test/semantics/nullify02.f90
R flang/test/semantics/omp-atomic.f90
R flang/test/semantics/omp-clause-validity01.f90
R flang/test/semantics/omp-declarative-directive.f90
R flang/test/semantics/omp-device-constructs.f90
R flang/test/semantics/omp-loop-association.f90
R flang/test/semantics/omp-nested01.f90
R flang/test/semantics/omp-resolve01.f90
R flang/test/semantics/omp-resolve02.f90
R flang/test/semantics/omp-resolve03.f90
R flang/test/semantics/omp-resolve04.f90
R flang/test/semantics/omp-resolve05.f90
R flang/test/semantics/omp-symbol01.f90
R flang/test/semantics/omp-symbol02.f90
R flang/test/semantics/omp-symbol03.f90
R flang/test/semantics/omp-symbol04.f90
R flang/test/semantics/omp-symbol05.f90
R flang/test/semantics/omp-symbol06.f90
R flang/test/semantics/omp-symbol07.f90
R flang/test/semantics/omp-symbol08.f90
R flang/test/semantics/procinterface01.f90
R flang/test/semantics/resolve01.f90
R flang/test/semantics/resolve02.f90
R flang/test/semantics/resolve03.f90
R flang/test/semantics/resolve04.f90
R flang/test/semantics/resolve05.f90
R flang/test/semantics/resolve06.f90
R flang/test/semantics/resolve07.f90
R flang/test/semantics/resolve08.f90
R flang/test/semantics/resolve09.f90
R flang/test/semantics/resolve10.f90
R flang/test/semantics/resolve11.f90
R flang/test/semantics/resolve12.f90
R flang/test/semantics/resolve13.f90
R flang/test/semantics/resolve14.f90
R flang/test/semantics/resolve15.f90
R flang/test/semantics/resolve16.f90
R flang/test/semantics/resolve17.f90
R flang/test/semantics/resolve18.f90
R flang/test/semantics/resolve19.f90
R flang/test/semantics/resolve20.f90
R flang/test/semantics/resolve21.f90
R flang/test/semantics/resolve22.f90
R flang/test/semantics/resolve23.f90
R flang/test/semantics/resolve24.f90
R flang/test/semantics/resolve25.f90
R flang/test/semantics/resolve26.f90
R flang/test/semantics/resolve27.f90
R flang/test/semantics/resolve28.f90
R flang/test/semantics/resolve29.f90
R flang/test/semantics/resolve30.f90
R flang/test/semantics/resolve31.f90
R flang/test/semantics/resolve32.f90
R flang/test/semantics/resolve33.f90
R flang/test/semantics/resolve34.f90
R flang/test/semantics/resolve35.f90
R flang/test/semantics/resolve36.f90
R flang/test/semantics/resolve37.f90
R flang/test/semantics/resolve38.f90
R flang/test/semantics/resolve39.f90
R flang/test/semantics/resolve40.f90
R flang/test/semantics/resolve41.f90
R flang/test/semantics/resolve42.f90
R flang/test/semantics/resolve43.f90
R flang/test/semantics/resolve44.f90
R flang/test/semantics/resolve45.f90
R flang/test/semantics/resolve46.f90
R flang/test/semantics/resolve47.f90
R flang/test/semantics/resolve48.f90
R flang/test/semantics/resolve49.f90
R flang/test/semantics/resolve50.f90
R flang/test/semantics/resolve51.f90
R flang/test/semantics/resolve52.f90
R flang/test/semantics/resolve53.f90
R flang/test/semantics/resolve54.f90
R flang/test/semantics/resolve55.f90
R flang/test/semantics/resolve56.f90
R flang/test/semantics/resolve57.f90
R flang/test/semantics/resolve58.f90
R flang/test/semantics/resolve59.f90
R flang/test/semantics/resolve60.f90
R flang/test/semantics/resolve61.f90
R flang/test/semantics/resolve62.f90
R flang/test/semantics/resolve63.f90
R flang/test/semantics/resolve64.f90
R flang/test/semantics/resolve65.f90
R flang/test/semantics/resolve66.f90
R flang/test/semantics/resolve67.f90
R flang/test/semantics/resolve68.f90
R flang/test/semantics/resolve69.f90
R flang/test/semantics/resolve70.f90
R flang/test/semantics/resolve71.f90
R flang/test/semantics/resolve72.f90
R flang/test/semantics/separate-module-procs.f90
R flang/test/semantics/stop01.f90
R flang/test/semantics/structconst01.f90
R flang/test/semantics/structconst02.f90
R flang/test/semantics/structconst03.f90
R flang/test/semantics/structconst04.f90
R flang/test/semantics/symbol01.f90
R flang/test/semantics/symbol02.f90
R flang/test/semantics/symbol03.f90
R flang/test/semantics/symbol05.f90
R flang/test/semantics/symbol06.f90
R flang/test/semantics/symbol07.f90
R flang/test/semantics/symbol08.f90
R flang/test/semantics/symbol09.f90
R flang/test/semantics/symbol10.f90
R flang/test/semantics/symbol11.f90
R flang/test/semantics/symbol12.f90
R flang/test/semantics/symbol13.f90
R flang/test/semantics/symbol14.f90
R flang/test/semantics/symbol15.f90
R flang/test/semantics/symbol16.f90
R flang/test/semantics/symbol17.f90
R flang/test/semantics/test_any.sh
R flang/test/semantics/test_errors.sh
R flang/test/semantics/test_modfile.sh
R flang/test/semantics/test_symbols.sh
M flang/tools/f18/f18-parse-demo.cpp
M flang/tools/f18/f18.cpp
M flang/tools/f18/stub-evaluate.cpp
Log Message:
-----------
[flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980)
This patch renames the modules in f18 to use a capital letter in the
module name
Signed-off-by: Caroline Concatto <caroline.concatto at arm.com>
Original-commit: flang-compiler/f18 at d2eb7a1c443d1539ef12b6f027074a0eb15b1ea0
Reviewed-on: https://github.com/flang-compiler/f18/pull/980
Commit: 0855c45400f88afcaf3e4def7d5bb4abee502aa3
https://github.com/llvm/llvm-project/commit/0855c45400f88afcaf3e4def7d5bb4abee502aa3
Author: David Truby <david.truby at arm.com>
Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths:
M flang/.drone.star
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/mod-file.cpp
A flang/test-lit/Semantics/Inputs/mod-file-changed.f90
A flang/test-lit/Semantics/Inputs/mod-file-unchanged.f90
A flang/test-lit/Semantics/mod-file-rewriter.f90
M flang/tools/f18/f18.cpp
Log Message:
-----------
[flang] Replace module writer posix file handling with llvm file handling. (flang-compiler/f18#993)
NOTE: This commit introduces a dependency on LLVM HEAD
Original-commit: flang-compiler/f18 at 97efc0194d411a17ec47edf5e27157d1a1afa3bc
Reviewed-on: https://github.com/flang-compiler/f18/pull/993
Commit: de066a2756b78474eee98b476e6b83bb68788936
https://github.com/llvm/llvm-project/commit/de066a2756b78474eee98b476e6b83bb68788936
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve40.f90
Log Message:
-----------
[flang] Allow for access-stmt before namelist-stmt
You can declare a name in an access statement and then declare it as
a namelist group name. We weren't allowing that because we didn't
convert a symbol with UnknownDetails to one with NamelistDetails.
Fixes flang-compiler/f18#1022.
Original-commit: flang-compiler/f18 at a759204db583d337dda886acf748e0fe135c6259
Reviewed-on: https://github.com/flang-compiler/f18/pull/1023
Commit: 05e649376b20d1109d92b0499068a2cbb36f62aa
https://github.com/llvm/llvm-project/commit/05e649376b20d1109d92b0499068a2cbb36f62aa
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1023 from flang-compiler/tsk-issue1022
Allow for access-stmt before namelist-stmt
Original-commit: flang-compiler/f18 at 618dc08139664c944f57b6763751b264ca2cf579
Reviewed-on: https://github.com/flang-compiler/f18/pull/1023
Commit: c3ce28b8b44c8de8ac4a3801e12d9722d2a2ad66
https://github.com/llvm/llvm-project/commit/c3ce28b8b44c8de8ac4a3801e12d9722d2a2ad66
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Fix drone CI build failure due to lack of FileCheck
Simply use the llvm build directory and save installing LLVM on the way.
Original-commit: flang-compiler/f18 at 7848ab146ad32062daba9f07b032655568381a1b
Reviewed-on: https://github.com/flang-compiler/f18/pull/1026
Tree-same-pre-rewrite: false
Commit: 13c7778df9cc7b8694fd1063e50db6f0434674a3
https://github.com/llvm/llvm-project/commit/13c7778df9cc7b8694fd1063e50db6f0434674a3
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
M flang/.drone.star
Log Message:
-----------
[flang] Remove clang from LLVM drone builds until needed to fasten builds
Original-commit: flang-compiler/f18 at 5eaebc800caa90b592c5ba8cf1fd6fd3987b3636
Reviewed-on: https://github.com/flang-compiler/f18/pull/1026
Commit: 844e7628b060e6f8dc7963a6bc7b820e33888568
https://github.com/llvm/llvm-project/commit/844e7628b060e6f8dc7963a6bc7b820e33888568
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1026 from flang-compiler/jpr-drone-fix
Fix drone CI build failure due to lack of FileCheck
Original-commit: flang-compiler/f18 at a5644a4e8e81c47de1352829a562193e7cfaff03
Reviewed-on: https://github.com/flang-compiler/f18/pull/1026
Commit: b7a5b5c7b6c9049c59816ff38f701cd135fee792
https://github.com/llvm/llvm-project/commit/b7a5b5c7b6c9049c59816ff38f701cd135fee792
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
M flang/include/flang/Common/real.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/type.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/complex.cpp
M flang/lib/Evaluate/real.cpp
M flang/test/Evaluate/folding07.f90
M flang/test/Semantics/modfile26.f90
Log Message:
-----------
[flang] Fix layout of 128-bit IEEE-754 floating-point values
Original-commit: flang-compiler/f18 at c95c45704e7c0afeb0d2dbec965afd368e923a3a
Reviewed-on: https://github.com/flang-compiler/f18/pull/1021
Commit: dec83a5e10530f8081522c7e4a25669e7e6b2701
https://github.com/llvm/llvm-project/commit/dec83a5e10530f8081522c7e4a25669e7e6b2701
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1021 from flang-compiler/pmk-ieee-128
Fix layout of 128-bit IEEE-754 floating-point values
Original-commit: flang-compiler/f18 at 91feed7a3841bb4f865353ebd7790c39ea926390
Reviewed-on: https://github.com/flang-compiler/f18/pull/1021
Commit: 42cc44fbc8dc6c66d3e10a2d904133ffcdde3762
https://github.com/llvm/llvm-project/commit/42cc44fbc8dc6c66d3e10a2d904133ffcdde3762
Author: Peter Waller <peter.waller at arm.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
A flang/flatten.cpp
Log Message:
-----------
[flang] Add script to flatten git history for llvm monorepo submission (flang-compiler/f18#854)
This script, when run on a checkout of the f18 repository, takes the
current origin/master and makes a branch called "new" with a rewritten
history;
The "new" branch has a flat git history (that is, a series of commits
with only one parent). Flattening is done for merge commits by taking
the content of the commit as it is at the merge commit.
Original-commit: flang-compiler/f18 at d9871fa9eb2304c4761a4a818187553396bb8924
Reviewed-on: https://github.com/flang-compiler/f18/pull/854
Commit: c875618506cf4c6da09ba23542dc5ffaedca7ad3
https://github.com/llvm/llvm-project/commit/c875618506cf4c6da09ba23542dc5ffaedca7ad3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
Log Message:
-----------
[flang] Remove use of std::set::merge
Some versions of clang that we are building with don't have
std::set::merge, even though it is part of C++17. Work around
that by using std::set::insert until we can count on merge being
available everywhere.
Original-commit: flang-compiler/f18 at 886ccc37fbff5df00717ac728e2aba240d0a314c
Reviewed-on: https://github.com/flang-compiler/f18/pull/1014
Commit: 327ec4d2f2945ae44197d1806e4a1b5e2b98d3eb
https://github.com/llvm/llvm-project/commit/327ec4d2f2945ae44197d1806e4a1b5e2b98d3eb
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1014 from flang-compiler/tsk-where
Remove use of std::set::merge
Original-commit: flang-compiler/f18 at 59c14bad32093f5ccfcd0a05e337295c2c1c85ea
Reviewed-on: https://github.com/flang-compiler/f18/pull/1014
Commit: 914a91c1c3228c2eb760cc9c597a4dbc955d4954
https://github.com/llvm/llvm-project/commit/914a91c1c3228c2eb760cc9c597a4dbc955d4954
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/data01.f90
Log Message:
-----------
[flang] Fix misparsed structure constructor in data stmt
In a data statement like `data x / a(1) /`, `a(1)` may be an array
element or a structure constructor. It is parsed as an array element
so if it turns out `a` is a derived type it must be rewritten as a
strucutre constructor.
Original-commit: flang-compiler/f18 at a2b2a330e7dbb8d719fdab9bb28921cf84f503ca
Reviewed-on: https://github.com/flang-compiler/f18/pull/1024
Commit: c388d26f4125a34d7a44a7c15cd70544db1d81be
https://github.com/llvm/llvm-project/commit/c388d26f4125a34d7a44a7c15cd70544db1d81be
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1024 from flang-compiler/tsk-rewrite
Fix misparsed structure constructor in data stmt
Original-commit: flang-compiler/f18 at 7649e5d705b2c87d710525d522a42288030c3bfa
Reviewed-on: https://github.com/flang-compiler/f18/pull/1024
Commit: 657aaf8b8d6c0df6156025bb1db73280cf3d7870
https://github.com/llvm/llvm-project/commit/657aaf8b8d6c0df6156025bb1db73280cf3d7870
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-26 (Wed, 26 Feb 2020)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/CMakeLists.txt
M flang/test/Semantics/call05.f90
A flang/test/Semantics/complex01.f90
M flang/test/Semantics/kinds02.f90
A flang/test/Semantics/kinds04.f90
M flang/test/Semantics/resolve35.f90
M flang/test/Semantics/resolve37.f90
M flang/test/Semantics/resolve41.f90
A flang/test/Semantics/resolve73.f90
A flang/test/Semantics/resolve74.f90
A flang/test/Semantics/resolve75.f90
Log Message:
-----------
[flang] Semantic checks for C712 through C727
I've updated the compiler and test source with references to the contraints at
the points where they were enforced and tested. Many of these were already
implemented and required no code change. A few constraint checks were both
implemented and tested, and I only added references to the constraint
numbers in the compiler source and tests. Here are the things I had to
implement:
Constraint C716 states that, in a REAL constant, if both a kind-param and an
exponent letter appear, the exponent letter must be 'E'.
Constraints C715 and C719 require that a KIND value be actually implemented.
Constraint C722 requires that functions that return assumed-length character
types are external.
Constraint C726 disallows assumed lenght charater types for dummy arguments and
return types.
Original-commit: flang-compiler/f18 at 45998741e5f04bba7db6eed6a4d27c1d25209b41
Reviewed-on: https://github.com/flang-compiler/f18/pull/1031
Tree-same-pre-rewrite: false
Commit: 84b2909dedf4c6e03c431e47b6a2a5b23ced4c00
https://github.com/llvm/llvm-project/commit/84b2909dedf4c6e03c431e47b6a2a5b23ced4c00
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-02-27 (Thu, 27 Feb 2020)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/kinds04.f90
Log Message:
-----------
[flang] Responses to pull request comments
I cleaned up some code and reverted a change to semantic checking for
the exponent letter in REAL literals.
Original-commit: flang-compiler/f18 at e81f57fcf54ee0493044d53a6d1bf05f661e2660
Reviewed-on: https://github.com/flang-compiler/f18/pull/1031
Commit: a5ff3ac51ec0c7a0113c5c703622887303440f06
https://github.com/llvm/llvm-project/commit/a5ff3ac51ec0c7a0113c5c703622887303440f06
Author: psteinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-02-27 (Thu, 27 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1031 from flang-compiler/ps-types
Semantic checks for C712 through C727
Original-commit: flang-compiler/f18 at d6898ab882009197beb898152f0d05fe708cc658
Reviewed-on: https://github.com/flang-compiler/f18/pull/1031
Commit: 92c1f6bb989951c07462b2bc3b1c23795c065941
https://github.com/llvm/llvm-project/commit/92c1f6bb989951c07462b2bc3b1c23795c065941
Author: Varun Jayathirtha <vjayathirtha at nvidia.com>
Date: 2020-02-27 (Thu, 27 Feb 2020)
Changed paths:
M flang/lib/Semantics/CMakeLists.txt
A flang/lib/Semantics/check-namelist.cpp
A flang/lib/Semantics/check-namelist.h
M flang/lib/Semantics/semantics.cpp
M flang/test/Semantics/CMakeLists.txt
A flang/test/Semantics/namelist01.f90
Log Message:
-----------
[flang] Add semantic checks C8104, C8105. Add tests for C8103, C8104, C8105
Original-commit: flang-compiler/f18 at 8134fc477e843d9bf525eeb552ba1d234140e7a7
Reviewed-on: https://github.com/flang-compiler/f18/pull/1037
Commit: 015075840ddf667d3c753f7eaa8508cd7695055c
https://github.com/llvm/llvm-project/commit/015075840ddf667d3c753f7eaa8508cd7695055c
Author: vjayathirtha-nv <33463839+vjayathirtha-nv at users.noreply.github.com>
Date: 2020-02-27 (Thu, 27 Feb 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1037 from vjayathirtha-nv/master
Add semantic checks C8104, C8105. Add tests for C8103, C8104, C8105
Original-commit: flang-compiler/f18 at f2a4e5c685bc421306611c64295caa50986d9578
Reviewed-on: https://github.com/flang-compiler/f18/pull/1037
Commit: 2a00c617d6dfb8b8431be6c317acc3475bc170f8
https://github.com/llvm/llvm-project/commit/2a00c617d6dfb8b8431be6c317acc3475bc170f8
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-02 (Mon, 02 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/CMakeLists.txt
A flang/test/Semantics/data02.f90
Log Message:
-----------
[flang] Expression analysis on DataStmtConstant
Data statements contains expressions but they are not wrapped in one of
the kinds of parse tree nodes that are analyzed, like `parser::Expr`.
So potential errors were not discovered.
Change `ExprChecker` to handle `DataStmtConstant` and analyze any
expressions that are contained in it. Note that the analyzed form of
the expression is not yet saved in the parse tree.
Original-commit: flang-compiler/f18 at 8bdaf0a521f6630ec2c369b2c41484eff4803d6e
Reviewed-on: https://github.com/flang-compiler/f18/pull/1044
Commit: 4ffbdb3d358609cf1afddc7180fd46db568f8c32
https://github.com/llvm/llvm-project/commit/4ffbdb3d358609cf1afddc7180fd46db568f8c32
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-02 (Mon, 02 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1044 from flang-compiler/tsk-data
Expression analysis on DataStmtConstant
Original-commit: flang-compiler/f18 at 1611fd8e9e237dc86266b146309931428d228ace
Reviewed-on: https://github.com/flang-compiler/f18/pull/1044
Commit: 3495c782145c4d98c4611b3e9c643c0e368d83e1
https://github.com/llvm/llvm-project/commit/3495c782145c4d98c4611b3e9c643c0e368d83e1
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-02 (Mon, 02 Mar 2020)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/data01.f90
M flang/test/Semantics/resolve59.f90
Log Message:
-----------
[flang] Improve array element errors
When something is parsed as an array element it was sometimes intended
to be a function call or structure constructor. So if the base name is
not found the errors can be confusing. This is an attempt to improve
them.
When the subscript list is empty, it was probably meant to be a function
call, so report that the name is not a function.
If the base is a scalar but there are subscripts, report that it is not
an array.
Original-commit: flang-compiler/f18 at e2fd5333ff1bb1e8e88cbf35028654bcf70fe9e9
Reviewed-on: https://github.com/flang-compiler/f18/pull/1039
Commit: f30c0307c1a48b2b1f4f9f834a6045d2e2634138
https://github.com/llvm/llvm-project/commit/f30c0307c1a48b2b1f4f9f834a6045d2e2634138
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-02 (Mon, 02 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1039 from flang-compiler/tsk-arrays
Improve array element errors
Original-commit: flang-compiler/f18 at 899ef78d6aac3a1c5e8264100165dcc2521684c6
Reviewed-on: https://github.com/flang-compiler/f18/pull/1039
Commit: 47452b9691c3c3efbf91de1aa6888bbc42f341fa
https://github.com/llvm/llvm-project/commit/47452b9691c3c3efbf91de1aa6888bbc42f341fa
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-03 (Tue, 03 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/resolve10.f90
M flang/test/Semantics/resolve34.f90
Log Message:
-----------
[flang] Improve checking of structure constructor arguments
When a misparsed FunctionReference was converted to a StructureConstructor,
the components accessed were not checked for accessibility.
The conversion happens in expression analysis so that where the accessibity
must be checked. So move `CheckAccessibleComponent` to `tools.h` so that it
can be shared by `resolve-names.cpp` and `expression.cpp`.
Add FindModuleContaining to help implement this and use it other places.
Check that an access-spec can only appear in a module.
Remove some unnecessary "semantics::" qualifiers.
Original-commit: flang-compiler/f18 at 99ce156e49ec0847ce42a6d10f0a62664714092b
Reviewed-on: https://github.com/flang-compiler/f18/pull/1046
Commit: 7547f76928668bde7e0ff23896be752009b5814a
https://github.com/llvm/llvm-project/commit/7547f76928668bde7e0ff23896be752009b5814a
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-03 (Tue, 03 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1046 from flang-compiler/tsk-comps
Improve checking of structure constructor keywords
Original-commit: flang-compiler/f18 at c80c72d6f96e75c9b6d12c12b813a0922c6d39ef
Reviewed-on: https://github.com/flang-compiler/f18/pull/1046
Commit: d545a132bc3b8ba940aa0a4ae664afb442129d77
https://github.com/llvm/llvm-project/commit/d545a132bc3b8ba940aa0a4ae664afb442129d77
Author: David Truby <david.truby at arm.com>
Date: 2020-03-02 (Mon, 02 Mar 2020)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Link against zlib when LLVM does.
Original-commit: flang-compiler/f18 at 2260abe4c27a76e374b286df072e303aa9ea1418
Reviewed-on: https://github.com/flang-compiler/f18/pull/1043
Commit: 8ad166c3a7f2191ad1d791c303f45cb9eb2691df
https://github.com/llvm/llvm-project/commit/8ad166c3a7f2191ad1d791c303f45cb9eb2691df
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2020-03-04 (Wed, 04 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1043 from DavidTruby/zlib
Link against zlib when LLVM does.
Original-commit: flang-compiler/f18 at 8b0a473069cb3691d604f72d7f9a5200aa7f1c01
Reviewed-on: https://github.com/flang-compiler/f18/pull/1043
Commit: e94ee41ec27a1896993a9c49a81443521d564302
https://github.com/llvm/llvm-project/commit/e94ee41ec27a1896993a9c49a81443521d564302
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/lib/Evaluate/CMakeLists.txt
M flang/test/Evaluate/CMakeLists.txt
Log Message:
-----------
[flang] Don't link to libm (flang-compiler/f18#1038)
* Don't link to libm on windows
* Don't link to libm in Unix as well
Original-commit: flang-compiler/f18 at a807862ab85f2d2206f8fa77d927b0e110513620
Reviewed-on: https://github.com/flang-compiler/f18/pull/1038
Commit: 5dfd2b06d464f77171a3ef028b6c4f90d8561b07
https://github.com/llvm/llvm-project/commit/5dfd2b06d464f77171a3ef028b6c4f90d8561b07
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/runtime/numeric-output.cpp
Log Message:
-----------
[flang] Add missing include <algorithm> for std::max (flang-compiler/f18#1028)
Original-commit: flang-compiler/f18 at 0e32eebf7fec8cd07ab3280565799cfbf2ca55e2
Reviewed-on: https://github.com/flang-compiler/f18/pull/1028
Commit: e8f09da68d72ccfcf1182b9a7f25f8e98cfb3dd6
https://github.com/llvm/llvm-project/commit/e8f09da68d72ccfcf1182b9a7f25f8e98cfb3dd6
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/runtime/lock.h
Log Message:
-----------
[flang] Use std::mutex instead of pthreads (flang-compiler/f18#1006)
* Use std::mutex for portability.
Original-commit: flang-compiler/f18 at a9a725eb9d2c39a203f4b4f55f1e03c5e17f6cf7
Reviewed-on: https://github.com/flang-compiler/f18/pull/1006
Commit: 61106305b66a9c260c3eb8cfce95469f97a60a46
https://github.com/llvm/llvm-project/commit/61106305b66a9c260c3eb8cfce95469f97a60a46
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
Log Message:
-----------
[flang] Use a file descriptor in Temp struct (flang-compiler/f18#1036)
The struct Temp is used in the function call createUniqueFile
which only takes in a file descriptor instead of a file handler.
In Unix these are the same thing, but in Windows they are different.
Therefore, the type of the member of struct Temp is changed
from file handler to file descriptor and when closing the file
the file descriptor is converted to a file handler.
Original-commit: flang-compiler/f18 at a8edb328f717305143ac827132c6d6f45e6e11b9
Reviewed-on: https://github.com/flang-compiler/f18/pull/1036
Commit: a705a4a314e3a68c049d06e581763d6e9ac8672d
https://github.com/llvm/llvm-project/commit/a705a4a314e3a68c049d06e581763d6e9ac8672d
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/README.md
M flang/test-lit/CMakeLists.txt
Log Message:
-----------
[flang] Change README to refer to LLVM_BUILD_DIR. (flang-compiler/f18#1033)
* Change README to refer to LLVM_BUILD_DIR.
LLVM_INSTALL_TOOLS doesn't to install llvm-lit. However pointing to the cmake file in the build directory works fine, and lit and FileCheck will be picked up correctly this way.
Original-commit: flang-compiler/f18 at 3cbe344f82a0898c9e20b6718d5f80d52670838b
Reviewed-on: https://github.com/flang-compiler/f18/pull/1033
Commit: e0ca7b447b5424bfecd8f6541d987108ca81a856
https://github.com/llvm/llvm-project/commit/e0ca7b447b5424bfecd8f6541d987108ca81a856
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/assign03.f90
Log Message:
-----------
[flang] Fix for 'wrong constant folding of assumed-rank array' (flang-compiler/f18#1010)
https://github.com/flang-compiler/f18/issues/990
Original-commit: flang-compiler/f18 at d971333025bb316529d233528a725fcc726f6615
Reviewed-on: https://github.com/flang-compiler/f18/pull/1010
Commit: 0b130278a0eb1250e66d57e3c74253d4f0080106
https://github.com/llvm/llvm-project/commit/0b130278a0eb1250e66d57e3c74253d4f0080106
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-09 (Mon, 09 Mar 2020)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Fix handling of DataRef when analyzing CoindexedNamedObject
As we loop through the Components, maintain a pointer to the current
DataRef rather than moving it. This is more efficient and the previous
behavior caused illegal memory accesses.
Original-commit: flang-compiler/f18 at cede2971ff863b8dd6a2c8727f6566a444ac7a52
Reviewed-on: https://github.com/flang-compiler/f18/pull/1050
Tree-same-pre-rewrite: false
Commit: 2cc21cecf2478eb71f9ab25f6b7fee7161c3b87b
https://github.com/llvm/llvm-project/commit/2cc21cecf2478eb71f9ab25f6b7fee7161c3b87b
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-09 (Mon, 09 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/tools.cpp
Log Message:
-----------
[flang] Change WhyNotModifiable to return optional
One overload of WhyNotModifiable returned an optional message while the
other returns a unique_ptr. Change the latter to be consistent with the
former and other message-returning functions in this file.
Also, reorder the if clauses to reduce the level of indentation.
Original-commit: flang-compiler/f18 at 864e9cfc7ee98e3646052fdc757943011d641691
Reviewed-on: https://github.com/flang-compiler/f18/pull/1050
Tree-same-pre-rewrite: false
Commit: c97e1c0a451e1f1be2ced035f4728d9b3072d1a0
https://github.com/llvm/llvm-project/commit/c97e1c0a451e1f1be2ced035f4728d9b3072d1a0
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-09 (Mon, 09 Mar 2020)
Changed paths:
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
Log Message:
-----------
[flang] Change CheckDefinabilityInPureScope to return bool
Have CheckDefinabilityInPureScope and CheckCopyabilityInPureScope return
false when their checks fail and report errors so that we will be able
to avoid reporting extra errors in those cases.
Original-commit: flang-compiler/f18 at 305a3470e572161483b0f430514b77ba19f932ea
Reviewed-on: https://github.com/flang-compiler/f18/pull/1050
Tree-same-pre-rewrite: false
Commit: a0a1f519c0abc99ecffd4aaa997a4bb01f63cf3e
https://github.com/llvm/llvm-project/commit/a0a1f519c0abc99ecffd4aaa997a4bb01f63cf3e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-09 (Mon, 09 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/type.cpp
M flang/test/Semantics/CMakeLists.txt
A flang/test/Semantics/assign04.f90
M flang/test/Semantics/resolve72.f90
Log Message:
-----------
[flang] Perform definability checks on LHS of assignment
If the pure context check succeeds, call `WhyNotModifiable` to verify
the LHS can be modified.
Detect assignment to whole assumed-size array.
Change `IsVariable` to return false for a parameter or a component or
array reference whose base it a parameter.
When analyzing an assignment statement, report an error if the LHS is
a constant expression. Otherwise it might get folded and when we detect
the problem later the error will be confusing.
Handle Substring on LHS of assignment. Change ExtractDataRef and IsVariable
to work on a Substring.
Fix IsImpliedShape and IsAssumedSize predicates in ArraySpec.
Fix C709 check in check-declarations.cpp.
Original-commit: flang-compiler/f18 at f2d2657aab051b938ec4e4702926aadb436c19aa
Reviewed-on: https://github.com/flang-compiler/f18/pull/1050
Commit: 330ca1ea683c1ec8836fa8b42feacc9ea0c31a73
https://github.com/llvm/llvm-project/commit/330ca1ea683c1ec8836fa8b42feacc9ea0c31a73
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-09 (Mon, 09 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1050 from flang-compiler/tsk-assign
Perform definability checks on LHS of assignment
Original-commit: flang-compiler/f18 at a7b49f99a6b2056504b74c7274582935b10b3929
Reviewed-on: https://github.com/flang-compiler/f18/pull/1050
Commit: e03b20e66e947ecccefddc886c035f130fdd905b
https://github.com/llvm/llvm-project/commit/e03b20e66e947ecccefddc886c035f130fdd905b
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M flang/include/flang/Common/reference.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/variable.h
M flang/lib/Evaluate/call.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Changes to get a clean build of f18 with latest clang
Prep for review
Original-commit: flang-compiler/f18 at 111f49061e07604670614250197a1064959fd981
Reviewed-on: https://github.com/flang-compiler/f18/pull/1059
Commit: 749be7993e295c284d2b8556eabcb8ddfb3157ca
https://github.com/llvm/llvm-project/commit/749be7993e295c284d2b8556eabcb8ddfb3157ca
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1059 from flang-compiler/pmk-clang
Changes that enable f18 build with latest clang
Original-commit: flang-compiler/f18 at 9e628b633cad8ed07a89f4e270828370c826ab24
Reviewed-on: https://github.com/flang-compiler/f18/pull/1059
Commit: 6ab50745c0bab1b44e89c82f56295eafce3719ac
https://github.com/llvm/llvm-project/commit/6ab50745c0bab1b44e89c82f56295eafce3719ac
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/resolve34.f90
Log Message:
-----------
[flang] Fix scope accessibility check
The check for whether a private component is accessible was depending on
determining whether the source range of the current scope was within the
source range of the module that the component was declared in. This
could fail if the current scope was of kind `ImpliedDos` and had no
source range.
The fix is to add `Scope::Contains` to check the relationship by
traversing the parent links. These are created when the Scope is so are
always reliable. The source range of a scope is built up over time.
Original-commit: flang-compiler/f18 at d787108637adad358ccf8af3d200acb3f66ce099
Reviewed-on: https://github.com/flang-compiler/f18/pull/1060
Commit: 49422bb83a5b111c8d5a3233c21c9c6c98765951
https://github.com/llvm/llvm-project/commit/49422bb83a5b111c8d5a3233c21c9c6c98765951
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1060 from flang-compiler/tsk-scope-contains
Fix scope accessibility check
Original-commit: flang-compiler/f18 at e671fc0754b1b850fb677da11ff6110befba5ef9
Reviewed-on: https://github.com/flang-compiler/f18/pull/1060
Commit: a40dbe7c41c6f1bcddc087752eef004f4c1d093e
https://github.com/llvm/llvm-project/commit/a40dbe7c41c6f1bcddc087752eef004f4c1d093e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M flang/lib/Semantics/assignment.cpp
M flang/test/Semantics/assign04.f90
Log Message:
-----------
[flang] Allow for vector subscript on LHS of assignment
Original-commit: flang-compiler/f18 at 38aefd41f051546024ecf4555a3bb3385b99f3c7
Reviewed-on: https://github.com/flang-compiler/f18/pull/1062
Commit: 78f45d4efe5c6e77bc7ec324e2b74ab1d10b2cc3
https://github.com/llvm/llvm-project/commit/78f45d4efe5c6e77bc7ec324e2b74ab1d10b2cc3
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1062 from flang-compiler/tsk-vector-subscript
Allow for vector subscript on LHS of assignment
Original-commit: flang-compiler/f18 at ed6e34d33b08b162608ce7a648e08ea6a333a5ed
Reviewed-on: https://github.com/flang-compiler/f18/pull/1062
Commit: 59baf8b82270865df77925e3d4b599c4a767ffbd
https://github.com/llvm/llvm-project/commit/59baf8b82270865df77925e3d4b599c4a767ffbd
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-03-06 (Fri, 06 Mar 2020)
Changed paths:
M flang/runtime/c-or-cpp.h
M flang/runtime/main.h
M flang/runtime/stop.h
Log Message:
-----------
[flang] Rename EXTERN_C_END to FORTRAN_EXTERN_C_END
Since EXTERN_C_END is a macro defined in Windows system headers
Original-commit: flang-compiler/f18 at 4c6e5608adddf25a53fbdbfd5f0e1b98278cc5ec
Reviewed-on: https://github.com/flang-compiler/f18/pull/1051
Commit: 84319aba7d3a1925e183a97a6eea591d2b25230e
https://github.com/llvm/llvm-project/commit/84319aba7d3a1925e183a97a6eea591d2b25230e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1051 from isuruf/extern
Rename EXTERN_C_END to FORTRAN_EXTERN_C_END
Original-commit: flang-compiler/f18 at b04233ea55be6b908363aa54e03fac5d3ace3341
Reviewed-on: https://github.com/flang-compiler/f18/pull/1051
Commit: 886fb42ece8f3c1ca16b179efe993ee68d663fe8
https://github.com/llvm/llvm-project/commit/886fb42ece8f3c1ca16b179efe993ee68d663fe8
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M flang/lib/Evaluate/shape.cpp
Log Message:
-----------
[flang] Extend shape analysis to cope with ASSOCIATE construct entities better
Fix incomplete copy&paste
Another review comment addressed
Original-commit: flang-compiler/f18 at a2e2593fa5457a7737faab8ee74e5f3b18cd71f7
Reviewed-on: https://github.com/flang-compiler/f18/pull/1061
Tree-same-pre-rewrite: false
Commit: 771c21c19f8dfb8cd8b098f811785cbb72a84bdb
https://github.com/llvm/llvm-project/commit/771c21c19f8dfb8cd8b098f811785cbb72a84bdb
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
M flang/module/iso_c_binding.f90
Log Message:
-----------
[flang] Repair C_LOC
Original-commit: flang-compiler/f18 at dc1c95277dd6161ce2d13f971ca91cce3e771e8a
Reviewed-on: https://github.com/flang-compiler/f18/pull/1061
Tree-same-pre-rewrite: false
Commit: f7432ca7a6dce3894c2c156a969be502e6bb8acd
https://github.com/llvm/llvm-project/commit/f7432ca7a6dce3894c2c156a969be502e6bb8acd
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/shape.h
M flang/lib/Evaluate/shape.cpp
Log Message:
-----------
[flang] Resolve known problems in shape analysis
Original-commit: flang-compiler/f18 at ed2e4842d31f1329d3bec802c2f284ba62343f99
Reviewed-on: https://github.com/flang-compiler/f18/pull/1061
Commit: 83ccf62e864f98bca7063fb4c3449d7011f7cf7e
https://github.com/llvm/llvm-project/commit/83ccf62e864f98bca7063fb4c3449d7011f7cf7e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1061 from flang-compiler/pmk-shape
Extend shape analysis to cope better with ASSOCIATE construct entities
Original-commit: flang-compiler/f18 at abee10616802d9ce12051dc2e1b911144dd52198
Reviewed-on: https://github.com/flang-compiler/f18/pull/1061
Commit: 0a8a6cd9215a9f9301a54f3a391f73a028e75b6a
https://github.com/llvm/llvm-project/commit/0a8a6cd9215a9f9301a54f3a391f73a028e75b6a
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-03-05 (Thu, 05 Mar 2020)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
Log Message:
-----------
[flang] Fix an ambiguous overload error
Original-commit: flang-compiler/f18 at 70fa71ff7be3024a44b8214be663b9701adc5b1f
Reviewed-on: https://github.com/flang-compiler/f18/pull/1029
Commit: e1ba511c2c55e0caede379fe88646a650d3f5cf0
https://github.com/llvm/llvm-project/commit/e1ba511c2c55e0caede379fe88646a650d3f5cf0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1029 from isuruf/patch-3
Fix an ambiguous overload error
Original-commit: flang-compiler/f18 at c39a22b6e40dcf1f9438b75a1b5b3b8b7d5d4778
Reviewed-on: https://github.com/flang-compiler/f18/pull/1029
Commit: 3b635714255da40a7c2a2b3ff03e73fe4fd0a34e
https://github.com/llvm/llvm-project/commit/3b635714255da40a7c2a2b3ff03e73fe4fd0a34e
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
M flang/documentation/IORuntimeInternals.md
M flang/include/flang/Parser/char-buffer.h
M flang/include/flang/Semantics/type.h
M flang/lib/Parser/char-buffer.cpp
M flang/lib/Parser/source.cpp
M flang/lib/Semantics/check-call.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/ISO_Fortran_binding.cpp
M flang/runtime/buffer.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/descriptor.cpp
M flang/runtime/descriptor.h
A flang/runtime/edit-input.cpp
A flang/runtime/edit-input.h
A flang/runtime/edit-output.cpp
A flang/runtime/edit-output.h
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-api.h
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
A flang/runtime/iostat.cpp
A flang/runtime/iostat.h
M flang/runtime/lock.h
M flang/runtime/magic-numbers.h
M flang/runtime/main.cpp
R flang/runtime/numeric-output.cpp
R flang/runtime/numeric-output.h
M flang/runtime/terminator.cpp
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/transformational.cpp
M flang/runtime/transformational.h
M flang/runtime/type-code.h
A flang/runtime/unit-map.cpp
A flang/runtime/unit-map.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/test/Evaluate/reshape.cpp
M flang/test/Runtime/CMakeLists.txt
M flang/test/Runtime/format.cpp
M flang/test/Runtime/hello.cpp
A flang/test/Runtime/list-input.cpp
A flang/test/Runtime/testing.cpp
A flang/test/Runtime/testing.h
M flang/test/Semantics/call15.f90
Log Message:
-----------
[flang] Use hash table for UnitMap, avoid C++ STL binary dependence
Scan FORMAT strings locally to avoid C++ binary runtime dependence when computing deepest parenthesis nesting
Remove a dependency on ostream from runtime
Remove remaining direct external references from runtime to C++ library binaries
Remove runtime dependences on lib/common
SetPos() and SetRec()
Instantiate templates for input
Begin input; rearrange locking, deal with CLOSE races
View()
Update error message in test to agree with compiler change
First cut at real input
More robust I/O runtime error handling
Debugging of REAL input
Add iostat.{h,cpp}
Rename runtime/numeric-* to runtime/edit-*
Move templates around, templatize integer output editing
Move LOGICAL and CHARACTER output from io-api.cpp to edit-output.cpp
Change pointer argument to reference
More list-directed input
Complex list-directed input
Use enum class Direction rather than bool for templates
Catch up with changes to master
Undo reformatting of Lower code
Use record number instead of subscripts for internal unit
Unformatted sequential backspace
Testing and debugging
Dodge bogus GCC warning
Add <cstddef> for std::size_t to fix CI build
Address review comments
Original-commit: flang-compiler/f18 at 50406b349609efdde76e48bf2caa039d031dd1c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/1053
Commit: 989cbfb0c4094899f5932db594ea7a4db0915551
https://github.com/llvm/llvm-project/commit/989cbfb0c4094899f5932db594ea7a4db0915551
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1053 from flang-compiler/pmk-io
Roll up runtime I/O work
Original-commit: flang-compiler/f18 at bcb8565a93aca69f7c65eca23760293feebf717d
Reviewed-on: https://github.com/flang-compiler/f18/pull/1053
Commit: 57f536a448559b6e56388700653cc43f38152f12
https://github.com/llvm/llvm-project/commit/57f536a448559b6e56388700653cc43f38152f12
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
M flang/.drone.star
M flang/CMakeLists.txt
M flang/README.md
R flang/documentation/Investigating-FIR-as-an-MLIR-dialect.md
R flang/include/fir/.clang-format
M flang/include/flang/CMakeLists.txt
A flang/include/flang/Optimizer/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/FIRAttr.h
A flang/include/flang/Optimizer/Dialect/FIRDialect.h
A flang/include/flang/Optimizer/Dialect/FIROps.h
A flang/include/flang/Optimizer/Dialect/FIROps.td
A flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
A flang/include/flang/Optimizer/Dialect/FIRType.h
A flang/include/flang/Optimizer/Support/KindMapping.h
M flang/lib/CMakeLists.txt
R flang/lib/Fir/.clang-format
A flang/lib/Optimizer/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/FIRDialect.cpp
A flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Support/CMakeLists.txt
A flang/lib/Optimizer/Support/KindMapping.cpp
M flang/test-lit/CMakeLists.txt
A flang/test-lit/Fir/fir-ops.fir
A flang/test-lit/Fir/fir-types.fir
M flang/test-lit/lit.cfg.py
M flang/test-lit/lit.site.cfg.py.in
M flang/tools/CMakeLists.txt
A flang/tools/tco/CMakeLists.txt
A flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Add Fortran IR (FIR) MLIR dialect implementation (flang-compiler/f18#1035)
Adds FIR library that implements an MLIR dialect to which Fortran
parse-tree will be lowered to.
FIR is defined and documented inside FIROps.td added in this commit.
It is possible to generate a more readable description FIRLangRef.md
from FIROps.td following the related instructions added to the README.md
by this commit.
This patch adds FIR definition and implementation that allow parsing,
printing, and verifying FIR. FIR transformations and lowering to Standard
and LLVM dialects are not part of this patch. The FIR verifiers are verifying
the basic properties of FIR operations in order to provide a sufficient
frame for lowering. Verifiers for more advanced FIR properties can be added
as needed.
Coarrays are not covered by FIR defined in this patch.
This patch also adds tco tool that is meant to process FIR input files and
drives transformations on it. The tco tool is used for testing.
In this patch, it is only used to demonstrate parsing/verifying/
and dumping FIR with round-trip tests.
Note:
This commit does not reflect an actual work log, it is a feature-based split of the
changes done in the FIR experimental branch. The related work log can be found in the
commits between:
https://github.com/schweitzpgi/f18/commit/742edde572bd74d77cf7d447132ccf0949187fce
and
https://github.com/schweitzpgi/f18/commit/2ff55242126d86061f4fed9ef7b59d3636b5fd0b
Changes on top of these original commits were made during this patch review.
Original-commit: flang-compiler/f18 at 30b428a51e140e5fb12bd53a0619f10ff510f408
Reviewed-on: https://github.com/flang-compiler/f18/pull/1035
Commit: 3064bdcce949f2ecf96b7bc4f154b3d7ccf5d5b6
https://github.com/llvm/llvm-project/commit/3064bdcce949f2ecf96b7bc4f154b3d7ccf5d5b6
Author: RichBarton-Arm <43278683+RichBarton-Arm at users.noreply.github.com>
Date: 2020-03-12 (Thu, 12 Mar 2020)
Changed paths:
A flang/CODE_OWNERS.TXT
Log Message:
-----------
[flang] Add initial CODE_OWNERS file (flang-compiler/f18#1066)
Original-commit: flang-compiler/f18 at e5f369d0863899b601079b2d97e9144c1fd0b71e
Reviewed-on: https://github.com/flang-compiler/f18/pull/1066
Commit: 232711df35cc20cf8a8b4ae7568335bdcc749c61
https://github.com/llvm/llvm-project/commit/232711df35cc20cf8a8b4ae7568335bdcc749c61
Author: David Truby <david.truby at arm.com>
Date: 2020-03-12 (Thu, 12 Mar 2020)
Changed paths:
M flang/documentation/Parsing.md
Log Message:
-----------
[flang] Added documentation explaining the use of std::list (flang-compiler/f18#988)
Original-commit: flang-compiler/f18 at 094f55890775362f093bb62c57c13b8d3436c82e
Reviewed-on: https://github.com/flang-compiler/f18/pull/988
Commit: 324bab9bf4d87201b958f032d15a4006d1c87a90
https://github.com/llvm/llvm-project/commit/324bab9bf4d87201b958f032d15a4006d1c87a90
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2020-03-12 (Thu, 12 Mar 2020)
Changed paths:
M flang/CODE_OWNERS.TXT
Log Message:
-----------
[flang] fix typo (flang-compiler/f18#1067)
Original-commit: flang-compiler/f18 at 4cdc9f75e2bd81889ccc4e30da8c40b2335f10c0
Reviewed-on: https://github.com/flang-compiler/f18/pull/1067
Commit: 231fae90874bae6f224dcf5cd613218bc450731a
https://github.com/llvm/llvm-project/commit/231fae90874bae6f224dcf5cd613218bc450731a
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-03-12 (Thu, 12 Mar 2020)
Changed paths:
M flang/runtime/connection.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/edit-output.cpp
M flang/runtime/format-implementation.h
M flang/runtime/tools.cpp
M flang/test/Runtime/testing.cpp
Log Message:
-----------
[flang] Need <algorithm> for std::min and std::max (flang-compiler/f18#1063)
Original-commit: flang-compiler/f18 at d0f9ef7742132a5f9f7173b773aaac934484c7c1
Reviewed-on: https://github.com/flang-compiler/f18/pull/1063
Commit: f856a5526ab17d28a58c65f0723b6e1e8909fb89
https://github.com/llvm/llvm-project/commit/f856a5526ab17d28a58c65f0723b6e1e8909fb89
Author: Jean Perier <jperier at nvidia.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
Log Message:
-----------
[flang] Support latest LLVM head with FIR - MLIR SideEffects interface change
Include new .td after LLVM changes:
https://github.com/llvm/llvm-project/commit/0ddba0bd59c337f16b51a00cb205ecfda46f97fa
Tested to work with LLVM head ecd3e678bbb11cf899603037ec2c5949b8d7fa6c
from 2020-03-13 01:45 am PCT
Backwards compatible with previous known compatible heads at least back to
fde9d33f7101bac631b26990d17822474d3a34e9 from 2020-03-10, so need to
update LLVM builds if they previously work with FIR.
Original-commit: flang-compiler/f18 at 45454587c932c23430f0f1eb81df816dd75de86b
Reviewed-on: https://github.com/flang-compiler/f18/pull/1071
Commit: 9509a2f676c18a6412facf607f974290d01f2be2
https://github.com/llvm/llvm-project/commit/9509a2f676c18a6412facf607f974290d01f2be2
Author: jeanPerier <jeanPerier at users.noreply.github.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1071 from flang-compiler/jpr-fix-no-side-effects
Support latest LLVM head with FIR - MLIR SideEffects interface change
Original-commit: flang-compiler/f18 at d9fadfacbc6c5edb03f9c0b943fbe1b29f04c25b
Reviewed-on: https://github.com/flang-compiler/f18/pull/1071
Commit: a9d9261cf36df29dbcd2f8f171e58c7f0ad2b8d5
https://github.com/llvm/llvm-project/commit/a9d9261cf36df29dbcd2f8f171e58c7f0ad2b8d5
Author: Luke Ireland <luke.ireland at arm.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
M flang/test/Semantics/CMakeLists.txt
M flang/test/Semantics/altreturn03.f90
Log Message:
-----------
[flang] Re-enable semantics/altreturn{02,03} tests
These tests were disabled due to https://github.com/flang-compiler/f18/issues/407.
Previously these tests caused F18 to crash as the feature was not fully
implemented.
The altreturn feature is now implemented, so these tests can be
re-enabled. altreturn03 tested some negative cases which F18 correctly
diagnoses. Modified that test to expect these new error messages. Also
make the later cases in the test reachable.
These tests can now be ported by the script to lit-style tests.
Change-Id: Ib336c10d55068d9a26fc2deb43ad052e74e73456
Original-commit: flang-compiler/f18 at 4de19d7ba2df892ce4361461841c3997de439532
Reviewed-on: https://github.com/flang-compiler/f18/pull/1027
Tree-same-pre-rewrite: false
Commit: ee5fa1f2338abb2dace0c43116cd73c283f96a3b
https://github.com/llvm/llvm-project/commit/ee5fa1f2338abb2dace0c43116cd73c283f96a3b
Author: Luke Ireland <luke.ireland at arm.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
M flang/CMakeLists.txt
R flang/test/CMakeLists.txt
R flang/test/Decimal/CMakeLists.txt
R flang/test/Decimal/quick-sanity-test.cpp
R flang/test/Decimal/thorough-test.cpp
R flang/test/Evaluate/CMakeLists.txt
R flang/test/Evaluate/ISO-Fortran-binding.cpp
R flang/test/Evaluate/bit-population-count.cpp
R flang/test/Evaluate/expression.cpp
R flang/test/Evaluate/folding.cpp
R flang/test/Evaluate/fp-testing.cpp
R flang/test/Evaluate/fp-testing.h
R flang/test/Evaluate/integer.cpp
R flang/test/Evaluate/intrinsics.cpp
R flang/test/Evaluate/leading-zero-bit-count.cpp
R flang/test/Evaluate/logical.cpp
R flang/test/Evaluate/real.cpp
R flang/test/Evaluate/reshape.cpp
R flang/test/Evaluate/testing.cpp
R flang/test/Evaluate/testing.h
R flang/test/Evaluate/uint128.cpp
R flang/test/Runtime/CMakeLists.txt
R flang/test/Runtime/external-hello.cpp
R flang/test/Runtime/format.cpp
R flang/test/Runtime/hello.cpp
R flang/test/Runtime/list-input.cpp
R flang/test/Runtime/testing.cpp
R flang/test/Runtime/testing.h
A flang/unittests/CMakeLists.txt
A flang/unittests/Decimal/CMakeLists.txt
A flang/unittests/Decimal/quick-sanity-test.cpp
A flang/unittests/Decimal/thorough-test.cpp
A flang/unittests/Evaluate/CMakeLists.txt
A flang/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang/unittests/Evaluate/bit-population-count.cpp
A flang/unittests/Evaluate/expression.cpp
A flang/unittests/Evaluate/folding.cpp
A flang/unittests/Evaluate/fp-testing.cpp
A flang/unittests/Evaluate/fp-testing.h
A flang/unittests/Evaluate/integer.cpp
A flang/unittests/Evaluate/intrinsics.cpp
A flang/unittests/Evaluate/leading-zero-bit-count.cpp
A flang/unittests/Evaluate/logical.cpp
A flang/unittests/Evaluate/real.cpp
A flang/unittests/Evaluate/reshape.cpp
A flang/unittests/Evaluate/testing.cpp
A flang/unittests/Evaluate/testing.h
A flang/unittests/Evaluate/uint128.cpp
A flang/unittests/Runtime/CMakeLists.txt
A flang/unittests/Runtime/external-hello.cpp
A flang/unittests/Runtime/format.cpp
A flang/unittests/Runtime/hello.cpp
A flang/unittests/Runtime/list-input.cpp
A flang/unittests/Runtime/testing.cpp
A flang/unittests/Runtime/testing.h
Log Message:
-----------
[flang] Create a separate directory for unittests
Some of the regression tests are C programs that act as test harnesses
for the compiler internals as opposed to being Fortran inputs to test
the compiler in action. The former style of tests are analog to LLVM's
unittests and will not use the lit framework.
Change-Id: I0ff10e23f66ff843e8fff4c35cfb6559b9dab762
Original-commit: flang-compiler/f18 at 2bfddbe8f8898551a28c3ea07b7ae508018f8634
Reviewed-on: https://github.com/flang-compiler/f18/pull/1027
Tree-same-pre-rewrite: false
Commit: f1a8eae3b6c2a660881c5db8fcde6241dc6cb6ef
https://github.com/llvm/llvm-project/commit/f1a8eae3b6c2a660881c5db8fcde6241dc6cb6ef
Author: Luke Ireland <luke.ireland at arm.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
R flang/test-lit/Driver/version_test.f90
R flang/test-lit/Fir/fir-ops.fir
R flang/test-lit/Fir/fir-types.fir
R flang/test-lit/Lower/pre-fir-tree01.f90
R flang/test-lit/Lower/pre-fir-tree02.f90
R flang/test-lit/Lower/pre-fir-tree03.f90
R flang/test-lit/Lower/pre-fir-tree04.f90
R flang/test-lit/Semantics/Inputs/mod-file-changed.f90
R flang/test-lit/Semantics/Inputs/mod-file-unchanged.f90
R flang/test-lit/Semantics/mod-file-rewriter.f90
A flang/test/Driver/version_test.f90
M flang/test/Evaluate/folding01.f90
M flang/test/Evaluate/folding02.f90
M flang/test/Evaluate/folding03.f90
M flang/test/Evaluate/folding04.f90
M flang/test/Evaluate/folding05.f90
M flang/test/Evaluate/folding06.f90
M flang/test/Evaluate/folding07.f90
M flang/test/Evaluate/folding08.f90
M flang/test/Evaluate/folding09.f90
A flang/test/Fir/fir-ops.fir
A flang/test/Fir/fir-types.fir
A flang/test/Lower/pre-fir-tree01.f90
A flang/test/Lower/pre-fir-tree02.f90
A flang/test/Lower/pre-fir-tree03.f90
A flang/test/Lower/pre-fir-tree04.f90
A flang/test/Semantics/Inputs/getdefinition03-b.f90
A flang/test/Semantics/Inputs/getsymbols02-a.f90
A flang/test/Semantics/Inputs/getsymbols02-b.f90
A flang/test/Semantics/Inputs/getsymbols02-c.f90
A flang/test/Semantics/Inputs/getsymbols03-b.f90
A flang/test/Semantics/Inputs/mod-file-changed.f90
A flang/test/Semantics/Inputs/mod-file-unchanged.f90
A flang/test/Semantics/Inputs/modfile09-a.f90
A flang/test/Semantics/Inputs/modfile09-b.f90
A flang/test/Semantics/Inputs/modfile09-c.f90
A flang/test/Semantics/Inputs/modfile09-d.f90
M flang/test/Semantics/allocate01.f90
M flang/test/Semantics/allocate02.f90
M flang/test/Semantics/allocate03.f90
M flang/test/Semantics/allocate04.f90
M flang/test/Semantics/allocate05.f90
M flang/test/Semantics/allocate06.f90
M flang/test/Semantics/allocate07.f90
M flang/test/Semantics/allocate08.f90
M flang/test/Semantics/allocate09.f90
M flang/test/Semantics/allocate10.f90
M flang/test/Semantics/allocate11.f90
M flang/test/Semantics/allocate12.f90
M flang/test/Semantics/allocate13.f90
M flang/test/Semantics/altreturn01.f90
M flang/test/Semantics/altreturn02.f90
M flang/test/Semantics/altreturn03.f90
M flang/test/Semantics/altreturn04.f90
M flang/test/Semantics/altreturn05.f90
M flang/test/Semantics/assign01.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/assign03.f90
M flang/test/Semantics/assign04.f90
M flang/test/Semantics/bad-forward-type.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/block-data01.f90
M flang/test/Semantics/blockconstruct01.f90
M flang/test/Semantics/blockconstruct02.f90
M flang/test/Semantics/blockconstruct03.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call02.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call05.f90
M flang/test/Semantics/call06.f90
M flang/test/Semantics/call07.f90
M flang/test/Semantics/call08.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call11.f90
M flang/test/Semantics/call12.f90
M flang/test/Semantics/call13.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/call15.f90
M flang/test/Semantics/canondo01.f90
M flang/test/Semantics/canondo02.f90
M flang/test/Semantics/canondo03.f90
M flang/test/Semantics/canondo04.f90
M flang/test/Semantics/canondo05.f90
M flang/test/Semantics/canondo06.f90
M flang/test/Semantics/canondo07.f90
M flang/test/Semantics/canondo08.f90
M flang/test/Semantics/canondo09.f90
M flang/test/Semantics/canondo10.f90
M flang/test/Semantics/canondo11.f90
M flang/test/Semantics/canondo12.f90
M flang/test/Semantics/canondo13.f90
M flang/test/Semantics/canondo14.f90
M flang/test/Semantics/canondo15.f90
M flang/test/Semantics/canondo16.f90
M flang/test/Semantics/canondo17.f90
M flang/test/Semantics/canondo18.f90
M flang/test/Semantics/canondo19.f90
M flang/test/Semantics/coarrays01.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/computed-goto01.f90
M flang/test/Semantics/computed-goto02.f90
M flang/test/Semantics/critical01.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/critical03.f90
M flang/test/Semantics/critical04.f90
M flang/test/Semantics/data01.f90
M flang/test/Semantics/data02.f90
M flang/test/Semantics/deallocate01.f90
M flang/test/Semantics/deallocate04.f90
M flang/test/Semantics/deallocate05.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/doconcurrent02.f90
M flang/test/Semantics/doconcurrent03.f90
M flang/test/Semantics/doconcurrent04.f90
M flang/test/Semantics/doconcurrent05.f90
M flang/test/Semantics/doconcurrent06.f90
M flang/test/Semantics/doconcurrent07.f90
M flang/test/Semantics/doconcurrent08.f90
M flang/test/Semantics/dosemantics01.f90
M flang/test/Semantics/dosemantics02.f90
M flang/test/Semantics/dosemantics03.f90
M flang/test/Semantics/dosemantics04.f90
M flang/test/Semantics/dosemantics05.f90
M flang/test/Semantics/dosemantics06.f90
M flang/test/Semantics/dosemantics07.f90
M flang/test/Semantics/dosemantics08.f90
M flang/test/Semantics/dosemantics09.f90
M flang/test/Semantics/dosemantics10.f90
M flang/test/Semantics/dosemantics11.f90
M flang/test/Semantics/dosemantics12.f90
M flang/test/Semantics/equivalence01.f90
M flang/test/Semantics/expr-errors01.f90
M flang/test/Semantics/expr-errors02.f90
M flang/test/Semantics/forall01.f90
M flang/test/Semantics/getdefinition01.f90
M flang/test/Semantics/getdefinition02.f
M flang/test/Semantics/getdefinition03-a.f90
R flang/test/Semantics/getdefinition03-b.f90
M flang/test/Semantics/getdefinition04.f90
M flang/test/Semantics/getdefinition05.f90
M flang/test/Semantics/getsymbols01.f90
R flang/test/Semantics/getsymbols02-a.f90
R flang/test/Semantics/getsymbols02-b.f90
R flang/test/Semantics/getsymbols02-c.f90
A flang/test/Semantics/getsymbols02.f90
M flang/test/Semantics/getsymbols03-a.f90
R flang/test/Semantics/getsymbols03-b.f90
M flang/test/Semantics/getsymbols04.f90
M flang/test/Semantics/getsymbols05.f90
M flang/test/Semantics/if_arith01.f90
M flang/test/Semantics/if_arith02.f90
M flang/test/Semantics/if_arith03.f90
M flang/test/Semantics/if_arith04.f90
M flang/test/Semantics/if_construct01.f90
M flang/test/Semantics/if_construct02.f90
M flang/test/Semantics/if_stmt01.f90
M flang/test/Semantics/if_stmt02.f90
M flang/test/Semantics/if_stmt03.f90
M flang/test/Semantics/implicit01.f90
M flang/test/Semantics/implicit02.f90
M flang/test/Semantics/implicit03.f90
M flang/test/Semantics/implicit04.f90
M flang/test/Semantics/implicit05.f90
M flang/test/Semantics/implicit06.f90
M flang/test/Semantics/implicit07.f90
M flang/test/Semantics/implicit08.f90
M flang/test/Semantics/init01.f90
M flang/test/Semantics/int-literals.f90
M flang/test/Semantics/io01.f90
M flang/test/Semantics/io02.f90
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/io05.f90
M flang/test/Semantics/io06.f90
M flang/test/Semantics/io07.f90
M flang/test/Semantics/io08.f90
M flang/test/Semantics/io09.f90
M flang/test/Semantics/io10.f90
M flang/test/Semantics/kinds01.f90
M flang/test/Semantics/kinds02.f90
M flang/test/Semantics/kinds03.f90
M flang/test/Semantics/kinds04.f90
M flang/test/Semantics/label01.F90
M flang/test/Semantics/label02.f90
M flang/test/Semantics/label03.f90
M flang/test/Semantics/label04.f90
M flang/test/Semantics/label05.f90
M flang/test/Semantics/label06.f90
M flang/test/Semantics/label07.f90
M flang/test/Semantics/label08.f90
M flang/test/Semantics/label09.f90
M flang/test/Semantics/label10.f90
M flang/test/Semantics/label11.f90
M flang/test/Semantics/label12.f90
M flang/test/Semantics/label13.f90
M flang/test/Semantics/label14.f90
M flang/test/Semantics/misc-declarations.f90
A flang/test/Semantics/mod-file-rewriter.f90
M flang/test/Semantics/modfile01.f90
M flang/test/Semantics/modfile02.f90
M flang/test/Semantics/modfile03.f90
M flang/test/Semantics/modfile04.f90
M flang/test/Semantics/modfile05.f90
M flang/test/Semantics/modfile06.f90
M flang/test/Semantics/modfile07.f90
M flang/test/Semantics/modfile08.f90
R flang/test/Semantics/modfile09-a.f90
R flang/test/Semantics/modfile09-b.f90
R flang/test/Semantics/modfile09-c.f90
R flang/test/Semantics/modfile09-d.f90
A flang/test/Semantics/modfile09.f90
M flang/test/Semantics/modfile10.f90
M flang/test/Semantics/modfile11.f90
M flang/test/Semantics/modfile12.f90
M flang/test/Semantics/modfile13.f90
M flang/test/Semantics/modfile14.f90
M flang/test/Semantics/modfile15.f90
M flang/test/Semantics/modfile16.f90
M flang/test/Semantics/modfile17.f90
M flang/test/Semantics/modfile18.f90
M flang/test/Semantics/modfile19.f90
M flang/test/Semantics/modfile20.f90
M flang/test/Semantics/modfile21.f90
M flang/test/Semantics/modfile22.f90
M flang/test/Semantics/modfile23.f90
M flang/test/Semantics/modfile24.f90
M flang/test/Semantics/modfile25.f90
M flang/test/Semantics/modfile26.f90
M flang/test/Semantics/modfile27.f90
M flang/test/Semantics/modfile28.f90
M flang/test/Semantics/modfile29.f90
M flang/test/Semantics/modfile30.f90
M flang/test/Semantics/modfile31.f90
M flang/test/Semantics/modfile32.f90
M flang/test/Semantics/modfile33.f90
M flang/test/Semantics/modfile34.f90
M flang/test/Semantics/modfile35.f90
M flang/test/Semantics/namelist01.f90
M flang/test/Semantics/null01.f90
M flang/test/Semantics/nullify01.f90
M flang/test/Semantics/nullify02.f90
M flang/test/Semantics/omp-atomic.f90
M flang/test/Semantics/omp-clause-validity01.f90
M flang/test/Semantics/omp-declarative-directive.f90
M flang/test/Semantics/omp-device-constructs.f90
M flang/test/Semantics/omp-loop-association.f90
M flang/test/Semantics/omp-nested01.f90
M flang/test/Semantics/omp-resolve01.f90
M flang/test/Semantics/omp-resolve02.f90
M flang/test/Semantics/omp-resolve03.f90
M flang/test/Semantics/omp-resolve04.f90
M flang/test/Semantics/omp-resolve05.f90
M flang/test/Semantics/omp-symbol01.f90
M flang/test/Semantics/omp-symbol02.f90
M flang/test/Semantics/omp-symbol03.f90
M flang/test/Semantics/omp-symbol04.f90
M flang/test/Semantics/omp-symbol05.f90
M flang/test/Semantics/omp-symbol06.f90
M flang/test/Semantics/omp-symbol07.f90
M flang/test/Semantics/omp-symbol08.f90
M flang/test/Semantics/procinterface01.f90
M flang/test/Semantics/resolve01.f90
M flang/test/Semantics/resolve02.f90
M flang/test/Semantics/resolve03.f90
M flang/test/Semantics/resolve04.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve06.f90
M flang/test/Semantics/resolve07.f90
M flang/test/Semantics/resolve08.f90
M flang/test/Semantics/resolve09.f90
M flang/test/Semantics/resolve10.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve12.f90
M flang/test/Semantics/resolve13.f90
M flang/test/Semantics/resolve14.f90
M flang/test/Semantics/resolve15.f90
M flang/test/Semantics/resolve16.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/resolve19.f90
M flang/test/Semantics/resolve20.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve22.f90
M flang/test/Semantics/resolve23.f90
M flang/test/Semantics/resolve24.f90
M flang/test/Semantics/resolve25.f90
M flang/test/Semantics/resolve26.f90
M flang/test/Semantics/resolve27.f90
M flang/test/Semantics/resolve28.f90
M flang/test/Semantics/resolve29.f90
M flang/test/Semantics/resolve30.f90
M flang/test/Semantics/resolve31.f90
M flang/test/Semantics/resolve32.f90
M flang/test/Semantics/resolve33.f90
M flang/test/Semantics/resolve34.f90
M flang/test/Semantics/resolve35.f90
M flang/test/Semantics/resolve36.f90
M flang/test/Semantics/resolve37.f90
M flang/test/Semantics/resolve38.f90
M flang/test/Semantics/resolve39.f90
M flang/test/Semantics/resolve40.f90
M flang/test/Semantics/resolve41.f90
M flang/test/Semantics/resolve42.f90
M flang/test/Semantics/resolve43.f90
M flang/test/Semantics/resolve44.f90
M flang/test/Semantics/resolve45.f90
M flang/test/Semantics/resolve46.f90
M flang/test/Semantics/resolve47.f90
M flang/test/Semantics/resolve48.f90
M flang/test/Semantics/resolve49.f90
M flang/test/Semantics/resolve50.f90
M flang/test/Semantics/resolve51.f90
M flang/test/Semantics/resolve52.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve55.f90
M flang/test/Semantics/resolve56.f90
M flang/test/Semantics/resolve57.f90
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/resolve59.f90
M flang/test/Semantics/resolve60.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve62.f90
M flang/test/Semantics/resolve63.f90
M flang/test/Semantics/resolve64.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve66.f90
M flang/test/Semantics/resolve67.f90
M flang/test/Semantics/resolve68.f90
M flang/test/Semantics/resolve69.f90
M flang/test/Semantics/resolve70.f90
M flang/test/Semantics/resolve71.f90
M flang/test/Semantics/resolve72.f90
M flang/test/Semantics/resolve73.f90
M flang/test/Semantics/resolve74.f90
M flang/test/Semantics/resolve75.f90
M flang/test/Semantics/separate-module-procs.f90
M flang/test/Semantics/stop01.f90
M flang/test/Semantics/structconst01.f90
M flang/test/Semantics/structconst02.f90
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
M flang/test/Semantics/symbol01.f90
M flang/test/Semantics/symbol02.f90
M flang/test/Semantics/symbol03.f90
M flang/test/Semantics/symbol05.f90
M flang/test/Semantics/symbol06.f90
M flang/test/Semantics/symbol07.f90
M flang/test/Semantics/symbol08.f90
M flang/test/Semantics/symbol09.f90
M flang/test/Semantics/symbol10.f90
M flang/test/Semantics/symbol11.f90
M flang/test/Semantics/symbol12.f90
M flang/test/Semantics/symbol13.f90
M flang/test/Semantics/symbol14.f90
M flang/test/Semantics/symbol15.f90
M flang/test/Semantics/symbol16.f90
M flang/test/Semantics/symbol17.f90
Log Message:
-----------
[flang] Port all remaining regression tests to lit
We have re-classified a subset of the regression tests as unit tests and
now we are porting the remaining ones.
Test discovery and running is now performed by lit rather than ctest.
The tests continue to use their original scripts with minor
modifications. Most of the changes were mechanical and so scripted.
A few changes were made by hand. Details
Manual:
* modfile09-*.f90 tests depend on being run together as some tests have
dependencies on modules created by other tests. This will need
separating out when porting away from test_modfile.sh, but for now,
added modfile09-*.f90 to the Inputs directory and added a single
tests modfile09.f90 to hold the run line.
* getdefinition03-a.f90 includes a non-test file getdefinition03-b.f90.
Manually edited the former to find the latter in Inputs so as to add
only one test.
* Same pattern for getsymbols03-{a,b}.f90
Auto:
* Remaining tests have a lit RUN line added to them based on the type
of test they are.
* Failing tests also have an XFAIL line added to them.
* Generic tests have their pre-existing RUN lines replaced with the
word "EXEC" to avoid conflict with the added lit RUN line.
Original-commit: flang-compiler/f18 at 63ec0af9f4c8e736a626d1cd1410f71f4e578aa9
Reviewed-on: https://github.com/flang-compiler/f18/pull/1027
Tree-same-pre-rewrite: false
Commit: da9d002b1816e9cc3fd03161cfbc2412e278608f
https://github.com/llvm/llvm-project/commit/da9d002b1816e9cc3fd03161cfbc2412e278608f
Author: Luke Ireland <luke.ireland at arm.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
M flang/CMakeLists.txt
R flang/test-lit/CMakeLists.txt
R flang/test-lit/lit.cfg.py
R flang/test-lit/lit.site.cfg.py.in
A flang/test/CMakeLists.txt
M flang/test/Evaluate/test_folding.sh
A flang/test/Preprocessing/lit.local.cfg.py
R flang/test/Semantics/CMakeLists.txt
M flang/test/Semantics/common.sh
M flang/test/Semantics/test_any.sh
A flang/test/lit.cfg.py
A flang/test/lit.site.cfg.py.in
Log Message:
-----------
[flang] Added CMakeLists changes, moved config and made test scripts compatible.
All Fortran tests are now run in lit, except Preprocessing tests flang-compiler/f18#1052
Preprocessing tests are a separate kind of test, so will be sorted out
later.
Original-commit: flang-compiler/f18 at 3f99d35f3d4f57f704fd91a0d6ba8af308e900b3
Reviewed-on: https://github.com/flang-compiler/f18/pull/1027
Commit: d91c28e45342cd3ac9e5c185cc5eda2525884508
https://github.com/llvm/llvm-project/commit/d91c28e45342cd3ac9e5c185cc5eda2525884508
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1027 from LukeIreland1/master
Porting F18 tests to use LLVM lit without FileCheck
Original-commit: flang-compiler/f18 at 89bc84fe562ca2a2622438ac14908bce39fa7cfc
Reviewed-on: https://github.com/flang-compiler/f18/pull/1027
Commit: 38ebace5b7f801b22eb6841b0e55744d3bd07249
https://github.com/llvm/llvm-project/commit/38ebace5b7f801b22eb6841b0e55744d3bd07249
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-13 (Fri, 13 Mar 2020)
Changed paths:
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/formatting.cpp
Log Message:
-----------
[flang] Complete formatting of pointer assignments, move to formatting.cpp with rest of AsFortran
Original-commit: flang-compiler/f18 at 9625317ee8aed40a3827fe551cecf08aa34ee7a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/1073
Commit: bc0825f96b110adb1d62cec2658db69e1b7618a6
https://github.com/llvm/llvm-project/commit/bc0825f96b110adb1d62cec2658db69e1b7618a6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-16 (Mon, 16 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1073 from flang-compiler/pmk-ptr-asst-asfortran
Complete formatting of pointer assignments
Original-commit: flang-compiler/f18 at 07b8ab1907102ef4d2f6248c0786d3738ae5d871
Reviewed-on: https://github.com/flang-compiler/f18/pull/1073
Commit: 2bd473de8207dcd5fc870a1c7b8f3e42bf1f4636
https://github.com/llvm/llvm-project/commit/2bd473de8207dcd5fc870a1c7b8f3e42bf1f4636
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-16 (Mon, 16 Mar 2020)
Changed paths:
A flang/runtime/allocatable.h
Log Message:
-----------
[flang] more edits
Remove AllocateDefaultCharacter
Refinements in code review
Original-commit: flang-compiler/f18 at 688512ddc671fa1ed54224b7cfef49a1c2284c99
Reviewed-on: https://github.com/flang-compiler/f18/pull/1070
Commit: 631513fd395f77b8205270f71e0df35a43279b76
https://github.com/llvm/llvm-project/commit/631513fd395f77b8205270f71e0df35a43279b76
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-16 (Mon, 16 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1070 from flang-compiler/pmk-io
First cut at runtime API for allocatable management
Original-commit: flang-compiler/f18 at d9232d6efda7c89a1df080d28b29059a6937e7a0
Reviewed-on: https://github.com/flang-compiler/f18/pull/1070
Commit: 6905526a10922116952511dd3e1de940bf3585f0
https://github.com/llvm/llvm-project/commit/6905526a10922116952511dd3e1de940bf3585f0
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-16 (Mon, 16 Mar 2020)
Changed paths:
M flang/README.md
M flang/test/Semantics/omp-nested01.f90
Log Message:
-----------
[flang] Test cleanup
Fix omp-nested01.f90 so that it is not an expected failure. The test was
never enabled but I'm guessing this is what it's supposed to do.
Fix the instructions to include "make test" as part of running tests.
Original-commit: flang-compiler/f18 at c351181cabb234f73cb09c23e45dfe0bfc2d7219
Reviewed-on: https://github.com/flang-compiler/f18/pull/1075
Commit: d2c87e0b36488500b38c35ad4976eb3ed5e4b141
https://github.com/llvm/llvm-project/commit/d2c87e0b36488500b38c35ad4976eb3ed5e4b141
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-16 (Mon, 16 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1075 from flang-compiler/tsk-tests
Test cleanup
Original-commit: flang-compiler/f18 at 809f4116f2086a8941bf786a5ac091885283494a
Reviewed-on: https://github.com/flang-compiler/f18/pull/1075
Commit: f4faeefe3d635ce566cd13fe99d48c48023cff42
https://github.com/llvm/llvm-project/commit/f4faeefe3d635ce566cd13fe99d48c48023cff42
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/formatting.h
M flang/lib/Evaluate/formatting.cpp
M flang/test/Semantics/modfile16.f90
M flang/test/Semantics/modfile20.f90
M flang/test/Semantics/modfile21.f90
M flang/test/Semantics/modfile22.f90
M flang/test/Semantics/modfile28.f90
M flang/test/Semantics/modfile30.f90
M flang/tools/f18/f18.cpp
Log Message:
-----------
[flang] Do not emit a prefix for a default-kind character constant in AsFortran
Original-commit: flang-compiler/f18 at 4a3db55727a93805d3f047713e5d253543ee51fa
Reviewed-on: https://github.com/flang-compiler/f18/pull/1078
Commit: 8aa62d81e811db87fd2e6145d8375026430c01e7
https://github.com/llvm/llvm-project/commit/8aa62d81e811db87fd2e6145d8375026430c01e7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1078 from flang-compiler/pmk-no-prefix-dft-char
Do not emit a prefix for a default-kind character constant in AsFortran
Original-commit: flang-compiler/f18 at 0011011a04ec13df7bcccd81b2f931f4e420eef9
Reviewed-on: https://github.com/flang-compiler/f18/pull/1078
Commit: d1ce4d275f6a64c1cbe83d42ba56a99e9ee87a39
https://github.com/llvm/llvm-project/commit/d1ce4d275f6a64c1cbe83d42ba56a99e9ee87a39
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/call02.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call10.f90
Log Message:
-----------
[flang] Fix location of name of Symbol for ProcEntity
When we encounter a ProcDecl and a symbol for it has already been
created, replace the CharBlock for the name with the one in the ProcDecl
as it is the "main" declaration of that name. This matches what is done
for an EntityDecl.
This moves the location of some error messages to a better source
location so update the affected tests.
Original-commit: flang-compiler/f18 at 514c0f2c9477040f830fbf0495e4d38129648615
Reviewed-on: https://github.com/flang-compiler/f18/pull/1080
Tree-same-pre-rewrite: false
Commit: 824d198e3147611ca4f11fe3fb96c994d51fbbdf
https://github.com/llvm/llvm-project/commit/824d198e3147611ca4f11fe3fb96c994d51fbbdf
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
A flang/test/Semantics/resolve76.f90
Log Message:
-----------
[flang] Create symbols for args of separate-module-subprogram
A separate-module-subprogram is declared as `module procedure ...`
and gets its characteristics from the declaration of that name as
a separate module procedure. When we encounter one, we need to create
symbols in the new subprogram scope for the dummy arguments and
function return (if any).
The failure to create these symbols led to the bug in issue flang-compiler/f18#1054:
when a dummy argument was referenced, the compiler interpreted it as
an implicit declaration because there was no symbol for the argument.
Fixes flang-compiler/f18#1054.
Original-commit: flang-compiler/f18 at 4d3c4bac843dcc6351fbe7538c6ce23bb9c1a215
Reviewed-on: https://github.com/flang-compiler/f18/pull/1080
Tree-same-pre-rewrite: false
Commit: 61b1390e2afccac4c64f491f761d25f78b225ac4
https://github.com/llvm/llvm-project/commit/61b1390e2afccac4c64f491f761d25f78b225ac4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Semantics/scope.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Semantics/resolve36.f90
R flang/test/Semantics/separate-module-procs.f90
A flang/test/Semantics/separate-mp01.f90
A flang/test/Semantics/separate-mp02.f90
Log Message:
-----------
[flang] Check module subprogram against separate module procedure
When a module subprogram has the MODULE prefix the following must match
with the corresponding separate module procedure interface body:
- C1549: characteristics and dummy argument names
- C1550: binding label
- C1551: NON_RECURSIVE prefix
SubprogramMatchHelper performs all of these checks.
Rename separate-module-procs.f90 to separate-mp01.f90 so we can have
separate-mp02.f90 (etc).
Make ShapesAreCompatible public in characteristics.h.
Add Scope::IsSubmodule.
Original-commit: flang-compiler/f18 at d121578af17109de3cea23617e4b8239971b5527
Reviewed-on: https://github.com/flang-compiler/f18/pull/1080
Commit: 206763bfcfa0eeeb51d94d0fbc3fedbc402a8ea8
https://github.com/llvm/llvm-project/commit/206763bfcfa0eeeb51d94d0fbc3fedbc402a8ea8
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1080 from flang-compiler/tsk-issue1054
Fixes for separate module procedures
Original-commit: flang-compiler/f18 at bb225be9b1aa0ca9cc56727c83821c49db102117
Reviewed-on: https://github.com/flang-compiler/f18/pull/1080
Commit: 9977b24a6d88ba97052591fc95e581a3c9af3fdf
https://github.com/llvm/llvm-project/commit/9977b24a6d88ba97052591fc95e581a3c9af3fdf
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-18 (Wed, 18 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/program-tree.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/resolve-names.h
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/expr-errors02.f90
M flang/test/Semantics/resolve59.f90
A flang/test/Semantics/resolve77.f90
Log Message:
-----------
[flang] Improve error message for procedure passed as invalid argument to an intrinsic
Support forward references to sibling module procedures
Add tests, handle corner cases
Rename new test
Original-commit: flang-compiler/f18 at 234bb519cd38d0b9234fc0b4a8d11cfcb9935e6a
Reviewed-on: https://github.com/flang-compiler/f18/pull/1076
Commit: fc23a1bb79a54d401c1af8cfd3edeccf39d2e474
https://github.com/llvm/llvm-project/commit/fc23a1bb79a54d401c1af8cfd3edeccf39d2e474
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-18 (Wed, 18 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1076 from flang-compiler/pmk-fix-forward
Support forward references to sibling module procedures
Original-commit: flang-compiler/f18 at 8c8cdd60914e1438c6861749218893cf655bdbb8
Reviewed-on: https://github.com/flang-compiler/f18/pull/1076
Commit: 8670e49901d116b2094aeb0a5117edef9e69cdcf
https://github.com/llvm/llvm-project/commit/8670e49901d116b2094aeb0a5117edef9e69cdcf
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2020-03-19 (Thu, 19 Mar 2020)
Changed paths:
M flang/documentation/ParserCombinators.md
M flang/include/flang/Common/enum-set.h
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/formatting.h
M flang/include/flang/Evaluate/intrinsics.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/static-data.h
M flang/include/flang/Evaluate/variable.h
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/instrumented-parser.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Parser/provenance.h
M flang/include/flang/Parser/source.h
M flang/include/flang/Parser/unparse.h
M flang/include/flang/Parser/user-state.h
M flang/include/flang/Semantics/attr.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Semantics/unparse-with-symbols.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/complex.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/host.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/real.cpp
M flang/lib/Evaluate/static-data.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/char-block.cpp
M flang/lib/Parser/debug-parser.cpp
M flang/lib/Parser/instrumented-parser.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/provenance.cpp
M flang/lib/Parser/source.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Parser/token-sequence.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/attr.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/resolve-names.h
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/tools/f18/dump.cpp
M flang/tools/f18/f18-parse-demo.cpp
M flang/tools/f18/f18.cpp
M flang/unittests/Decimal/CMakeLists.txt
M flang/unittests/Decimal/quick-sanity-test.cpp
M flang/unittests/Decimal/thorough-test.cpp
M flang/unittests/Evaluate/CMakeLists.txt
M flang/unittests/Evaluate/ISO-Fortran-binding.cpp
M flang/unittests/Evaluate/fp-testing.cpp
M flang/unittests/Evaluate/intrinsics.cpp
M flang/unittests/Evaluate/real.cpp
M flang/unittests/Evaluate/testing.cpp
M flang/unittests/Evaluate/uint128.cpp
M flang/unittests/Runtime/CMakeLists.txt
M flang/unittests/Runtime/format.cpp
M flang/unittests/Runtime/hello.cpp
M flang/unittests/Runtime/list-input.cpp
M flang/unittests/Runtime/testing.cpp
M flang/unittests/Runtime/testing.h
Log Message:
-----------
[flang] [LLVMify F18] Replace the use std::ostream with LLVM streams llvm::ostream
This patch replaces the occurrence of std::ostream by llvm::raw_ostream.
In LLVM Coding Standards[1] "All new code should use raw_ostream
instead of ostream".[1]
As a consequence, this patch also replaces the use of:
std::stringstream by llvm::raw_string_ostream or llvm::raw_ostream*
std::ofstream by llvm::raw_fd_ostream
std::endl by '\n' and flush()[2]
std::cout by llvm::outs() and
std::cerr by llvm::errs()
It also replaces std::strerro by llvm::sys::StrError** , but NOT in Fortran
runtime libraries
*std::stringstream were replaced by llvm::raw_ostream in all methods that
used std::stringstream as a parameter. Moreover, it removes the pointers to
these streams.
[1]https://llvm.org/docs/CodingStandards.html
[2]https://releases.llvm.org/2.5/docs/CodingStandards.html#ll_avoidendl
Signed-off-by: Caroline Concatto <caroline.concatto at arm.com>
Running clang-format-7
Signed-off-by: Caroline Concatto <caroline.concatto at arm.com>
Removing residue of ostream library
Signed-off-by: Caroline Concatto <caroline.concatto at arm.com>
Original-commit: flang-compiler/f18 at a3507d44b8911e6024033aa583c1dc54e0eb89fd
Reviewed-on: https://github.com/flang-compiler/f18/pull/1047
Commit: 901198441ffa6dea0953bcef4bc5c238708b384a
https://github.com/llvm/llvm-project/commit/901198441ffa6dea0953bcef4bc5c238708b384a
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-19 (Thu, 19 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1047 from CarolineConcatto/llvm_ostream
[LLVMify F18] Replace the use std::ostream with LLVM streams llvm::ostream
Original-commit: flang-compiler/f18 at a65b690ef00351bd6bc02593ddbd45fa240e9cbc
Reviewed-on: https://github.com/flang-compiler/f18/pull/1047
Commit: 13ea73e42db3685091b1028991cf9f68d07fd7ac
https://github.com/llvm/llvm-project/commit/13ea73e42db3685091b1028991cf9f68d07fd7ac
Author: David Truby <david.truby at arm.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
M flang/include/flang/Parser/source.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/provenance.cpp
M flang/lib/Parser/source.cpp
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/empty.f90
Log Message:
-----------
[flang] Replace manual mmap with llvm::MemoryBuffer
The previous code had handling for cases when too many file descriptors may be
opened; this is not necessary with MemoryBuffer as the file descriptors are
closed after the mapping occurs. MemoryBuffer also internally handles the case
where a file is small and therefore an mmap is bad for performance; such files
are simply copied to memory after being opened.
Many places elsewhere in the code assume that the buffer is not empty, and the
old file opening code handles this by replacing an empty file with a buffer
containing a single newline. That behavior is now kept in the new MemoryBuffer
based code.
Original-commit: flang-compiler/f18 at d34df8435127d847867e2c0bb157def9f20f4202
Reviewed-on: https://github.com/flang-compiler/f18/pull/1032
Commit: 37524c901a82353e8aac3083d6867b7112dac712
https://github.com/llvm/llvm-project/commit/37524c901a82353e8aac3083d6867b7112dac712
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1032 from DavidTruby/memorybuffer
Replace manual mmap with llvm::MemoryBuffer
Original-commit: flang-compiler/f18 at 35f7defccf98823a930ce5d736c3bcba4f143e2e
Reviewed-on: https://github.com/flang-compiler/f18/pull/1032
Commit: 3214c18774f9f4574cc00cb9651ea142d7a74d76
https://github.com/llvm/llvm-project/commit/3214c18774f9f4574cc00cb9651ea142d7a74d76
Author: David Truby <david.truby at arm.com>
Date: 2020-03-23 (Mon, 23 Mar 2020)
Changed paths:
M flang/.clang-format
M flang/documentation/C++style.md
M flang/documentation/PullRequestChecklist.md
Log Message:
-----------
[flang] Remove non-alignment based divergences from LLVM formatting.
This only changs the clang-format file and adds documentation
referring to the new process for formatting code. A future commit
will perform a reformatting according to these new formatting
settings.
Original-commit: flang-compiler/f18 at 02531d788e7550a2455633f87d22e3f30de7a3a7
Reviewed-on: https://github.com/flang-compiler/f18/pull/945
Commit: 23c227a97157758587a9f95ef6c2b5bfc13f95e2
https://github.com/llvm/llvm-project/commit/23c227a97157758587a9f95ef6c2b5bfc13f95e2
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#945 from DavidTruby/clang-format
Bump clang-format version and remove some differences from LLVM
Original-commit: flang-compiler/f18 at a999575211e80e2fe9e8cd74a22e0cd3365bde17
Reviewed-on: https://github.com/flang-compiler/f18/pull/945
Commit: e17e71735e902fbbe3e3845fed18341c1492df0d
https://github.com/llvm/llvm-project/commit/e17e71735e902fbbe3e3845fed18341c1492df0d
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/attr.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/kinds02.f90
A flang/test/Semantics/resolve78.f90
A flang/test/Semantics/resolve79.f90
A flang/test/Semantics/resolve80.f90
A flang/test/Semantics/resolve81.f90
A flang/test/Semantics/resolve82.f90
A flang/test/Semantics/resolve83.f90
A flang/test/Semantics/resolve84.f90
A flang/test/Semantics/resolve85.f90
Log Message:
-----------
[flang] Changes to enforce constraints C727 to C730 and most constraints related to attributes
The full list of constraints is C727, C728, C729, C730, C743, C755, C759, C778,
and C1543.
I added a function to tools.cpp to check to see if a symbol name is the name
of an intrinsic type.
The biggest change was to resolve-names.cpp to check to see if attributes were
either duplicated or in conflict with each other. I changed all locations
where attributes were set to check for duplicates or conflicts.
I also added tests for all checks and annotated the tests and code with the
numbers of the constraints being tested/checked.
Original-commit: flang-compiler/f18 at 3f30e8a61e605b9ca6a67791469053286ae563b2
Reviewed-on: https://github.com/flang-compiler/f18/pull/1084
Commit: 55a500989aa3928163a8628f9e437344e6540a11
https://github.com/llvm/llvm-project/commit/55a500989aa3928163a8628f9e437344e6540a11
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1084 from flang-compiler/ps-typechecks
Constraint checks C727 to C730 and most constraints related to attributes
Original-commit: flang-compiler/f18 at 6dbfb80915bcebb9143f87b9d69b0a2667647b90
Reviewed-on: https://github.com/flang-compiler/f18/pull/1084
Commit: c42f6314eb799a553dde841e7ab3456e04253c52
https://github.com/llvm/llvm-project/commit/c42f6314eb799a553dde841e7ab3456e04253c52
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/assign04.f90
A flang/test/Semantics/entry01.f90
Log Message:
-----------
[flang] Semantics for ENTRY
initial test passes
Move some checks to check-declarations
Fix bugs found in testing
Get tests all passing
Allow declaration statements for function result to follow ENTRY
Fix another bug
Original-commit: flang-compiler/f18 at e82cfee4325f90e3c6ed08e797fa940259948ffd
Reviewed-on: https://github.com/flang-compiler/f18/pull/1086
Commit: 63fb36c494b9ad98ccd373d32c314edfc5891ff6
https://github.com/llvm/llvm-project/commit/63fb36c494b9ad98ccd373d32c314edfc5891ff6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1086 from flang-compiler/pmk-entry
Semantics and test for ENTRY statements
Original-commit: flang-compiler/f18 at 0fafe398b41c3694ca8c7961cdfd1e13970db5e6
Reviewed-on: https://github.com/flang-compiler/f18/pull/1086
Commit: cc77f818f21371287bf692ca2a3968b81c5dc9f1
https://github.com/llvm/llvm-project/commit/cc77f818f21371287bf692ca2a3968b81c5dc9f1
Author: David Truby <david.truby at arm.com>
Date: 2020-03-25 (Wed, 25 Mar 2020)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
Log Message:
-----------
[flang] Add explicit nullptr check in initialisation of inDoConstruct.
This explicit check is needed as we are using braced initialisation here so
implicit narrowing conversions (such as pointer to bool) are not allowed.
Original-commit: flang-compiler/f18 at ff8dad10bffb70666ba3b4ff229dc4b608f9e116
Reviewed-on: https://github.com/flang-compiler/f18/pull/1083
Commit: 53d5d9f631e3a2274a714869e29c1465ced72fe0
https://github.com/llvm/llvm-project/commit/53d5d9f631e3a2274a714869e29c1465ced72fe0
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-25 (Wed, 25 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1083 from DavidTruby/static_cast
Add explicit nullptr check in initialisation of inDoConstruct.
Original-commit: flang-compiler/f18 at d14e0aa9366030ff801fb0f105b70faee64d1b4c
Reviewed-on: https://github.com/flang-compiler/f18/pull/1083
Commit: 6c16aa4f67f7938d6bc0ced36d192f5d7f8a3dab
https://github.com/llvm/llvm-project/commit/6c16aa4f67f7938d6bc0ced36d192f5d7f8a3dab
Author: Patrick McCormick <pat at lanl.gov>
Date: 2020-03-26 (Thu, 26 Mar 2020)
Changed paths:
M flang/.gitignore
M flang/CMakeLists.txt
M flang/README.md
A flang/cmake/modules/AddFlang.cmake
A flang/cmake/modules/CMakeLists.txt
A flang/cmake/modules/FlangConfig.cmake.in
A flang/include/CMakeLists.txt
A flang/include/flang/Version.inc.in
M flang/lib/CMakeLists.txt
M flang/lib/Common/CMakeLists.txt
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Semantics/CMakeLists.txt
M flang/test/CMakeLists.txt
A flang/test/Semantics/CMakeLists.txt
M flang/test/Semantics/allocate01.f90
M flang/test/Semantics/allocate02.f90
M flang/test/Semantics/allocate03.f90
M flang/test/Semantics/allocate04.f90
M flang/test/Semantics/allocate05.f90
M flang/test/Semantics/allocate06.f90
M flang/test/Semantics/allocate07.f90
M flang/test/Semantics/allocate08.f90
M flang/test/Semantics/allocate09.f90
M flang/test/Semantics/allocate10.f90
M flang/test/Semantics/allocate11.f90
M flang/test/Semantics/allocate12.f90
M flang/test/Semantics/allocate13.f90
M flang/test/Semantics/altreturn01.f90
M flang/test/Semantics/altreturn02.f90
M flang/test/Semantics/altreturn03.f90
M flang/test/Semantics/altreturn04.f90
M flang/test/Semantics/altreturn05.f90
M flang/test/Semantics/assign01.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/assign03.f90
M flang/test/Semantics/assign04.f90
M flang/test/Semantics/bad-forward-type.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/block-data01.f90
M flang/test/Semantics/blockconstruct01.f90
M flang/test/Semantics/blockconstruct02.f90
M flang/test/Semantics/blockconstruct03.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call02.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call05.f90
M flang/test/Semantics/call06.f90
M flang/test/Semantics/call07.f90
M flang/test/Semantics/call08.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call11.f90
M flang/test/Semantics/call12.f90
M flang/test/Semantics/call13.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/call15.f90
M flang/test/Semantics/canondo16.f90
M flang/test/Semantics/coarrays01.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/computed-goto01.f90
M flang/test/Semantics/computed-goto02.f90
M flang/test/Semantics/critical01.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/critical03.f90
M flang/test/Semantics/data01.f90
M flang/test/Semantics/data02.f90
M flang/test/Semantics/deallocate01.f90
M flang/test/Semantics/deallocate04.f90
M flang/test/Semantics/deallocate05.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/doconcurrent05.f90
M flang/test/Semantics/doconcurrent06.f90
M flang/test/Semantics/doconcurrent08.f90
M flang/test/Semantics/dosemantics01.f90
M flang/test/Semantics/dosemantics02.f90
M flang/test/Semantics/dosemantics03.f90
M flang/test/Semantics/dosemantics04.f90
M flang/test/Semantics/dosemantics05.f90
M flang/test/Semantics/dosemantics06.f90
M flang/test/Semantics/dosemantics07.f90
M flang/test/Semantics/dosemantics08.f90
M flang/test/Semantics/dosemantics09.f90
M flang/test/Semantics/dosemantics10.f90
M flang/test/Semantics/dosemantics11.f90
M flang/test/Semantics/dosemantics12.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/equivalence01.f90
M flang/test/Semantics/expr-errors01.f90
M flang/test/Semantics/expr-errors02.f90
M flang/test/Semantics/forall01.f90
M flang/test/Semantics/if_arith01.f90
M flang/test/Semantics/if_arith02.f90
M flang/test/Semantics/if_arith03.f90
M flang/test/Semantics/if_arith04.f90
M flang/test/Semantics/if_construct01.f90
M flang/test/Semantics/if_construct02.f90
M flang/test/Semantics/if_stmt01.f90
M flang/test/Semantics/if_stmt02.f90
M flang/test/Semantics/if_stmt03.f90
M flang/test/Semantics/implicit01.f90
M flang/test/Semantics/implicit02.f90
M flang/test/Semantics/implicit03.f90
M flang/test/Semantics/implicit04.f90
M flang/test/Semantics/implicit05.f90
M flang/test/Semantics/implicit06.f90
M flang/test/Semantics/implicit07.f90
M flang/test/Semantics/implicit08.f90
M flang/test/Semantics/init01.f90
M flang/test/Semantics/int-literals.f90
M flang/test/Semantics/io01.f90
M flang/test/Semantics/io02.f90
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/io05.f90
M flang/test/Semantics/io06.f90
M flang/test/Semantics/io07.f90
M flang/test/Semantics/io08.f90
M flang/test/Semantics/io09.f90
M flang/test/Semantics/io10.f90
M flang/test/Semantics/kinds02.f90
M flang/test/Semantics/kinds04.f90
M flang/test/Semantics/misc-declarations.f90
M flang/test/Semantics/namelist01.f90
M flang/test/Semantics/null01.f90
M flang/test/Semantics/nullify01.f90
M flang/test/Semantics/nullify02.f90
M flang/test/Semantics/omp-atomic.f90
M flang/test/Semantics/omp-clause-validity01.f90
M flang/test/Semantics/omp-declarative-directive.f90
M flang/test/Semantics/omp-device-constructs.f90
M flang/test/Semantics/omp-loop-association.f90
M flang/test/Semantics/omp-nested01.f90
M flang/test/Semantics/omp-resolve01.f90
M flang/test/Semantics/omp-resolve02.f90
M flang/test/Semantics/omp-resolve03.f90
M flang/test/Semantics/omp-resolve04.f90
M flang/test/Semantics/omp-resolve05.f90
M flang/test/Semantics/resolve01.f90
M flang/test/Semantics/resolve02.f90
M flang/test/Semantics/resolve03.f90
M flang/test/Semantics/resolve04.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve06.f90
M flang/test/Semantics/resolve07.f90
M flang/test/Semantics/resolve08.f90
M flang/test/Semantics/resolve09.f90
M flang/test/Semantics/resolve10.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve12.f90
M flang/test/Semantics/resolve13.f90
M flang/test/Semantics/resolve14.f90
M flang/test/Semantics/resolve15.f90
M flang/test/Semantics/resolve16.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/resolve19.f90
M flang/test/Semantics/resolve20.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve22.f90
M flang/test/Semantics/resolve23.f90
M flang/test/Semantics/resolve24.f90
M flang/test/Semantics/resolve25.f90
M flang/test/Semantics/resolve26.f90
M flang/test/Semantics/resolve27.f90
M flang/test/Semantics/resolve28.f90
M flang/test/Semantics/resolve29.f90
M flang/test/Semantics/resolve30.f90
M flang/test/Semantics/resolve31.f90
M flang/test/Semantics/resolve32.f90
M flang/test/Semantics/resolve33.f90
M flang/test/Semantics/resolve34.f90
M flang/test/Semantics/resolve35.f90
M flang/test/Semantics/resolve36.f90
M flang/test/Semantics/resolve37.f90
M flang/test/Semantics/resolve38.f90
M flang/test/Semantics/resolve39.f90
M flang/test/Semantics/resolve40.f90
M flang/test/Semantics/resolve41.f90
M flang/test/Semantics/resolve42.f90
M flang/test/Semantics/resolve43.f90
M flang/test/Semantics/resolve44.f90
M flang/test/Semantics/resolve45.f90
M flang/test/Semantics/resolve46.f90
M flang/test/Semantics/resolve47.f90
M flang/test/Semantics/resolve48.f90
M flang/test/Semantics/resolve49.f90
M flang/test/Semantics/resolve50.f90
M flang/test/Semantics/resolve51.f90
M flang/test/Semantics/resolve52.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve55.f90
M flang/test/Semantics/resolve56.f90
M flang/test/Semantics/resolve57.f90
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/resolve59.f90
M flang/test/Semantics/resolve60.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve62.f90
M flang/test/Semantics/resolve63.f90
M flang/test/Semantics/resolve64.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve66.f90
M flang/test/Semantics/resolve67.f90
M flang/test/Semantics/resolve68.f90
M flang/test/Semantics/resolve69.f90
M flang/test/Semantics/resolve70.f90
M flang/test/Semantics/resolve71.f90
M flang/test/Semantics/resolve72.f90
M flang/test/Semantics/resolve73.f90
M flang/test/Semantics/resolve74.f90
M flang/test/Semantics/resolve75.f90
M flang/test/Semantics/resolve76.f90
M flang/test/Semantics/resolve77.f90
M flang/test/Semantics/resolve78.f90
M flang/test/Semantics/resolve79.f90
M flang/test/Semantics/resolve80.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Semantics/resolve83.f90
M flang/test/Semantics/resolve84.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/separate-mp01.f90
M flang/test/Semantics/separate-mp02.f90
M flang/test/Semantics/stop01.f90
M flang/test/Semantics/structconst01.f90
M flang/test/Semantics/structconst02.f90
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
M flang/test/Semantics/test_any.sh
R flang/test/Semantics/test_errors.sh
A flang/test/Semantics/test_errors.sh.in
M flang/test/lit.cfg.py
M flang/tools/CMakeLists.txt
A flang/tools/f18-parse-demo/CMakeLists.txt
A flang/tools/f18-parse-demo/f18-parse-demo.cpp
A flang/tools/f18-parse-demo/stub-evaluate.cpp
M flang/tools/f18/CMakeLists.txt
R flang/tools/f18/f18-parse-demo.cpp
R flang/tools/f18/flang.sh
A flang/tools/f18/flang.sh.in
R flang/tools/f18/stub-evaluate.cpp
M flang/unittests/CMakeLists.txt
M flang/unittests/Decimal/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
[flang] A rework of the cmake build components for in and out of tree builds.
In general all the basic functionality seems to work and removes some redundancy
and more complicated features in favor of borrowing infrastructure from LLVM
build configurations. Here's a quick summary of details and remaining issues:
* Testing has spanned Ubuntu 18.04 & 19.10, CentOS 7, RHEL 8, and
MacOS/darwin. Architectures include x86_64 and Arm. Without
access to Window nothing has been tested there yet.
* As we change file and directory naming schemes (i.e.,
capitalization) some odd things can occur on MacOS systems with
case preserving but not case senstive file system configurations.
Can be painful and certainly something to watch out for as any
any such changes continue.
* Testing infrastructure still needs to be tuned up and worked on.
Note that there do appear to be cases of some tests hanging (on
MacOS in particular). They appear unrelated to the build
process.
* Shared library configurations need testing (and probably fixing).
* Tested both standalone and 'in-mono repo' builds. Changes for
supporting the mono repo builds will require LLVM-level changes that
are straightforward when the time comes.
* The configuration contains a work-around for LLVM's C++ standard mode
passing down into Flang/F18 builds (i.e., LLVM CMake configuration would
force a -std=c++11 flag to show up in command line arguments. The
current configuration removes that automatically and is more strict in
following new CMake guidelines for enforcing C++17 mode across all the
CMake files.
* Cleaned up a lot of repetition in the command line arguments. It
is likely that more work is still needed to both allow for
customization and working around CMake defailts (or those
inherited from LLVM's configuration files). On some platforms agressive
optimization flags (e.g. -O3) can actually break builds due to the inlining
of templates in .cpp source files that then no longer are available for use
cases outside those source files (shows up as link errors). Sticking at -O2
appears to fix this. Currently this CMake configuration forces this in
release mode but at the cost of stomping on any CMake, or user customized,
settings for the release flags.
* Made the lit tests non-source directory dependent where appropriate. This is
done by configuring certain test shell files to refer to the correct paths
whether an in or out of tree build is being performed. These configured
files are output in the build directory. A %B substitution is introduced in
lit to refer to the build directory, mirroring the %S substitution for the
source directory, so that the tests can refer to the configured shell scripts.
Co-authored-by: David Truby <david.truby at arm.com>
Original-commit: flang-compiler/f18 at d1c7184159b2d3c542a8f36c58a0c817e7506845
Reviewed-on: https://github.com/flang-compiler/f18/pull/1045
Commit: 643edd57feb077dd69f44f44127252535c384ef2
https://github.com/llvm/llvm-project/commit/643edd57feb077dd69f44f44127252535c384ef2
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-26 (Thu, 26 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1045 from pmccormick/master
Reworked CMake infrastructure
Original-commit: flang-compiler/f18 at a4e7adbf8952208b08144ece8020aba7440b5d30
Reviewed-on: https://github.com/flang-compiler/f18/pull/1045
Commit: 282358fac9e6da68162d13966249ef3f17f2c10c
https://github.com/llvm/llvm-project/commit/282358fac9e6da68162d13966249ef3f17f2c10c
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-27 (Fri, 27 Mar 2020)
Changed paths:
M flang/.drone.star
M flang/CMakeLists.txt
M flang/README.md
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
Log Message:
-----------
[flang] [mlir rebase] Add MLIR config and react to MLIR name changes (flang-compiler/f18#1090)
[mlir rebase] Add MLIR config and react to MLIR name changes
Similar to flang-compiler/f18#1085. Now use the MLIR package to set up paths for include files and libraries. Three MLIR names changed:
* VectorOpsDialect to VectorDialect
* AffineOpsDialect to AffineDialect
* createVectorizePass to createSuperVectorizePass
Update README.md to explain how to link with MLIR. Update the example gcc to version 8.3.
Update drone.io config to define -DMLIR_DIR
Co-authored-by: Jean Perier <jperier at nvidia.com>
Original-commit: flang-compiler/f18 at 116f64315f6218a7f74a8ccdc25f94d322ac6344
Reviewed-on: https://github.com/flang-compiler/f18/pull/1090
Commit: 7a77c20dbd613935d5817bda465f544ec98acc8a
https://github.com/llvm/llvm-project/commit/7a77c20dbd613935d5817bda465f544ec98acc8a
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-27 (Fri, 27 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/logical.h
M flang/lib/Semantics/CMakeLists.txt
A flang/lib/Semantics/check-case.cpp
A flang/lib/Semantics/check-case.h
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/case01.f90
Log Message:
-----------
[flang] Semantics for SELECT CASE
Prep for review
Respond to review comments
Fix first line in new test
Original-commit: flang-compiler/f18 at 12f6f30600db4cb3902677cd42764450ddeda5e0
Reviewed-on: https://github.com/flang-compiler/f18/pull/1089
Commit: b2a0e4a235af6a5a42977ed2c5c1b0fec6650f21
https://github.com/llvm/llvm-project/commit/b2a0e4a235af6a5a42977ed2c5c1b0fec6650f21
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-27 (Fri, 27 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1089 from flang-compiler/pmk-case
Semantics for SELECT CASE
Original-commit: flang-compiler/f18 at 5e26830620e5e6d647fba04ae81077d7148e409f
Reviewed-on: https://github.com/flang-compiler/f18/pull/1089
Commit: 84a099df05320bf7a3c5d97bcc51d53012f24667
https://github.com/llvm/llvm-project/commit/84a099df05320bf7a3c5d97bcc51d53012f24667
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-03-27 (Fri, 27 Mar 2020)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/tools.cpp
Log Message:
-----------
[flang] Fix missing substring bounds (bug flang-compiler/f18#1091)
Original-commit: flang-compiler/f18 at 3b0c150b2e4d194cb5a46b40f41b3be59ef5fa51
Reviewed-on: https://github.com/flang-compiler/f18/pull/1093
Commit: 8004fd500f3e9853538242fad338ede9da98cecf
https://github.com/llvm/llvm-project/commit/8004fd500f3e9853538242fad338ede9da98cecf
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-03-27 (Fri, 27 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1093 from flang-compiler/pmk-fix-1091
Fix missing substring bounds (bug flang-compiler/f18#1091)
Original-commit: flang-compiler/f18 at 631524910dec043862dc83eb0678c85ab8059d1b
Reviewed-on: https://github.com/flang-compiler/f18/pull/1093
Commit: ddb68d248cfd45936cdba52b30f35138fb0e5399
https://github.com/llvm/llvm-project/commit/ddb68d248cfd45936cdba52b30f35138fb0e5399
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-03-28 (Sat, 28 Mar 2020)
Changed paths:
M flang/runtime/file.cpp
Log Message:
-----------
[flang] Support windows where mkstemp and ftruncate doesn't exist
Original-commit: flang-compiler/f18 at 7b7e30845df14886342d0d3b7020d34d52256bd8
Reviewed-on: https://github.com/flang-compiler/f18/pull/1069
Commit: bea851b0fe3726029cbab0715cc66051cb145a97
https://github.com/llvm/llvm-project/commit/bea851b0fe3726029cbab0715cc66051cb145a97
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-28 (Sat, 28 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1069 from isuruf/mkstemp
Support windows where mkstemp and ftruncate doesn't exist
Original-commit: flang-compiler/f18 at d37462430bd6752493b153a49d91ee72a8b017a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/1069
Commit: ea5efd1ea87e3d6b86a8e7f940f94dec0a90a004
https://github.com/llvm/llvm-project/commit/ea5efd1ea87e3d6b86a8e7f940f94dec0a90a004
Author: Isuru Fernando <isuruf at gmail.com>
Date: 2020-03-28 (Sat, 28 Mar 2020)
Changed paths:
M flang/runtime/CMakeLists.txt
A flang/runtime/config.h.cmake
M flang/runtime/io-error.cpp
Log Message:
-----------
[flang] Support platforms without strerror_r
Original-commit: flang-compiler/f18 at 0575b54cc79110ae03f73b136e704f6313e2d63f
Reviewed-on: https://github.com/flang-compiler/f18/pull/1068
Commit: 10b1addcefef8193cee86876fdd669ff647c284c
https://github.com/llvm/llvm-project/commit/10b1addcefef8193cee86876fdd669ff647c284c
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-03-28 (Sat, 28 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1068 from isuruf/strerror
Support platforms without strerror_r
Original-commit: flang-compiler/f18 at 85db30375c0c8095befeda6f4f2917d43002e4a4
Reviewed-on: https://github.com/flang-compiler/f18/pull/1068
Commit: 1f8790050b0e99e7b46cc69518aa84f46f50738e
https://github.com/llvm/llvm-project/commit/1f8790050b0e99e7b46cc69518aa84f46f50738e
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-28 (Sat, 28 Mar 2020)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Common/bit-population-count.h
M flang/include/flang/Common/constexpr-bitset.h
M flang/include/flang/Common/default-kinds.h
M flang/include/flang/Common/enum-set.h
M flang/include/flang/Common/format.h
M flang/include/flang/Common/idioms.h
M flang/include/flang/Common/indirection.h
M flang/include/flang/Common/interval.h
M flang/include/flang/Common/leading-zero-bit-count.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-counted.h
M flang/include/flang/Common/reference.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/unsigned-const-division.h
M flang/include/flang/Common/unwrap.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/fold.h
M flang/include/flang/Evaluate/formatting.h
M flang/include/flang/Evaluate/intrinsics-library.h
M flang/include/flang/Evaluate/intrinsics.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/rounding-bits.h
M flang/include/flang/Evaluate/shape.h
M flang/include/flang/Evaluate/static-data.h
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Evaluate/variable.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/char-buffer.h
M flang/include/flang/Parser/char-set.h
M flang/include/flang/Parser/characters.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/format-specification.h
M flang/include/flang/Parser/instrumented-parser.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parse-state.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Parser/provenance.h
M flang/include/flang/Parser/source.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Parser/unparse.h
M flang/include/flang/Parser/user-state.h
M flang/include/flang/Semantics/attr.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Semantics/unparse-with-symbols.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Common/Fortran.cpp
M flang/lib/Common/default-kinds.cpp
M flang/lib/Common/idioms.cpp
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/call.cpp
M flang/lib/Evaluate/character.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/common.cpp
M flang/lib/Evaluate/complex.cpp
M flang/lib/Evaluate/constant.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/fold-character.cpp
M flang/lib/Evaluate/fold-complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/host.cpp
M flang/lib/Evaluate/host.h
M flang/lib/Evaluate/int-power.h
M flang/lib/Evaluate/integer.cpp
M flang/lib/Evaluate/intrinsics-library-templates.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/logical.cpp
M flang/lib/Evaluate/real.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/static-data.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/basic-parsers.h
M flang/lib/Parser/char-block.cpp
M flang/lib/Parser/char-buffer.cpp
M flang/lib/Parser/char-set.cpp
M flang/lib/Parser/characters.cpp
M flang/lib/Parser/debug-parser.cpp
M flang/lib/Parser/debug-parser.h
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/expr-parsers.cpp
M flang/lib/Parser/expr-parsers.h
M flang/lib/Parser/instrumented-parser.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/misc-parsers.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/provenance.cpp
M flang/lib/Parser/source.cpp
M flang/lib/Parser/stmt-parser.h
M flang/lib/Parser/token-parsers.h
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Parser/token-sequence.h
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/type-parser-implementation.h
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Parser/user-state.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/attr.cpp
M flang/lib/Semantics/canonicalize-do.cpp
M flang/lib/Semantics/canonicalize-do.h
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/canonicalize-omp.h
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-allocate.h
M flang/lib/Semantics/check-arithmeticif.cpp
M flang/lib/Semantics/check-arithmeticif.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-call.h
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-coarray.h
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-data.h
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-deallocate.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-declarations.h
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/lib/Semantics/check-if-stmt.cpp
M flang/lib/Semantics/check-if-stmt.h
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/check-namelist.cpp
M flang/lib/Semantics/check-namelist.h
M flang/lib/Semantics/check-nullify.cpp
M flang/lib/Semantics/check-nullify.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/check-purity.cpp
M flang/lib/Semantics/check-purity.h
M flang/lib/Semantics/check-return.cpp
M flang/lib/Semantics/check-return.h
M flang/lib/Semantics/check-stop.cpp
M flang/lib/Semantics/check-stop.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/pointer-assignment.h
M flang/lib/Semantics/program-tree.cpp
M flang/lib/Semantics/program-tree.h
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-labels.h
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/resolve-names.h
M flang/lib/Semantics/rewrite-parse-tree.cpp
M flang/lib/Semantics/rewrite-parse-tree.h
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/runtime/ISO_Fortran_binding.cpp
M flang/runtime/allocatable.h
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/c-or-cpp.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived-type.cpp
M flang/runtime/derived-type.h
M flang/runtime/descriptor.cpp
M flang/runtime/descriptor.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-api.h
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/iostat.h
M flang/runtime/lock.h
M flang/runtime/main.cpp
M flang/runtime/main.h
M flang/runtime/memory.cpp
M flang/runtime/memory.h
M flang/runtime/stop.cpp
M flang/runtime/stop.h
M flang/runtime/terminator.cpp
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/transformational.cpp
M flang/runtime/transformational.h
M flang/runtime/type-code.cpp
M flang/runtime/type-code.h
M flang/runtime/unit-map.cpp
M flang/runtime/unit-map.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/tools/f18-parse-demo/f18-parse-demo.cpp
M flang/tools/f18-parse-demo/stub-evaluate.cpp
M flang/tools/f18/dump.cpp
M flang/tools/f18/f18.cpp
M flang/unittests/Decimal/thorough-test.cpp
M flang/unittests/Evaluate/ISO-Fortran-binding.cpp
M flang/unittests/Evaluate/folding.cpp
M flang/unittests/Evaluate/fp-testing.cpp
M flang/unittests/Evaluate/fp-testing.h
M flang/unittests/Evaluate/integer.cpp
M flang/unittests/Evaluate/intrinsics.cpp
M flang/unittests/Evaluate/logical.cpp
M flang/unittests/Evaluate/real.cpp
M flang/unittests/Evaluate/testing.cpp
M flang/unittests/Evaluate/testing.h
M flang/unittests/Evaluate/uint128.cpp
M flang/unittests/Runtime/hello.cpp
M flang/unittests/Runtime/testing.h
Log Message:
-----------
[flang] Reformat with latest clang-format and .clang-format
Original-commit: flang-compiler/f18 at 9fe84f45d7fd685051004678d6b5775dcc4c6f8f
Reviewed-on: https://github.com/flang-compiler/f18/pull/1094
Commit: 34038d3700813288be92941a84877f9d9f063e62
https://github.com/llvm/llvm-project/commit/34038d3700813288be92941a84877f9d9f063e62
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-03-29 (Sun, 29 Mar 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1094 from flang-compiler/tsk-format
Reformat with latest clang-format and .clang-format
Original-commit: flang-compiler/f18 at 96c6be633ff65ec6d84c18e0d14393137d8097dd
Reviewed-on: https://github.com/flang-compiler/f18/pull/1094
Commit: 2b790490b61be206164156d441e212583abb662d
https://github.com/llvm/llvm-project/commit/2b790490b61be206164156d441e212583abb662d
Author: Pete Steinfeld <psteinfeld at nvidia.com>
Date: 2020-04-02 (Thu, 02 Apr 2020)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/type.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/type.cpp
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/bad-forward-type.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/label11.f90
M flang/test/Semantics/modfile33.f90
M flang/test/Semantics/resolve31.f90
M flang/test/Semantics/resolve33.f90
A flang/test/Semantics/resolve86.f90
A flang/test/Semantics/resolve87.f90
Log Message:
-----------
[flang] Checks for constraints C731 through C740
In most cases, I just added the contraint names to the code and tests.
I implemented the following checks:
- C736 A child type with a coarray ultimate component must have a parent with
a coarray ultimate component.
- C737 A child type with and EVENT_TYPE or LOCK_TYPE component must have a
parent either which is EVENT_TYPE or LOCK_TYPE or a type with an EVENT_TYPE
or LOCK_TYPE component.
- C740 Sequence types must contain at least on component
- C740 Data components of sequence types must either be of an intrinsic type
or a sequenced derived type.
After implementing these checks, some tests had new errors unrelated to their
original purpose, so I fixed them.
Original-commit: flang-compiler/f18 at 098f01bc474798ae03bd4dc7de6c929deec6f244
Reviewed-on: https://github.com/flang-compiler/f18/pull/1097
Commit: af68709acd1e96bb9e208d54af3ee911fded3141
https://github.com/llvm/llvm-project/commit/af68709acd1e96bb9e208d54af3ee911fded3141
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2020-04-02 (Thu, 02 Apr 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1097 from flang-compiler/ps-types
Checks for constraints C731 through C740
Original-commit: flang-compiler/f18 at ca9dcf7eab19e460318a94348a3d68516caefa1f
Reviewed-on: https://github.com/flang-compiler/f18/pull/1097
Commit: 4d54bb7af8ab64575d10331f3cdd902660908d27
https://github.com/llvm/llvm-project/commit/4d54bb7af8ab64575d10331f3cdd902660908d27
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-04-02 (Thu, 02 Apr 2020)
Changed paths:
M flang/documentation/Calls.md
A flang/documentation/Character.md
M flang/runtime/CMakeLists.txt
A flang/runtime/allocatable.cpp
M flang/runtime/allocatable.h
A flang/runtime/character.cpp
A flang/runtime/character.h
Log Message:
-----------
[flang] Define CHARACTER runtime API, establish placeholder implementations
formatting
Original-commit: flang-compiler/f18 at 1d287d9d59eaee357db604dd9986c74c298a7b4d
Reviewed-on: https://github.com/flang-compiler/f18/pull/1096
Commit: 3638543f55ed6f4e33aaee7b9cfdac4f6c1c21e7
https://github.com/llvm/llvm-project/commit/3638543f55ed6f4e33aaee7b9cfdac4f6c1c21e7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-04-02 (Thu, 02 Apr 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1096 from flang-compiler/pmk-char
First draft: runtime API for CHARACTER
Original-commit: flang-compiler/f18 at 5b89dc7e516a86865737d7e69cde312d461e7d50
Reviewed-on: https://github.com/flang-compiler/f18/pull/1096
Commit: 455ed8de4f878160be9cfd17db891b326fb4a6a2
https://github.com/llvm/llvm-project/commit/455ed8de4f878160be9cfd17db891b326fb4a6a2
Author: peter klausler <pklausler at nvidia.com>
Date: 2020-04-03 (Fri, 03 Apr 2020)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/rewrite-parse-tree.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/assign06.f90
A flang/test/Semantics/assign07.f90
M flang/test/Semantics/if_arith03.f90
M flang/test/Semantics/label02.f90
M flang/test/Semantics/label03.f90
M flang/test/Semantics/label05.f90
M flang/test/Semantics/label06.f90
M flang/test/Semantics/label07.f90
M flang/test/Semantics/label09.f90
M flang/test/Semantics/label14.f90
Log Message:
-----------
[flang] Process names in ASSIGN and assigned GOTO
Allow ASSIGNed integer variables as formats
Address review comment
Original-commit: flang-compiler/f18 at 361a151508b4a1940fc0669dead180be67964d8d
Reviewed-on: https://github.com/flang-compiler/f18/pull/1099
Commit: d7bb15052d5a0b14cb6bc0a697b49036809d4a5a
https://github.com/llvm/llvm-project/commit/d7bb15052d5a0b14cb6bc0a697b49036809d4a5a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2020-04-03 (Fri, 03 Apr 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1099 from flang-compiler/pmk-assign
Complete semantics for ASSIGN
Original-commit: flang-compiler/f18 at b539ac9a908d5c9f7232d4635ad543c23947c96f
Reviewed-on: https://github.com/flang-compiler/f18/pull/1099
Commit: 5c7ecef1e43aff21db1b287a88cd2f0437d236c9
https://github.com/llvm/llvm-project/commit/5c7ecef1e43aff21db1b287a88cd2f0437d236c9
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2020-04-06 (Mon, 06 Apr 2020)
Changed paths:
M flang/README.md
Log Message:
-----------
[flang] Adjust supported compilers statement in F18 readme
This patch is an update of the readme according to compilations done and
also information given in flang dev mailing list.
[F18] Which compilers configurations f18 have being tested/built?
Signed-off-by: Caroline Concatto <caroline.concatto at arm.com>
Original-commit: flang-compiler/f18 at 3749b463dc6d4e2847c272bf2f6b575478391a2a
Reviewed-on: https://github.com/flang-compiler/f18/pull/1087
Commit: fb8d8414bdf38fd4ff7f2b3e04236f5d4a18f769
https://github.com/llvm/llvm-project/commit/fb8d8414bdf38fd4ff7f2b3e04236f5d4a18f769
Author: Steve Scalpone <sscalpone at nvidia.com>
Date: 2020-04-06 (Mon, 06 Apr 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1087 from CarolineConcatto/update_readme
Adjust supported compilers statement in F18 readme
Original-commit: flang-compiler/f18 at 6e04d35b895dea17d432f2b8137fabee1c625ed3
Reviewed-on: https://github.com/flang-compiler/f18/pull/1087
Commit: 76d71354dbbba0ed7e86d1c7c6edc7f6f4e44420
https://github.com/llvm/llvm-project/commit/76d71354dbbba0ed7e86d1c7c6edc7f6f4e44420
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-04-03 (Fri, 03 Apr 2020)
Changed paths:
M flang/include/flang/Parser/message.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
Log Message:
-----------
[flang] Add message formatting for std::int64_t
There is no printf formatting string for std::int64_t. Instead we have
to cast to std::intmax_t and use `%jd`. This change simplifies that by
automatically converting std::int64_t to std::intmax_t when formatting
messages.
Original-commit: flang-compiler/f18 at 8a2343dfffc9ccb04bdfe4c16ca47128255d47bd
Reviewed-on: https://github.com/flang-compiler/f18/pull/1101
Tree-same-pre-rewrite: false
Commit: 0bd73f2c38ac73069f6644d4920cf47916ad88e4
https://github.com/llvm/llvm-project/commit/0bd73f2c38ac73069f6644d4920cf47916ad88e4
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-04-06 (Mon, 06 Apr 2020)
Changed paths:
M flang/include/flang/Parser/message.h
Log Message:
-----------
[flang] Convert std::uint64_t to std::uintmax_t as well
Original-commit: flang-compiler/f18 at 92a1ef6810f02b65b5fafcde2130b1482d373995
Reviewed-on: https://github.com/flang-compiler/f18/pull/1101
Commit: 87f3bc978f7325e7cf88073bda51c27a00f5e455
https://github.com/llvm/llvm-project/commit/87f3bc978f7325e7cf88073bda51c27a00f5e455
Author: Tim Keith <tkeith at nvidia.com>
Date: 2020-04-07 (Tue, 07 Apr 2020)
Changed paths:
Log Message:
-----------
[flang] Merge pull request flang-compiler/f18#1101 from flang-compiler/tsk-msg-format
Add message formatting for std::int64_t
Original-commit: flang-compiler/f18 at 72dad8cae1f287d1183f535aec8207781d967505
Reviewed-on: https://github.com/flang-compiler/f18/pull/1101
Commit: 2d65baf845ba3c76c63d7cb47022379b2958b00f
https://github.com/llvm/llvm-project/commit/2d65baf845ba3c76c63d7cb47022379b2958b00f
Author: David Truby <david.truby at arm.com>
Date: 2020-04-09 (Thu, 09 Apr 2020)
Changed paths:
M flang/README.md
Log Message:
-----------
[flang] Adjust README.md for upstreaming to LLVM.
Original-commit: flang-compiler/f18 at 24d23963b879d6586a7e19b89a905341627fe5b1
Commit: 55d5e6cbe2509a24132d056e1f361dc39312929b
https://github.com/llvm/llvm-project/commit/55d5e6cbe2509a24132d056e1f361dc39312929b
Author: David Truby <david.truby at arm.com>
Date: 2020-04-09 (Thu, 09 Apr 2020)
Changed paths:
R flang/flatten.cpp
Log Message:
-----------
[flang] Remove flatten and merge upstreaming script.
Original-commit: flang-compiler/f18 at 21f3c455e842e0dab4a92db7ed8282f08eac930d
Commit: b98ad941a40c96c841bceb171725c925500fce6c
https://github.com/llvm/llvm-project/commit/b98ad941a40c96c841bceb171725c925500fce6c
Author: David Truby <david.truby at arm.com>
Date: 2020-04-09 (Thu, 09 Apr 2020)
Changed paths:
A flang/.clang-format
A flang/.drone.star
A flang/.gitignore
A flang/CMakeLists.txt
A flang/CODE_OWNERS.TXT
A flang/LICENSE.txt
A flang/README.md
A flang/cmake/modules/AddFlang.cmake
A flang/cmake/modules/CMakeLists.txt
A flang/cmake/modules/FlangConfig.cmake.in
A flang/documentation/ArrayComposition.md
A flang/documentation/C++17.md
A flang/documentation/C++style.md
A flang/documentation/Calls.md
A flang/documentation/Character.md
A flang/documentation/ControlFlowGraph.md
A flang/documentation/Directives.md
A flang/documentation/Extensions.md
A flang/documentation/FortranForCProgrammers.md
A flang/documentation/FortranIR.md
A flang/documentation/IORuntimeInternals.md
A flang/documentation/ImplementingASemanticCheck.md
A flang/documentation/Intrinsics.md
A flang/documentation/LabelResolution.md
A flang/documentation/ModFiles.md
A flang/documentation/OpenMP-4.5-grammar.txt
A flang/documentation/OpenMP-semantics.md
A flang/documentation/OptionComparison.md
A flang/documentation/Overview.md
A flang/documentation/ParserCombinators.md
A flang/documentation/Parsing.md
A flang/documentation/Preprocessing.md
A flang/documentation/PullRequestChecklist.md
A flang/documentation/RuntimeDescriptor.md
A flang/documentation/Semantics.md
A flang/documentation/f2018-grammar.txt
A flang/documentation/flang-c-style.el
A flang/include/CMakeLists.txt
A flang/include/flang/CMakeLists.txt
A flang/include/flang/Common/Fortran-features.h
A flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/bit-population-count.h
A flang/include/flang/Common/constexpr-bitset.h
A flang/include/flang/Common/default-kinds.h
A flang/include/flang/Common/enum-set.h
A flang/include/flang/Common/format.h
A flang/include/flang/Common/idioms.h
A flang/include/flang/Common/indirection.h
A flang/include/flang/Common/interval.h
A flang/include/flang/Common/leading-zero-bit-count.h
A flang/include/flang/Common/real.h
A flang/include/flang/Common/reference-counted.h
A flang/include/flang/Common/reference.h
A flang/include/flang/Common/restorer.h
A flang/include/flang/Common/template.h
A flang/include/flang/Common/uint128.h
A flang/include/flang/Common/unsigned-const-division.h
A flang/include/flang/Common/unwrap.h
A flang/include/flang/Config/config.h.cmake
A flang/include/flang/Decimal/binary-floating-point.h
A flang/include/flang/Decimal/decimal.h
A flang/include/flang/Evaluate/call.h
A flang/include/flang/Evaluate/characteristics.h
A flang/include/flang/Evaluate/check-expression.h
A flang/include/flang/Evaluate/common.h
A flang/include/flang/Evaluate/complex.h
A flang/include/flang/Evaluate/constant.h
A flang/include/flang/Evaluate/expression.h
A flang/include/flang/Evaluate/fold.h
A flang/include/flang/Evaluate/formatting.h
A flang/include/flang/Evaluate/integer.h
A flang/include/flang/Evaluate/intrinsics-library.h
A flang/include/flang/Evaluate/intrinsics.h
A flang/include/flang/Evaluate/logical.h
A flang/include/flang/Evaluate/real.h
A flang/include/flang/Evaluate/rounding-bits.h
A flang/include/flang/Evaluate/shape.h
A flang/include/flang/Evaluate/static-data.h
A flang/include/flang/Evaluate/tools.h
A flang/include/flang/Evaluate/traverse.h
A flang/include/flang/Evaluate/type.h
A flang/include/flang/Evaluate/variable.h
A flang/include/flang/ISO_Fortran_binding.h
A flang/include/flang/Lower/.clang-format
A flang/include/flang/Lower/PFTBuilder.h
A flang/include/flang/Optimizer/.clang-format
A flang/include/flang/Optimizer/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/FIRAttr.h
A flang/include/flang/Optimizer/Dialect/FIRDialect.h
A flang/include/flang/Optimizer/Dialect/FIROps.h
A flang/include/flang/Optimizer/Dialect/FIROps.td
A flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
A flang/include/flang/Optimizer/Dialect/FIRType.h
A flang/include/flang/Optimizer/Support/KindMapping.h
A flang/include/flang/Parser/char-block.h
A flang/include/flang/Parser/char-buffer.h
A flang/include/flang/Parser/char-set.h
A flang/include/flang/Parser/characters.h
A flang/include/flang/Parser/dump-parse-tree.h
A flang/include/flang/Parser/format-specification.h
A flang/include/flang/Parser/instrumented-parser.h
A flang/include/flang/Parser/message.h
A flang/include/flang/Parser/parse-state.h
A flang/include/flang/Parser/parse-tree-visitor.h
A flang/include/flang/Parser/parse-tree.h
A flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/provenance.h
A flang/include/flang/Parser/source.h
A flang/include/flang/Parser/tools.h
A flang/include/flang/Parser/unparse.h
A flang/include/flang/Parser/user-state.h
A flang/include/flang/Semantics/attr.h
A flang/include/flang/Semantics/expression.h
A flang/include/flang/Semantics/scope.h
A flang/include/flang/Semantics/semantics.h
A flang/include/flang/Semantics/symbol.h
A flang/include/flang/Semantics/tools.h
A flang/include/flang/Semantics/type.h
A flang/include/flang/Semantics/unparse-with-symbols.h
A flang/include/flang/Version.inc.in
A flang/lib/CMakeLists.txt
A flang/lib/Common/CMakeLists.txt
A flang/lib/Common/Fortran-features.cpp
A flang/lib/Common/Fortran.cpp
A flang/lib/Common/default-kinds.cpp
A flang/lib/Common/idioms.cpp
A flang/lib/Decimal/CMakeLists.txt
A flang/lib/Decimal/big-radix-floating-point.h
A flang/lib/Decimal/binary-to-decimal.cpp
A flang/lib/Decimal/decimal-to-binary.cpp
A flang/lib/Evaluate/CMakeLists.txt
A flang/lib/Evaluate/call.cpp
A flang/lib/Evaluate/character.h
A flang/lib/Evaluate/characteristics.cpp
A flang/lib/Evaluate/check-expression.cpp
A flang/lib/Evaluate/common.cpp
A flang/lib/Evaluate/complex.cpp
A flang/lib/Evaluate/constant.cpp
A flang/lib/Evaluate/expression.cpp
A flang/lib/Evaluate/fold-character.cpp
A flang/lib/Evaluate/fold-complex.cpp
A flang/lib/Evaluate/fold-implementation.h
A flang/lib/Evaluate/fold-integer.cpp
A flang/lib/Evaluate/fold-logical.cpp
A flang/lib/Evaluate/fold-real.cpp
A flang/lib/Evaluate/fold.cpp
A flang/lib/Evaluate/formatting.cpp
A flang/lib/Evaluate/host.cpp
A flang/lib/Evaluate/host.h
A flang/lib/Evaluate/int-power.h
A flang/lib/Evaluate/integer.cpp
A flang/lib/Evaluate/intrinsics-library-templates.h
A flang/lib/Evaluate/intrinsics-library.cpp
A flang/lib/Evaluate/intrinsics.cpp
A flang/lib/Evaluate/logical.cpp
A flang/lib/Evaluate/real.cpp
A flang/lib/Evaluate/shape.cpp
A flang/lib/Evaluate/static-data.cpp
A flang/lib/Evaluate/tools.cpp
A flang/lib/Evaluate/type.cpp
A flang/lib/Evaluate/variable.cpp
A flang/lib/Lower/.clang-format
A flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/PFTBuilder.cpp
A flang/lib/Optimizer/.clang-format
A flang/lib/Optimizer/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/FIRDialect.cpp
A flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Support/CMakeLists.txt
A flang/lib/Optimizer/Support/KindMapping.cpp
A flang/lib/Parser/CMakeLists.txt
A flang/lib/Parser/Fortran-parsers.cpp
A flang/lib/Parser/basic-parsers.h
A flang/lib/Parser/char-block.cpp
A flang/lib/Parser/char-buffer.cpp
A flang/lib/Parser/char-set.cpp
A flang/lib/Parser/characters.cpp
A flang/lib/Parser/debug-parser.cpp
A flang/lib/Parser/debug-parser.h
A flang/lib/Parser/executable-parsers.cpp
A flang/lib/Parser/expr-parsers.cpp
A flang/lib/Parser/expr-parsers.h
A flang/lib/Parser/instrumented-parser.cpp
A flang/lib/Parser/io-parsers.cpp
A flang/lib/Parser/message.cpp
A flang/lib/Parser/misc-parsers.h
A flang/lib/Parser/openmp-parsers.cpp
A flang/lib/Parser/parse-tree.cpp
A flang/lib/Parser/parsing.cpp
A flang/lib/Parser/preprocessor.cpp
A flang/lib/Parser/preprocessor.h
A flang/lib/Parser/prescan.cpp
A flang/lib/Parser/prescan.h
A flang/lib/Parser/program-parsers.cpp
A flang/lib/Parser/provenance.cpp
A flang/lib/Parser/source.cpp
A flang/lib/Parser/stmt-parser.h
A flang/lib/Parser/token-parsers.h
A flang/lib/Parser/token-sequence.cpp
A flang/lib/Parser/token-sequence.h
A flang/lib/Parser/tools.cpp
A flang/lib/Parser/type-parser-implementation.h
A flang/lib/Parser/type-parsers.h
A flang/lib/Parser/unparse.cpp
A flang/lib/Parser/user-state.cpp
A flang/lib/Semantics/CMakeLists.txt
A flang/lib/Semantics/assignment.cpp
A flang/lib/Semantics/assignment.h
A flang/lib/Semantics/attr.cpp
A flang/lib/Semantics/canonicalize-do.cpp
A flang/lib/Semantics/canonicalize-do.h
A flang/lib/Semantics/canonicalize-omp.cpp
A flang/lib/Semantics/canonicalize-omp.h
A flang/lib/Semantics/check-allocate.cpp
A flang/lib/Semantics/check-allocate.h
A flang/lib/Semantics/check-arithmeticif.cpp
A flang/lib/Semantics/check-arithmeticif.h
A flang/lib/Semantics/check-call.cpp
A flang/lib/Semantics/check-call.h
A flang/lib/Semantics/check-case.cpp
A flang/lib/Semantics/check-case.h
A flang/lib/Semantics/check-coarray.cpp
A flang/lib/Semantics/check-coarray.h
A flang/lib/Semantics/check-data.cpp
A flang/lib/Semantics/check-data.h
A flang/lib/Semantics/check-deallocate.cpp
A flang/lib/Semantics/check-deallocate.h
A flang/lib/Semantics/check-declarations.cpp
A flang/lib/Semantics/check-declarations.h
A flang/lib/Semantics/check-do-forall.cpp
A flang/lib/Semantics/check-do-forall.h
A flang/lib/Semantics/check-if-stmt.cpp
A flang/lib/Semantics/check-if-stmt.h
A flang/lib/Semantics/check-io.cpp
A flang/lib/Semantics/check-io.h
A flang/lib/Semantics/check-namelist.cpp
A flang/lib/Semantics/check-namelist.h
A flang/lib/Semantics/check-nullify.cpp
A flang/lib/Semantics/check-nullify.h
A flang/lib/Semantics/check-omp-structure.cpp
A flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-purity.cpp
A flang/lib/Semantics/check-purity.h
A flang/lib/Semantics/check-return.cpp
A flang/lib/Semantics/check-return.h
A flang/lib/Semantics/check-stop.cpp
A flang/lib/Semantics/check-stop.h
A flang/lib/Semantics/expression.cpp
A flang/lib/Semantics/mod-file.cpp
A flang/lib/Semantics/mod-file.h
A flang/lib/Semantics/pointer-assignment.cpp
A flang/lib/Semantics/pointer-assignment.h
A flang/lib/Semantics/program-tree.cpp
A flang/lib/Semantics/program-tree.h
A flang/lib/Semantics/resolve-labels.cpp
A flang/lib/Semantics/resolve-labels.h
A flang/lib/Semantics/resolve-names-utils.cpp
A flang/lib/Semantics/resolve-names-utils.h
A flang/lib/Semantics/resolve-names.cpp
A flang/lib/Semantics/resolve-names.h
A flang/lib/Semantics/rewrite-parse-tree.cpp
A flang/lib/Semantics/rewrite-parse-tree.h
A flang/lib/Semantics/scope.cpp
A flang/lib/Semantics/semantics.cpp
A flang/lib/Semantics/symbol.cpp
A flang/lib/Semantics/tools.cpp
A flang/lib/Semantics/type.cpp
A flang/lib/Semantics/unparse-with-symbols.cpp
A flang/module/__fortran_builtins.f90
A flang/module/ieee_arithmetic.f90
A flang/module/ieee_exceptions.f90
A flang/module/ieee_features.f90
A flang/module/iso_c_binding.f90
A flang/module/iso_fortran_env.f90
A flang/module/omp_lib.f90
A flang/module/omp_lib.h
A flang/runtime/CMakeLists.txt
A flang/runtime/ISO_Fortran_binding.cpp
A flang/runtime/allocatable.cpp
A flang/runtime/allocatable.h
A flang/runtime/buffer.cpp
A flang/runtime/buffer.h
A flang/runtime/c-or-cpp.h
A flang/runtime/character.cpp
A flang/runtime/character.h
A flang/runtime/config.h.cmake
A flang/runtime/connection.cpp
A flang/runtime/connection.h
A flang/runtime/derived-type.cpp
A flang/runtime/derived-type.h
A flang/runtime/descriptor.cpp
A flang/runtime/descriptor.h
A flang/runtime/edit-input.cpp
A flang/runtime/edit-input.h
A flang/runtime/edit-output.cpp
A flang/runtime/edit-output.h
A flang/runtime/entry-names.h
A flang/runtime/environment.cpp
A flang/runtime/environment.h
A flang/runtime/file.cpp
A flang/runtime/file.h
A flang/runtime/format-implementation.h
A flang/runtime/format.cpp
A flang/runtime/format.h
A flang/runtime/internal-unit.cpp
A flang/runtime/internal-unit.h
A flang/runtime/io-api.cpp
A flang/runtime/io-api.h
A flang/runtime/io-error.cpp
A flang/runtime/io-error.h
A flang/runtime/io-stmt.cpp
A flang/runtime/io-stmt.h
A flang/runtime/iostat.cpp
A flang/runtime/iostat.h
A flang/runtime/lock.h
A flang/runtime/magic-numbers.h
A flang/runtime/main.cpp
A flang/runtime/main.h
A flang/runtime/memory.cpp
A flang/runtime/memory.h
A flang/runtime/stop.cpp
A flang/runtime/stop.h
A flang/runtime/terminator.cpp
A flang/runtime/terminator.h
A flang/runtime/tools.cpp
A flang/runtime/tools.h
A flang/runtime/transformational.cpp
A flang/runtime/transformational.h
A flang/runtime/type-code.cpp
A flang/runtime/type-code.h
A flang/runtime/unit-map.cpp
A flang/runtime/unit-map.h
A flang/runtime/unit.cpp
A flang/runtime/unit.h
A flang/test/CMakeLists.txt
A flang/test/Driver/version_test.f90
A flang/test/Evaluate/folding01.f90
A flang/test/Evaluate/folding02.f90
A flang/test/Evaluate/folding03.f90
A flang/test/Evaluate/folding04.f90
A flang/test/Evaluate/folding05.f90
A flang/test/Evaluate/folding06.f90
A flang/test/Evaluate/folding07.f90
A flang/test/Evaluate/folding08.f90
A flang/test/Evaluate/folding09.f90
A flang/test/Evaluate/test_folding.sh
A flang/test/Fir/fir-ops.fir
A flang/test/Fir/fir-types.fir
A flang/test/Lower/pre-fir-tree01.f90
A flang/test/Lower/pre-fir-tree02.f90
A flang/test/Lower/pre-fir-tree03.f90
A flang/test/Lower/pre-fir-tree04.f90
A flang/test/Preprocessing/lit.local.cfg.py
A flang/test/Preprocessing/pp001.F
A flang/test/Preprocessing/pp002.F
A flang/test/Preprocessing/pp003.F
A flang/test/Preprocessing/pp004.F
A flang/test/Preprocessing/pp005.F
A flang/test/Preprocessing/pp006.F
A flang/test/Preprocessing/pp007.F
A flang/test/Preprocessing/pp008.F
A flang/test/Preprocessing/pp009.F
A flang/test/Preprocessing/pp010.F
A flang/test/Preprocessing/pp011.F
A flang/test/Preprocessing/pp012.F
A flang/test/Preprocessing/pp013.F
A flang/test/Preprocessing/pp014.F
A flang/test/Preprocessing/pp015.F
A flang/test/Preprocessing/pp016.F
A flang/test/Preprocessing/pp017.F
A flang/test/Preprocessing/pp018.F
A flang/test/Preprocessing/pp019.F
A flang/test/Preprocessing/pp020.F
A flang/test/Preprocessing/pp021.F
A flang/test/Preprocessing/pp022.F
A flang/test/Preprocessing/pp023.F
A flang/test/Preprocessing/pp024.F
A flang/test/Preprocessing/pp025.F
A flang/test/Preprocessing/pp026.F
A flang/test/Preprocessing/pp027.F
A flang/test/Preprocessing/pp028.F
A flang/test/Preprocessing/pp029.F
A flang/test/Preprocessing/pp030.F
A flang/test/Preprocessing/pp031.F
A flang/test/Preprocessing/pp032.F
A flang/test/Preprocessing/pp033.F
A flang/test/Preprocessing/pp034.F
A flang/test/Preprocessing/pp035.F
A flang/test/Preprocessing/pp036.F
A flang/test/Preprocessing/pp037.F
A flang/test/Preprocessing/pp038.F
A flang/test/Preprocessing/pp039.F
A flang/test/Preprocessing/pp040.F
A flang/test/Preprocessing/pp041.F
A flang/test/Preprocessing/pp042.F
A flang/test/Preprocessing/pp043.F
A flang/test/Preprocessing/pp044.F
A flang/test/Preprocessing/pp101.F90
A flang/test/Preprocessing/pp102.F90
A flang/test/Preprocessing/pp103.F90
A flang/test/Preprocessing/pp104.F90
A flang/test/Preprocessing/pp105.F90
A flang/test/Preprocessing/pp106.F90
A flang/test/Preprocessing/pp107.F90
A flang/test/Preprocessing/pp108.F90
A flang/test/Preprocessing/pp109.F90
A flang/test/Preprocessing/pp110.F90
A flang/test/Preprocessing/pp111.F90
A flang/test/Preprocessing/pp112.F90
A flang/test/Preprocessing/pp113.F90
A flang/test/Preprocessing/pp114.F90
A flang/test/Preprocessing/pp115.F90
A flang/test/Preprocessing/pp116.F90
A flang/test/Preprocessing/pp117.F90
A flang/test/Preprocessing/pp118.F90
A flang/test/Preprocessing/pp119.F90
A flang/test/Preprocessing/pp120.F90
A flang/test/Preprocessing/pp121.F90
A flang/test/Preprocessing/pp122.F90
A flang/test/Preprocessing/pp123.F90
A flang/test/Preprocessing/pp124.F90
A flang/test/Preprocessing/pp125.F90
A flang/test/Preprocessing/pp126.F90
A flang/test/Preprocessing/pp127.F90
A flang/test/Preprocessing/pp128.F90
A flang/test/Preprocessing/pp129.F90
A flang/test/Preprocessing/pp130.F90
A flang/test/Semantics/CMakeLists.txt
A flang/test/Semantics/Inputs/getdefinition03-b.f90
A flang/test/Semantics/Inputs/getsymbols02-a.f90
A flang/test/Semantics/Inputs/getsymbols02-b.f90
A flang/test/Semantics/Inputs/getsymbols02-c.f90
A flang/test/Semantics/Inputs/getsymbols03-b.f90
A flang/test/Semantics/Inputs/mod-file-changed.f90
A flang/test/Semantics/Inputs/mod-file-unchanged.f90
A flang/test/Semantics/Inputs/modfile09-a.f90
A flang/test/Semantics/Inputs/modfile09-b.f90
A flang/test/Semantics/Inputs/modfile09-c.f90
A flang/test/Semantics/Inputs/modfile09-d.f90
A flang/test/Semantics/allocate01.f90
A flang/test/Semantics/allocate02.f90
A flang/test/Semantics/allocate03.f90
A flang/test/Semantics/allocate04.f90
A flang/test/Semantics/allocate05.f90
A flang/test/Semantics/allocate06.f90
A flang/test/Semantics/allocate07.f90
A flang/test/Semantics/allocate08.f90
A flang/test/Semantics/allocate09.f90
A flang/test/Semantics/allocate10.f90
A flang/test/Semantics/allocate11.f90
A flang/test/Semantics/allocate12.f90
A flang/test/Semantics/allocate13.f90
A flang/test/Semantics/altreturn01.f90
A flang/test/Semantics/altreturn02.f90
A flang/test/Semantics/altreturn03.f90
A flang/test/Semantics/altreturn04.f90
A flang/test/Semantics/altreturn05.f90
A flang/test/Semantics/assign01.f90
A flang/test/Semantics/assign02.f90
A flang/test/Semantics/assign03.f90
A flang/test/Semantics/assign04.f90
A flang/test/Semantics/assign06.f90
A flang/test/Semantics/assign07.f90
A flang/test/Semantics/bad-forward-type.f90
A flang/test/Semantics/bindings01.f90
A flang/test/Semantics/block-data01.f90
A flang/test/Semantics/blockconstruct01.f90
A flang/test/Semantics/blockconstruct02.f90
A flang/test/Semantics/blockconstruct03.f90
A flang/test/Semantics/c_f_pointer.f90
A flang/test/Semantics/call01.f90
A flang/test/Semantics/call02.f90
A flang/test/Semantics/call03.f90
A flang/test/Semantics/call04.f90
A flang/test/Semantics/call05.f90
A flang/test/Semantics/call06.f90
A flang/test/Semantics/call07.f90
A flang/test/Semantics/call08.f90
A flang/test/Semantics/call09.f90
A flang/test/Semantics/call10.f90
A flang/test/Semantics/call11.f90
A flang/test/Semantics/call12.f90
A flang/test/Semantics/call13.f90
A flang/test/Semantics/call14.f90
A flang/test/Semantics/call15.f90
A flang/test/Semantics/canondo01.f90
A flang/test/Semantics/canondo02.f90
A flang/test/Semantics/canondo03.f90
A flang/test/Semantics/canondo04.f90
A flang/test/Semantics/canondo05.f90
A flang/test/Semantics/canondo06.f90
A flang/test/Semantics/canondo07.f90
A flang/test/Semantics/canondo08.f90
A flang/test/Semantics/canondo09.f90
A flang/test/Semantics/canondo10.f90
A flang/test/Semantics/canondo11.f90
A flang/test/Semantics/canondo12.f90
A flang/test/Semantics/canondo13.f90
A flang/test/Semantics/canondo14.f90
A flang/test/Semantics/canondo15.f90
A flang/test/Semantics/canondo16.f90
A flang/test/Semantics/canondo17.f90
A flang/test/Semantics/canondo18.f90
A flang/test/Semantics/canondo19.f90
A flang/test/Semantics/case01.f90
A flang/test/Semantics/coarrays01.f90
A flang/test/Semantics/common.sh
A flang/test/Semantics/complex01.f90
A flang/test/Semantics/computed-goto01.f90
A flang/test/Semantics/computed-goto02.f90
A flang/test/Semantics/critical01.f90
A flang/test/Semantics/critical02.f90
A flang/test/Semantics/critical03.f90
A flang/test/Semantics/critical04.f90
A flang/test/Semantics/data01.f90
A flang/test/Semantics/data02.f90
A flang/test/Semantics/deallocate01.f90
A flang/test/Semantics/deallocate04.f90
A flang/test/Semantics/deallocate05.f90
A flang/test/Semantics/doconcurrent01.f90
A flang/test/Semantics/doconcurrent02.f90
A flang/test/Semantics/doconcurrent03.f90
A flang/test/Semantics/doconcurrent04.f90
A flang/test/Semantics/doconcurrent05.f90
A flang/test/Semantics/doconcurrent06.f90
A flang/test/Semantics/doconcurrent07.f90
A flang/test/Semantics/doconcurrent08.f90
A flang/test/Semantics/dosemantics01.f90
A flang/test/Semantics/dosemantics02.f90
A flang/test/Semantics/dosemantics03.f90
A flang/test/Semantics/dosemantics04.f90
A flang/test/Semantics/dosemantics05.f90
A flang/test/Semantics/dosemantics06.f90
A flang/test/Semantics/dosemantics07.f90
A flang/test/Semantics/dosemantics08.f90
A flang/test/Semantics/dosemantics09.f90
A flang/test/Semantics/dosemantics10.f90
A flang/test/Semantics/dosemantics11.f90
A flang/test/Semantics/dosemantics12.f90
A flang/test/Semantics/empty.f90
A flang/test/Semantics/entry01.f90
A flang/test/Semantics/equivalence01.f90
A flang/test/Semantics/expr-errors01.f90
A flang/test/Semantics/expr-errors02.f90
A flang/test/Semantics/forall01.f90
A flang/test/Semantics/getdefinition01.f90
A flang/test/Semantics/getdefinition02.f
A flang/test/Semantics/getdefinition03-a.f90
A flang/test/Semantics/getdefinition04.f90
A flang/test/Semantics/getdefinition05.f90
A flang/test/Semantics/getsymbols01.f90
A flang/test/Semantics/getsymbols02.f90
A flang/test/Semantics/getsymbols03-a.f90
A flang/test/Semantics/getsymbols04.f90
A flang/test/Semantics/getsymbols05.f90
A flang/test/Semantics/if_arith01.f90
A flang/test/Semantics/if_arith02.f90
A flang/test/Semantics/if_arith03.f90
A flang/test/Semantics/if_arith04.f90
A flang/test/Semantics/if_construct01.f90
A flang/test/Semantics/if_construct02.f90
A flang/test/Semantics/if_stmt01.f90
A flang/test/Semantics/if_stmt02.f90
A flang/test/Semantics/if_stmt03.f90
A flang/test/Semantics/implicit01.f90
A flang/test/Semantics/implicit02.f90
A flang/test/Semantics/implicit03.f90
A flang/test/Semantics/implicit04.f90
A flang/test/Semantics/implicit05.f90
A flang/test/Semantics/implicit06.f90
A flang/test/Semantics/implicit07.f90
A flang/test/Semantics/implicit08.f90
A flang/test/Semantics/init01.f90
A flang/test/Semantics/int-literals.f90
A flang/test/Semantics/io01.f90
A flang/test/Semantics/io02.f90
A flang/test/Semantics/io03.f90
A flang/test/Semantics/io04.f90
A flang/test/Semantics/io05.f90
A flang/test/Semantics/io06.f90
A flang/test/Semantics/io07.f90
A flang/test/Semantics/io08.f90
A flang/test/Semantics/io09.f90
A flang/test/Semantics/io10.f90
A flang/test/Semantics/kinds01.f90
A flang/test/Semantics/kinds02.f90
A flang/test/Semantics/kinds03.f90
A flang/test/Semantics/kinds04.f90
A flang/test/Semantics/label01.F90
A flang/test/Semantics/label02.f90
A flang/test/Semantics/label03.f90
A flang/test/Semantics/label04.f90
A flang/test/Semantics/label05.f90
A flang/test/Semantics/label06.f90
A flang/test/Semantics/label07.f90
A flang/test/Semantics/label08.f90
A flang/test/Semantics/label09.f90
A flang/test/Semantics/label10.f90
A flang/test/Semantics/label11.f90
A flang/test/Semantics/label12.f90
A flang/test/Semantics/label13.f90
A flang/test/Semantics/label14.f90
A flang/test/Semantics/misc-declarations.f90
A flang/test/Semantics/mod-file-rewriter.f90
A flang/test/Semantics/modfile01.f90
A flang/test/Semantics/modfile02.f90
A flang/test/Semantics/modfile03.f90
A flang/test/Semantics/modfile04.f90
A flang/test/Semantics/modfile05.f90
A flang/test/Semantics/modfile06.f90
A flang/test/Semantics/modfile07.f90
A flang/test/Semantics/modfile08.f90
A flang/test/Semantics/modfile09.f90
A flang/test/Semantics/modfile10.f90
A flang/test/Semantics/modfile11.f90
A flang/test/Semantics/modfile12.f90
A flang/test/Semantics/modfile13.f90
A flang/test/Semantics/modfile14.f90
A flang/test/Semantics/modfile15.f90
A flang/test/Semantics/modfile16.f90
A flang/test/Semantics/modfile17.f90
A flang/test/Semantics/modfile18.f90
A flang/test/Semantics/modfile19.f90
A flang/test/Semantics/modfile20.f90
A flang/test/Semantics/modfile21.f90
A flang/test/Semantics/modfile22.f90
A flang/test/Semantics/modfile23.f90
A flang/test/Semantics/modfile24.f90
A flang/test/Semantics/modfile25.f90
A flang/test/Semantics/modfile26.f90
A flang/test/Semantics/modfile27.f90
A flang/test/Semantics/modfile28.f90
A flang/test/Semantics/modfile29.f90
A flang/test/Semantics/modfile30.f90
A flang/test/Semantics/modfile31.f90
A flang/test/Semantics/modfile32.f90
A flang/test/Semantics/modfile33.f90
A flang/test/Semantics/modfile34.f90
A flang/test/Semantics/modfile35.f90
A flang/test/Semantics/namelist01.f90
A flang/test/Semantics/null01.f90
A flang/test/Semantics/nullify01.f90
A flang/test/Semantics/nullify02.f90
A flang/test/Semantics/omp-atomic.f90
A flang/test/Semantics/omp-clause-validity01.f90
A flang/test/Semantics/omp-declarative-directive.f90
A flang/test/Semantics/omp-device-constructs.f90
A flang/test/Semantics/omp-loop-association.f90
A flang/test/Semantics/omp-nested01.f90
A flang/test/Semantics/omp-resolve01.f90
A flang/test/Semantics/omp-resolve02.f90
A flang/test/Semantics/omp-resolve03.f90
A flang/test/Semantics/omp-resolve04.f90
A flang/test/Semantics/omp-resolve05.f90
A flang/test/Semantics/omp-symbol01.f90
A flang/test/Semantics/omp-symbol02.f90
A flang/test/Semantics/omp-symbol03.f90
A flang/test/Semantics/omp-symbol04.f90
A flang/test/Semantics/omp-symbol05.f90
A flang/test/Semantics/omp-symbol06.f90
A flang/test/Semantics/omp-symbol07.f90
A flang/test/Semantics/omp-symbol08.f90
A flang/test/Semantics/procinterface01.f90
A flang/test/Semantics/resolve01.f90
A flang/test/Semantics/resolve02.f90
A flang/test/Semantics/resolve03.f90
A flang/test/Semantics/resolve04.f90
A flang/test/Semantics/resolve05.f90
A flang/test/Semantics/resolve06.f90
A flang/test/Semantics/resolve07.f90
A flang/test/Semantics/resolve08.f90
A flang/test/Semantics/resolve09.f90
A flang/test/Semantics/resolve10.f90
A flang/test/Semantics/resolve11.f90
A flang/test/Semantics/resolve12.f90
A flang/test/Semantics/resolve13.f90
A flang/test/Semantics/resolve14.f90
A flang/test/Semantics/resolve15.f90
A flang/test/Semantics/resolve16.f90
A flang/test/Semantics/resolve17.f90
A flang/test/Semantics/resolve18.f90
A flang/test/Semantics/resolve19.f90
A flang/test/Semantics/resolve20.f90
A flang/test/Semantics/resolve21.f90
A flang/test/Semantics/resolve22.f90
A flang/test/Semantics/resolve23.f90
A flang/test/Semantics/resolve24.f90
A flang/test/Semantics/resolve25.f90
A flang/test/Semantics/resolve26.f90
A flang/test/Semantics/resolve27.f90
A flang/test/Semantics/resolve28.f90
A flang/test/Semantics/resolve29.f90
A flang/test/Semantics/resolve30.f90
A flang/test/Semantics/resolve31.f90
A flang/test/Semantics/resolve32.f90
A flang/test/Semantics/resolve33.f90
A flang/test/Semantics/resolve34.f90
A flang/test/Semantics/resolve35.f90
A flang/test/Semantics/resolve36.f90
A flang/test/Semantics/resolve37.f90
A flang/test/Semantics/resolve38.f90
A flang/test/Semantics/resolve39.f90
A flang/test/Semantics/resolve40.f90
A flang/test/Semantics/resolve41.f90
A flang/test/Semantics/resolve42.f90
A flang/test/Semantics/resolve43.f90
A flang/test/Semantics/resolve44.f90
A flang/test/Semantics/resolve45.f90
A flang/test/Semantics/resolve46.f90
A flang/test/Semantics/resolve47.f90
A flang/test/Semantics/resolve48.f90
A flang/test/Semantics/resolve49.f90
A flang/test/Semantics/resolve50.f90
A flang/test/Semantics/resolve51.f90
A flang/test/Semantics/resolve52.f90
A flang/test/Semantics/resolve53.f90
A flang/test/Semantics/resolve54.f90
A flang/test/Semantics/resolve55.f90
A flang/test/Semantics/resolve56.f90
A flang/test/Semantics/resolve57.f90
A flang/test/Semantics/resolve58.f90
A flang/test/Semantics/resolve59.f90
A flang/test/Semantics/resolve60.f90
A flang/test/Semantics/resolve61.f90
A flang/test/Semantics/resolve62.f90
A flang/test/Semantics/resolve63.f90
A flang/test/Semantics/resolve64.f90
A flang/test/Semantics/resolve65.f90
A flang/test/Semantics/resolve66.f90
A flang/test/Semantics/resolve67.f90
A flang/test/Semantics/resolve68.f90
A flang/test/Semantics/resolve69.f90
A flang/test/Semantics/resolve70.f90
A flang/test/Semantics/resolve71.f90
A flang/test/Semantics/resolve72.f90
A flang/test/Semantics/resolve73.f90
A flang/test/Semantics/resolve74.f90
A flang/test/Semantics/resolve75.f90
A flang/test/Semantics/resolve76.f90
A flang/test/Semantics/resolve77.f90
A flang/test/Semantics/resolve78.f90
A flang/test/Semantics/resolve79.f90
A flang/test/Semantics/resolve80.f90
A flang/test/Semantics/resolve81.f90
A flang/test/Semantics/resolve82.f90
A flang/test/Semantics/resolve83.f90
A flang/test/Semantics/resolve84.f90
A flang/test/Semantics/resolve85.f90
A flang/test/Semantics/resolve86.f90
A flang/test/Semantics/resolve87.f90
A flang/test/Semantics/separate-mp01.f90
A flang/test/Semantics/separate-mp02.f90
A flang/test/Semantics/stop01.f90
A flang/test/Semantics/structconst01.f90
A flang/test/Semantics/structconst02.f90
A flang/test/Semantics/structconst03.f90
A flang/test/Semantics/structconst04.f90
A flang/test/Semantics/symbol01.f90
A flang/test/Semantics/symbol02.f90
A flang/test/Semantics/symbol03.f90
A flang/test/Semantics/symbol05.f90
A flang/test/Semantics/symbol06.f90
A flang/test/Semantics/symbol07.f90
A flang/test/Semantics/symbol08.f90
A flang/test/Semantics/symbol09.f90
A flang/test/Semantics/symbol10.f90
A flang/test/Semantics/symbol11.f90
A flang/test/Semantics/symbol12.f90
A flang/test/Semantics/symbol13.f90
A flang/test/Semantics/symbol14.f90
A flang/test/Semantics/symbol15.f90
A flang/test/Semantics/symbol16.f90
A flang/test/Semantics/symbol17.f90
A flang/test/Semantics/test_any.sh
A flang/test/Semantics/test_errors.sh.in
A flang/test/Semantics/test_modfile.sh
A flang/test/Semantics/test_symbols.sh
A flang/test/lit.cfg.py
A flang/test/lit.site.cfg.py.in
A flang/tools/CMakeLists.txt
A flang/tools/bbc/.clang-format
A flang/tools/f18-parse-demo/CMakeLists.txt
A flang/tools/f18-parse-demo/f18-parse-demo.cpp
A flang/tools/f18-parse-demo/stub-evaluate.cpp
A flang/tools/f18/CMakeLists.txt
A flang/tools/f18/dump.cpp
A flang/tools/f18/f18.cpp
A flang/tools/f18/flang.sh.in
A flang/tools/tco/.clang-format
A flang/tools/tco/CMakeLists.txt
A flang/tools/tco/tco.cpp
A flang/unittests/CMakeLists.txt
A flang/unittests/Decimal/CMakeLists.txt
A flang/unittests/Decimal/quick-sanity-test.cpp
A flang/unittests/Decimal/thorough-test.cpp
A flang/unittests/Evaluate/CMakeLists.txt
A flang/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang/unittests/Evaluate/bit-population-count.cpp
A flang/unittests/Evaluate/expression.cpp
A flang/unittests/Evaluate/folding.cpp
A flang/unittests/Evaluate/fp-testing.cpp
A flang/unittests/Evaluate/fp-testing.h
A flang/unittests/Evaluate/integer.cpp
A flang/unittests/Evaluate/intrinsics.cpp
A flang/unittests/Evaluate/leading-zero-bit-count.cpp
A flang/unittests/Evaluate/logical.cpp
A flang/unittests/Evaluate/real.cpp
A flang/unittests/Evaluate/reshape.cpp
A flang/unittests/Evaluate/testing.cpp
A flang/unittests/Evaluate/testing.h
A flang/unittests/Evaluate/uint128.cpp
A flang/unittests/Runtime/CMakeLists.txt
A flang/unittests/Runtime/external-hello.cpp
A flang/unittests/Runtime/format.cpp
A flang/unittests/Runtime/hello.cpp
A flang/unittests/Runtime/list-input.cpp
A flang/unittests/Runtime/testing.cpp
A flang/unittests/Runtime/testing.h
Log Message:
-----------
[flang] Merge flang-compiler/f18
This is the initial merge of flang-compiler, which is done in this way
principally to preserve the history and git-blame, without generating a large
number of commits on the first-parent history of LLVM.
If you don't care about the flang history during a bisect remember that you can
supply paths to git-bisect, e.g. `git bisect start clang llvm`.
The history of f18 was rewritten to:
* Put the code under /flang/.
* Linearize the history.
* Rewrite commit messages so that issue and PR numbers point to the old repository.
Credit to Peter Waller for writing the flatten and merge script.
Updates: flang-compiler/f18#876 (submission into llvm-project)
Mailing-list: http://lists.llvm.org/pipermail/llvm-dev/2020-January/137989.html ([llvm-dev] Flang landing in the monorepo - next Monday!)
Mailing-list: http://lists.llvm.org/pipermail/llvm-dev/2019-December/137661.html ([llvm-dev] Flang landing in the monorepo)
Co-authored-by: Peter Waller <peter.waller at arm.com>
Commit: d4579b7ef696dc932f3174896ee5de7d235c6462
https://github.com/llvm/llvm-project/commit/d4579b7ef696dc932f3174896ee5de7d235c6462
Author: Eric Schweitz <eschweitz at nvidia.com>
Date: 2020-04-09 (Thu, 09 Apr 2020)
Changed paths:
M llvm/CMakeLists.txt
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[Flang] add flang as a new subproject in cmake
Summary: This patch is some minor prep work for merging the flang(f18) project into the monorepo. This patch adds "flang" as a supported target for the LLVM_ENABLE_PROJECTS option.
Reviewers: fhahn, tstellar, jdoerfert, beanz, DavidTruby
Reviewed By: DavidTruby
Subscribers: hfinkel, DavidTruby, aartbik, mgorny, llvm-commits
Tags: #flang, #llvm
Differential Revision: https://reviews.llvm.org/D72416
Compare: https://github.com/llvm/llvm-project/compare/d08105482e15...d4579b7ef696
More information about the All-commits
mailing list