equal
deleted
inserted
replaced
1381 |
1381 |
1382 void *constant_folding_c::visit(repeat_statement_c *symbol) { |
1382 void *constant_folding_c::visit(repeat_statement_c *symbol) { |
1383 map_values_t values_incoming; |
1383 map_values_t values_incoming; |
1384 map_values_t values_statement_result; |
1384 map_values_t values_statement_result; |
1385 |
1385 |
|
1386 values_incoming = values; /* save incoming status */ |
|
1387 symbol->statement_list->accept(*this); |
|
1388 |
1386 /* Optimize dead code */ |
1389 /* Optimize dead code */ |
1387 symbol->expression->accept(*this); |
1390 symbol->expression->accept(*this); |
1388 if (VALID_CVALUE(bool, symbol->expression) && GET_CVALUE(bool, symbol->expression) == false) |
1391 if (VALID_CVALUE(bool, symbol->expression) && GET_CVALUE(bool, symbol->expression) == true) |
1389 return NULL; |
1392 return NULL; |
1390 |
1393 |
1391 values_incoming = values; /* save incoming status */ |
|
1392 symbol->statement_list->accept(*this); |
|
1393 values_statement_result = values; |
1394 values_statement_result = values; |
1394 values = inner_left_join_values(values_statement_result, values_incoming); |
1395 values = inner_left_join_values(values_statement_result, values_incoming); |
1395 |
1396 |
1396 return NULL; |
1397 return NULL; |
1397 } |
1398 } |