소스 검색

LexerParser: Suppress gcc -Wfree-nonheap-object warnings in generated code

Brad King 4 년 전
부모
커밋
aac80ec1ee

+ 53 - 52
Source/LexerParser/cmCommandArgumentParser.cxx

@@ -129,9 +129,10 @@ static void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message);
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 
-#line 135 "cmCommandArgumentParser.cxx"
+#line 136 "cmCommandArgumentParser.cxx"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -552,9 +553,9 @@ static const yytype_int8 yytranslate[] =
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint8 yyrline[] =
 {
-       0,    96,    96,   102,   105,   110,   113,   118,   121,   126,
-     129,   132,   135,   138,   141,   146,   149,   152,   155,   160,
-     163,   168,   171,   176,   179
+       0,    97,    97,   103,   106,   111,   114,   119,   122,   127,
+     130,   133,   136,   139,   142,   147,   150,   153,   156,   161,
+     164,   169,   172,   177,   180
 };
 #endif
 
@@ -1427,192 +1428,192 @@ yyreduce:
   switch (yyn)
     {
   case 2: /* Start: GoalWithOptionalBackSlash  */
-#line 96 "cmCommandArgumentParser.y"
+#line 97 "cmCommandArgumentParser.y"
                             {
     (yyval.str) = 0;
     yyGetParser->SetResult((yyvsp[0].str));
   }
-#line 1436 "cmCommandArgumentParser.cxx"
+#line 1437 "cmCommandArgumentParser.cxx"
     break;
 
   case 3: /* GoalWithOptionalBackSlash: Goal  */
-#line 102 "cmCommandArgumentParser.y"
+#line 103 "cmCommandArgumentParser.y"
        {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1444 "cmCommandArgumentParser.cxx"
+#line 1445 "cmCommandArgumentParser.cxx"
     break;
 
   case 4: /* GoalWithOptionalBackSlash: Goal "\\"  */
-#line 105 "cmCommandArgumentParser.y"
+#line 106 "cmCommandArgumentParser.y"
                   {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
-#line 1452 "cmCommandArgumentParser.cxx"
+#line 1453 "cmCommandArgumentParser.cxx"
     break;
 
   case 5: /* Goal: %empty  */
-#line 110 "cmCommandArgumentParser.y"
+#line 111 "cmCommandArgumentParser.y"
   {
     (yyval.str) = 0;
   }
-#line 1460 "cmCommandArgumentParser.cxx"
+#line 1461 "cmCommandArgumentParser.cxx"
     break;
 
   case 6: /* Goal: String Goal  */
-#line 113 "cmCommandArgumentParser.y"
+#line 114 "cmCommandArgumentParser.y"
               {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
-#line 1468 "cmCommandArgumentParser.cxx"
+#line 1469 "cmCommandArgumentParser.cxx"
     break;
 
   case 7: /* String: OuterText  */
-#line 118 "cmCommandArgumentParser.y"
+#line 119 "cmCommandArgumentParser.y"
             {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1476 "cmCommandArgumentParser.cxx"
+#line 1477 "cmCommandArgumentParser.cxx"
     break;
 
   case 8: /* String: Variable  */
-#line 121 "cmCommandArgumentParser.y"
+#line 122 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1484 "cmCommandArgumentParser.cxx"
+#line 1485 "cmCommandArgumentParser.cxx"
     break;
 
   case 9: /* OuterText: cal_NAME  */
-#line 126 "cmCommandArgumentParser.y"
+#line 127 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1492 "cmCommandArgumentParser.cxx"
+#line 1493 "cmCommandArgumentParser.cxx"
     break;
 
   case 10: /* OuterText: "@"  */
-#line 129 "cmCommandArgumentParser.y"
+#line 130 "cmCommandArgumentParser.y"
          {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1500 "cmCommandArgumentParser.cxx"
+#line 1501 "cmCommandArgumentParser.cxx"
     break;
 
   case 11: /* OuterText: "$"  */
-#line 132 "cmCommandArgumentParser.y"
+#line 133 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1508 "cmCommandArgumentParser.cxx"
+#line 1509 "cmCommandArgumentParser.cxx"
     break;
 
   case 12: /* OuterText: "{"  */
-#line 135 "cmCommandArgumentParser.y"
+#line 136 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1516 "cmCommandArgumentParser.cxx"
+#line 1517 "cmCommandArgumentParser.cxx"
     break;
 
   case 13: /* OuterText: "}"  */
-#line 138 "cmCommandArgumentParser.y"
+#line 139 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1524 "cmCommandArgumentParser.cxx"
+#line 1525 "cmCommandArgumentParser.cxx"
     break;
 
   case 14: /* OuterText: cal_SYMBOL  */
-#line 141 "cmCommandArgumentParser.y"
+#line 142 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1532 "cmCommandArgumentParser.cxx"
+#line 1533 "cmCommandArgumentParser.cxx"
     break;
 
   case 15: /* Variable: cal_ENVCURLY EnvVarName "}"  */
-#line 146 "cmCommandArgumentParser.y"
+#line 147 "cmCommandArgumentParser.y"
                                      {
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
   }
-#line 1540 "cmCommandArgumentParser.cxx"
+#line 1541 "cmCommandArgumentParser.cxx"
     break;
 
   case 16: /* Variable: cal_NCURLY MultipleIds "}"  */
-#line 149 "cmCommandArgumentParser.y"
+#line 150 "cmCommandArgumentParser.y"
                                     {
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
   }
-#line 1548 "cmCommandArgumentParser.cxx"
+#line 1549 "cmCommandArgumentParser.cxx"
     break;
 
   case 17: /* Variable: cal_DCURLY MultipleIds "}"  */
-#line 152 "cmCommandArgumentParser.y"
+#line 153 "cmCommandArgumentParser.y"
                                     {
     (yyval.str) = yyGetParser->ExpandVariable((yyvsp[-1].str));
   }
-#line 1556 "cmCommandArgumentParser.cxx"
+#line 1557 "cmCommandArgumentParser.cxx"
     break;
 
   case 18: /* Variable: cal_ATNAME  */
-#line 155 "cmCommandArgumentParser.y"
+#line 156 "cmCommandArgumentParser.y"
              {
     (yyval.str) = yyGetParser->ExpandVariableForAt((yyvsp[0].str));
   }
-#line 1564 "cmCommandArgumentParser.cxx"
+#line 1565 "cmCommandArgumentParser.cxx"
     break;
 
   case 19: /* EnvVarName: MultipleIds  */
-#line 160 "cmCommandArgumentParser.y"
+#line 161 "cmCommandArgumentParser.y"
               {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1572 "cmCommandArgumentParser.cxx"
+#line 1573 "cmCommandArgumentParser.cxx"
     break;
 
   case 20: /* EnvVarName: cal_SYMBOL EnvVarName  */
-#line 163 "cmCommandArgumentParser.y"
+#line 164 "cmCommandArgumentParser.y"
                         {
     (yyval.str) = (yyvsp[-1].str);
   }
-#line 1580 "cmCommandArgumentParser.cxx"
+#line 1581 "cmCommandArgumentParser.cxx"
     break;
 
   case 21: /* MultipleIds: %empty  */
-#line 168 "cmCommandArgumentParser.y"
+#line 169 "cmCommandArgumentParser.y"
   {
     (yyval.str) = 0;
   }
-#line 1588 "cmCommandArgumentParser.cxx"
+#line 1589 "cmCommandArgumentParser.cxx"
     break;
 
   case 22: /* MultipleIds: ID MultipleIds  */
-#line 171 "cmCommandArgumentParser.y"
+#line 172 "cmCommandArgumentParser.y"
                  {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
-#line 1596 "cmCommandArgumentParser.cxx"
+#line 1597 "cmCommandArgumentParser.cxx"
     break;
 
   case 23: /* ID: cal_NAME  */
-#line 176 "cmCommandArgumentParser.y"
+#line 177 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1604 "cmCommandArgumentParser.cxx"
+#line 1605 "cmCommandArgumentParser.cxx"
     break;
 
   case 24: /* ID: Variable  */
-#line 179 "cmCommandArgumentParser.y"
+#line 180 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1612 "cmCommandArgumentParser.cxx"
+#line 1613 "cmCommandArgumentParser.cxx"
     break;
 
 
-#line 1616 "cmCommandArgumentParser.cxx"
+#line 1617 "cmCommandArgumentParser.cxx"
 
       default: break;
     }
@@ -1837,7 +1838,7 @@ yyreturn:
   return yyresult;
 }
 
-#line 184 "cmCommandArgumentParser.y"
+#line 185 "cmCommandArgumentParser.y"
 
 /* End of grammar */
 

+ 1 - 0
Source/LexerParser/cmCommandArgumentParser.y

@@ -54,6 +54,7 @@ static void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message);
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 %}
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 197 - 196
Source/LexerParser/cmDependsJavaParser.cxx


+ 1 - 0
Source/LexerParser/cmDependsJavaParser.y

@@ -43,6 +43,7 @@ static void cmDependsJava_yyerror(yyscan_t yyscanner, const char* message);
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 %}
 

+ 53 - 52
Source/LexerParser/cmExprParser.cxx

@@ -112,6 +112,7 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 #if defined(__clang__) && defined(__has_warning)
 # if __has_warning("-Wused-but-marked-unused")
@@ -119,7 +120,7 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
 # endif
 #endif
 
-#line 123 "cmExprParser.cxx"
+#line 124 "cmExprParser.cxx"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -543,9 +544,9 @@ static const yytype_int8 yytranslate[] =
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint8 yyrline[] =
 {
-       0,    80,    80,    85,    88,    93,    96,   101,   104,   109,
-     112,   115,   120,   123,   126,   131,   134,   137,   143,   148,
-     151,   154,   157,   162,   165
+       0,    81,    81,    86,    89,    94,    97,   102,   105,   110,
+     113,   116,   121,   124,   127,   132,   135,   138,   144,   149,
+     152,   155,   158,   163,   166
 };
 #endif
 
@@ -1420,194 +1421,194 @@ yyreduce:
   switch (yyn)
     {
   case 2: /* start: exp  */
-#line 80 "cmExprParser.y"
+#line 81 "cmExprParser.y"
       {
     cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
   }
-#line 1428 "cmExprParser.cxx"
+#line 1429 "cmExprParser.cxx"
     break;
 
   case 3: /* exp: bitwiseor  */
-#line 85 "cmExprParser.y"
+#line 86 "cmExprParser.y"
             {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1436 "cmExprParser.cxx"
+#line 1437 "cmExprParser.cxx"
     break;
 
   case 4: /* exp: exp exp_OR bitwiseor  */
-#line 88 "cmExprParser.y"
+#line 89 "cmExprParser.y"
                        {
     (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
   }
-#line 1444 "cmExprParser.cxx"
+#line 1445 "cmExprParser.cxx"
     break;
 
   case 5: /* bitwiseor: bitwisexor  */
-#line 93 "cmExprParser.y"
+#line 94 "cmExprParser.y"
              {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1452 "cmExprParser.cxx"
+#line 1453 "cmExprParser.cxx"
     break;
 
   case 6: /* bitwiseor: bitwiseor exp_XOR bitwisexor  */
-#line 96 "cmExprParser.y"
+#line 97 "cmExprParser.y"
                                {
     (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
   }
-#line 1460 "cmExprParser.cxx"
+#line 1461 "cmExprParser.cxx"
     break;
 
   case 7: /* bitwisexor: bitwiseand  */
-#line 101 "cmExprParser.y"
+#line 102 "cmExprParser.y"
              {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1468 "cmExprParser.cxx"
+#line 1469 "cmExprParser.cxx"
     break;
 
   case 8: /* bitwisexor: bitwisexor exp_AND bitwiseand  */
-#line 104 "cmExprParser.y"
+#line 105 "cmExprParser.y"
                                 {
     (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
   }
-#line 1476 "cmExprParser.cxx"
+#line 1477 "cmExprParser.cxx"
     break;
 
   case 9: /* bitwiseand: shift  */
-#line 109 "cmExprParser.y"
+#line 110 "cmExprParser.y"
         {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1484 "cmExprParser.cxx"
+#line 1485 "cmExprParser.cxx"
     break;
 
   case 10: /* bitwiseand: bitwiseand exp_SHIFTLEFT shift  */
-#line 112 "cmExprParser.y"
+#line 113 "cmExprParser.y"
                                  {
     (yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
   }
-#line 1492 "cmExprParser.cxx"
+#line 1493 "cmExprParser.cxx"
     break;
 
   case 11: /* bitwiseand: bitwiseand exp_SHIFTRIGHT shift  */
-#line 115 "cmExprParser.y"
+#line 116 "cmExprParser.y"
                                   {
     (yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
   }
-#line 1500 "cmExprParser.cxx"
+#line 1501 "cmExprParser.cxx"
     break;
 
   case 12: /* shift: term  */
-#line 120 "cmExprParser.y"
+#line 121 "cmExprParser.y"
        {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1508 "cmExprParser.cxx"
+#line 1509 "cmExprParser.cxx"
     break;
 
   case 13: /* shift: shift exp_PLUS term  */
-#line 123 "cmExprParser.y"
+#line 124 "cmExprParser.y"
                       {
     (yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
   }
-#line 1516 "cmExprParser.cxx"
+#line 1517 "cmExprParser.cxx"
     break;
 
   case 14: /* shift: shift exp_MINUS term  */
-#line 126 "cmExprParser.y"
+#line 127 "cmExprParser.y"
                        {
     (yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
   }
-#line 1524 "cmExprParser.cxx"
+#line 1525 "cmExprParser.cxx"
     break;
 
   case 15: /* term: unary  */
-#line 131 "cmExprParser.y"
+#line 132 "cmExprParser.y"
         {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1532 "cmExprParser.cxx"
+#line 1533 "cmExprParser.cxx"
     break;
 
   case 16: /* term: term exp_TIMES unary  */
-#line 134 "cmExprParser.y"
+#line 135 "cmExprParser.y"
                        {
     (yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
   }
-#line 1540 "cmExprParser.cxx"
+#line 1541 "cmExprParser.cxx"
     break;
 
   case 17: /* term: term exp_DIVIDE unary  */
-#line 137 "cmExprParser.y"
+#line 138 "cmExprParser.y"
                         {
     if (yyvsp[0].Number == 0) {
       throw std::overflow_error("divide by zero");
     }
     (yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
   }
-#line 1551 "cmExprParser.cxx"
+#line 1552 "cmExprParser.cxx"
     break;
 
   case 18: /* term: term exp_MOD unary  */
-#line 143 "cmExprParser.y"
+#line 144 "cmExprParser.y"
                      {
     (yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
   }
-#line 1559 "cmExprParser.cxx"
+#line 1560 "cmExprParser.cxx"
     break;
 
   case 19: /* unary: factor  */
-#line 148 "cmExprParser.y"
+#line 149 "cmExprParser.y"
          {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1567 "cmExprParser.cxx"
+#line 1568 "cmExprParser.cxx"
     break;
 
   case 20: /* unary: exp_PLUS unary  */
-#line 151 "cmExprParser.y"
+#line 152 "cmExprParser.y"
                  {
     (yyval.Number) = + (yyvsp[0].Number);
   }
-#line 1575 "cmExprParser.cxx"
+#line 1576 "cmExprParser.cxx"
     break;
 
   case 21: /* unary: exp_MINUS unary  */
-#line 154 "cmExprParser.y"
+#line 155 "cmExprParser.y"
                   {
     (yyval.Number) = - (yyvsp[0].Number);
   }
-#line 1583 "cmExprParser.cxx"
+#line 1584 "cmExprParser.cxx"
     break;
 
   case 22: /* unary: exp_NOT unary  */
-#line 157 "cmExprParser.y"
+#line 158 "cmExprParser.y"
                 {
     (yyval.Number) = ~ (yyvsp[0].Number);
   }
-#line 1591 "cmExprParser.cxx"
+#line 1592 "cmExprParser.cxx"
     break;
 
   case 23: /* factor: exp_NUMBER  */
-#line 162 "cmExprParser.y"
+#line 163 "cmExprParser.y"
              {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1599 "cmExprParser.cxx"
+#line 1600 "cmExprParser.cxx"
     break;
 
   case 24: /* factor: exp_OPENPARENT exp exp_CLOSEPARENT  */
-#line 165 "cmExprParser.y"
+#line 166 "cmExprParser.y"
                                      {
     (yyval.Number) = (yyvsp[-1].Number);
   }
-#line 1607 "cmExprParser.cxx"
+#line 1608 "cmExprParser.cxx"
     break;
 
 
-#line 1611 "cmExprParser.cxx"
+#line 1612 "cmExprParser.cxx"
 
       default: break;
     }
@@ -1832,7 +1833,7 @@ yyreturn:
   return yyresult;
 }
 
-#line 170 "cmExprParser.y"
+#line 171 "cmExprParser.y"
 
 /* End of grammar */
 

+ 1 - 0
Source/LexerParser/cmExprParser.y

@@ -37,6 +37,7 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 #if defined(__clang__) && defined(__has_warning)
 # if __has_warning("-Wused-but-marked-unused")

+ 57 - 56
Source/LexerParser/cmFortranParser.cxx

@@ -130,9 +130,10 @@ static void cmFortran_yyerror(yyscan_t yyscanner, const char* message)
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 
-#line 136 "cmFortranParser.cxx"
+#line 137 "cmFortranParser.cxx"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -586,13 +587,13 @@ static const yytype_int8 yytranslate[] =
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint8 yyrline[] =
 {
-       0,    98,    98,    98,   101,   105,   110,   119,   125,   132,
-     137,   141,   146,   154,   159,   164,   169,   174,   179,   184,
-     189,   194,   198,   202,   206,   210,   211,   216,   216,   216,
-     217,   217,   218,   218,   219,   219,   220,   220,   221,   221,
-     222,   222,   223,   223,   224,   224,   225,   225,   228,   229,
-     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
-     240,   241,   242,   243,   244
+       0,    99,    99,    99,   102,   106,   111,   120,   126,   133,
+     138,   142,   147,   155,   160,   165,   170,   175,   180,   185,
+     190,   195,   199,   203,   207,   211,   212,   217,   217,   217,
+     218,   218,   219,   219,   220,   220,   221,   221,   222,   222,
+     223,   223,   224,   224,   225,   225,   226,   226,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245
 };
 #endif
 
@@ -1621,26 +1622,26 @@ yyreduce:
   switch (yyn)
     {
   case 4: /* stmt: INTERFACE EOSTMT  */
-#line 101 "cmFortranParser.y"
+#line 102 "cmFortranParser.y"
                    {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_SetInInterface(parser, true);
   }
-#line 1630 "cmFortranParser.cxx"
+#line 1631 "cmFortranParser.cxx"
     break;
 
   case 5: /* stmt: USE WORD other EOSTMT  */
-#line 105 "cmFortranParser.y"
+#line 106 "cmFortranParser.y"
                         {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1640 "cmFortranParser.cxx"
+#line 1641 "cmFortranParser.cxx"
     break;
 
   case 6: /* stmt: MODULE WORD other EOSTMT  */
-#line 110 "cmFortranParser.y"
+#line 111 "cmFortranParser.y"
                            {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     if (cmsysString_strcasecmp((yyvsp[-2].string), "function") != 0 &&
@@ -1650,22 +1651,22 @@ yyreduce:
     }
     free((yyvsp[-2].string));
   }
-#line 1654 "cmFortranParser.cxx"
+#line 1655 "cmFortranParser.cxx"
     break;
 
   case 7: /* stmt: SUBMODULE LPAREN WORD RPAREN WORD other EOSTMT  */
-#line 119 "cmFortranParser.y"
+#line 120 "cmFortranParser.y"
                                                  {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleSubmodule(parser, (yyvsp[-4].string), (yyvsp[-2].string));
     free((yyvsp[-4].string));
     free((yyvsp[-2].string));
   }
-#line 1665 "cmFortranParser.cxx"
+#line 1666 "cmFortranParser.cxx"
     break;
 
   case 8: /* stmt: SUBMODULE LPAREN WORD COLON WORD RPAREN WORD other EOSTMT  */
-#line 125 "cmFortranParser.y"
+#line 126 "cmFortranParser.y"
                                                             {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleSubmoduleNested(parser, (yyvsp[-6].string), (yyvsp[-4].string), (yyvsp[-2].string));
@@ -1673,40 +1674,40 @@ yyreduce:
     free((yyvsp[-4].string));
     free((yyvsp[-2].string));
   }
-#line 1677 "cmFortranParser.cxx"
+#line 1678 "cmFortranParser.cxx"
     break;
 
   case 9: /* stmt: INTERFACE WORD other EOSTMT  */
-#line 132 "cmFortranParser.y"
+#line 133 "cmFortranParser.y"
                               {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_SetInInterface(parser, true);
     free((yyvsp[-2].string));
   }
-#line 1687 "cmFortranParser.cxx"
+#line 1688 "cmFortranParser.cxx"
     break;
 
   case 10: /* stmt: END INTERFACE other EOSTMT  */
-#line 137 "cmFortranParser.y"
+#line 138 "cmFortranParser.y"
                              {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_SetInInterface(parser, false);
   }
-#line 1696 "cmFortranParser.cxx"
+#line 1697 "cmFortranParser.cxx"
     break;
 
   case 11: /* stmt: USE DCOLON WORD other EOSTMT  */
-#line 141 "cmFortranParser.y"
+#line 142 "cmFortranParser.y"
                                {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1706 "cmFortranParser.cxx"
+#line 1707 "cmFortranParser.cxx"
     break;
 
   case 12: /* stmt: USE COMMA WORD DCOLON WORD other EOSTMT  */
-#line 146 "cmFortranParser.y"
+#line 147 "cmFortranParser.y"
                                           {
     if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) {
       cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
@@ -1715,139 +1716,139 @@ yyreduce:
     free((yyvsp[-4].string));
     free((yyvsp[-2].string));
   }
-#line 1719 "cmFortranParser.cxx"
+#line 1720 "cmFortranParser.cxx"
     break;
 
   case 13: /* stmt: INCLUDE STRING other EOSTMT  */
-#line 154 "cmFortranParser.y"
+#line 155 "cmFortranParser.y"
                               {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1729 "cmFortranParser.cxx"
+#line 1730 "cmFortranParser.cxx"
     break;
 
   case 14: /* stmt: CPP_LINE_DIRECTIVE STRING other EOSTMT  */
-#line 159 "cmFortranParser.y"
+#line 160 "cmFortranParser.y"
                                          {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1739 "cmFortranParser.cxx"
+#line 1740 "cmFortranParser.cxx"
     break;
 
   case 15: /* stmt: CPP_INCLUDE_ANGLE other EOSTMT  */
-#line 164 "cmFortranParser.y"
+#line 165 "cmFortranParser.y"
                                  {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1749 "cmFortranParser.cxx"
+#line 1750 "cmFortranParser.cxx"
     break;
 
   case 16: /* stmt: include STRING other EOSTMT  */
-#line 169 "cmFortranParser.y"
+#line 170 "cmFortranParser.y"
                               {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1759 "cmFortranParser.cxx"
+#line 1760 "cmFortranParser.cxx"
     break;
 
   case 17: /* stmt: define WORD other EOSTMT  */
-#line 174 "cmFortranParser.y"
+#line 175 "cmFortranParser.y"
                            {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleDefine(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1769 "cmFortranParser.cxx"
+#line 1770 "cmFortranParser.cxx"
     break;
 
   case 18: /* stmt: undef WORD other EOSTMT  */
-#line 179 "cmFortranParser.y"
+#line 180 "cmFortranParser.y"
                           {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleUndef(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1779 "cmFortranParser.cxx"
+#line 1780 "cmFortranParser.cxx"
     break;
 
   case 19: /* stmt: ifdef WORD other EOSTMT  */
-#line 184 "cmFortranParser.y"
+#line 185 "cmFortranParser.y"
                           {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1789 "cmFortranParser.cxx"
+#line 1790 "cmFortranParser.cxx"
     break;
 
   case 20: /* stmt: ifndef WORD other EOSTMT  */
-#line 189 "cmFortranParser.y"
+#line 190 "cmFortranParser.y"
                            {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
-#line 1799 "cmFortranParser.cxx"
+#line 1800 "cmFortranParser.cxx"
     break;
 
   case 21: /* stmt: if other EOSTMT  */
-#line 194 "cmFortranParser.y"
+#line 195 "cmFortranParser.y"
                   {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleIf(parser);
   }
-#line 1808 "cmFortranParser.cxx"
+#line 1809 "cmFortranParser.cxx"
     break;
 
   case 22: /* stmt: elif other EOSTMT  */
-#line 198 "cmFortranParser.y"
+#line 199 "cmFortranParser.y"
                     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleElif(parser);
   }
-#line 1817 "cmFortranParser.cxx"
+#line 1818 "cmFortranParser.cxx"
     break;
 
   case 23: /* stmt: else other EOSTMT  */
-#line 202 "cmFortranParser.y"
+#line 203 "cmFortranParser.y"
                     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleElse(parser);
   }
-#line 1826 "cmFortranParser.cxx"
+#line 1827 "cmFortranParser.cxx"
     break;
 
   case 24: /* stmt: endif other EOSTMT  */
-#line 206 "cmFortranParser.y"
+#line 207 "cmFortranParser.y"
                      {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleEndif(parser);
   }
-#line 1835 "cmFortranParser.cxx"
+#line 1836 "cmFortranParser.cxx"
     break;
 
   case 48: /* misc_code: WORD  */
-#line 228 "cmFortranParser.y"
+#line 229 "cmFortranParser.y"
                       { free ((yyvsp[0].string)); }
-#line 1841 "cmFortranParser.cxx"
+#line 1842 "cmFortranParser.cxx"
     break;
 
   case 55: /* misc_code: STRING  */
-#line 235 "cmFortranParser.y"
+#line 236 "cmFortranParser.y"
                       { free ((yyvsp[0].string)); }
-#line 1847 "cmFortranParser.cxx"
+#line 1848 "cmFortranParser.cxx"
     break;
 
 
-#line 1851 "cmFortranParser.cxx"
+#line 1852 "cmFortranParser.cxx"
 
       default: break;
     }
@@ -2072,6 +2073,6 @@ yyreturn:
   return yyresult;
 }
 
-#line 247 "cmFortranParser.y"
+#line 248 "cmFortranParser.y"
 
 /* End of grammar */

+ 1 - 0
Source/LexerParser/cmFortranParser.y

@@ -55,6 +55,7 @@ static void cmFortran_yyerror(yyscan_t yyscanner, const char* message)
 #endif
 #if defined(__GNUC__) && __GNUC__ >= 8
 # pragma GCC diagnostic ignored "-Wconversion"
+# pragma GCC diagnostic ignored "-Wfree-nonheap-object"
 #endif
 %}
 

+ 1 - 1
Source/LexerParser/cmFortranParserTokens.h

@@ -100,7 +100,7 @@ extern int cmFortran_yydebug;
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 union YYSTYPE
 {
-#line 70 "cmFortranParser.y"
+#line 71 "cmFortranParser.y"
 
   char* string;
 

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.