Skip to content

Commit

Permalink
merge with master, add comments
Browse files Browse the repository at this point in the history
  • Loading branch information
klausler committed Sep 12, 2018
1 parent f2b49ba commit 1fe4cf8
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion documentation/f2018-grammar.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 0 additions & 4 deletions lib/common/fortran.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
6 changes: 5 additions & 1 deletion lib/parser/parse-tree.h
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down

0 comments on commit 1fe4cf8

Please sign in to comment.