~ubuntu-branches/ubuntu/maverick/aspectc++/maverick

« back to all changes in this revision

Viewing changes to Puma/src/parser/ccparser/CCSemVisitor.cc

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-04-10 17:40:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080410174052-xdnsm7oi8hauyyf1
Tags: 1.0pre4~svn.20080409+dfsg-3
Fix another missing include, this time in Ag++/StdSystem.cc

Show diffs side-by-side

added added

removed removed

Lines of Context:
110
110
    pre_action ((CT_InitDeclarator*)node);
111
111
  else if (id == CT_ArgDecl::NodeId ())
112
112
    pre_action ((CT_ArgDecl*)node);
 
113
  else if (id == CT_Condition::NodeId ())
 
114
    pre_action ((CT_Condition*)node);
113
115
  else if (id == CT_ArrayDeclarator::NodeId ())
114
116
    pre_action ((CT_ArrayDeclarator*)node);
115
117
  else if (id == CT_BitFieldDeclarator::NodeId ())
231
233
      type = resolveExpr (expr, node);
232
234
//      if (! type->isScalar ())
233
235
//        SEM_ERROR (node, "controlling expression of `if' statement not scalar");
234
 
    } else {
235
 
      // CT_Condition->Initializer () => resolveInit ()
236
236
    }
237
237
  }
238
238
}
253
253
      type = resolveExpr (expr, node);
254
254
//      if (! type->isScalar ())
255
255
//        SEM_ERROR (node, "controlling expression of `if' statement not scalar");
256
 
    } else {
257
 
      // CT_Condition->Initializer () => resolveInit ()
258
256
    }
259
257
  }
260
258
}
277
275
//      if (! type->isInteger ())
278
276
//        SEM_ERROR (node, 
279
277
//          "controlling expression of `switch' statement not an integer");
280
 
    } else {
281
 
      // CT_Condition->Initializer () => resolveInit ()
282
278
    }
283
279
  }
284
280
}
299
295
      type = resolveExpr (expr, node);
300
296
//      if (! type->isScalar ())
301
297
//        SEM_ERROR (node, "controlling expression of `for' statement not scalar");
302
 
    } else {
303
 
      // CT_Condition->Initializer () => resolveInit ()
304
298
    }
305
299
  }
306
300
  expr = node->Expr ();
325
319
      type = resolveExpr (expr, node);
326
320
//      if (! type->isScalar ())
327
321
//        SEM_ERROR (node, "controlling expression of `while' statement not scalar");
328
 
    } else {
329
 
      // CT_Condition->Initializer () => resolveInit ()
330
322
    }
331
323
  }
332
324
}
476
468
}
477
469
 
478
470
 
 
471
void CCSemVisitor::pre_action (CT_Condition *node) {
 
472
  // TODO: evaluation not complete! => type conversions etc.
 
473
  CTree *init = node->Initializer ();
 
474
  if (init)
 
475
    resolveInit (init, node);
 
476
  prune ();
 
477
}
 
478
 
 
479
 
479
480
void CCSemVisitor::pre_action (CT_ArrayDeclarator *node) {
480
481
  // error diagnostics not yet implemented!
481
482