platform/upstream/llvm.git
5 years ago[flang] Extension: relax "same kind" rules on some intrinsics
peter klausler [Wed, 17 Jul 2019 19:51:52 +0000 (12:51 -0700)]
[flang] Extension: relax "same kind" rules on some intrinsics

Original-commit: flang-compiler/f18@ce5130f84bcb78007180ee87661c84b1483a476c
Reviewed-on: https://github.com/flang-compiler/f18/pull/590
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#580 from flang-compiler/pmk-fixes
Peter Klausler [Tue, 16 Jul 2019 23:05:56 +0000 (16:05 -0700)]
[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@8c63aa94972fb3f7b88f23fa1b78f8b67ffa8732
Reviewed-on: https://github.com/flang-compiler/f18/pull/580

5 years ago[flang] review comment
peter klausler [Tue, 16 Jul 2019 22:45:00 +0000 (15:45 -0700)]
[flang] review comment

Original-commit: flang-compiler/f18@f5c46291ece846986c20dd1dbeeff433e0e20462
Reviewed-on: https://github.com/flang-compiler/f18/pull/580

5 years ago[flang] Fix bug flang-compiler/f18#579 while here
peter klausler [Tue, 16 Jul 2019 22:32:59 +0000 (15:32 -0700)]
[flang] Fix bug flang-compiler/f18#579 while here

Original-commit: flang-compiler/f18@eefbcdcb544573c7cdf5c47e8ff24ed0412f144f
Reviewed-on: https://github.com/flang-compiler/f18/pull/580
Tree-same-pre-rewrite: false

5 years ago[flang] Allow forward references to procedure interfaces in derived types (fixing...
peter klausler [Tue, 16 Jul 2019 21:37:56 +0000 (14:37 -0700)]
[flang] Allow forward references to procedure interfaces in derived types (fixing flang-compiler/f18#571 more)

Original-commit: flang-compiler/f18@c1aeeae7765527c40c1934d4d4d15086bf88758f
Reviewed-on: https://github.com/flang-compiler/f18/pull/580
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#577 from flang-compiler/tsk-issue572
Tim Keith [Tue, 16 Jul 2019 18:09:36 +0000 (11:09 -0700)]
[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@3ed8a8a35619ad3c84bae12ab7f308677b7fb044
Reviewed-on: https://github.com/flang-compiler/f18/pull/577

5 years ago[flang] Allow forward reference to binding name in type-bound generic
Tim Keith [Tue, 16 Jul 2019 00:09:03 +0000 (17:09 -0700)]
[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@d58bb77cfa8cde2838a5eaba3e44956bdaa042e7
Reviewed-on: https://github.com/flang-compiler/f18/pull/577

5 years ago[flang] Merge pull request flang-compiler/f18#565 from flang-compiler/pmk-fixes
Peter Klausler [Tue, 16 Jul 2019 17:55:27 +0000 (10:55 -0700)]
[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@38789942a74f83d38c1132e96708158738ae0784
Reviewed-on: https://github.com/flang-compiler/f18/pull/565

5 years ago[flang] Fix typo
peter klausler [Tue, 16 Jul 2019 17:53:39 +0000 (10:53 -0700)]
[flang] Fix typo

Original-commit: flang-compiler/f18@f7d9f5bd7c6b03344e0cb2030e928cf1945f5d79
Reviewed-on: https://github.com/flang-compiler/f18/pull/565

5 years ago[flang] Address review comment
peter klausler [Tue, 16 Jul 2019 16:56:41 +0000 (09:56 -0700)]
[flang] Address review comment

Original-commit: flang-compiler/f18@5d6749c3d4f5b940a99421ec645961924aa5d8d9
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false

5 years ago[flang] Fix flang-compiler/f18#571: forward reference to interface
peter klausler [Tue, 16 Jul 2019 00:11:54 +0000 (17:11 -0700)]
[flang] Fix flang-compiler/f18#571: forward reference to interface

Original-commit: flang-compiler/f18@5e00d1699c0ca6fe656447ac10c4184b86e8e992
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false

5 years ago[flang] Handle USE and host associations in characteristics analysis
peter klausler [Mon, 15 Jul 2019 20:04:32 +0000 (13:04 -0700)]
[flang] Handle USE and host associations in characteristics analysis

Original-commit: flang-compiler/f18@1625f72e35a4ec5f8626b2dd07776f49f1a84f5a
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false

5 years ago[flang] fix crash in ASSOCIATED() intrinsic with two arguments
peter klausler [Mon, 15 Jul 2019 17:12:46 +0000 (10:12 -0700)]
[flang] fix crash in ASSOCIATED() intrinsic with two arguments

Original-commit: flang-compiler/f18@1a393ff43b627f1cf111d6a8a1a5403e285d7431
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false

5 years ago[flang] Make warning about exponent letters more useful
peter klausler [Thu, 11 Jul 2019 23:09:02 +0000 (16:09 -0700)]
[flang] Make warning about exponent letters more useful

Original-commit: flang-compiler/f18@9c9aaacd7b43c4101140758b1924343b745e1f88
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false

5 years ago[flang] When creating symbols for intrinsics, do not put them in the global scope...
peter klausler [Thu, 11 Jul 2019 22:11:40 +0000 (15:11 -0700)]
[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@9907026609122ed5842340ae5b4de5c353846dec
Reviewed-on: https://github.com/flang-compiler/f18/pull/565
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#552 from flang-compiler/jpr-fix-518
jeanPerier [Tue, 16 Jul 2019 09:20:08 +0000 (02:20 -0700)]
[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@bc3c549d48a4166c63fbfb312adf0fc7079adeb1
Reviewed-on: https://github.com/flang-compiler/f18/pull/552

5 years ago[flang] Add fix for issue flang-compiler/f18#517
Jean Perier [Wed, 10 Jul 2019 15:44:05 +0000 (08:44 -0700)]
[flang] Add fix for issue flang-compiler/f18#517

Original-commit: flang-compiler/f18@d9bb6890d781b85cee4b820fd0c43eacfc7919e6
Reviewed-on: https://github.com/flang-compiler/f18/pull/552

5 years ago[flang] Answer comment: split cannondo new tests
Jean Perier [Wed, 10 Jul 2019 10:53:25 +0000 (03:53 -0700)]
[flang] Answer comment: split cannondo new tests

Original-commit: flang-compiler/f18@7ebf7f72b039385072e6f9fc0e182e8491258f8c
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false

5 years ago[flang] Add non standard feature for labeled do not ending with END DO or CONTINUE
Jean Perier [Tue, 9 Jul 2019 18:54:40 +0000 (11:54 -0700)]
[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@11e1eb6edd4a88b7d6517ecfc3378e95757a3a24
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false

5 years ago[flang] Answer comments
Jean Perier [Tue, 9 Jul 2019 17:40:14 +0000 (10:40 -0700)]
[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@e5ac8a1660511a7e48f0b2075f87ca1d8dbe23d9
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false

5 years ago[flang] Fix issues 518 and 546
Jean Perier [Mon, 8 Jul 2019 16:19:07 +0000 (09:19 -0700)]
[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@91cff2f29698506ac95138107c5f0c625fa237ba
Reviewed-on: https://github.com/flang-compiler/f18/pull/552
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#568 from flang-compiler/tsk-test
Tim Keith [Tue, 16 Jul 2019 00:00:04 +0000 (17:00 -0700)]
[flang] Merge pull request flang-compiler/f18#568 from flang-compiler/tsk-test

Improvements to semantics tests

Original-commit: flang-compiler/f18@4dde0d7daae7504ec87bccbaee5c9909cc406f05
Reviewed-on: https://github.com/flang-compiler/f18/pull/568

5 years ago[flang] Improvements to semantics tests
Tim Keith [Fri, 12 Jul 2019 19:37:16 +0000 (12:37 -0700)]
[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@b62fe489be9aefeebb11954a6436285a1b5e6840
Reviewed-on: https://github.com/flang-compiler/f18/pull/568

5 years ago[flang] Merge pull request flang-compiler/f18#576 from flang-compiler/tsk-pass
Tim Keith [Mon, 15 Jul 2019 21:22:28 +0000 (14:22 -0700)]
[flang] Merge pull request flang-compiler/f18#576 from flang-compiler/tsk-pass

Procedure distinguishability rules for operators

Original-commit: flang-compiler/f18@fc35c3ed0b41e0b722673a421f8b008fffa9d275
Reviewed-on: https://github.com/flang-compiler/f18/pull/576

5 years ago[flang] Procedure distinguishability rules for operators
Tim Keith [Mon, 15 Jul 2019 20:05:42 +0000 (13:05 -0700)]
[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@276bb082060dcbdb7d2b2a7dbe344bb72ecddab6
Reviewed-on: https://github.com/flang-compiler/f18/pull/576

5 years ago[flang] Merge pull request flang-compiler/f18#569 from flang-compiler/pmk-omp
Peter Klausler [Mon, 15 Jul 2019 20:27:15 +0000 (13:27 -0700)]
[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@03786ec4073cd04103a6e4385b0cd1873cebadc7
Reviewed-on: https://github.com/flang-compiler/f18/pull/569

5 years ago[flang] Separate keyword from clauses in provenance of construct directives
peter klausler [Mon, 15 Jul 2019 16:49:25 +0000 (09:49 -0700)]
[flang] Separate keyword from clauses in provenance of construct directives

Original-commit: flang-compiler/f18@9994d2351eb7329e4175dce693089b0a81e198a7
Reviewed-on: https://github.com/flang-compiler/f18/pull/569

5 years ago[flang] Ensure that provenance is preserved in move ctor/assignment of Verbatim
peter klausler [Mon, 15 Jul 2019 16:34:04 +0000 (09:34 -0700)]
[flang] Ensure that provenance is preserved in move ctor/assignment of Verbatim

Original-commit: flang-compiler/f18@fcb5513486ed9efec4d145fdfd253a6a86aafe43
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Complete source provenance on OMP constructs (except ATOMIC)
peter klausler [Fri, 12 Jul 2019 23:16:40 +0000 (16:16 -0700)]
[flang] Complete source provenance on OMP constructs (except ATOMIC)

Original-commit: flang-compiler/f18@8f6e93d579e5a7263296c33323bed5d92c5b8427
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Combine BARRIER/TASKWAIT/TASKYIELD
peter klausler [Fri, 12 Jul 2019 22:27:29 +0000 (15:27 -0700)]
[flang] Combine BARRIER/TASKWAIT/TASKYIELD

Original-commit: flang-compiler/f18@c56c893a05648475eadfeece8fdd02c8b3ef224f
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Convert more empty classes to enums
peter klausler [Fri, 12 Jul 2019 21:23:16 +0000 (14:23 -0700)]
[flang] Convert more empty classes to enums

Original-commit: flang-compiler/f18@9cf8b9eea7162c8cbee347c3e8333bed046011d5
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Change more empty classes into enums
peter klausler [Fri, 12 Jul 2019 20:57:58 +0000 (13:57 -0700)]
[flang] Change more empty classes into enums

Original-commit: flang-compiler/f18@e73b0368b226f72cca7f32ae1742758324700649
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Change some empty classes into enums
peter klausler [Fri, 12 Jul 2019 20:35:22 +0000 (13:35 -0700)]
[flang] Change some empty classes into enums

Original-commit: flang-compiler/f18@652e47455660c7bb5ba41f791f1f42533ac30321
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] more progress
peter klausler [Fri, 12 Jul 2019 19:46:39 +0000 (12:46 -0700)]
[flang] more progress

Original-commit: flang-compiler/f18@1a219e50732ab5bd8c79ec9e85609c0b64598c69
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Eliminate a lot of needless indirection in OMP data structures
peter klausler [Fri, 12 Jul 2019 18:12:34 +0000 (11:12 -0700)]
[flang] Eliminate a lot of needless indirection in OMP data structures

Original-commit: flang-compiler/f18@47c6cb0ba9f1bef1ce50071b18a33c584c2973aa
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Restore alphabetical order to OpenMP nodes in parse tree dumper
peter klausler [Fri, 12 Jul 2019 17:24:53 +0000 (10:24 -0700)]
[flang] Restore alphabetical order to OpenMP nodes in parse tree dumper

Original-commit: flang-compiler/f18@88b1a26035b5be64d4e3f70293555d8ee14b3074
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Define and use OpenMPConstructDirective
peter klausler [Fri, 12 Jul 2019 17:11:01 +0000 (10:11 -0700)]
[flang] Define and use OpenMPConstructDirective

Original-commit: flang-compiler/f18@cd716fa90702613fc1cd1596705dbe6e85b07d57
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Refinements; builds and passes tests again
peter klausler [Fri, 12 Jul 2019 16:30:19 +0000 (09:30 -0700)]
[flang] Refinements; builds and passes tests again

Original-commit: flang-compiler/f18@a83410a4400a05b2b21e0207c605b5351bda6dbe
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Add "..."_id token syntax for complete tokens with lookahead
peter klausler [Thu, 11 Jul 2019 23:50:43 +0000 (16:50 -0700)]
[flang] Add "..."_id token syntax for complete tokens with lookahead

Original-commit: flang-compiler/f18@19695ccfa4f2db50fb65af3f4db1bb595ef2f568
Reviewed-on: https://github.com/flang-compiler/f18/pull/569
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#567 from flang-compiler/tsk-pass-2
Tim Keith [Mon, 15 Jul 2019 19:45:40 +0000 (12:45 -0700)]
[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@c87fbc387f8a7fbe82334427ed5280e2ef906ae6
Reviewed-on: https://github.com/flang-compiler/f18/pull/567

5 years ago[flang] Use passed-object dummy in distinguishability checks
Tim Keith [Fri, 12 Jul 2019 19:12:12 +0000 (12:12 -0700)]
[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@2751490f95fa5ca321c912330aca1091cdbc2f70
Reviewed-on: https://github.com/flang-compiler/f18/pull/567

5 years ago[flang] Add IsGlobal and IsDerivedType to Scope
Tim Keith [Thu, 11 Jul 2019 16:27:25 +0000 (09:27 -0700)]
[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@aebb2379d71fbc00f544cc7d831e032fd60564a1
Reviewed-on: https://github.com/flang-compiler/f18/pull/567
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#566 from flang-compiler/by-mp-validity
Jinxin (Brian) Yang [Thu, 11 Jul 2019 23:32:34 +0000 (16:32 -0700)]
[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@ade72d803d2b795d30244a4f9e72c5f26dafd454
Reviewed-on: https://github.com/flang-compiler/f18/pull/566

5 years ago[flang] Ensure that no OMP clause is a prefix of a later one in the grammar; then...
peter klausler [Thu, 11 Jul 2019 20:54:12 +0000 (13:54 -0700)]
[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@7f4b4f8e74d003e87523ae62e7c1a82b8441299a
Reviewed-on: https://github.com/flang-compiler/f18/pull/566

5 years ago[flang] add ORDERED construct w/ THREADS and SIMD clauses (parse error)
Jinxin Yang [Thu, 11 Jul 2019 19:19:51 +0000 (12:19 -0700)]
[flang] add ORDERED construct w/ THREADS and SIMD clauses (parse error)

Original-commit: flang-compiler/f18@23a71aed74ee34ddd4dbf80ac3f906bf8c255bd9
Reviewed-on: https://github.com/flang-compiler/f18/pull/566
Tree-same-pre-rewrite: false

5 years ago[flang] Examples of Composite and Combined constructs (flang-compiler/f18#558)
Jinxin (Brian) Yang [Thu, 11 Jul 2019 22:18:09 +0000 (15:18 -0700)]
[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@75d9c1a081474c02a3e106ac13924134e06793ca
Reviewed-on: https://github.com/flang-compiler/f18/pull/558

5 years ago[flang] Merge pull request flang-compiler/f18#561 from flang-compiler/pmk-fixes
Peter Klausler [Thu, 11 Jul 2019 20:00:21 +0000 (13:00 -0700)]
[flang] Merge pull request flang-compiler/f18#561 from flang-compiler/pmk-fixes

Better name resolution for intrinsics

Original-commit: flang-compiler/f18@33aceaec8f1fffbaa959806fea479af6bf602a6b
Reviewed-on: https://github.com/flang-compiler/f18/pull/561

5 years ago[flang] Better name resolution for intrinsics
peter klausler [Thu, 11 Jul 2019 18:34:01 +0000 (11:34 -0700)]
[flang] Better name resolution for intrinsics

Original-commit: flang-compiler/f18@31fd9c82e9bd90b03bd37accd3d9f187ccbfa979
Reviewed-on: https://github.com/flang-compiler/f18/pull/561

5 years ago[flang] Merge pull request flang-compiler/f18#559 from flang-compiler/tsk-symbols3
Tim Keith [Thu, 11 Jul 2019 15:52:52 +0000 (08:52 -0700)]
[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@e133247901d9618cca73dd5557923ff642da93cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/559

5 years ago[flang] Change two member functions of DerivedTypeDetails to non-member
Tim Keith [Thu, 11 Jul 2019 13:29:31 +0000 (06:29 -0700)]
[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@81710d4e6ec9e316d95b955a1efd253d9c485fef
Reviewed-on: https://github.com/flang-compiler/f18/pull/559

5 years ago[flang] Move various Instantiate functions to tools.cc
Tim Keith [Thu, 11 Jul 2019 01:20:27 +0000 (18:20 -0700)]
[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@48c6efbf95390446fa10ca61b3e7f6b7db6c836d
Reviewed-on: https://github.com/flang-compiler/f18/pull/559
Tree-same-pre-rewrite: false

5 years ago[flang] Fix formatting
Tim Keith [Thu, 11 Jul 2019 00:49:28 +0000 (17:49 -0700)]
[flang] Fix formatting

Original-commit: flang-compiler/f18@bef7ddd43b155417657aefaf284ffc1b28d2b8d6
Reviewed-on: https://github.com/flang-compiler/f18/pull/559
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#557 from flang-compiler/pmk-fixes
Peter Klausler [Wed, 10 Jul 2019 23:50:43 +0000 (16:50 -0700)]
[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@537a501f4770a07a99a80639a11db803ee44e9a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/557

5 years ago[flang] Update grammar and a test in light of C1516
peter klausler [Wed, 10 Jul 2019 23:41:18 +0000 (16:41 -0700)]
[flang] Update grammar and a test in light of C1516

Original-commit: flang-compiler/f18@df4ddccde7e3f8caf9dc3784396b1ee419df5099
Reviewed-on: https://github.com/flang-compiler/f18/pull/557

5 years ago[flang] Add -fxor-operator
peter klausler [Wed, 10 Jul 2019 22:05:13 +0000 (15:05 -0700)]
[flang] Add -fxor-operator

Original-commit: flang-compiler/f18@b8365afc91f8e99c2e4cfb79d8ea9bf60a4b99f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Update tests
peter klausler [Wed, 10 Jul 2019 22:04:51 +0000 (15:04 -0700)]
[flang] Update tests

Original-commit: flang-compiler/f18@aa18f1bca5ad918d0cb92735b9557c4b5217262e
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Fix name resolution with directly recursive calls.
peter klausler [Wed, 10 Jul 2019 22:04:39 +0000 (15:04 -0700)]
[flang] Fix name resolution with directly recursive calls.

Original-commit: flang-compiler/f18@b8e8610430049e9b1da1d4df0c942310d06ac3b0
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Do not emit PROCEDURE(TYPE(REAL)), pgf90 cannot deal. Use PROCEDURE(REAL).
peter klausler [Wed, 10 Jul 2019 22:03:53 +0000 (15:03 -0700)]
[flang] Do not emit PROCEDURE(TYPE(REAL)), pgf90 cannot deal.  Use PROCEDURE(REAL).

Original-commit: flang-compiler/f18@ee5f3923814b6f85262bf2dfa43371126f07305f
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Document preprocessing of Fortran comments in macro actual args
peter klausler [Wed, 10 Jul 2019 22:03:02 +0000 (15:03 -0700)]
[flang] Document preprocessing of Fortran comments in macro actual args

Original-commit: flang-compiler/f18@f491b73636fe95ede63d9f402d14e6f29250f95b
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Allow BOZ argument to more intrinsics; generalize BOZ conversions in folding
peter klausler [Tue, 9 Jul 2019 18:54:11 +0000 (11:54 -0700)]
[flang] Allow BOZ argument to more intrinsics; generalize BOZ conversions in folding

Original-commit: flang-compiler/f18@6df0136ee889f3c27b33d3ddac970af1b7a52c68
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Remove reference to EUC_JP from test
peter klausler [Tue, 9 Jul 2019 18:53:29 +0000 (11:53 -0700)]
[flang] Remove reference to EUC_JP from test

Original-commit: flang-compiler/f18@ca5c812994a4dd3ea948d54a62a4271dceef3fce
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Update extension documentation
peter klausler [Tue, 9 Jul 2019 18:53:11 +0000 (11:53 -0700)]
[flang] Update extension documentation

Original-commit: flang-compiler/f18@40b44b2e3a087fad4f95009c6e7b345dab970fbb
Reviewed-on: https://github.com/flang-compiler/f18/pull/557
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#551 from flang-compiler/ps-shared-locality
psteinfeld [Wed, 10 Jul 2019 20:02:52 +0000 (13:02 -0700)]
[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@b553d3857cb38044fcada5641635c8045f514ab0
Reviewed-on: https://github.com/flang-compiler/f18/pull/551

5 years ago[flang] Improved warning message base on feedback from Peter.
Peter Steinfeld [Wed, 10 Jul 2019 19:53:03 +0000 (12:53 -0700)]
[flang] Improved warning message base on feedback from Peter.

Original-commit: flang-compiler/f18@030f36432455e48996bd200df5e5c5d6f1d4ef53
Reviewed-on: https://github.com/flang-compiler/f18/pull/551

5 years ago[flang] Changed the warning as recommended.
Peter Steinfeld [Tue, 9 Jul 2019 16:15:10 +0000 (09:15 -0700)]
[flang] Changed the warning as recommended.

Original-commit: flang-compiler/f18@7887331705113619c0710f7052da390b2ac188e3
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Tree-same-pre-rewrite: false

5 years ago[flang] Changes related to feedback from pull request flang-compiler/f18#551
Peter Steinfeld [Mon, 8 Jul 2019 22:35:24 +0000 (15:35 -0700)]
[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@0c1a00d7c2c67064801f9f6fb37c0a26224c0ea4
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Tree-same-pre-rewrite: false

5 years ago[flang] Enabling automatic declaration of names in SHARED locality-spec's
Peter Steinfeld [Thu, 4 Jul 2019 00:14:12 +0000 (17:14 -0700)]
[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@d9253a76fcbc49df11c017557b365dfeed7c2b3b
Reviewed-on: https://github.com/flang-compiler/f18/pull/551
Tree-same-pre-rewrite: false

5 years ago[flang] 2.8.1 SIMD structural checks (flang-compiler/f18#554)
Jinxin (Brian) Yang [Tue, 9 Jul 2019 21:08:50 +0000 (14:08 -0700)]
[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@cf04d8ad26fc392822335a529430afb65421d7b4
Reviewed-on: https://github.com/flang-compiler/f18/pull/554

5 years ago[flang] Merge pull request flang-compiler/f18#553 from flang-compiler/pmk-fixes
Peter Klausler [Mon, 8 Jul 2019 23:16:55 +0000 (16:16 -0700)]
[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@afe12f7f4b36ad3c1f798a658f1febcfd7eb1caf
Reviewed-on: https://github.com/flang-compiler/f18/pull/553

5 years ago[flang] Fix regressions found in testing
peter klausler [Mon, 8 Jul 2019 23:02:50 +0000 (16:02 -0700)]
[flang] Fix regressions found in testing

Original-commit: flang-compiler/f18@ea09b191dfbcb00097a44df3aae3bdbd5f6e8392
Reviewed-on: https://github.com/flang-compiler/f18/pull/553

5 years ago[flang] Support *length character length specifiers
peter klausler [Mon, 8 Jul 2019 21:07:56 +0000 (14:07 -0700)]
[flang] Support *length character length specifiers

Original-commit: flang-compiler/f18@874b13b7d85837ddf9b76568ee3cd41cf28eb19b
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false

5 years ago[flang] Resolve merge
peter klausler [Mon, 8 Jul 2019 17:44:43 +0000 (10:44 -0700)]
[flang] Resolve merge

Original-commit: flang-compiler/f18@44743f1fa9377ec6d5929dfe2227295d33ca5673
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false

5 years ago[flang] Document non-standard use of larger INTEGER for sizes
peter klausler [Mon, 8 Jul 2019 17:44:14 +0000 (10:44 -0700)]
[flang] Document non-standard use of larger INTEGER for sizes

Original-commit: flang-compiler/f18@edc79c4257079378df534247858832dba7a35920
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false

5 years ago[flang] Fix multi-file compilations in throwaway driver
peter klausler [Mon, 8 Jul 2019 17:43:42 +0000 (10:43 -0700)]
[flang] Fix multi-file compilations in throwaway driver

Original-commit: flang-compiler/f18@7954d0aecf6874027fb138a45485b3a9701db334
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false

5 years ago[flang] Crash less
peter klausler [Wed, 3 Jul 2019 22:59:23 +0000 (15:59 -0700)]
[flang] Crash less

Original-commit: flang-compiler/f18@e8ac1a697d7682bdcd7c5e1dc75d2445b92333bd
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false

5 years ago[flang] Avoid null pointer dereference
peter klausler [Wed, 3 Jul 2019 22:16:36 +0000 (15:16 -0700)]
[flang] Avoid null pointer dereference

Original-commit: flang-compiler/f18@3c108c0edcdbf67e75039ddcefba74598905e87c
Reviewed-on: https://github.com/flang-compiler/f18/pull/553
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#550 from flang-compiler/tsk-bug
Tim Keith [Wed, 3 Jul 2019 22:54:27 +0000 (15:54 -0700)]
[flang] Merge pull request flang-compiler/f18#550 from flang-compiler/tsk-bug

Prevent segfault in DynamicType::IsTkCompatibleWith

Original-commit: flang-compiler/f18@8ff0df020b09b1df135f5c0bb4bb68ae93a6f992
Reviewed-on: https://github.com/flang-compiler/f18/pull/550

5 years ago[flang] Prevent segfault in DynamicType::IsTkCompatibleWith
Tim Keith [Wed, 3 Jul 2019 22:47:37 +0000 (15:47 -0700)]
[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@2db516556b1509a8519ce91013f49431b6d43d22
Reviewed-on: https://github.com/flang-compiler/f18/pull/550

5 years ago[flang] Merge pull request flang-compiler/f18#542 from flang-compiler/ps-c1128
psteinfeld [Wed, 3 Jul 2019 21:28:49 +0000 (14:28 -0700)]
[flang] Merge pull request flang-compiler/f18#542 from flang-compiler/ps-c1128

Enforce constraint C1128 for DO CONCURRENT locality-spec's

Original-commit: flang-compiler/f18@248600031d8fc500edc3e97e8921a0bad64681de
Reviewed-on: https://github.com/flang-compiler/f18/pull/542

5 years ago[flang] Improved the implementation of "IsCoarray()" suggested by @tskeith.
Peter Steinfeld [Wed, 3 Jul 2019 20:49:12 +0000 (13:49 -0700)]
[flang] Improved the implementation of "IsCoarray()" suggested by @tskeith.

Original-commit: flang-compiler/f18@efaf5fca2e5acabd052eb6e4962aa92ce29aa2d5
Reviewed-on: https://github.com/flang-compiler/f18/pull/542

5 years ago[flang] Changes in response to comments on pull request flang-compiler/f18#542.
Peter Steinfeld [Wed, 3 Jul 2019 03:34:27 +0000 (20:34 -0700)]
[flang] Changes in response to comments on pull request flang-compiler/f18#542.

Original-commit: flang-compiler/f18@e156f977d856842bd8fe13d46133e5445404ee4d
Reviewed-on: https://github.com/flang-compiler/f18/pull/542
Tree-same-pre-rewrite: false

5 years ago[flang] Enforce constraint C1128 for DO CONCURRENT locality-spec's
Peter Steinfeld [Tue, 2 Jul 2019 19:10:09 +0000 (12:10 -0700)]
[flang] Enforce constraint C1128 for DO CONCURRENT locality-spec's

These changes implement most of the requirements for C1128, which says: "A
variable-name that appears in a LOCAL or LOCAL_INIT locality-spec shall not
have the ALLOCATABLE; INTENT (IN); or OPTIONAL attribute; shall not be of
finalizable type; shall not be a nonpointer polymorphic dummy argument; and
shall not be a coarray or an assumed-size array.  A variable-name that is not
permitted to appear in a variable definition context shall not appear in a
LOCAL or LOCAL_INIT locality-spec."

The changes do not implement the checking required to determine whether a
variable can appear in a "variable definition context".

Here's a summary of the changes:
 - I created the function 'PassesLocalityChecks()' to enforce C1128 along with
   C1124, C1125, and C1126.
 - I cleaned up the code to check if a type or symbol is a coarray.
 - I added functions to tools.[h,cc] to test if a symbol is OPTIONAL, INTENT
   IN, finalizable, a coarray, or an assumed size array.  Should these be
   member functions of the type "Symbol"?
 - Since I changed one of the locality related error messages, I needed to
   change the test resolve35.f90.
 - I added the test resolve55.f90 to test all of the checks implemented in this
   update.

Original-commit: flang-compiler/f18@4ca5d090b9f9a82dd06cf46028586b1c7474f845
Reviewed-on: https://github.com/flang-compiler/f18/pull/542
Tree-same-pre-rewrite: false

5 years ago[flang] 2.7.1 DO: Checks about clause arguments that allow Int Expr (flang-compiler...
Jinxin (Brian) Yang [Wed, 3 Jul 2019 21:24:37 +0000 (14:24 -0700)]
[flang] 2.7.1 DO: Checks about clause arguments that allow Int Expr (flang-compiler/f18#540)

All the IntExpr argument checks are done through evaluating the result of GetIntValue. If the argument is non-constant integer expr, Expression Analysis will be the gatekeeper.

Original-commit: flang-compiler/f18@d8c4804828c1f9f68088940a50c1380a18a72987
Reviewed-on: https://github.com/flang-compiler/f18/pull/540

5 years ago[flang] Merge pull request flang-compiler/f18#548 from flang-compiler/pmk-fixes
Peter Klausler [Wed, 3 Jul 2019 21:22:14 +0000 (14:22 -0700)]
[flang] Merge pull request flang-compiler/f18#548 from flang-compiler/pmk-fixes

Fix FINDLOC for Character data

Original-commit: flang-compiler/f18@74a5c2a529b43c72f69e774cbd4959f153d68c98
Reviewed-on: https://github.com/flang-compiler/f18/pull/548

5 years ago[flang] Quick additional fix for crashes on statement functions without arguments
peter klausler [Wed, 3 Jul 2019 20:04:56 +0000 (13:04 -0700)]
[flang] Quick additional fix for crashes on statement functions without arguments

Original-commit: flang-compiler/f18@79779967a97948ce44e29c0475cb78af9c2f80c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/548

5 years ago[flang] Trim duplicate error messages on intrinsics, and fix FINDLOC for Character...
peter klausler [Wed, 3 Jul 2019 19:19:35 +0000 (12:19 -0700)]
[flang] Trim duplicate error messages on intrinsics, and fix FINDLOC for Character data.

Original-commit: flang-compiler/f18@48ab22e2130994653c5585cb290512543a3f599f
Reviewed-on: https://github.com/flang-compiler/f18/pull/548
Tree-same-pre-rewrite: false

5 years ago[flang] Merge pull request flang-compiler/f18#545 from flang-compiler/pmk-more-fixes
Peter Klausler [Wed, 3 Jul 2019 19:04:16 +0000 (12:04 -0700)]
[flang] Merge pull request flang-compiler/f18#545 from flang-compiler/pmk-more-fixes

Fix some crashes

Original-commit: flang-compiler/f18@dcf5990e85f1f39cead11ac0a25e7ff074593491
Reviewed-on: https://github.com/flang-compiler/f18/pull/545

5 years ago[flang] Graceful handling of failure in LEN() (fixes crashes)
peter klausler [Wed, 3 Jul 2019 17:25:43 +0000 (10:25 -0700)]
[flang] Graceful handling of failure in LEN() (fixes crashes)

Original-commit: flang-compiler/f18@8bab36574dd9b926f1e425559c69ba2b07fb8308
Reviewed-on: https://github.com/flang-compiler/f18/pull/545

5 years ago[flang] Avoid CHECK in error recovery situation with bad array bound
peter klausler [Tue, 2 Jul 2019 20:47:02 +0000 (13:47 -0700)]
[flang] Avoid CHECK in error recovery situation with bad array bound

Original-commit: flang-compiler/f18@d522c0da214444dc92df223c8ad028cda7579d84
Reviewed-on: https://github.com/flang-compiler/f18/pull/545
Tree-same-pre-rewrite: false

5 years ago[flang] A minimal PRINT Enter function requires a minimal PRINT Leave function. ...
vdonaldson [Wed, 3 Jul 2019 16:59:59 +0000 (09:59 -0700)]
[flang] A minimal PRINT Enter function requires a minimal PRINT Leave function. (flang-compiler/f18#543)

Fixes flang-compiler/f18#541

Original-commit: flang-compiler/f18@8f3c5481e15409b24fcf04c7b0e66f96e069bb4d
Reviewed-on: https://github.com/flang-compiler/f18/pull/543

5 years ago[flang] Merge pull request flang-compiler/f18#539 from flang-compiler/tsk1
Tim Keith [Tue, 2 Jul 2019 21:00:44 +0000 (14:00 -0700)]
[flang] Merge pull request flang-compiler/f18#539 from flang-compiler/tsk1

Check that procedures of a generic are distinguishable

Original-commit: flang-compiler/f18@a24701e313019dbf84179b79e234f92d61de0fa6
Reviewed-on: https://github.com/flang-compiler/f18/pull/539

Due to a conflicting rebase during the linearizing of flang-compiler/f18, this commit squashes a number of other commits:

flang-compiler/f18@9b1343af36bd27b110f31dab39c3a18a657a5760 Some cleanup in characteristics.{h,cc}
flang-compiler/f18@ddb70e53d2b4e2bba12686e4ac3c26052758fcc3 Merge branch 'master' of github.com:flang-compiler/f18 into tsk1
flang-compiler/f18@d1eef9506610a427f992180f6b59cafe09abb9b9 Merge branch 'master' of github.com:flang-compiler/f18 into tsk1
flang-compiler/f18@24a6d3ffbf4d26d92222b27faa155bb5b3f517f4 Make test_folding.sh stricter in test for warnings
flang-compiler/f18@c2c5b640604acceb45823de8cb5716d6921da7d4 Replace SymbolList with SymbolVector
flang-compiler/f18@c8499584dff12381c2ce6d4718761cd225b4d97a Add CopyAttrs to copy attributes from Symbol
flang-compiler/f18@0573ffd8b2ed5757e06a4fc6d5ffc4401e800c32 Replace cascading detailsIf calls with std::visit
flang-compiler/f18@28ec62b3ffeec1d25fde330069b050655bb52a5d Add name to characteristics::DummyArgument
flang-compiler/f18@568eaf01145d4ee979423d06f2a65d07222f6841 Add name to CopySymbol()
flang-compiler/f18@8c557b09e752da205cd300f63b5ca69806fb2e78 Check that procedures of a generic are distinguishable
flang-compiler/f18@50515fd987fd5479567e1b497f6ba93974ffde76 Merge branch 'master' of github.com:flang-compiler/f18 into tsk1
flang-compiler/f18@a7963e98a4aedc97784b99903d04cdc48fd4c346 Address review comments
flang-compiler/f18@edd65b3962dbaa1121c166d47c90730e39c25a04 Merge branch 'master' of github.com:flang-compiler/f18 into tsk1

5 years ago[flang] Merge pull request flang-compiler/f18#538 from flang-compiler/pmk-fixes
Peter Klausler [Tue, 2 Jul 2019 17:01:46 +0000 (10:01 -0700)]
[flang] Merge pull request flang-compiler/f18#538 from flang-compiler/pmk-fixes

Semantics for LOC() & %LOC()

Original-commit: flang-compiler/f18@770ed618052705b358aeffbaad7ae75a335ba84f
Reviewed-on: https://github.com/flang-compiler/f18/pull/538

5 years ago[flang] Use enums instead of magic int values
peter klausler [Tue, 2 Jul 2019 16:16:08 +0000 (09:16 -0700)]
[flang] Use enums instead of magic int values

Original-commit: flang-compiler/f18@238f84c2fbe65ac03efc748cf31f6f96b6fc4561
Reviewed-on: https://github.com/flang-compiler/f18/pull/538

5 years ago[flang] Use LOC() in iso_c_binding for C_LOC and C_FUNLOC
peter klausler [Mon, 1 Jul 2019 23:54:53 +0000 (16:54 -0700)]
[flang] Use LOC() in iso_c_binding for C_LOC and C_FUNLOC

Original-commit: flang-compiler/f18@da02305d1baed2e4862568e00810495e7d5dd65b
Reviewed-on: https://github.com/flang-compiler/f18/pull/538
Tree-same-pre-rewrite: false

5 years ago[flang] clean up for review
peter klausler [Mon, 1 Jul 2019 20:54:34 +0000 (13:54 -0700)]
[flang] clean up for review

Original-commit: flang-compiler/f18@9bf94ea39c33be8136ee0c0dd832e382bcd76907
Reviewed-on: https://github.com/flang-compiler/f18/pull/538
Tree-same-pre-rewrite: false

5 years ago[flang] Add LOC()/%LOC() intrinsics
peter klausler [Mon, 1 Jul 2019 20:22:22 +0000 (13:22 -0700)]
[flang] Add LOC()/%LOC() intrinsics

Original-commit: flang-compiler/f18@3a6b90c9f5c1a21a40323e56e2c26f6161d2f79c
Reviewed-on: https://github.com/flang-compiler/f18/pull/538
Tree-same-pre-rewrite: false

5 years ago[flang] Structural checks for DO construct (flang-compiler/f18#536)
Jinxin (Brian) Yang [Mon, 1 Jul 2019 20:55:06 +0000 (13:55 -0700)]
[flang] Structural checks for DO construct (flang-compiler/f18#536)

Most restrictions in 2.7.1 Loop construct, nesting checks are still on TODO list.

seenClauses (EnumSet) is dropped. A multimap clauseInfo is added to save the encountering clause and its parser tree node pointer (parser::OmpClause) and to do the checks after walking through all the clauses.

Original-commit: flang-compiler/f18@f79735768265ace3dcd2a5e1f7fbe4d770c379f6
Reviewed-on: https://github.com/flang-compiler/f18/pull/536

5 years ago[flang] Merge pull request flang-compiler/f18#537 from schweitzpgi/master
Eric Schweitz [Mon, 1 Jul 2019 16:35:03 +0000 (09:35 -0700)]
[flang] Merge pull request flang-compiler/f18#537 from schweitzpgi/master

Fix a typo in Extract_Value description.

Original-commit: flang-compiler/f18@b0b88d905c274b9d9553e59dd68666dda74f30f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/537

5 years ago[flang] Fix a typo in Extract_Value description.
Eric Schweitz [Mon, 1 Jul 2019 16:10:49 +0000 (09:10 -0700)]
[flang] Fix a typo in Extract_Value description.

Original-commit: flang-compiler/f18@873a6678da233108621824fc9d354eb27cbe7982
Reviewed-on: https://github.com/flang-compiler/f18/pull/537

5 years ago[flang] Merge pull request flang-compiler/f18#535 from flang-compiler/pmk-no-nchar
Peter Klausler [Fri, 28 Jun 2019 21:02:44 +0000 (14:02 -0700)]
[flang] Merge pull request flang-compiler/f18#535 from flang-compiler/pmk-no-nchar

Extirpate NCHARACTER type, NC"" literals, and EUC-JP Hollerith

Original-commit: flang-compiler/f18@62b19842bc2352917baf71443604357e78a99b9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/535