platform/upstream/llvm.git
4 years ago[flang] Removing TODO comments as they are implemented by this patch
Caroline Concatto [Wed, 7 Aug 2019 07:47:04 +0000 (08:47 +0100)]
[flang] Removing TODO comments as they are implemented by this patch

Original-commit: flang-compiler/f18@885eb92b4f8ce07fc39af3655f6c04b74a10a9fa
Reviewed-on: https://github.com/flang-compiler/f18/pull/584

4 years ago[flang] Removing two sentence error
Caroline Concatto [Tue, 6 Aug 2019 08:26:40 +0000 (09:26 +0100)]
[flang] Removing two sentence error

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

4 years ago[flang] Changes in SaveStmt message for Common Block name specifier
Caroline Concatto [Tue, 23 Jul 2019 09:29:53 +0000 (10:29 +0100)]
[flang] Changes in SaveStmt  message for Common Block name specifier

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

4 years ago[flang] Changes requested by the comunity
Caroline Concatto [Mon, 22 Jul 2019 14:35:51 +0000 (15:35 +0100)]
[flang] Changes requested by the comunity

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

5 years ago[flang] Adding semantic checks for Block Construct
Caroline Concatto [Wed, 17 Jul 2019 10:24:42 +0000 (11:24 +0100)]
[flang] Adding semantic checks for Block Construct

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

