Commit Graph

2422 Commits

Author SHA1 Message Date
peter klausler 1e90c6b948 [flang] naming
Original-commit: flang-compiler/f18@c3673287f8
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
2019-08-26 14:23:35 -07:00
peter klausler 0c3a942422 [flang] trampolines
Original-commit: flang-compiler/f18@3e9cebe8dc
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
2019-08-26 12:41:10 -07:00
peter klausler 311300b15d [flang] more writing
Original-commit: flang-compiler/f18@16a8b0065a
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
2019-08-23 15:35:18 -07:00
peter klausler d732d10b80 [flang] more writing
Original-commit: flang-compiler/f18@a067cca183
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
2019-08-23 15:22:53 -07:00
peter klausler 700448d39c [flang] More writing
Original-commit: flang-compiler/f18@f475086c0c
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
2019-08-23 14:35:38 -07:00
peter klausler 9dcbed4735 [flang] Extract Calls.md into its own branch.
Original-commit: flang-compiler/f18@8a5a2c99dc
Reviewed-on: https://github.com/flang-compiler/f18/pull/683
Tree-same-pre-rewrite: false
2019-08-23 13:42:13 -07:00
Jinxin Yang d7443b5ad2 [flang] Add missing include for unordered_map
Original-commit: flang-compiler/f18@a9aadfb607
2019-09-05 14:34:44 -07:00
Jinxin Yang bc52fc1922 [flang] [OpenMP] extend `IF` clause to accept modifier on composite/combined constructs
Original-commit: flang-compiler/f18@03302a1546
2019-09-05 13:35:21 -07:00
Jinxin Yang 5c543da53a [flang] [OpenMP] add structural checks for `TASKLOOP SIMD`
Original-commit: flang-compiler/f18@21b4dde276
2019-09-05 13:35:21 -07:00
Jinxin Yang d1bbccf1d5 [flang] [OpenMP] update `declare simd` directive with exclusive set
Original-commit: flang-compiler/f18@dc1bd8edc6
2019-09-05 13:35:21 -07:00
Jinxin Yang e902c1d6b7 [flang] [OpenMP] enable check for `IF` clause modifier
Original-commit: flang-compiler/f18@f56fe4a389
2019-09-05 13:35:21 -07:00
Jinxin Yang c4fa8b867e [flang] [OpenMP] Add structural checks for `TASK`
1. fix `OmpIfClause` on `Task`
2. add structural checks

Original-commit: flang-compiler/f18@a77830a191
2019-09-05 13:35:21 -07:00
Jinxin Yang 77ed1df8a7 [flang] [OpenMP] fix type for `Final` clause
The type should be `ScalarLogicalExpr`.

Original-commit: flang-compiler/f18@97e4282d7c
2019-09-05 13:35:21 -07:00
Jinxin Yang 658cf65249 [flang] [OpenMP] Expand full sets for `do`, `simd`, and `do simd`
Original-commit: flang-compiler/f18@1f5bbeb3ea
2019-09-05 13:35:21 -07:00
Steve Scalpone 26b18f5217 [flang] Merge pull request flang-compiler/f18#688 from DavidTruby/taskloop
Implement semantic checking for TASKLOOP

Original-commit: flang-compiler/f18@a5786851fa
Reviewed-on: https://github.com/flang-compiler/f18/pull/688
2019-09-04 23:01:29 -07:00
David Truby f1212c6606 [flang] Implement semantic checking for TASKLOOP
Original-commit: flang-compiler/f18@a8e65f2c2d
Reviewed-on: https://github.com/flang-compiler/f18/pull/688
2019-09-03 17:17:22 +01:00
Tim Keith 5d2f12074b [flang] Merge pull request flang-compiler/f18#697 from flang-compiler/tsk-crayptr
Name resolution for Cray pointers

