]> andersk Git - splint.git/blobdiff - src/cgrammar.y
Changed checking of complete descruction so +strictdestroy is no
[splint.git] / src / cgrammar.y
index 41fbca60e39007817a4637a9c68f40336880e7e8..d2f428b523681e16f11836655cf793fa1b922b18 100644 (file)
@@ -1502,9 +1502,9 @@ iterDefStmt
  | error { $$ = exprNode_makeError (); }
 
 iterSelectionStmt
- : ifPred iterDefStmt 
+ : ifPred { exprNode_checkIfPred ($1); } iterDefStmt 
    { /* don't: context_exitTrueClause ($1, $2); */
-     $$ = exprNode_if ($1, $2); 
+     $$ = exprNode_if ($1, $3); 
    }
 
 openScope
@@ -1633,7 +1633,12 @@ expressionStmtErr
 
 ifPred
  : CIF TLPAREN expr TRPAREN 
-   { $$ = $3; exprNode_produceGuards ($3); context_enterTrueClause ($3); }
+   { 
+     exprNode_produceGuards ($3); context_enterTrueClause ($3); 
+     exprNode_checkIfPred ($3);
+     $$ = $3;
+   }
+
  /*
  ** not ANSI: | CIF TLPAREN compoundStmt TRPAREN 
  **             { $$ = $3; context_enterTrueClause (); } 
@@ -1645,7 +1650,7 @@ selectionStmt
      context_exitTrueClause ($1, $2);
      $$ = exprNode_if ($1, $2); 
    }
- | ifPred stmt CELSE { context_enterFalseClause ($1); } stmt 
+ | ifPred stmt CELSE  { context_enterFalseClause ($1); } stmt 
    {
      context_exitClause ($1, $2, $5);
      $$ = exprNode_ifelse ($1, $2, $5); 
This page took 0.157584 seconds and 4 git commands to generate.