cmFortranParser: Skip #line directives that do not name files
Since commit v3.5.0-rc1~241^2~1 (cmFortranParser: Parse #line directives, 2015-11-02) our Fortran dependency scanner parses `#line` directives to extract the named files. However, some compilers produce `#line` directives that name directories instead of files. Work around such cases by verifying that the extracted path names a file and not a directory.
This commit is contained in:
parent
64130a7e79
commit
f831d752ae
@ -229,7 +229,7 @@ void cmFortranParser_RuleLineDirective(cmFortranParser* parser,
|
|||||||
cmSystemTools::ConvertToUnixSlashes(included);
|
cmSystemTools::ConvertToUnixSlashes(included);
|
||||||
|
|
||||||
// Save the named file as included in the source.
|
// Save the named file as included in the source.
|
||||||
if (cmSystemTools::FileExists(included))
|
if (cmSystemTools::FileExists(included, true))
|
||||||
{
|
{
|
||||||
parser->Info.Includes.insert(included);
|
parser->Info.Includes.insert(included);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user