Skip to content

Commit 7c1b289

Browse files
authored
[flang] Accept compiler directives between module subprograms (#91230)
Parse and represent compiler directives in a modules module-subprogram-part between the module subprograms.
1 parent b9e3fa8 commit 7c1b289

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

flang/include/flang/Parser/parse-tree.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2905,7 +2905,8 @@ struct ModuleSubprogram {
29052905
UNION_CLASS_BOILERPLATE(ModuleSubprogram);
29062906
std::variant<common::Indirection<FunctionSubprogram>,
29072907
common::Indirection<SubroutineSubprogram>,
2908-
common::Indirection<SeparateModuleSubprogram>>
2908+
common::Indirection<SeparateModuleSubprogram>,
2909+
common::Indirection<CompilerDirective>>
29092910
u;
29102911
};
29112912

flang/lib/Parser/program-parsers.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,8 @@ TYPE_CONTEXT_PARSER("module subprogram part"_en_US,
247247
// separate-module-subprogram
248248
TYPE_PARSER(construct<ModuleSubprogram>(indirect(functionSubprogram)) ||
249249
construct<ModuleSubprogram>(indirect(subroutineSubprogram)) ||
250-
construct<ModuleSubprogram>(indirect(Parser<SeparateModuleSubprogram>{})))
250+
construct<ModuleSubprogram>(indirect(Parser<SeparateModuleSubprogram>{})) ||
251+
construct<ModuleSubprogram>(indirect(compilerDirective)))
251252

252253
// R1410 module-nature -> INTRINSIC | NON_INTRINSIC
253254
constexpr auto moduleNature{

0 commit comments

Comments
 (0)