peter klausler
888786b346
[flang] Really fix backslash escapes.
...
Original-commit: flang-compiler/f18@a8c702c103
Reviewed-on: https://github.com/flang-compiler/f18/pull/133
Tree-same-pre-rewrite: false
2018-07-19 15:35:55 -07:00
Peter Klausler
d1bf9e1fe2
[flang] Merge pull request flang-compiler/f18#130 from flang-compiler/pmk1
...
Roll up parsing changes for several topics
Original-commit: flang-compiler/f18@57e051eafa
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
2018-07-19 09:55:24 -07:00
peter klausler
8119fe881d
[flang] Ready for merge.
...
Original-commit: flang-compiler/f18@f39949fc7d
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
2018-07-19 09:54:24 -07:00
peter klausler
d100bcbc9f
[flang] Do not enable OpenMP by default, oops.
...
Original-commit: flang-compiler/f18@7a627ac040
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
Tree-same-pre-rewrite: false
2018-07-19 09:54:24 -07:00
peter klausler
80ece7418a
[flang] Define LanguageFeatureControl, use it everywhere.
...
Original-commit: flang-compiler/f18@9a95107610
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
Tree-same-pre-rewrite: false
2018-07-19 09:54:24 -07:00
peter klausler
f701b42920
[flang] Better language feature enablement and warnings.
...
Original-commit: flang-compiler/f18@359e4d2c60
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
Tree-same-pre-rewrite: false
2018-07-19 09:54:23 -07:00
peter klausler
31cfbeab42
[flang] Another SUBMODULE unparsing tweak, and restore buildability with gcc < 8.1
...
Original-commit: flang-compiler/f18@86b5db4b23
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
Tree-same-pre-rewrite: false
2018-07-19 09:54:22 -07:00
peter klausler
1732d043e2
[flang] Fix clang build warning in mod-file.cc
...
Original-commit: flang-compiler/f18@53ad3bd59c
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
Tree-same-pre-rewrite: false
2018-07-19 09:54:22 -07:00
peter klausler
5b25aad67c
[flang] Address issue#125, flang-compiler/f18#115 , and improve error recovery on previous issues.
...
Original-commit: flang-compiler/f18@98e26d6245
Reviewed-on: https://github.com/flang-compiler/f18/pull/130
Tree-same-pre-rewrite: false
2018-07-19 09:54:21 -07:00
Tim Keith
737e6eaf37
[flang] Merge pull request flang-compiler/f18#131 from flang-compiler/tsk2
...
Update module file documentation
Original-commit: flang-compiler/f18@8981007d1c
Reviewed-on: https://github.com/flang-compiler/f18/pull/131
2018-07-19 07:52:34 -07:00
Tim Keith
6568929bf5
[flang] Update module file documentation
...
Address some review comments, add more information.
Original-commit: flang-compiler/f18@75c97b6f9b
Reviewed-on: https://github.com/flang-compiler/f18/pull/131
2018-07-18 12:39:34 -07:00
Tim Keith
a695afd042
[flang] Merge pull request flang-compiler/f18#127 from flang-compiler/tsk5
...
Use brace initialization with auto
Original-commit: flang-compiler/f18@f767ea2e1a
Reviewed-on: https://github.com/flang-compiler/f18/pull/127
2018-07-18 06:58:33 -07:00
Tim Keith
cde0b5cc87
[flang] Use brace initialization in tools/f18
...
Also reformat dump.cc.
Original-commit: flang-compiler/f18@1cc4fe2788
Reviewed-on: https://github.com/flang-compiler/f18/pull/127
2018-07-17 07:05:35 -07:00
Tim Keith
7400a287a1
[flang] Use brace initialization in lib/semantics
...
Syntax only, no functional changes.
Original-commit: flang-compiler/f18@8cc9743c9c
Reviewed-on: https://github.com/flang-compiler/f18/pull/127
Tree-same-pre-rewrite: false
2018-07-17 07:02:30 -07:00
Tim Keith
6e3e9bf51e
[flang] Merge pull request flang-compiler/f18#129 from flang-compiler/tsk2
...
Fix test script portability problems.
Original-commit: flang-compiler/f18@e7f83218a3
Reviewed-on: https://github.com/flang-compiler/f18/pull/129
2018-07-17 17:21:55 -07:00
Tim Keith
bfd0703234
[flang] Fix test script portability problems.
...
Allow for bash anywhere on path.
Allow for utilites to be in /bin as well as /usr/bin.
Don't count on sed understanding '\t'.
The options to mktemp aren't portable. Instead just create a per-test
temp directory in the working directory (i.e. <build-dir>/test/semantics).
Setting the KEEP environment variable causes them all to be kept to help
in investigating failures.
Fixes flang-compiler/f18#128 .
Original-commit: flang-compiler/f18@3736ceeca8
Reviewed-on: https://github.com/flang-compiler/f18/pull/129
2018-07-17 16:48:50 -07:00
Tim Keith
c11a62a3dd
[flang] Merge pull request flang-compiler/f18#126 from flang-compiler/tsk5
...
Implement writing of .mod files.
Original-commit: flang-compiler/f18@94c1f72fbd
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
2018-07-17 06:41:59 -07:00
Tim Keith
3c77458b33
[flang] Handle VOLATILE or ASYNCHRONOUS added to use-associated entity
...
When a symbol is use-associated, the VOLATILE and ASYNCHRONOUS
attributes can be added. When that happens it must be recorded
in the .mod file.
Original-commit: flang-compiler/f18@44fa9e5ba4
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
2018-07-17 06:39:38 -07:00
Tim Keith
5934a01c58
[flang] Fix typo
...
Original-commit: flang-compiler/f18@242ff9d229
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
Tree-same-pre-rewrite: false
2018-07-16 16:45:58 -07:00
Tim Keith
f95c663c09
[flang] Add a .mod file test with subprograms
...
The .mod file just contains the API. Test that prefixes and suffixes
on the declaration get correctly persisted.
Original-commit: flang-compiler/f18@eb2a6deb4f
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
Tree-same-pre-rewrite: false
2018-07-16 16:44:07 -07:00
Tim Keith
dda6fa8eba
[flang] Initial documentation for .mod files
...
Original-commit: flang-compiler/f18@f1809b833f
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
Tree-same-pre-rewrite: false
2018-07-16 16:26:14 -07:00
Tim Keith
43f2ce0739
[flang] Add tests for .mod file writing
...
The source files contain the expected contents of generated .mod files.
`test_modfile.sh` compiles the source file and verifies that the correct
.mod files are generated.
Original-commit: flang-compiler/f18@a23f53c1a7
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
Tree-same-pre-rewrite: false
2018-07-16 16:24:14 -07:00
Tim Keith
0c575ed548
[flang] Implement writing of .mod files.
...
Module file writing is implemented in mod-file.cc. They need to be
written after all semantic checking. Until then, for testing, write
them out whenever names are resolved.
There is a header comment in the .mod files but it is mostly a
placeholder until we can read them in and do something with it.
Rename `Symbol::details<D>` to `Symbol::get<D>`. This asserts that the
details of the symbol match D and returns that type. But we need a way
to access the details as a variant as well (not just one of its types).
`details()` is the best name for that, especially as we already have
`set_details()`. Renaming the old `details` to `get` also better matches
`has` which is used to check which variant is present.
Original-commit: flang-compiler/f18@8d14be1a16
Reviewed-on: https://github.com/flang-compiler/f18/pull/126
Tree-same-pre-rewrite: false
2018-07-16 16:23:18 -07:00
Peter Klausler
9f13edf8ba
[flang] Merge pull request flang-compiler/f18#123 from flang-compiler/pmk1
...
Improve error recovery further, using a test case from Tim.
Original-commit: flang-compiler/f18@cd850a75df
Reviewed-on: https://github.com/flang-compiler/f18/pull/123
2018-07-12 16:43:17 -07:00
peter klausler
296040aa96
[flang] Improve error recovery further, using a test case from Tim.
...
Original-commit: flang-compiler/f18@9ef79fa991
Reviewed-on: https://github.com/flang-compiler/f18/pull/123
2018-07-12 16:23:25 -07:00
Peter Klausler
b05e20300d
[flang] Merge pull request flang-compiler/f18#122 from flang-compiler/pmk1
...
Fix two problems described in issue#121
Original-commit: flang-compiler/f18@4d8203ad35
Reviewed-on: https://github.com/flang-compiler/f18/pull/122
2018-07-12 15:32:52 -07:00
peter klausler
2c1b7bfd14
[flang] Extend documentation on extensions.
...
Original-commit: flang-compiler/f18@672e468252
Reviewed-on: https://github.com/flang-compiler/f18/pull/122
2018-07-12 15:32:31 -07:00
peter klausler
18d58f9fb3
[flang] Tweak code for readability and maybe better performance.
...
Original-commit: flang-compiler/f18@e4d9b8587e
Reviewed-on: https://github.com/flang-compiler/f18/pull/122
Tree-same-pre-rewrite: false
2018-07-12 15:05:34 -07:00
peter klausler
3577ee5f5f
[flang] More documentation. These changes fix two bugs noted in f18 issue#121.
...
Original-commit: flang-compiler/f18@f386472c5c
Reviewed-on: https://github.com/flang-compiler/f18/pull/122
Tree-same-pre-rewrite: false
2018-07-12 14:58:06 -07:00
peter klausler
0b8d07cc42
[flang] Allow empty statements and improve error recovery error messages.
...
Original-commit: flang-compiler/f18@018e81e2c4
Reviewed-on: https://github.com/flang-compiler/f18/pull/122
Tree-same-pre-rewrite: false
2018-07-12 14:47:15 -07:00
Tim Keith
49fcdf0726
[flang] Merge pull request flang-compiler/f18#120 from flang-compiler/tsk1
...
Support intent-stmt and resolve subprogram prefixes and suffixes.
Original-commit: flang-compiler/f18@2206d453e1
Reviewed-on: https://github.com/flang-compiler/f18/pull/120
2018-07-12 10:15:46 -07:00
Tim Keith
be886c18ac
[flang] Sort enumerators in `enum class Attr`.
...
Original-commit: flang-compiler/f18@ce43e4e556
Reviewed-on: https://github.com/flang-compiler/f18/pull/120
2018-07-12 10:14:58 -07:00
Tim Keith
d42bb955a6
[flang] Support intent-stmt and resolve subprogram prefixes and suffixes.
...
Recognize `IntentStmt` and use `HandleAttributeStmt()` to implement it
as is done with other attribute statements. Add `Attr::INTENT_INOUT` as
a separate attribute for `INTENT(INOUT)`.
Collect attributes from the prefix and suffix of `FunctionStmt` and
`SubroutineStmt` (including `BIND(C)`) and set them on the subprogram
symbol.
Create a test for this using `test_symbol.sh`. It compiles with
`-funparse-with-symbols` and compares the output with the symbols in
comments in the input.
Change `test_errors.sh` to be similar to `test_symbol.sh`: check usage
and allow `F18` environment variable to override the path to the
compiler.
Original-commit: flang-compiler/f18@384828a22f
Reviewed-on: https://github.com/flang-compiler/f18/pull/120
Tree-same-pre-rewrite: false
2018-07-11 17:45:13 -07:00
Peter Klausler
d820ff8a76
[flang] Merge pull request flang-compiler/f18#119 from flang-compiler/pmk1
...
Use braces in `auto` initializers in lib/{parser,common,evaluate}
Original-commit: flang-compiler/f18@1aeba0c214
Reviewed-on: https://github.com/flang-compiler/f18/pull/119
2018-07-11 14:50:59 -07:00
peter klausler
bfc6c3b9ae
[flang] Documentation
...
Original-commit: flang-compiler/f18@d2855c6474
Reviewed-on: https://github.com/flang-compiler/f18/pull/119
2018-07-11 10:26:53 -07:00
peter klausler
148b7d1f4a
[flang] merge and reformat
...
Original-commit: flang-compiler/f18@2e3d67aa79
Reviewed-on: https://github.com/flang-compiler/f18/pull/119
Tree-same-pre-rewrite: false
2018-07-11 10:22:05 -07:00
peter klausler
a85fc58b93
[flang] correct typo in unparse.cc found in test
...
Original-commit: flang-compiler/f18@1aa60cccc4
Reviewed-on: https://github.com/flang-compiler/f18/pull/119
Tree-same-pre-rewrite: false
2018-07-11 10:21:35 -07:00
peter klausler
d28adc2e7f
[flang] Use braces for auto initialization in lib/common and lib/evaluate
...
Original-commit: flang-compiler/f18@b0d1dd434b
Reviewed-on: https://github.com/flang-compiler/f18/pull/119
Tree-same-pre-rewrite: false
2018-07-11 10:21:34 -07:00
peter klausler
f147abdee2
[flang] Use braces in auto initializers.
...
Original-commit: flang-compiler/f18@b68fdff537
Reviewed-on: https://github.com/flang-compiler/f18/pull/119
Tree-same-pre-rewrite: false
2018-07-11 10:21:32 -07:00
Peter Klausler
bb51015002
[flang] Merge pull request flang-compiler/f18#118 from flang-compiler/pmk2
...
Better error recovery in the face of input that's not Fortran at all
Original-commit: flang-compiler/f18@7edf728444
Reviewed-on: https://github.com/flang-compiler/f18/pull/118
2018-07-11 10:18:49 -07:00
peter klausler
8d0f44fb91
[flang] Better error recovery (for a case from Tim) and fix a problem where context is lost.
...
Original-commit: flang-compiler/f18@522822fd5a
Reviewed-on: https://github.com/flang-compiler/f18/pull/118
2018-07-10 16:09:21 -07:00
Peter Klausler
5976b66417
[flang] Merge pull request flang-compiler/f18#117 from flang-compiler/pmk1
...
Variables
Original-commit: flang-compiler/f18@d38c14ef24
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
2018-07-10 10:58:34 -07:00
peter klausler
ea08e1bc72
[flang] Extend documentation
...
Original-commit: flang-compiler/f18@ac375a00ba
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
2018-07-10 10:56:55 -07:00
peter klausler
b081bc9d04
[flang] Address review comments
...
Original-commit: flang-compiler/f18@9e59b9b79d
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-10 10:18:34 -07:00
peter klausler
10d54a505a
[flang] Resolve build issues with older compilers.
...
Original-commit: flang-compiler/f18@d8723284d3
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-09 16:26:01 -07:00
peter klausler
74b12f1a31
[flang] Refine variable structure definitions, add references to Standard.
...
Original-commit: flang-compiler/f18@dbc6d45e02
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-09 16:26:01 -07:00
peter klausler
d218ddcae4
[flang] Start cleaning up for merging.
...
Original-commit: flang-compiler/f18@7355bd5b42
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-09 16:26:01 -07:00
peter klausler
e6fc51c731
[flang] Use Indirection. Get variables to work in int expressions.
...
Original-commit: flang-compiler/f18@1000717da8
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-09 16:26:00 -07:00
peter klausler
f8f98ca3b6
[flang] More abstraction in expressions.
...
Original-commit: flang-compiler/f18@2dc425acf5
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-09 16:26:00 -07:00
peter klausler
d7b3accb32
[flang] tweaks
...
Original-commit: flang-compiler/f18@624c1d2ec8
Reviewed-on: https://github.com/flang-compiler/f18/pull/117
Tree-same-pre-rewrite: false
2018-07-09 16:25:59 -07:00