Quellcode durchsuchen

COMP: Get it to compile on Borland 5.5, too. Including stl headers here does not work, because with Borland 5.5 stl headers pull in windef.h which typedefs WORD which is in the fortran tokens list...

David Cole vor 18 Jahren
Ursprung
Commit
e6912431c8
1 geänderte Dateien mit 14 neuen und 3 gelöschten Zeilen
  1. 14 3
      Source/cmDependsFortranParser.cxx

+ 14 - 3
Source/cmDependsFortranParser.cxx

@@ -183,7 +183,7 @@ Modify cmDependsFortranParser.cxx:
 #define cmDependsFortranParser_cxx
 #include "cmDependsFortranParser.h" /* Interface to parser object.  */
 #include "cmDependsFortranParserTokens.h" /* Need YYSTYPE for YY_DECL.  */
-#include "cmSystemTools.h"
+#include <ctype.h> // for tolower
 
 /* Configure the parser to use a lexer object.  */
 #define YYPARSE_PARAM yyscanner
@@ -205,8 +205,19 @@ static void cmDependsFortranError(yyscan_t yyscanner, const char* message)
 static bool cmDependsFortranParserIsKeyword(const char* word,
                                             const char* keyword)
 {
-  return (strlen(word) == strlen(keyword) &&
-          cmSystemTools::LowerCase(word) == keyword);
+  size_t len = strlen(word);
+  if (len != strlen(keyword))
+    {
+    return false;
+    }
+  for (size_t i = 0; i < len; ++i)
+    {
+    if (tolower(word[i]) != tolower(keyword[i]))
+      {
+      return false;
+      }
+    }
+  return true;
 }
 
 /* Disable some warnings in the generated code.  */