4 years ago[flang] Merge pull request flang-compiler/f18#630 from flang-compiler/tsk-array-spec
Tim Keith [Wed, 7 Aug 2019 18:18:50 +0000 (11:18 -0700)]
[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@14a38209a9b08a65e919848207eb45421a168ef2
Reviewed-on: https://github.com/flang-compiler/f18/pull/630

4 years ago[flang] Fix errors in tests and predefined modules
Tim Keith [Tue, 6 Aug 2019 21:14:33 +0000 (14:14 -0700)]
[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@0a959ce1d81dd2e54b72886db699b12c7ad59d88
Reviewed-on: https://github.com/flang-compiler/f18/pull/630

4 years ago[flang] Improve failure message from test_modfile.sh
Tim Keith [Tue, 6 Aug 2019 20:55:56 +0000 (13:55 -0700)]
[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@4a0d0d19a0010b9342425a9b7f1db3ce4dada661
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false

4 years ago[flang] Perform more checks on array-specs
Tim Keith [Tue, 6 Aug 2019 20:48:13 +0000 (13:48 -0700)]
[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@f159d97f1f1e02b4d66e410b0f5a587f3c8fc51a
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false

4 years ago[flang] Change `ArraySpec` from a type alias to a class
Tim Keith [Tue, 6 Aug 2019 20:36:18 +0000 (13:36 -0700)]
[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@7ef7ad63594db9c41a0889d2ad419dbdf841cb6f
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false

4 years ago[flang] Change parsing of ambiguous array-spec
Tim Keith [Tue, 6 Aug 2019 17:20:16 +0000 (10:20 -0700)]
[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@78c3f3b96f78e45b1b9966b331d8cda691fa39bd
Reviewed-on: https://github.com/flang-compiler/f18/pull/630
Tree-same-pre-rewrite: false

4 years ago[flang] Add operator<< for parser::CharBlock
Tim Keith [Tue, 6 Aug 2019 17:08:51 +0000 (10:08 -0700)]
[flang] Add operator<< for parser::CharBlock

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

4 years ago[flang] Merge pull request flang-compiler/f18#633 from flang-compiler/pmk-warnings
Peter Klausler [Wed, 7 Aug 2019 17:41:39 +0000 (10:41 -0700)]
[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@2aa98a9d4d868ee18b43b2bcc70fd8831753c4fe
Reviewed-on: https://github.com/flang-compiler/f18/pull/633

4 years ago[flang] Dodge two bogus warnings from g++ 8.1
peter klausler [Wed, 7 Aug 2019 16:18:20 +0000 (09:18 -0700)]
[flang] Dodge two bogus warnings from g++ 8.1

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

4 years ago[flang] Merge pull request flang-compiler/f18#615 from flang-compiler/jpr-fix-581
jeanPerier [Wed, 7 Aug 2019 10:39:52 +0000 (03:39 -0700)]
[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@4670ae020b45848380fe0150b48a45b46aab0402
Reviewed-on: https://github.com/flang-compiler/f18/pull/615

4 years ago[flang] Answer comments
Jean Perier [Tue, 6 Aug 2019 11:40:43 +0000 (04:40 -0700)]
[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@bcc300e7141db6f692579e1327557c9831b9c85a
Reviewed-on: https://github.com/flang-compiler/f18/pull/615

4 years ago[flang] Fix ParamValue attribute (kind/len) of implicit type parameters
Jean Perier [Fri, 2 Aug 2019 13:38:40 +0000 (06:38 -0700)]
[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@57a344b25607903638be6df47155bfe5515fff3a
Reviewed-on: https://github.com/flang-compiler/f18/pull/615
Tree-same-pre-rewrite: false

4 years ago[flang] Fix extended derived type kind compatibility check
Jean Perier [Fri, 2 Aug 2019 13:32:35 +0000 (06:32 -0700)]
[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@cd5b976fc96ec695d46f23910080cbcaa5431a5d
Reviewed-on: https://github.com/flang-compiler/f18/pull/615
Tree-same-pre-rewrite: false

4 years ago[flang] [OpenMP] parse tree changes for standalone directives (flang-compiler/f18...
Jinxin (Brian) Yang [Tue, 6 Aug 2019 18:59:40 +0000 (11:59 -0700)]
[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@a77aa7ed84880927dea3e2b1bb6433350f99f1ac
Reviewed-on: https://github.com/flang-compiler/f18/pull/627

4 years ago[flang] Merge pull request flang-compiler/f18#612 from flang-compiler/ps-c1130
psteinfeld [Tue, 6 Aug 2019 17:20:22 +0000 (10:20 -0700)]
[flang] Merge pull request flang-compiler/f18#612 from flang-compiler/ps-c1130

Changes to enforce constraint C1130

Original-commit: flang-compiler/f18@88af7ce563eb1bff0f5ed32ea3f2fb10feea66d0
Reviewed-on: https://github.com/flang-compiler/f18/pull/612

4 years ago[flang] Responses to review comments.
Peter Steinfeld [Mon, 5 Aug 2019 20:36:01 +0000 (13:36 -0700)]
[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@085b2c18f3b6393a25beaa760a9d88a8ebd483f5
Reviewed-on: https://github.com/flang-compiler/f18/pull/612

4 years ago[flang] Changes to enforce constraint C1130.
Peter Steinfeld [Wed, 31 Jul 2019 21:01:31 +0000 (14:01 -0700)]
[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@2369aa805e36acafc2c59063cff3c4f5ae58be1a
Reviewed-on: https://github.com/flang-compiler/f18/pull/612
Tree-same-pre-rewrite: false

4 years ago[flang] Noted the constraint being tested.
Peter Steinfeld [Wed, 31 Jul 2019 17:31:19 +0000 (10:31 -0700)]
[flang] Noted the constraint being tested.

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

4 years ago[flang] [OpenMP] parse tree changes for declarative directives (flang-compiler/f18...
Jinxin (Brian) Yang [Mon, 5 Aug 2019 21:51:02 +0000 (14:51 -0700)]
[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@433e274f6876d5f0d6e2cc2e7e8c47ab01c07cc6
Reviewed-on: https://github.com/flang-compiler/f18/pull/620

4 years ago[flang] Merge pull request flang-compiler/f18#623 from flang-compiler/pmk-fixes
Peter Klausler [Mon, 5 Aug 2019 20:19:29 +0000 (13:19 -0700)]
[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@2cd989479c3463b93067a2add5725ec591016d29
Reviewed-on: https://github.com/flang-compiler/f18/pull/623

4 years ago[flang] Remove obsolete code
peter klausler [Mon, 5 Aug 2019 19:47:43 +0000 (12:47 -0700)]
[flang] Remove obsolete code

Original-commit: flang-compiler/f18@81a97453a82e2b9773ee02eb43d78fac7c4ede52
Reviewed-on: https://github.com/flang-compiler/f18/pull/623

4 years ago[flang] Fold SIGN()
peter klausler [Mon, 5 Aug 2019 19:44:36 +0000 (12:44 -0700)]
[flang] Fold SIGN()

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

4 years ago[flang] Fold DIGITS
peter klausler [Mon, 5 Aug 2019 17:46:54 +0000 (10:46 -0700)]
[flang] Fold DIGITS

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

4 years ago[flang] Add DIGITS to intrinsic function table; fix results of some others
peter klausler [Mon, 5 Aug 2019 16:42:06 +0000 (09:42 -0700)]
[flang] Add DIGITS to intrinsic function table; fix results of some others

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

4 years ago[flang] Merge pull request flang-compiler/f18#619 from flang-compiler/klausler-patch-1
Peter Klausler [Fri, 2 Aug 2019 23:52:57 +0000 (16:52 -0700)]
[flang] Merge pull request flang-compiler/f18#619 from flang-compiler/klausler-patch-1

Update Extensions.md

Original-commit: flang-compiler/f18@6e4f320aeb86a78eebb81b7702fcb73c7423e00f
Reviewed-on: https://github.com/flang-compiler/f18/pull/619

4 years ago[flang] Update Extensions.md
Peter Klausler [Fri, 2 Aug 2019 22:42:54 +0000 (15:42 -0700)]
[flang] Update Extensions.md

Add note about type parameter declarations needing to come first in a derived type definition.

Original-commit: flang-compiler/f18@01358ac86e2a31b54900c38241a1ae01fedce0f6
Reviewed-on: https://github.com/flang-compiler/f18/pull/619

4 years ago[flang] Merge pull request flang-compiler/f18#611 from flang-compiler/pmk-bounds
Peter Klausler [Fri, 2 Aug 2019 18:15:24 +0000 (11:15 -0700)]
[flang] Merge pull request flang-compiler/f18#611 from flang-compiler/pmk-bounds

Fold LBOUND and UBOUND intrinsic functions

Original-commit: flang-compiler/f18@46d77ab006fd5a633ea9ab18b208ac9a7baee4f2
Reviewed-on: https://github.com/flang-compiler/f18/pull/611

4 years ago[flang] Fix test failure, clean up for merging
peter klausler [Fri, 2 Aug 2019 17:17:10 +0000 (10:17 -0700)]
[flang] Fix test failure, clean up for merging

Original-commit: flang-compiler/f18@77bad2736698cbbb9911ac5efd3efe6ac5b6d01a
Reviewed-on: https://github.com/flang-compiler/f18/pull/611

4 years ago[flang] Take suggestion from review comment
peter klausler [Thu, 1 Aug 2019 21:18:01 +0000 (14:18 -0700)]
[flang] Take suggestion from review comment

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

4 years ago[flang] Address review comment re: ALLOCATED intrinsic argument
peter klausler [Thu, 1 Aug 2019 21:01:06 +0000 (14:01 -0700)]
[flang] Address review comment re: ALLOCATED intrinsic argument

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

4 years ago[flang] Fix LBOUND/UBOUND of associated expr, add test
peter klausler [Thu, 1 Aug 2019 20:53:59 +0000 (13:53 -0700)]
[flang] Fix LBOUND/UBOUND of associated expr, add test

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

4 years ago[flang] Fix LBOUND & UBOUND(function()), add tests
peter klausler [Thu, 1 Aug 2019 19:32:17 +0000 (12:32 -0700)]
[flang] Fix LBOUND & UBOUND(function()), add tests

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

4 years ago[flang] Clean up some usage of std::optional lambda results
peter klausler [Thu, 1 Aug 2019 18:41:05 +0000 (11:41 -0700)]
[flang] Clean up some usage of std::optional lambda results

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

4 years ago[flang] Extract LBOUND/UBOUND folding into their own functions
peter klausler [Thu, 1 Aug 2019 17:29:43 +0000 (10:29 -0700)]
[flang] Extract LBOUND/UBOUND folding into their own functions

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

4 years ago[flang] Address some review comments, fix crash
peter klausler [Thu, 1 Aug 2019 17:07:11 +0000 (10:07 -0700)]
[flang] Address some review comments, fix crash

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

4 years ago[flang] Handle association entities; fix problems found in testing
peter klausler [Wed, 31 Jul 2019 21:13:42 +0000 (14:13 -0700)]
[flang] Handle association entities; fix problems found in testing

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

4 years ago[flang] Fold LBOUND and UBOUND; do not insert empty triplets into whole array expressions
peter klausler [Tue, 30 Jul 2019 23:51:25 +0000 (16:51 -0700)]
[flang] Fold LBOUND and UBOUND; do not insert empty triplets into whole array expressions

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

4 years ago[flang] Implement GetShape with expression visitor
peter klausler [Tue, 30 Jul 2019 18:33:06 +0000 (11:33 -0700)]
[flang] Implement GetShape with expression visitor

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

4 years ago[flang] Merge pull request flang-compiler/f18#617 from flang-compiler/tsk-issue616
Tim Keith [Fri, 2 Aug 2019 17:20:14 +0000 (10:20 -0700)]
[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@ded6d831eecffdbba4a44bd6ac21f135a0905699
Reviewed-on: https://github.com/flang-compiler/f18/pull/617

4 years ago[flang] Fix bug with use-associated base of component reference
Tim Keith [Fri, 2 Aug 2019 16:21:34 +0000 (09:21 -0700)]
[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@95bfac6f65eccfedd03d791f01267d43497c6153
Reviewed-on: https://github.com/flang-compiler/f18/pull/617

4 years ago[flang] Merge pull request flang-compiler/f18#613 from flang-compiler/pmk-component...
Peter Klausler [Fri, 2 Aug 2019 16:20:50 +0000 (09:20 -0700)]
[flang] Merge pull request flang-compiler/f18#613 from flang-compiler/pmk-component-scope

Correct scopes of components

Original-commit: flang-compiler/f18@00bdacd6d416b6c2d22552a7a88bc599c6f5f1aa
Reviewed-on: https://github.com/flang-compiler/f18/pull/613

4 years ago[flang] Do not inherit bindings as bare names, just components and type parameters
peter klausler [Wed, 31 Jul 2019 23:20:55 +0000 (16:20 -0700)]
[flang] Do not inherit bindings as bare names, just components and type parameters

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

4 years ago[flang] Correct scopes of components and type parameters
peter klausler [Wed, 31 Jul 2019 22:23:01 +0000 (15:23 -0700)]
[flang] Correct scopes of components and type parameters

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

4 years ago[flang] [OpenMP] Add Sections and Single Construct check (flang-compiler/f18#585)
Jinxin (Brian) Yang [Thu, 1 Aug 2019 21:32:33 +0000 (14:32 -0700)]
[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@236cf1efea77b8af5c533aa55029ce49a2c2e72c
Reviewed-on: https://github.com/flang-compiler/f18/pull/585

4 years ago[flang] Merge pull request flang-compiler/f18#614 from flang-compiler/tsk-generics
Tim Keith [Thu, 1 Aug 2019 21:07:38 +0000 (14:07 -0700)]
[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@a1e26df148c4d480178aa8b765aad4ceaaa5eae2
Reviewed-on: https://github.com/flang-compiler/f18/pull/614

4 years ago[flang] Fix merging of use associated generics
Tim Keith [Thu, 1 Aug 2019 20:06:25 +0000 (13:06 -0700)]
[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@1e22970e4352775df8a32e018435743786a66280
Reviewed-on: https://github.com/flang-compiler/f18/pull/614

4 years ago[flang] Fix bug when writing empty generic to .mod file
Tim Keith [Wed, 31 Jul 2019 22:53:46 +0000 (15:53 -0700)]
[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@1c32a289b53d787c0033ed45033db86afde33458
Reviewed-on: https://github.com/flang-compiler/f18/pull/614
Tree-same-pre-rewrite: false

4 years ago[flang] Improve handling of generics with same name as type or procedure
Tim Keith [Tue, 30 Jul 2019 22:29:50 +0000 (15:29 -0700)]
[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@48fc0767834154a7dbe9d5a964e603855ca88ab5
Reviewed-on: https://github.com/flang-compiler/f18/pull/614
Tree-same-pre-rewrite: false

4 years ago[flang] Merge pull request flang-compiler/f18#608 from flang-compiler/tsk-deref
Tim Keith [Tue, 30 Jul 2019 13:13:19 +0000 (06:13 -0700)]
[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@31a3fae9f893565392e35fd3df1612615363dcdd
Reviewed-on: https://github.com/flang-compiler/f18/pull/608

4 years ago[flang] Add a way to check and dereference a pointer
Tim Keith [Mon, 29 Jul 2019 16:12:52 +0000 (09:12 -0700)]
[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@d7aa90e55ac80c7f2460ab7b0cb6d1ef0c068938
Reviewed-on: https://github.com/flang-compiler/f18/pull/608

4 years ago[flang] Merge pull request flang-compiler/f18#596 from flang-compiler/ps-variable...
psteinfeld [Thu, 25 Jul 2019 23:41:14 +0000 (16:41 -0700)]
[flang] Merge pull request flang-compiler/f18#596 from flang-compiler/ps-variable-definition

Changes for constraint C1128

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

4 years ago[flang] More changes in response to review comments.
Peter Steinfeld [Thu, 25 Jul 2019 19:54:11 +0000 (12:54 -0700)]
[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@47da8ff9c8c131a6fc7a4a6f4a8fa89c8b582b71
Reviewed-on: https://github.com/flang-compiler/f18/pull/596

4 years ago[flang] Responses to previous review comments, specifically --
Peter Steinfeld [Tue, 23 Jul 2019 23:34:55 +0000 (16:34 -0700)]
[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@8a2f4bdfd24a568a87b3bcb9faa9bc87a68eee84
Reviewed-on: https://github.com/flang-compiler/f18/pull/596
Tree-same-pre-rewrite: false

4 years ago[flang] Changes for constraint C1128.
Peter Steinfeld [Fri, 19 Jul 2019 22:17:14 +0000 (15:17 -0700)]
[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@c9d2507b74da881dda2eb11805a0394a415db2e4
Reviewed-on: https://github.com/flang-compiler/f18/pull/596
Tree-same-pre-rewrite: false

4 years ago[flang] Merge pull request flang-compiler/f18#603 from flang-compiler/pmk-fix
Peter Klausler [Thu, 25 Jul 2019 17:49:23 +0000 (10:49 -0700)]
[flang] Merge pull request flang-compiler/f18#603 from flang-compiler/pmk-fix

Fix IsVariable for Pete

Original-commit: flang-compiler/f18@73e8c365e2b05904e0a3950f4c0813b445333ba1
Reviewed-on: https://github.com/flang-compiler/f18/pull/603

4 years ago[flang] Fix bug
peter klausler [Thu, 25 Jul 2019 17:04:22 +0000 (10:04 -0700)]
[flang] Fix bug

Original-commit: flang-compiler/f18@482f882e3f8c5d6dae699949eb848001dc65bbc7
Reviewed-on: https://github.com/flang-compiler/f18/pull/603

4 years ago[flang] Fix IsVariable for Pete
peter klausler [Wed, 24 Jul 2019 22:49:42 +0000 (15:49 -0700)]
[flang] Fix IsVariable for Pete

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

4 years ago[flang] Merge pull request flang-compiler/f18#602 from flang-compiler/pmk-next
Peter Klausler [Thu, 25 Jul 2019 17:30:22 +0000 (10:30 -0700)]
[flang] Merge pull request flang-compiler/f18#602 from flang-compiler/pmk-next

Fold more model inquiry intrinsics

Original-commit: flang-compiler/f18@7d1aeea40979d4d545b0f21f079ccd39ac6012a0
Reviewed-on: https://github.com/flang-compiler/f18/pull/602

4 years ago[flang] Address comments; allow "real,parameter::x=tiny(x)"
peter klausler [Thu, 25 Jul 2019 17:16:28 +0000 (10:16 -0700)]
[flang] Address comments; allow "real,parameter::x=tiny(x)"

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

4 years ago[flang] Fold more model inquiry intrinsics
peter klausler [Wed, 24 Jul 2019 20:55:29 +0000 (13:55 -0700)]
[flang] Fold more model inquiry intrinsics

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

4 years ago[flang] Merge pull request flang-compiler/f18#583 from flang-compiler/jpr-fix-582
jeanPerier [Wed, 24 Jul 2019 17:07:30 +0000 (10:07 -0700)]
[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@cebc2be4b1a05a921993e7c4d7a1082cd724679f
Reviewed-on: https://github.com/flang-compiler/f18/pull/583

5 years ago[flang] Fix issue flang-compiler/f18#582: implicit ac-do-variable kind in expressions
Jean Perier [Wed, 17 Jul 2019 12:19:10 +0000 (05:19 -0700)]
[flang] Fix issue flang-compiler/f18#582: implicit ac-do-variable kind in expressions

Original-commit: flang-compiler/f18@4150a5e41147940dd2b8e951becaf6ded0447fc4
Reviewed-on: https://github.com/flang-compiler/f18/pull/583

4 years ago[flang] Merge pull request flang-compiler/f18#591 from flang-compiler/tsk-issue586
Tim Keith [Wed, 24 Jul 2019 13:18:36 +0000 (06:18 -0700)]
[flang] Merge pull request flang-compiler/f18#591 from flang-compiler/tsk-issue586

Merge use-associated generics

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

4 years ago[flang] Merge use-associated generics
Tim Keith [Thu, 18 Jul 2019 23:58:45 +0000 (16:58 -0700)]
[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@5067345f70af1fa262803535515dc644828b43ae
Reviewed-on: https://github.com/flang-compiler/f18/pull/591

4 years ago[flang] Merge pull request flang-compiler/f18#600 from flang-compiler/jpr-fix-598
jeanPerier [Wed, 24 Jul 2019 09:40:30 +0000 (02:40 -0700)]
[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@28c32a753879eb64f080872e39c129859cc6efba
Reviewed-on: https://github.com/flang-compiler/f18/pull/600

4 years ago[flang] Address comment: make CHECK test more explicit
Jean Perier [Wed, 24 Jul 2019 09:06:31 +0000 (02:06 -0700)]
[flang] Address comment: make CHECK test more explicit

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

4 years ago[flang] Avoid interference between different association variable resoltions
Jean Perier [Tue, 23 Jul 2019 15:57:40 +0000 (08:57 -0700)]
[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@5781f29ed6d3d235065e4a873a007431f6a48c02
Reviewed-on: https://github.com/flang-compiler/f18/pull/600
Tree-same-pre-rewrite: false

4 years ago[flang] Merge pull request flang-compiler/f18#601 from flang-compiler/pmk-fixes
Peter Klausler [Tue, 23 Jul 2019 22:12:29 +0000 (15:12 -0700)]
[flang] Merge pull request flang-compiler/f18#601 from flang-compiler/pmk-fixes

Fix legal pointer target test

Original-commit: flang-compiler/f18@751cb64ae9935586123088fafc5880f34c4422f4
Reviewed-on: https://github.com/flang-compiler/f18/pull/601

4 years ago[flang] Do not remove things from .gitignore
peter klausler [Tue, 23 Jul 2019 21:57:46 +0000 (14:57 -0700)]
[flang] Do not remove things from .gitignore

Original-commit: flang-compiler/f18@27c896ea0b36cee706133e65db8f705a6f85155a
Reviewed-on: https://github.com/flang-compiler/f18/pull/601

4 years ago[flang] Review comment
peter klausler [Tue, 23 Jul 2019 21:07:49 +0000 (14:07 -0700)]
[flang] Review comment

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

4 years ago[flang] Fix handling of ALLOCATABLE components in GetLastTarget
peter klausler [Tue, 23 Jul 2019 20:42:06 +0000 (13:42 -0700)]
[flang] Fix handling of ALLOCATABLE components in GetLastTarget

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

4 years ago[flang] Fix pointer target check
peter klausler [Tue, 23 Jul 2019 19:35:56 +0000 (12:35 -0700)]
[flang] Fix pointer target check

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

4 years ago[flang] Improve comments
peter klausler [Tue, 23 Jul 2019 18:45:55 +0000 (11:45 -0700)]
[flang] Improve comments

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

4 years ago[flang] Improve expression traversal, use it more for tools
peter klausler [Tue, 23 Jul 2019 17:55:56 +0000 (10:55 -0700)]
[flang] Improve expression traversal, use it more for tools

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

4 years ago[flang] Add root/ to .gitignore, remove old build-specific directory names
peter klausler [Mon, 22 Jul 2019 21:06:06 +0000 (14:06 -0700)]
[flang] Add root/ to .gitignore, remove old build-specific directory names

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

4 years ago[flang] Reimplement GetLastSymbol with expression visitor
peter klausler [Mon, 22 Jul 2019 21:05:33 +0000 (14:05 -0700)]
[flang] Reimplement GetLastSymbol with expression visitor

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

4 years ago[flang] Fix crash
peter klausler [Mon, 22 Jul 2019 21:05:07 +0000 (14:05 -0700)]
[flang] Fix crash

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

4 years ago[flang] Merge pull request flang-compiler/f18#544 from flang-compiler/jpr-reshape...
jeanPerier [Tue, 23 Jul 2019 12:36:17 +0000 (05:36 -0700)]
[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@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@2ec1d85d398e4171b6d77a21ccbe1fffec9e420d Implement RESHAPE folding on Constant<T> only
flang-compiler/f18@539463053942adf93ae015af800934e73d8942e3 Enable RESHAPE folding tests
flang-compiler/f18@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@2e5c29f2805e1e8dfdb8caa8f13eac9472c4c3c2 add missing file to previous commit...
flang-compiler/f18@9bd5ad9875e894a9a86e94f1e2153cc2cd5ef8d5 Document issue #518 workaround
flang-compiler/f18@a4f8f518318f01c298392f3c6e3b8745e34c2953 Go back to clang-format version 7.01
flang-compiler/f18@e871e58a5218504d9c92056058458706f3ad0c27 answer comment regarding naming and interface
flang-compiler/f18@145c7c1ecee57ff557527c0e6eb5655f43f00e39 Merge branch 'master' into jpr-reshape-only-folding Too many logical conflicts to simply rebase.

4 years ago[flang] Merge pull request flang-compiler/f18#597 from flang-compiler/pmk-fixes-2
Peter Klausler [Mon, 22 Jul 2019 16:34:19 +0000 (09:34 -0700)]
[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@e980d641377a18e30c55a8e18a85daee2a4b5607
Reviewed-on: https://github.com/flang-compiler/f18/pull/597

5 years ago[flang] Avoid crash on bad subscript, refactor Constant bounds a bit
peter klausler [Fri, 19 Jul 2019 23:17:07 +0000 (16:17 -0700)]
[flang] Avoid crash on bad subscript, refactor Constant bounds a bit

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

5 years ago[flang] Do not add invalid subscript triple to whole assumed-size array reference
peter klausler [Fri, 19 Jul 2019 21:49:25 +0000 (14:49 -0700)]
[flang] Do not add invalid subscript triple to whole assumed-size array reference

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

4 years ago[flang] Merge pull request flang-compiler/f18#595 from flang-compiler/pmk-fixes
Peter Klausler [Mon, 22 Jul 2019 16:33:57 +0000 (09:33 -0700)]
[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@95f76866e4366b9f5b9e56498b4918a51af882b3
Reviewed-on: https://github.com/flang-compiler/f18/pull/595

5 years ago[flang] Avoid crashing in check-allocate.cc on CLASS(*)
peter klausler [Fri, 19 Jul 2019 20:50:39 +0000 (13:50 -0700)]
[flang] Avoid crashing in check-allocate.cc on CLASS(*)

Original-commit: flang-compiler/f18@7ba4275998262a2bd277928baa9e63112004d7f1
Reviewed-on: https://github.com/flang-compiler/f18/pull/595

4 years ago[flang] Merge pull request flang-compiler/f18#593 from flang-compiler/jpr-fix-515
jeanPerier [Mon, 22 Jul 2019 08:36:16 +0000 (01:36 -0700)]
[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@415d6d611062b5bc8ccfd156557f70352bf00174
Reviewed-on: https://github.com/flang-compiler/f18/pull/593

5 years ago[flang] Fix issue flang-compiler/f18#515
Jean Perier [Fri, 19 Jul 2019 14:20:47 +0000 (07:20 -0700)]
[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@f7d124d8cd3d97ee81208121a336f14fef9595ac
Reviewed-on: https://github.com/flang-compiler/f18/pull/593

5 years ago[flang] Merge pull request flang-compiler/f18#590 from flang-compiler/pmk-fixes
Peter Klausler [Fri, 19 Jul 2019 17:49:00 +0000 (10:49 -0700)]
[flang] Merge pull request flang-compiler/f18#590 from flang-compiler/pmk-fixes

Roll up some fixes and extensions

Original-commit: flang-compiler/f18@561719d276695b8316836ebf15ca72da22feb55c
Reviewed-on: https://github.com/flang-compiler/f18/pull/590

5 years ago[flang] address review comment
peter klausler [Fri, 19 Jul 2019 17:37:55 +0000 (10:37 -0700)]
[flang] address review comment

Original-commit: flang-compiler/f18@7012b6178654bca8b64ab9db334bb053b5c01965
Reviewed-on: https://github.com/flang-compiler/f18/pull/590

5 years ago[flang] document a non-extension
peter klausler [Thu, 18 Jul 2019 22:26:17 +0000 (15:26 -0700)]
[flang] document a non-extension

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

5 years ago[flang] Accept NULL() in struct constructor for ALLOCATABLE component
peter klausler [Thu, 18 Jul 2019 22:08:50 +0000 (15:08 -0700)]
[flang] Accept NULL() in struct constructor for ALLOCATABLE component

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

5 years ago[flang] Document intent to not support modules & programs whose names conflict with...
peter klausler [Thu, 18 Jul 2019 20:57:21 +0000 (13:57 -0700)]
[flang] Document intent to not support modules & programs whose names conflict with contents

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

5 years ago[flang] Support SELECTED_CHAR_KIND("DEFAULT")
peter klausler [Wed, 17 Jul 2019 22:58:28 +0000 (15:58 -0700)]
[flang] Support SELECTED_CHAR_KIND("DEFAULT")

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

5 years ago[flang] Document BOZ initializers for REAL
peter klausler [Wed, 17 Jul 2019 21:29:11 +0000 (14:29 -0700)]
[flang] Document BOZ initializers for REAL

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

5 years ago[flang] Allow BOZ initializers on REAL parameters, too.
peter klausler [Wed, 17 Jul 2019 21:26:35 +0000 (14:26 -0700)]
[flang] Allow BOZ initializers on REAL parameters, too.

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

5 years ago[flang] Silence spurious overflow warning on negative int4->int2 folding
peter klausler [Wed, 17 Jul 2019 21:14:09 +0000 (14:14 -0700)]
[flang] Silence spurious overflow warning on negative int4->int2 folding

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

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