stage3/constant_folding.cc
changeset 588 3d72d09bd40f
parent 587 1ecf916cc397
child 590 649667749171
equal deleted inserted replaced
587:1ecf916cc397 588:3d72d09bd40f
   431 
   431 
   432 
   432 
   433 void *constant_folding_c::visit(integer_c *symbol) {
   433 void *constant_folding_c::visit(integer_c *symbol) {
   434 	bool overflow;
   434 	bool overflow;
   435 	NEW_CVALUE( int64, symbol);	SET_CVALUE( int64, symbol, extract_int64_value(symbol, &overflow));
   435 	NEW_CVALUE( int64, symbol);	SET_CVALUE( int64, symbol, extract_int64_value(symbol, &overflow));
       
   436 	if (overflow) SET_OVFLOW(int64, symbol);
   436 	NEW_CVALUE(uint64, symbol);	SET_CVALUE(uint64, symbol, extract_uint64_value(symbol, &overflow));
   437 	NEW_CVALUE(uint64, symbol);	SET_CVALUE(uint64, symbol, extract_uint64_value(symbol, &overflow));
       
   438 	if (overflow) SET_OVFLOW(uint64, symbol);
   437 	return NULL;
   439 	return NULL;
   438 }
   440 }
   439 
   441 
   440 
   442 
   441 void *constant_folding_c::visit(neg_real_c *symbol) {
   443 void *constant_folding_c::visit(neg_real_c *symbol) {