forked from OSchip/llvm-project
9b31cbe7db
Update the grammar to handle logical abbreviations (e.g. `.A.` for `.AND.`) when the feature is enabled. Only support `.X.` when both XOR and logical abbreviations are enabled. Fix the driver to enable logical abbreviations with the `-flogical-abbreviations` option. This was already documented in `documentation/Extensions.md`. Remove `parser::Expr::XOR` from the parse tree and immediately map `.XOR.` to `.NEQV.` if that feature is enabled. This was already being done during expression analysis anyway. Add `LanguageFeatureControl::GetNames` to return all of the names of a logical or relational operator, depending on which features are enabled. Use these in both name resolution and expression analysis. Add `Not` to `LogicalOperator` to help in those cases. Fix handling of BOZ literals: A numeric operation with one real or integer operand and the other a BOZ literal is intrinsic. Also, unary plus with a BOZ literal operand is also intrinsic. Original-commit: flang-compiler/f18@956bd50bc7 Reviewed-on: https://github.com/flang-compiler/f18/pull/815 |
||
---|---|---|
flang |