Fortran w/ OpenMP: Conditional Compilation Sentinel ignored
The Fortran lexer currently ignores everything following a single !
character.
However, the sentinel !$
(in the case of fixed form, also *$
and c$
) does not mark a comment, but a line that should only be compiled if OpenMP is enabled, see Section 3.3 of the OpenMP Standard,https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5-2.pdf.
Hence it can happen that a conditional module usage of the form
!$ use some_module
is ignored while scanning the dependencies, and can break the build.