1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-20 21:40:15 +08:00

cmFortranParser: include what you use

This commit is contained in:
Daniel Pfeifer
2017-02-17 22:12:21 +01:00
committed by Brad King
parent b74314c6fd
commit f918b053b2
3 changed files with 79 additions and 71 deletions

View File

@@ -97,13 +97,17 @@ Modify cmFortranParser.cxx:
- "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"] - "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"]
*/ */
#include <cmConfigure.h> // IWYU pragma: keep
#include <cmsys/String.h>
#include <stdlib.h>
#include <string.h>
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
#define cmFortranParser_cxx #define cmFortranParser_cxx
#include "cmFortranParser.h" /* Interface to parser object. */ #include "cmFortranParser.h" /* Interface to parser object. */
#include "cmFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */ #include "cmFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
#include <cmsys/String.h>
/* Forward declare the lexer entry point. */ /* Forward declare the lexer entry point. */
YY_DECL; YY_DECL;
@@ -124,7 +128,7 @@ static void cmFortran_yyerror(yyscan_t yyscanner, const char* message)
# pragma warning (disable: 4244) /* Conversion to smaller type, data loss. */ # pragma warning (disable: 4244) /* Conversion to smaller type, data loss. */
#endif #endif
#line 137 "cmFortranParser.cxx" /* yacc.c:339 */ #line 132 "cmFortranParser.cxx" /* yacc.c:339 */
# ifndef YY_NULLPTR # ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus # if defined __cplusplus && 201103L <= __cplusplus
@@ -244,11 +248,11 @@ extern int cmFortran_yydebug;
union YYSTYPE union YYSTYPE
{ {
#line 75 "cmFortranParser.y" /* yacc.c:355 */ #line 70 "cmFortranParser.y" /* yacc.c:355 */
char* string; char* string;
#line 261 "cmFortranParser.cxx" /* yacc.c:355 */ #line 256 "cmFortranParser.cxx" /* yacc.c:355 */
}; };
typedef union YYSTYPE YYSTYPE; typedef union YYSTYPE YYSTYPE;
@@ -264,7 +268,7 @@ int cmFortran_yyparse (yyscan_t yyscanner);
/* Copy the second part of user declarations. */ /* Copy the second part of user declarations. */
#line 277 "cmFortranParser.cxx" /* yacc.c:358 */ #line 272 "cmFortranParser.cxx" /* yacc.c:358 */
#ifdef short #ifdef short
# undef short # undef short
@@ -565,13 +569,13 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] = static const yytype_uint8 yyrline[] =
{ {
0, 103, 103, 103, 106, 110, 115, 124, 130, 137, 0, 98, 98, 98, 101, 105, 110, 119, 125, 132,
142, 146, 151, 159, 164, 169, 174, 179, 184, 189, 137, 141, 146, 154, 159, 164, 169, 174, 179, 184,
194, 199, 203, 207, 211, 215, 216, 221, 221, 221, 189, 194, 198, 202, 206, 210, 211, 216, 216, 216,
222, 222, 223, 223, 224, 224, 225, 225, 226, 226, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221,
227, 227, 228, 228, 229, 229, 230, 230, 233, 234, 222, 222, 223, 223, 224, 224, 225, 225, 228, 229,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
245, 246, 247, 248 240, 241, 242, 243
}; };
#endif #endif
@@ -1523,26 +1527,26 @@ yyreduce:
switch (yyn) switch (yyn)
{ {
case 4: case 4:
#line 106 "cmFortranParser.y" /* yacc.c:1646 */ #line 101 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_SetInInterface(parser, true); cmFortranParser_SetInInterface(parser, true);
} }
#line 1541 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1536 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 5: case 5:
#line 110 "cmFortranParser.y" /* yacc.c:1646 */ #line 105 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleUse(parser, (yyvsp[-2].string)); cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1551 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1546 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 6: case 6:
#line 115 "cmFortranParser.y" /* yacc.c:1646 */ #line 110 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
if (cmsysString_strcasecmp((yyvsp[-2].string), "function") != 0 && if (cmsysString_strcasecmp((yyvsp[-2].string), "function") != 0 &&
@@ -1552,22 +1556,22 @@ yyreduce:
} }
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1565 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1560 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 7: case 7:
#line 124 "cmFortranParser.y" /* yacc.c:1646 */ #line 119 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleUse(parser, (yyvsp[-4].string)); cmFortranParser_RuleUse(parser, (yyvsp[-4].string));
free((yyvsp[-4].string)); free((yyvsp[-4].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1576 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1571 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 8: case 8:
#line 130 "cmFortranParser.y" /* yacc.c:1646 */ #line 125 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleUse(parser, (yyvsp[-6].string)); cmFortranParser_RuleUse(parser, (yyvsp[-6].string));
@@ -1575,40 +1579,40 @@ yyreduce:
free((yyvsp[-4].string)); free((yyvsp[-4].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1588 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1583 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 9: case 9:
#line 137 "cmFortranParser.y" /* yacc.c:1646 */ #line 132 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_SetInInterface(parser, true); cmFortranParser_SetInInterface(parser, true);
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1598 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1593 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 10: case 10:
#line 142 "cmFortranParser.y" /* yacc.c:1646 */ #line 137 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_SetInInterface(parser, false); cmFortranParser_SetInInterface(parser, false);
} }
#line 1607 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1602 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 11: case 11:
#line 146 "cmFortranParser.y" /* yacc.c:1646 */ #line 141 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleUse(parser, (yyvsp[-2].string)); cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1617 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1612 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 12: case 12:
#line 151 "cmFortranParser.y" /* yacc.c:1646 */ #line 146 "cmFortranParser.y" /* yacc.c:1646 */
{ {
if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) { if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
@@ -1617,139 +1621,139 @@ yyreduce:
free((yyvsp[-4].string)); free((yyvsp[-4].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1630 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1625 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 13: case 13:
#line 159 "cmFortranParser.y" /* yacc.c:1646 */ #line 154 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string)); cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1640 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1635 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 14: case 14:
#line 164 "cmFortranParser.y" /* yacc.c:1646 */ #line 159 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string)); cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1650 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1645 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 15: case 15:
#line 164 "cmFortranParser.y" /* yacc.c:1646 */
{
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
free((yyvsp[-2].string));
}
#line 1655 "cmFortranParser.cxx" /* yacc.c:1646 */
break;
case 16:
#line 169 "cmFortranParser.y" /* yacc.c:1646 */ #line 169 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string)); cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1660 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1665 "cmFortranParser.cxx" /* yacc.c:1646 */
break;
case 16:
#line 174 "cmFortranParser.y" /* yacc.c:1646 */
{
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
free((yyvsp[-2].string));
}
#line 1670 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 17: case 17:
#line 179 "cmFortranParser.y" /* yacc.c:1646 */ #line 174 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleDefine(parser, (yyvsp[-2].string)); cmFortranParser_RuleDefine(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1680 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1675 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 18: case 18:
#line 184 "cmFortranParser.y" /* yacc.c:1646 */ #line 179 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleUndef(parser, (yyvsp[-2].string)); cmFortranParser_RuleUndef(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1690 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1685 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 19: case 19:
#line 189 "cmFortranParser.y" /* yacc.c:1646 */ #line 184 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string)); cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1700 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1695 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 20: case 20:
#line 194 "cmFortranParser.y" /* yacc.c:1646 */ #line 189 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string)); cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string));
free((yyvsp[-2].string)); free((yyvsp[-2].string));
} }
#line 1710 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1705 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 21: case 21:
#line 199 "cmFortranParser.y" /* yacc.c:1646 */ #line 194 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleIf(parser); cmFortranParser_RuleIf(parser);
} }
#line 1719 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1714 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 22: case 22:
#line 203 "cmFortranParser.y" /* yacc.c:1646 */ #line 198 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleElif(parser); cmFortranParser_RuleElif(parser);
} }
#line 1728 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1723 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 23: case 23:
#line 207 "cmFortranParser.y" /* yacc.c:1646 */ #line 202 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleElse(parser); cmFortranParser_RuleElse(parser);
} }
#line 1737 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1732 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 24: case 24:
#line 211 "cmFortranParser.y" /* yacc.c:1646 */ #line 206 "cmFortranParser.y" /* yacc.c:1646 */
{ {
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
cmFortranParser_RuleEndif(parser); cmFortranParser_RuleEndif(parser);
} }
#line 1746 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1741 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 48: case 48:
#line 233 "cmFortranParser.y" /* yacc.c:1646 */ #line 228 "cmFortranParser.y" /* yacc.c:1646 */
{ free ((yyvsp[0].string)); } { free ((yyvsp[0].string)); }
#line 1752 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1747 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
case 55: case 55:
#line 240 "cmFortranParser.y" /* yacc.c:1646 */ #line 235 "cmFortranParser.y" /* yacc.c:1646 */
{ free ((yyvsp[0].string)); } { free ((yyvsp[0].string)); }
#line 1758 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1753 "cmFortranParser.cxx" /* yacc.c:1646 */
break; break;
#line 1762 "cmFortranParser.cxx" /* yacc.c:1646 */ #line 1757 "cmFortranParser.cxx" /* yacc.c:1646 */
default: break; default: break;
} }
/* User semantic actions sometimes alter yychar, and that requires /* User semantic actions sometimes alter yychar, and that requires
@@ -1979,6 +1983,6 @@ yyreturn:
#endif #endif
return yyresult; return yyresult;
} }
#line 251 "cmFortranParser.y" /* yacc.c:1906 */ #line 246 "cmFortranParser.y" /* yacc.c:1906 */
/* End of grammar */ /* End of grammar */

View File

@@ -26,13 +26,17 @@ Modify cmFortranParser.cxx:
- "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"] - "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"]
*/ */
#include <cmConfigure.h> // IWYU pragma: keep
#include <cmsys/String.h>
#include <stdlib.h>
#include <string.h>
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
#define cmFortranParser_cxx #define cmFortranParser_cxx
#include "cmFortranParser.h" /* Interface to parser object. */ #include "cmFortranParser.h" /* Interface to parser object. */
#include "cmFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */ #include "cmFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
#include <cmsys/String.h>
/* Forward declare the lexer entry point. */ /* Forward declare the lexer entry point. */
YY_DECL; YY_DECL;

View File

@@ -130,7 +130,7 @@ extern int cmFortran_yydebug;
union YYSTYPE union YYSTYPE
{ {
#line 75 "cmFortranParser.y" /* yacc.c:1909 */ #line 70 "cmFortranParser.y" /* yacc.c:1909 */
char* string; char* string;