- Mar 11, 2019
-
-
Eric Schweitz authored
Original-commit: flang-compiler/f18@c3cdc327863036213dab26abf9e97f23a968c197 Reviewed-on: https://github.com/flang-compiler/f18/pull/319 Tree-same-pre-rewrite: false
-
Eric Schweitz authored
Original-commit: flang-compiler/f18@51476aa1786de4b98b8189f256ba602298fd4903 Reviewed-on: https://github.com/flang-compiler/f18/pull/319 Tree-same-pre-rewrite: false
-
Eric Schweitz authored
Original-commit: flang-compiler/f18@b7a759539467268c250b239f2e62c854f41ae46e Reviewed-on: https://github.com/flang-compiler/f18/pull/319 Tree-same-pre-rewrite: false
-
- Mar 10, 2019
-
-
Peter Klausler authored
Fix two ambiguous parsing cases by patching parse tree in expression semantics Original-commit: flang-compiler/f18@d4807f136419b075adcaf38b0129ba7e79c994df Reviewed-on: https://github.com/flang-compiler/f18/pull/322
-
peter klausler authored
Original-commit: flang-compiler/f18@8a9a41487e809e61b173b07f629a8e0251a8b921 Reviewed-on: https://github.com/flang-compiler/f18/pull/322
-
peter klausler authored
Original-commit: flang-compiler/f18@53d0e26d922d2a7d99599a0f6b7c9a2aa0854007 Reviewed-on: https://github.com/flang-compiler/f18/pull/322 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@d857c843f5ef2125e9675eb22f013b225a399a38 Reviewed-on: https://github.com/flang-compiler/f18/pull/322 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@5b6b2540f6c66b3f2900b24b06d732de3436b4ea Reviewed-on: https://github.com/flang-compiler/f18/pull/322 Tree-same-pre-rewrite: false
-
Tim Keith authored
Remove build dependency on clang Original-commit: flang-compiler/f18@737998bb508819772a4f46f10c7d8d9cfaef9070 Reviewed-on: https://github.com/flang-compiler/f18/pull/321
-
- Mar 09, 2019
-
-
Tim Keith authored
For now all we need to depend on is LLVM. Use llvm_map_components_to_libnames to find libraries to link against. Original-commit: flang-compiler/f18@dff1402c2a781b7fff5c691b45e6a7f2e3a6ef61 Reviewed-on: https://github.com/flang-compiler/f18/pull/321
-
Peter Klausler authored
Rearrange/simplify expr analysis code Original-commit: flang-compiler/f18@4eaccde5167370eb082ce6ef0247942a230f94f1 Reviewed-on: https://github.com/flang-compiler/f18/pull/320
-
- Mar 08, 2019
-
-
peter klausler authored
Original-commit: flang-compiler/f18@aa9f3a7cca821bf8ea430c10fcae49b295ccd489 Reviewed-on: https://github.com/flang-compiler/f18/pull/320
-
Tim Keith authored
Simplify Semantics::Perform Original-commit: flang-compiler/f18@c435fe65a4c027300365dce9a54240705db1a945 Reviewed-on: https://github.com/flang-compiler/f18/pull/317
-
- Mar 07, 2019
-
-
Tim Keith authored
`Semantics::Perform` is mostly a series of calls followed by a check for fatal errors. There is more error checking logic than real code. To make it clearer, change each of the phases it calls to return true on success so that `Perform` can just call them one after the other. Original-commit: flang-compiler/f18@a218cac788fdc4018645651964e75221c6f31653 Reviewed-on: https://github.com/flang-compiler/f18/pull/317
-
Peter Klausler authored
Add Expression traversal framework, use it to reimplement IsConstantE… Original-commit: flang-compiler/f18@90cd33adcb6c420d0791a094c456832e4d78d548 Reviewed-on: https://github.com/flang-compiler/f18/pull/316
-
peter klausler authored
Original-commit: flang-compiler/f18@cfc3082b7ae840168e891dcf25e0034a4193a3fd Reviewed-on: https://github.com/flang-compiler/f18/pull/316
-
peter klausler authored
Original-commit: flang-compiler/f18@1224eaee85c65d70724385d222ba72541dd80213 Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@7a675d9df6ac161d68314459b3a54575eda1d354 Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@2118b463140f027c81659c647639a03a820437ad Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@27fb43b6ed1a4874c153ffc1219dcbdca931804e Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@3ed6199fedc2ba0d527cc7dd46c5ab67a7f0f1c7 Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@c09c4c9e00d15a5dd391216662665d48a908c4fd Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@07d196386e139b65fe18d4df32f06f994627aac3 Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@f5d39159354a994cdeb5ab1d4cbfea188c14e681 Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false
-
Tim Keith authored
Create framework for checking statement semantics Original-commit: flang-compiler/f18@0fcdb68061b8d008d22e0cc0ff4ccdbb40ab8f44 Reviewed-on: https://github.com/flang-compiler/f18/pull/315
-
Tim Keith authored
DoConcurrentChecker depends on expressions being fully resolved so it can't be in the same pass as ExprChecker. The same will probably apply to AssignmentChecker when its finished. Checks that don't depend on expressions can go in the first pass with ExprChecker. Original-commit: flang-compiler/f18@c0785ec06f58098d262cf2f791a98e74bdcef11b Reviewed-on: https://github.com/flang-compiler/f18/pull/315
-
Tim Keith authored
Add a test to verify that AssignmentChecker is actually running. Original-commit: flang-compiler/f18@2c91604e9bff06eb8d63d79abda916802966602f Reviewed-on: https://github.com/flang-compiler/f18/pull/315 Tree-same-pre-rewrite: false
-
- Mar 06, 2019
-
-
Tim Keith authored
Add `SemanticsVisitor` as the visitor class to perform statement semantics checks. Its template parameters are "checker" classes that perform the checks. They have `Enter` and `Leave` functions that are called for the corresponding parse tree nodes (`Enter` before the children, `Leave` after). Unlike `Pre` and `Post` in visitors they cannot prevent the parse tree walker from visiting child nodes. Existing checks have been incorporated into this framework: - `ExprChecker` replaces `AnalyzeExpressions()` - `AssignmentChecker` replaces `AnalyzeAssignments()` - `DoConcurrentChecker` replaces `CheckDoConcurrentConstraints()` Adding a new checker requires: - defining the checker class: - with BaseChecker as virtual base class - constructible from `SemanticsContext` - with Enter/Leave functions for nodes of interest - add the checker class to the template parameters of `StatementSemantics` Because these checkers and also `ResolveNamesVisitor` require tracking the current statement source location, that has been moved into `SemanticsContext`. `ResolveNamesVisitor` and `SemanticsVisitor` update the location when `Statement` nodes are encountered, making it available for error messages. `AnalyzeKindSelector()` now has access to the current statement through the context and so no longer needs to have it passed in. Test `assign01.f90` was added to verify that `AssignmentChecker` is actually doing something. Original-commit: flang-compiler/f18@3a222c36731029fabf026e5301dc60f0587595be Reviewed-on: https://github.com/flang-compiler/f18/pull/315 Tree-same-pre-rewrite: false
-
Peter Klausler authored
More structure constructor semantics checking Original-commit: flang-compiler/f18@5561c9012c07c21cd043b0b0b8b2a03d6e42bebe Reviewed-on: https://github.com/flang-compiler/f18/pull/311
-
peter klausler authored
Original-commit: flang-compiler/f18@c0ab787cd1eb82a13fca9a473973b25e737da77a Reviewed-on: https://github.com/flang-compiler/f18/pull/311
-
peter klausler authored
Original-commit: flang-compiler/f18@a97f377ae6051d877df82036983cc6209a2e0d95 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
- Mar 05, 2019
-
-
peter klausler authored
Original-commit: flang-compiler/f18@582c6d1eca5bc29fddadae4d25e418da4ace2c11 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@40461345124b95de1f35828885e95d8bf0a235f1 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@c9823da20746313005ee017413f8207a720a10b0 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@386cd8a9b43f4e65c3e42febbae991fa87d277a9 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@88cdb49f4892a20f2628f11373a0f1c9c32a6c1e Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@051c1dd923a3b321d1a19768414caf93732a3426 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@f2d751d8a6c1bf31f69031bbdab0a823999ebf5c Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@56e83d4dd64dd7d30b2ce4bbf124f2c39bc14b58 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-
peter klausler authored
Original-commit: flang-compiler/f18@2c3368fb5f6178bb997936bb506deecc2d8b7d03 Reviewed-on: https://github.com/flang-compiler/f18/pull/311 Tree-same-pre-rewrite: false
-