summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-04-05 12:57:15 -0400
committerBrad King <brad.king@kitware.com>2016-04-05 12:59:45 -0400
commitf831d752aeb3000a9b1b686da986af7ffecb6968 (patch)
tree360e3133eabf3debc6662579cd4251ad649098db
parent64130a7e793483e24c1d68bdd234f81d5edb2d51 (diff)
downloadcmake-f831d752aeb3000a9b1b686da986af7ffecb6968.tar.gz
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.
-rw-r--r--Source/cmFortranParserImpl.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/cmFortranParserImpl.cxx b/Source/cmFortranParserImpl.cxx
index c175e62085..b3b2f16fe3 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);
}