From f831d752aeb3000a9b1b686da986af7ffecb6968 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 5 Apr 2016 12:57:15 -0400 Subject: [PATCH] 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. --- Source/cmFortranParserImpl.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/cmFortranParserImpl.cxx b/Source/cmFortranParserImpl.cxx index c175e6208..b3b2f16fe 100644 --- a/Source/cmFortranParserImpl.cxx +++ b/Source/cmFortranParserImpl.cxx @@ -229,7 +229,7 @@ void cmFortranParser_RuleLineDirective(cmFortranParser* parser, cmSystemTools::ConvertToUnixSlashes(included); // Save the named file as included in the source. - if (cmSystemTools::FileExists(included)) + if (cmSystemTools::FileExists(included, true)) { parser->Info.Includes.insert(included); }