Original-commit: flang-compiler/f18@a18c5ebed0
Reviewed-on: https://github.com/flang-compiler/f18/pull/697
2019-09-04 16:57:02 -07:00
Tim Keith cc07c43a84 [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@cabb112be2
Reviewed-on: https://github.com/flang-compiler/f18/pull/697
2019-09-04 16:55:08 -07:00
Tim Keith 6970974c4e [flang] Merge pull request flang-compiler/f18#710 from flang-compiler/tsk-issue709
Fix declaration of module procedure subprograms

Original-commit: flang-compiler/f18@b56bc365bb
Reviewed-on: https://github.com/flang-compiler/f18/pull/710
2019-09-04 16:33:22 -07:00
Tim Keith 9f49ffb94f [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@80b635d343
Reviewed-on: https://github.com/flang-compiler/f18/pull/710
2019-09-04 15:15:57 -07:00
Steve Scalpone 55d1fb1996 [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@e42947dcde
Reviewed-on: https://github.com/flang-compiler/f18/pull/706
2019-09-04 12:41:09 -07:00
Steve Scalpone 689e6ee7b6 [flang] Fold more cases of cmplx and dcmplx.
Original-commit: flang-compiler/f18@57401319b0
Reviewed-on: https://github.com/flang-compiler/f18/pull/706
2019-09-02 15:02:46 -07:00
Steve Scalpone fff45a620a [flang] Merge pull request flang-compiler/f18#705 from flang-compiler/sjs-dreal
Add support and documentation for DREAL.

Original-commit: flang-compiler/f18@e14461455f
Reviewed-on: https://github.com/flang-compiler/f18/pull/705
2019-09-03 19:05:55 -07:00
Steve Scalpone 93aa7a8640 [flang] Add support and documentation for DREAL.
Original-commit: flang-compiler/f18@5b6a2dc26c
Reviewed-on: https://github.com/flang-compiler/f18/pull/705
2019-09-02 13:54:01 -07:00
Steve Scalpone e6e1b0ba2b [flang] Merge pull request flang-compiler/f18#692 from flang-compiler/sjs-omp-doc
Create OpenMP-semantics.md

Original-commit: flang-compiler/f18@0948d3d191
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
2019-08-30 11:22:51 -07:00
Steve Scalpone d33a5652a8 [flang] Update OpenMP-semantics.md
Formatting changes.

Original-commit: flang-compiler/f18@007b3e31d3
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
2019-08-30 11:22:13 -07:00
Steve Scalpone 67a5f04be8 [flang] Update OpenMP-semantics.md
Item 4 can be removed since we decided to keep the code in Semantics.

Original-commit: flang-compiler/f18@7377a61345
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
2019-08-29 12:55:41 -07:00
Steve Scalpone 12c9b9429b [flang] Update OpenMP-semantics.md
Repond to review comments about grammar and formatting.

Original-commit: flang-compiler/f18@4811ea2b94
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
2019-08-27 18:12:50 -07:00
Steve Scalpone 6e4c8b88c5 [flang] Create OpenMP-semantics.md
Initial markdown document.

Original-commit: flang-compiler/f18@787a0ca058
Reviewed-on: https://github.com/flang-compiler/f18/pull/692
Tree-same-pre-rewrite: false
2019-08-27 14:38:48 -07:00
Jinxin Yang 23a7f38741 [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@d9689e10f4
2019-08-29 10:19:36 -07:00
Jinxin Yang f6273d7194 [flang] [OpenMP] structural checks for `PARALLEL SECTIONS`
Original-commit: flang-compiler/f18@c18452159d
2019-08-29 10:19:36 -07:00
Jinxin Yang ffb88549cb [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@d0436f13ee
2019-08-29 10:19:36 -07:00
Jinxin Yang 0a85616b07 [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@a5cdc4b035
2019-08-29 10:19:36 -07:00
jeanPerier 2cc505d11b [flang] Merge pull request flang-compiler/f18#689 from flang-compiler/jpr-fix-667
Implement ENUM name resolution

Original-commit: flang-compiler/f18@d4fd6bf95a
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
2019-08-29 02:37:32 -07:00
Jean Perier 296b0d9374 [flang] Remove unused function after last commit
Original-commit: flang-compiler/f18@029fbf64c2
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
2019-08-28 05:50:23 -07:00
Jean Perier d93f493438 [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@4e49d5396c
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
2019-08-28 04:58:38 -07:00
Jean Perier 93aefc3940 [flang] Address comments: Update comments
Original-commit: flang-compiler/f18@6308613244
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
2019-08-28 03:35:40 -07:00
Jean Perier f23200963f [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@b0e3c1691e
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
2019-08-27 07:14:51 -07:00
Jean Perier e3b5330fda [flang] Introduce IsNamedConstant to hide attr::PARAMETER details
for named constant that are actually enumerators.

Original-commit: flang-compiler/f18@d9c4888b72
Reviewed-on: https://github.com/flang-compiler/f18/pull/689
Tree-same-pre-rewrite: false
2019-08-27 07:14:51 -07:00
Tim Keith a512e42412 [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@e8e5cd5259
Reviewed-on: https://github.com/flang-compiler/f18/pull/687
2019-08-28 14:09:30 -07:00
Tim Keith 396a659413 [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@c39c7872d4
Reviewed-on: https://github.com/flang-compiler/f18/pull/687
2019-08-26 17:37:52 -07:00
Steve Scalpone 9de2bf6aa8 [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@705c3532ef
Reviewed-on: https://github.com/flang-compiler/f18/pull/693
2019-08-27 16:21:06 -07:00
Kiran Chandramohan 911cb63719 [flang] Fix for segfault in invalid proc interface message
The segfault happened due to a missing argument.

Original-commit: flang-compiler/f18@8a4f49e86d
Reviewed-on: https://github.com/flang-compiler/f18/pull/693
2019-08-27 23:28:15 +01:00
Peter Klausler 20473b6939 [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@e5830301bd
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
2019-08-27 13:16:25 -07:00
peter klausler 142fed87c1 [flang] Clean up omp_lib.h
Original-commit: flang-compiler/f18@7119cd0534
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
2019-08-27 11:17:43 -07:00
peter klausler 9d5d73aa77 [flang] Reformat omp_lib.h
Original-commit: flang-compiler/f18@892d91b161
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
2019-08-27 09:28:30 -07:00
Steve Scalpone 5c62bfb4f8 [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@ce6a9fb173
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
2019-08-26 14:58:10 -07:00
Steve Scalpone 9b5e691814 [flang] Add the OpenMP module.
Original-commit: flang-compiler/f18@09d8b0d6e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/690
Tree-same-pre-rewrite: false
2019-08-26 09:57:06 -07:00
Steve Scalpone aa907c3125 [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@fae1187462
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
2019-08-27 12:00:28 -07:00
David Truby 1281b9c5fc [flang] Misc changes for review
Original-commit: flang-compiler/f18@6d9ddb8f5e
Reviewed-on: https://github.com/flang-compiler/f18/pull/681
2019-08-23 21:17:57 +01:00