summaryrefslogtreecommitdiffstats
path: root/Source/cmFortranParserImpl.cxx
diff options
context:
space:
mode:
authorIsuru Fernando <isuruf@gmail.com>2020-11-19 17:33:23 (GMT)
committerBrad King <brad.king@kitware.com>2021-06-24 12:39:47 (GMT)
commitfe3f846e1b88341529686ee7dd334b01fe9e705e (patch)
tree95a4facd2432b9eb74d4039cd467d364d3a0ab2e /Source/cmFortranParserImpl.cxx
parent66488d4eb31d372d8e06ce78e5f49a7cc43974ee (diff)
downloadCMake-fe3f846e1b88341529686ee7dd334b01fe9e705e.zip
CMake-fe3f846e1b88341529686ee7dd334b01fe9e705e.tar.gz
CMake-fe3f846e1b88341529686ee7dd334b01fe9e705e.tar.bz2
Makefiles: Add support for building Fortran intrinsics
Fixes: #21463
Diffstat (limited to 'Source/cmFortranParserImpl.cxx')
-rw-r--r--Source/cmFortranParserImpl.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/cmFortranParserImpl.cxx b/Source/cmFortranParserImpl.cxx
index 054a2a9..efcc5bb 100644
--- a/Source/cmFortranParserImpl.cxx
+++ b/Source/cmFortranParserImpl.cxx
@@ -197,6 +197,19 @@ void cmFortranParser_RuleUse(cmFortranParser* parser, const char* module_name)
parser->Info.Requires.insert(parser->ModName(mod_name));
}
+void cmFortranParser_RuleUseIntrinsic(cmFortranParser* parser,
+ const char* module_name)
+{
+ if (parser->InPPFalseBranch) {
+ return;
+ }
+
+ // syntax: "use, intrinsic:: module_name"
+ // requires: "module_name.mod"
+ std::string const& mod_name = cmSystemTools::LowerCase(module_name);
+ parser->Info.Intrinsics.insert(parser->ModName(mod_name));
+}
+
void cmFortranParser_RuleLineDirective(cmFortranParser* parser,
const char* filename)
{