[flang] merge with master, add comments

Original-commit: flang-compiler/f18@1fe4cf8142
Reviewed-on: https://github.com/flang-compiler/f18/pull/183
Tree-same-pre-rewrite: false
This commit is contained in:
peter klausler 2018-08-23 15:28:08 -07:00
parent 7d042acb9d
commit 4515b167c7
3 changed files with 6 additions and 6 deletions

View file

@ -452,7 +452,7 @@ R1107 block-construct ->
block-stmt [block-specification-part] block end-block-stmt
R1108 block-stmt -> [block-construct-name :] BLOCK
R1109 block-specification-part ->
[use-stmt]... [import-stmt]... [implicit-part]
[use-stmt]... [import-stmt]...
[[declaration-construct]... specification-construct]
R1110 end-block-stmt -> END BLOCK [block-construct-name]
R1111 change-team-construct -> change-team-stmt block end-change-team-stmt

View file

@ -25,10 +25,6 @@ namespace Fortran::common {
// Fortran has five kinds of intrinsic data, and the derived types.
ENUM_CLASS(TypeCategory, Integer, Real, Complex, Character, Logical, Derived)
static constexpr bool IsNumeric(TypeCategory cat) {
return cat <= TypeCategory::Complex;
}
// Kinds of IMPORT statements. Default means IMPORT or IMPORT :: names.
ENUM_CLASS(ImportKind, Default, Only, None, All)

View file

@ -2070,9 +2070,13 @@ WRAPPER_CLASS(BlockStmt, std::optional<Name>);
WRAPPER_CLASS(EndBlockStmt, std::optional<Name>);
// R1109 block-specification-part ->
// [use-stmt]... [import-stmt]... [implicit-part]
// [use-stmt]... [import-stmt]...
// [[declaration-construct]... specification-construct]
WRAPPER_CLASS(BlockSpecificationPart, SpecificationPart);
// TODO: Because BlockSpecificationPart just wraps the more general
// SpecificationPart, it can misrecognize an ImplicitPart as part of
// the BlockSpecificationPart during parsing, and we have to detect and
// flag such usage in semantics.
// TODO: error if any COMMON, EQUIVALENCE, INTENT, NAMELIST, OPTIONAL,
// VALUE, ENTRY, SAVE /common/, or statement function definition statement
// appears in a block-specification part (C1107, C1570).