peter klausler [Thu, 27 Jun 2019 23:01:20 +0000 (16:01 -0700)]
[flang] Jot down thoughts on array expr and intrinsic evaluation for Jean
Original-commit: flang-compiler/f18@
83c72062d57f737955d8d3ebdfed4a08f5a9107b
Reviewed-on: https://github.com/flang-compiler/f18/pull/534
Tree-same-pre-rewrite: false
Peter Klausler [Fri, 6 Sep 2019 20:17:53 +0000 (13:17 -0700)]
[flang] Merge pull request flang-compiler/f18#683 from flang-compiler/pmk-call-doc
Requirements and first draft design for procedure call protocol
Original-commit: flang-compiler/f18@
9e3ab7d32f8a550cfc46c3f556aa3f01fe9c8acf
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
peter klausler [Wed, 4 Sep 2019 17:44:49 +0000 (10:44 -0700)]
[flang] Review comments
Original-commit: flang-compiler/f18@
376359d456e120c037b21779ea9b8bdae6ab5b39
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
peter klausler [Thu, 29 Aug 2019 19:45:42 +0000 (12:45 -0700)]
[flang] refinements
Original-commit: flang-compiler/f18@
a4de8161f934f6c134a8c5736a4a191591bcbf86
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Thu, 29 Aug 2019 17:58:36 +0000 (10:58 -0700)]
[flang] address review comments
Original-commit: flang-compiler/f18@
793c15fd04a5f922ea80fede5f21a895f27c969e
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Wed, 28 Aug 2019 20:59:48 +0000 (13:59 -0700)]
[flang] Simplify by using the term F77ish
Original-commit: flang-compiler/f18@
063d9dc6c82eb98b80f2687c27fd8671e6e4c31d
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Wed, 28 Aug 2019 18:54:19 +0000 (11:54 -0700)]
[flang] Limitations on function results with assumed type parameters
Original-commit: flang-compiler/f18@
4ba9fdb0eaa479486f2b808dea913fdb8b6a9aad
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Wed, 28 Aug 2019 18:25:55 +0000 (11:25 -0700)]
[flang] Corrections and additions
Original-commit: flang-compiler/f18@
000301fcf987192585dfa01ca62a96c1ce49557c
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Wed, 28 Aug 2019 16:14:46 +0000 (09:14 -0700)]
[flang] Correct obsolete comment in descriptor.h
Original-commit: flang-compiler/f18@
8ff52c493ade974a69943eb9438cee9ba05b43f1
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Tue, 27 Aug 2019 22:59:46 +0000 (15:59 -0700)]
[flang] Resolve some TODOs
Original-commit: flang-compiler/f18@
3f3e9c9320f3bd6662378f500dfab3c47243e993
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Tue, 27 Aug 2019 21:27:14 +0000 (14:27 -0700)]
[flang] Enumerate semantics checks
Original-commit: flang-compiler/f18@
3ddf31109adfa7cb313c8909982d6f87773e9a68
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Tue, 27 Aug 2019 20:09:31 +0000 (13:09 -0700)]
[flang] More research
Original-commit: flang-compiler/f18@
1e2b0be07f6accac15028c8fd9c676d6199d760f
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Tue, 27 Aug 2019 17:15:31 +0000 (10:15 -0700)]
[flang] Address some review comments
Original-commit: flang-compiler/f18@
5666998b0fb8826d96b2272b6d13c5379b45adb2
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Mon, 26 Aug 2019 22:56:08 +0000 (15:56 -0700)]
[flang] fix typo, add examples
Original-commit: flang-compiler/f18@
e0964fe07691265b2a1b74847ba2fb323b816278
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Mon, 26 Aug 2019 22:44:38 +0000 (15:44 -0700)]
[flang] refine naming
Original-commit: flang-compiler/f18@
a4888a08cd18f0ed0219b88ba9a43122c1e2d229
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Mon, 26 Aug 2019 21:23:35 +0000 (14:23 -0700)]
[flang] naming
Original-commit: flang-compiler/f18@
c3673287f8904e8a6ab32eb42fba9fac4e959ed7
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Mon, 26 Aug 2019 19:41:10 +0000 (12:41 -0700)]
[flang] trampolines
Original-commit: flang-compiler/f18@
3e9cebe8dce2039942d06f63af7798f4503b1e7d
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Fri, 23 Aug 2019 22:35:18 +0000 (15:35 -0700)]
[flang] more writing
Original-commit: flang-compiler/f18@
16a8b0065a6e31cbce5a28b5230df1aff8968cab
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Fri, 23 Aug 2019 22:22:53 +0000 (15:22 -0700)]
[flang] more writing
Original-commit: flang-compiler/f18@
a067cca183197a4f004aed1649f368f50115cc30
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Fri, 23 Aug 2019 21:35:38 +0000 (14:35 -0700)]
[flang] More writing
Original-commit: flang-compiler/f18@
f475086c0c20b02f6793a298d0f4ad15dfdeda50
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
peter klausler [Fri, 23 Aug 2019 20:42:13 +0000 (13:42 -0700)]
[flang] Extract Calls.md into its own branch.
Original-commit: flang-compiler/f18@
8a5a2c99dc7336f0790d7127224d16efc4e041cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
Jinxin Yang [Thu, 5 Sep 2019 21:11:14 +0000 (14:11 -0700)]
[flang] Add missing include for unordered_map
Original-commit: flang-compiler/f18@
a9aadfb6071a4823caa39179ec1b69ca44a21a0f
Jinxin Yang [Thu, 5 Sep 2019 17:31:34 +0000 (10:31 -0700)]
[flang] [OpenMP] extend `IF` clause to accept modifier on composite/combined constructs
Original-commit: flang-compiler/f18@
03302a15468bf9920618a2103d1e4fe45d6dc388
Jinxin Yang [Thu, 5 Sep 2019 16:33:23 +0000 (09:33 -0700)]
[flang] [OpenMP] add structural checks for `TASKLOOP SIMD`
Original-commit: flang-compiler/f18@
21b4dde276fa9a19fe5046b608c5eea1a7610d37
Jinxin Yang [Thu, 5 Sep 2019 16:09:01 +0000 (09:09 -0700)]
[flang] [OpenMP] update `declare simd` directive with exclusive set
Original-commit: flang-compiler/f18@
dc1bd8edc6968f8505429a9cba5db707c2d647d8
Jinxin Yang [Thu, 5 Sep 2019 10:15:23 +0000 (03:15 -0700)]
[flang] [OpenMP] enable check for `IF` clause modifier
Original-commit: flang-compiler/f18@
f56fe4a3895a6ac444b45ad80b433c4dbeca4bbe
Jinxin Yang [Thu, 5 Sep 2019 06:35:44 +0000 (23:35 -0700)]
[flang] [OpenMP] Add structural checks for `TASK`
1. fix `OmpIfClause` on `Task`
2. add structural checks
Original-commit: flang-compiler/f18@
a77830a191989d7885337cf6182ac82ccf9c5ae9
Jinxin Yang [Thu, 5 Sep 2019 00:32:01 +0000 (17:32 -0700)]
[flang] [OpenMP] fix type for `Final` clause
The type should be `ScalarLogicalExpr`.
Original-commit: flang-compiler/f18@
97e4282d7c05d38ebfbdc1ac661dc5d629278d0a
Jinxin Yang [Wed, 4 Sep 2019 23:34:38 +0000 (16:34 -0700)]
[flang] [OpenMP] Expand full sets for `do`, `simd`, and `do simd`
Original-commit: flang-compiler/f18@
1f5bbeb3ea18456425804198fa03aeb8026a207b
Steve Scalpone [Thu, 5 Sep 2019 06:01:29 +0000 (23:01 -0700)]
[flang] Merge pull request flang-compiler/f18#688 from DavidTruby/taskloop
Implement semantic checking for TASKLOOP
Original-commit: flang-compiler/f18@
a5786851fab78aa03e3155922589fa259e600574
Reviewed-on: https://github.com/flang-compiler/f18/pull/688
David Truby [Tue, 27 Aug 2019 08:34:29 +0000 (09:34 +0100)]
[flang] Implement semantic checking for TASKLOOP
Original-commit: flang-compiler/f18@
a8e65f2c2d27cc9584ed493d822fa44d514edc37
Reviewed-on: https://github.com/flang-compiler/f18/pull/688
Tim Keith [Wed, 4 Sep 2019 23:57:02 +0000 (16:57 -0700)]
[flang] Merge pull request flang-compiler/f18#697 from flang-compiler/tsk-crayptr
Name resolution for Cray pointers
Original-commit: flang-compiler/f18@
a18c5ebed0910bc9492614c2ded5b66f7f89ae9f
Reviewed-on: https://github.com/flang-compiler/f18/pull/697
Tim Keith [Wed, 4 Sep 2019 23:55:08 +0000 (16:55 -0700)]
[flang] Name resolution for Cray pointers
Resolve the pointer and pointee names in a `BasedPointerStmt` and
enforce some of the constraints on them. There are still some
constraints to be implemented, mainly about what kind of attributes
the pointers and pointees can have.
The rules for these are a little vague. I mostly followed
- Cray Fortran Reference Manual section 9.3.2
- https://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html
- VSI Fortran for OpenVMS Language Reference Manual section B.11
Note that the first two use the term "Cray pointer" but the last does
not. That is confusing because you have to know from context whether
it is referring to Cray pointers or Fortran pointers, so I used
"Cray pointer" and "Cray pointee" in error messages to refer to the
two names in the pointer statement.
Original-commit: flang-compiler/f18@
cabb112be2922ee2be9e29cfedcc30053c9a2864
Reviewed-on: https://github.com/flang-compiler/f18/pull/697
Tim Keith [Wed, 4 Sep 2019 23:33:22 +0000 (16:33 -0700)]
[flang] Merge pull request flang-compiler/f18#710 from flang-compiler/tsk-issue709
Fix declaration of module procedure subprograms
Original-commit: flang-compiler/f18@
b56bc365bb57fb5d810da6e54409066ade35d9c8
Reviewed-on: https://github.com/flang-compiler/f18/pull/710
Tim Keith [Wed, 4 Sep 2019 22:15:57 +0000 (15:15 -0700)]
[flang] Fix declaration of module procedure subprograms
Names of subprograms declared with MODULE PROCEDURE in a submodule
were not found correctly. The fix is to separate the handling of
these from other subprograms. The subprogram being defined must have
been declared in the same module or an ancestor module/submodule.
Fixes flang-compiler/f18#709
Original-commit: flang-compiler/f18@
80b635d34355d657a807e7f276b8d40d191bcef9
Reviewed-on: https://github.com/flang-compiler/f18/pull/710
Steve Scalpone [Wed, 4 Sep 2019 19:41:09 +0000 (12:41 -0700)]
[flang] Merge pull request flang-compiler/f18#706 from flang-compiler/sjs-cmplx
Fold more cases of cmplx and dcmplx.
Original-commit: flang-compiler/f18@
e42947dcde7342e39dc7c117b5c978e6d35720fd
Reviewed-on: https://github.com/flang-compiler/f18/pull/706
Steve Scalpone [Mon, 2 Sep 2019 22:02:46 +0000 (15:02 -0700)]
[flang] Fold more cases of cmplx and dcmplx.
Original-commit: flang-compiler/f18@
57401319b04514c123307758414377444e490522
Reviewed-on: https://github.com/flang-compiler/f18/pull/706
Steve Scalpone [Wed, 4 Sep 2019 02:05:55 +0000 (19:05 -0700)]
[flang] Merge pull request flang-compiler/f18#705 from flang-compiler/sjs-dreal
Add support and documentation for DREAL.
Original-commit: flang-compiler/f18@
e14461455f562ca788933d327ee6da58333d1f6f
Reviewed-on: https://github.com/flang-compiler/f18/pull/705
Steve Scalpone [Mon, 2 Sep 2019 20:54:01 +0000 (13:54 -0700)]
[flang] Add support and documentation for DREAL.
Original-commit: flang-compiler/f18@
5b6a2dc26ccd4faf56543ccb616a22d86812aa02
Reviewed-on: https://github.com/flang-compiler/f18/pull/705
Steve Scalpone [Fri, 30 Aug 2019 18:22:51 +0000 (11:22 -0700)]
[flang] Merge pull request flang-compiler/f18#692 from flang-compiler/sjs-omp-doc
Create OpenMP-semantics.md
Original-commit: flang-compiler/f18@
0948d3d1919ad30b22da9511204b547b1b56da75
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Steve Scalpone [Fri, 30 Aug 2019 18:22:13 +0000 (11:22 -0700)]
[flang] Update OpenMP-semantics.md
Formatting changes.
Original-commit: flang-compiler/f18@
007b3e31d30853ed2f44ac3b7c6a311739e7804e
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Steve Scalpone [Thu, 29 Aug 2019 19:55:41 +0000 (12:55 -0700)]
[flang] Update OpenMP-semantics.md
Item 4 can be removed since we decided to keep the code in Semantics.
Original-commit: flang-compiler/f18@
7377a61345c20c379453676ae6069e30ff9ae14d
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
Steve Scalpone [Wed, 28 Aug 2019 01:12:50 +0000 (18:12 -0700)]
[flang] Update OpenMP-semantics.md
Repond to review comments about grammar and formatting.
Original-commit: flang-compiler/f18@
4811ea2b94627d16e7b7108bf75b582984355182
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
Steve Scalpone [Tue, 27 Aug 2019 21:38:48 +0000 (14:38 -0700)]
[flang] Create OpenMP-semantics.md
Initial markdown document.
Original-commit: flang-compiler/f18@
787a0ca058dcfb3e0fe67262547d133773ed7d3a
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
Jinxin Yang [Tue, 27 Aug 2019 23:52:12 +0000 (16:52 -0700)]
[flang] [OpenMP] flang-compiler/f18#691 Update on Tim and Varun's review
Change CheckMatching to return `beginDir`, which hides the unnecessary
`std::get<>` for `endDir`.
Original-commit: flang-compiler/f18@
d9689e10f47f344d2f321c0635eb6dcf38e649ca
Jinxin Yang [Tue, 27 Aug 2019 20:55:18 +0000 (13:55 -0700)]
[flang] [OpenMP] structural checks for `PARALLEL SECTIONS`
Original-commit: flang-compiler/f18@
c18452159d462c98c6a888c272e24ea9d54032f4
Jinxin Yang [Tue, 27 Aug 2019 20:30:38 +0000 (13:30 -0700)]
[flang] [OpenMP] add Begin and End Directive matching check
Straightforward check for Begin and End directive of:
1. Block related constructs
2. Loop related constructs (End directive is optional)
3. Sections related constructs
Original-commit: flang-compiler/f18@
d0436f13eeddf9d44c669a53fa0eb42d00650826
Jinxin Yang [Sat, 24 Aug 2019 00:37:57 +0000 (17:37 -0700)]
[flang] [OpenMP] update validity check for `OmpNowait`.
Because now we set the flag for `End` directives that accept clauses,
no need to check the specific directives anymore.
Original-commit: flang-compiler/f18@
a5cdc4b035fe6237bff46252e21ac84d2df59393
jeanPerier [Thu, 29 Aug 2019 09:37:32 +0000 (02:37 -0700)]
[flang] Merge pull request flang-compiler/f18#689 from flang-compiler/jpr-fix-667
Implement ENUM name resolution
Original-commit: flang-compiler/f18@
d4fd6bf95a298c46ee7f75d28743dfcd121a12cb
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Jean Perier [Wed, 28 Aug 2019 12:50:23 +0000 (05:50 -0700)]
[flang] Remove unused function after last commit
Original-commit: flang-compiler/f18@
029fbf64c2400847a42a4c7cf26c553592f4ee10
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Jean Perier [Wed, 28 Aug 2019 11:58:38 +0000 (04:58 -0700)]
[flang] Address comment: store current enum value in an int
During enumerator name resolution, instead of keeping the current
enumerator value inside an expression, fold it to an int and keep
it as an int. This is clearer and will be easier if one wants to
provide some enum type size optimization.
Original-commit: flang-compiler/f18@
4e49d5396c5ff475b1f329e9fc349cc336574c50
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Jean Perier [Wed, 28 Aug 2019 10:35:40 +0000 (03:35 -0700)]
[flang] Address comments: Update comments
Original-commit: flang-compiler/f18@
63086132442a5bf8470ae605e466dae7704af81b
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Jean Perier [Tue, 27 Aug 2019 14:11:54 +0000 (07:11 -0700)]
[flang] Simplify name resolution visitor for parser::Enumerator
Do not define a Pre and a Post, simply walk the expression
with Walk in Pre to resolve the names inside the expression
before evaluating it.
Original-commit: flang-compiler/f18@
b0e3c1691e58f968f01e9aa6d622e6f31c04f13b
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Jean Perier [Mon, 26 Aug 2019 09:28:08 +0000 (02:28 -0700)]
[flang] Introduce IsNamedConstant to hide attr::PARAMETER details
for named constant that are actually enumerators.
Original-commit: flang-compiler/f18@
d9c4888b7219fb68715bab5c62eddfd947be8502
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
Tim Keith [Wed, 28 Aug 2019 21:09:30 +0000 (14:09 -0700)]
[flang] Merge pull request flang-compiler/f18#687 from flang-compiler/tsk3
Resolve index in pointer assignment to array element
Original-commit: flang-compiler/f18@
e8e5cd52592aa54ebe0eb96774ca7a56024949f6
Reviewed-on: https://github.com/flang-compiler/f18/pull/687
Tim Keith [Tue, 27 Aug 2019 00:37:48 +0000 (17:37 -0700)]
[flang] Resolve index in pointer assignment to array element
When the LHS of a pointer assignment is an array element, the
index must be resolved.
Fixed flang-compiler/f18#684.
Original-commit: flang-compiler/f18@
c39c7872d42e3490a2c862771893d3099202df63
Reviewed-on: https://github.com/flang-compiler/f18/pull/687
Steve Scalpone [Tue, 27 Aug 2019 23:21:06 +0000 (16:21 -0700)]
[flang] Merge pull request flang-compiler/f18#693 from kiranchandramohan/segfault_invalid_interface
Fix for segfault in invalid proc interface message
Original-commit: flang-compiler/f18@
705c3532ef4a0410fcacb3474e7926b65d9a9808
Reviewed-on: https://github.com/flang-compiler/f18/pull/693
Kiran Chandramohan [Tue, 27 Aug 2019 22:27:11 +0000 (23:27 +0100)]
[flang] Fix for segfault in invalid proc interface message
The segfault happened due to a missing argument.
Original-commit: flang-compiler/f18@
8a4f49e86dd7969d13704ec2e5e755e1551319e6
Reviewed-on: https://github.com/flang-compiler/f18/pull/693
Peter Klausler [Tue, 27 Aug 2019 20:16:25 +0000 (13:16 -0700)]
[flang] Merge pull request flang-compiler/f18#690 from flang-compiler/pmk-sjs-omp-lib
Clean up `omp_lib.h` a bit
Original-commit: flang-compiler/f18@
e5830301bd4598e2318b9251abe7d5961117cb84
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
peter klausler [Tue, 27 Aug 2019 18:17:43 +0000 (11:17 -0700)]
[flang] Clean up omp_lib.h
Original-commit: flang-compiler/f18@
7119cd05344e3bdc871d6088a456561692122572
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
peter klausler [Tue, 27 Aug 2019 16:28:30 +0000 (09:28 -0700)]
[flang] Reformat omp_lib.h
Original-commit: flang-compiler/f18@
892d91b16172bf32323015e3ebf375f4e8943486
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
Steve Scalpone [Mon, 26 Aug 2019 21:58:10 +0000 (14:58 -0700)]
[flang] Implement int_ptr_kind.
Split omp_lib.F90 into two files: a Fortran file used to
create the omp_lib module and a .h file that can be used
directly, which apparently some codes do. Because of the
split, and wanting to avoid forcing use isc_c_binding,
use int_ptr_kind() instead of c_intptr_t.
Original-commit: flang-compiler/f18@
ce6a9fb17322608096c09f2b4d533f4e86d56b74
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
Steve Scalpone [Mon, 26 Aug 2019 16:57:06 +0000 (09:57 -0700)]
[flang] Add the OpenMP module.
Original-commit: flang-compiler/f18@
09d8b0d6e1da1435228f339674718881f09a49a2
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
Steve Scalpone [Tue, 27 Aug 2019 19:00:28 +0000 (12:00 -0700)]
[flang] Merge pull request flang-compiler/f18#681 from DavidTruby/master
Fix for builds with libc++9 and libstdc++10
Original-commit: flang-compiler/f18@
fae1187462a733e64364d2a1a7d908fbed904576
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
David Truby [Fri, 23 Aug 2019 20:17:57 +0000 (21:17 +0100)]
[flang] Misc changes for review
Original-commit: flang-compiler/f18@
6d9ddb8f5e4d5fe478dd2a5908418efb79f61df2
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
David Truby [Fri, 23 Aug 2019 13:52:38 +0000 (14:52 +0100)]
[flang] Fix for builds with libc++9 and libstdc++10
Original-commit: flang-compiler/f18@
137de8a1cdcb6e10d7a020209e0b2d1cb9118885
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
Tree-same-pre-rewrite: false
Tim Keith [Mon, 26 Aug 2019 22:46:49 +0000 (15:46 -0700)]
[flang] Fix bug with statement functions
When the name of a statement function was previously declared, we
weren't correctly recognizing it as a statement function. E.g.
```
integer :: f, i
f(i) = i + 1
```
`f` was entered in the symbol table with `EntityDetails` and the
`parser::Name` on the first line was resolved to that symbol.
On the second line we replaced the symbol for `f` in the scope
with a subprogram symbol, but that didn't change the symbol in
the first `parser::Name`.
The fix requires:
1. don't erase the original symbol for `f`, just replace its details
2. when we erase the symbol for `f` in the subprogram scope, don't
unresolve it
Original-commit: flang-compiler/f18@
31212686ea357503840c0562853c6977bfc1ffe5
jeanPerier [Mon, 26 Aug 2019 08:45:48 +0000 (01:45 -0700)]
[flang] Merge pull request flang-compiler/f18#680 from flang-compiler/jpr-fix-661
Fix issue: Enforce specific intrinsic characteristics
Original-commit: flang-compiler/f18@
0758d8a65e4060a66ba5c755023bb03d0487593b
Reviewed-on: https://github.com/flang-compiler/f18/pull/680
Jean Perier [Fri, 23 Aug 2019 12:37:37 +0000 (05:37 -0700)]
[flang] Fix intrinsic table probing issue with DOUBLE COMPLEX
The probing table was only expecting REAL for kind code
`KindCode::doublePrecision` that is also used for
`DoublePrecisionComplex`.
Add related tests.
Original-commit: flang-compiler/f18@
342ed7e7694da2d71d0c701d5a1163be333cfa01
Reviewed-on: https://github.com/flang-compiler/f18/pull/680
Jean Perier [Fri, 23 Aug 2019 12:03:41 +0000 (05:03 -0700)]
[flang] Fix issue: Enforce specific intrinsic characteristics
Fix issue flang-compiler/f18#661.
The issue was that when probing a specific intrinsic, the
constraints of the related generic intrinsic were tested instead
of the more restrictive constraints of the specific intrinsic.
Original-commit: flang-compiler/f18@
dd971e901d137f0cef9136250402521dbe266288
Reviewed-on: https://github.com/flang-compiler/f18/pull/680
Tree-same-pre-rewrite: false
jeanPerier [Mon, 26 Aug 2019 08:11:34 +0000 (01:11 -0700)]
[flang] Merge pull request flang-compiler/f18#679 from flang-compiler/jpr-fix-676
Fix SELECTED_CHAR_KIND('DEFAULT') folding issue
Original-commit: flang-compiler/f18@
6703f7bd99da33c437df68aafbe855cd1a96ecae
Reviewed-on: https://github.com/flang-compiler/f18/pull/679
Jean Perier [Fri, 23 Aug 2019 10:36:29 +0000 (03:36 -0700)]
[flang] Fix SELECTED_CHAR_KIND('DEFAULT') folding issue
Fix issue flang-compiler/f18#676
The issue was that the 'DEFAULT' case was handled
directly in fold.cc which did not lowercase/trim trailing
space of the argument befaore comparing to "default".
Modify the `Selected_char_kind` function to accept the default
char kind as argument and to return it if the processed argument
matches "default".
Original-commit: flang-compiler/f18@
14222ae9148af4f99f59e6f9f0b928baa2da0b10
Reviewed-on: https://github.com/flang-compiler/f18/pull/679
Peter Klausler [Fri, 23 Aug 2019 18:51:54 +0000 (11:51 -0700)]
[flang] Merge pull request flang-compiler/f18#671 from flang-compiler/pmk-decimal
Better binary<->decimal floating-point conversion
Original-commit: flang-compiler/f18@
5e93f2c602607c70bbb214e3eb59d8fcb8c47d9d
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
peter klausler [Fri, 23 Aug 2019 18:14:48 +0000 (11:14 -0700)]
[flang] Make it easier to enable minimal FP output by default for module files (but do not enable it)
Original-commit: flang-compiler/f18@
f6b640319b33008375ca719a88fd0580bcf90bba
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
peter klausler [Thu, 22 Aug 2019 20:58:50 +0000 (13:58 -0700)]
[flang] Cope better with ridiculously large exponents on input
Original-commit: flang-compiler/f18@
e55cc39bad40f6419aadf26101dc6e9c3ed3fda9
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Thu, 22 Aug 2019 19:08:39 +0000 (12:08 -0700)]
[flang] Address most review comments
Original-commit: flang-compiler/f18@
e6164782eac607d376eac59baa9107c971c92c19
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 21 Aug 2019 23:51:23 +0000 (16:51 -0700)]
[flang] Address comments, fix a bug
Original-commit: flang-compiler/f18@
e095bbb23f4e37fe37a1ead03e29f8786c4f9b36
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 21 Aug 2019 18:46:46 +0000 (11:46 -0700)]
[flang] Improve comments, clean up a couple of things
Original-commit: flang-compiler/f18@
8d94d643b64cef9f17eb58cf1095bdec20493965
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 23:59:05 +0000 (16:59 -0700)]
[flang] Fix copyright date on new file.
Original-commit: flang-compiler/f18@
60b1be7ce29ff1c2b6365d44d755c7f33b616313
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 23:57:49 +0000 (16:57 -0700)]
[flang] Correct header guards
Original-commit: flang-compiler/f18@
77688d03926bf256846f2fb79999506f7bfd89b3
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 23:42:15 +0000 (16:42 -0700)]
[flang] Reenable thorough test
Original-commit: flang-compiler/f18@
431254483e41ecbd667d465d853e46b91ad4ba9b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 23:38:48 +0000 (16:38 -0700)]
[flang] Better unsigned division by constants
Original-commit: flang-compiler/f18@
1b35c24a8aa37f06b7d5ce8b1af636bf15ac979b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 21:35:24 +0000 (14:35 -0700)]
[flang] Clean up some static_casts
Original-commit: flang-compiler/f18@
a5f81388a269e174ee73781c1ed748d992df3dca
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 20:44:11 +0000 (13:44 -0700)]
[flang] Simplify guard bits (only use 3)
Original-commit: flang-compiler/f18@
b710268c1b323c1ce29959eff01d020d5a32283b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 19:58:27 +0000 (12:58 -0700)]
[flang] Work around slow clang-7
Original-commit: flang-compiler/f18@
ed634d72e3d51d56010ef5aedef614f3cda6e076
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 20 Aug 2019 17:05:52 +0000 (10:05 -0700)]
[flang] faster Parse
Original-commit: flang-compiler/f18@
ca97439c6847848bc3f8a52757a73cc3a425e8bb
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Mon, 19 Aug 2019 22:50:21 +0000 (15:50 -0700)]
[flang] Get clean build with gcc
Original-commit: flang-compiler/f18@
e6b5ed152dc318939011597d073bd268465a44f3
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Mon, 19 Aug 2019 18:45:55 +0000 (11:45 -0700)]
[flang] Simplify decimal->binary
Original-commit: flang-compiler/f18@
01aefbbd7ab91588368f25179749806612ce3fb4
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Fri, 16 Aug 2019 18:13:58 +0000 (11:13 -0700)]
[flang] Make thorough test thorough again
Original-commit: flang-compiler/f18@
c24b10e4347234f6f1a9f127abf0d47f2b954204
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Fri, 16 Aug 2019 18:12:18 +0000 (11:12 -0700)]
[flang] Replace usage of original decimal conversion code with calls to new library
Original-commit: flang-compiler/f18@
7a164451f2b6c920b229a6a666161dd2f936653b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Thu, 15 Aug 2019 22:07:27 +0000 (15:07 -0700)]
[flang] Debug test
Original-commit: flang-compiler/f18@
bf2c22bcf494a63cacb7dffcb4e7b209bdc8522c
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Thu, 15 Aug 2019 00:05:08 +0000 (17:05 -0700)]
[flang] More testing, added thorough 32-bit sweep test
Original-commit: flang-compiler/f18@
f81b92f91c62822887f12be7fb68d5da816eef47
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 14 Aug 2019 23:21:46 +0000 (16:21 -0700)]
[flang] Testing & debugging
Original-commit: flang-compiler/f18@
f7f933e7f56375c8fe766bf2527472fefca73ad1
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 14 Aug 2019 22:25:16 +0000 (15:25 -0700)]
[flang] Begin adding tests
Original-commit: flang-compiler/f18@
8776d8b66334f8ba0886d074217f0c17cb6aa02b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 14 Aug 2019 20:21:36 +0000 (13:21 -0700)]
[flang] clean up a todo
Original-commit: flang-compiler/f18@
1107bd1f02a978900cc005e72ec2acfe80c198db
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 14 Aug 2019 20:10:10 +0000 (13:10 -0700)]
[flang] Enforce digit limits
Original-commit: flang-compiler/f18@
33600e127dd8ed747d10063d55d8b1eb99bb999b
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Wed, 14 Aug 2019 18:53:04 +0000 (11:53 -0700)]
[flang] Add rounding modes
Original-commit: flang-compiler/f18@
9caa1a29a5b8129af087ed55da147b15dc16cde3
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Tue, 13 Aug 2019 23:28:05 +0000 (16:28 -0700)]
[flang] Code snapshot
Original-commit: flang-compiler/f18@
46923344ca8364685c09eb14935382d8989fa0ff
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
peter klausler [Thu, 25 Jul 2019 17:31:53 +0000 (10:31 -0700)]
[flang] Move leading zero bit count into lib/common
Original-commit: flang-compiler/f18@
1ed184febe6ed4c232d140c69be7d6d1a458aac5
Reviewed-on: https://github.com/flang-compiler/f18/pull/671
Tree-same-pre-rewrite: false
Tim Keith [Fri, 23 Aug 2019 18:28:33 +0000 (11:28 -0700)]
[flang] Merge pull request flang-compiler/f18#675 from flang-compiler/tsk-modfiles2
Fix bugs in .mod file generation
Original-commit: flang-compiler/f18@
5de0847a64194cc371f62d91d18c2d054c4985c5
Reviewed-on: https://github.com/flang-compiler/f18/pull/675