equal
deleted
inserted
replaced
414 /***************************/ |
414 /***************************/ |
415 /************************/ |
415 /************************/ |
416 /* B 1.2.3.1 - Duration */ |
416 /* B 1.2.3.1 - Duration */ |
417 /************************/ |
417 /************************/ |
418 void *fill_candidate_datatypes_c::visit(duration_c *symbol) { |
418 void *fill_candidate_datatypes_c::visit(duration_c *symbol) { |
|
419 /* TODO: check whether the literal follows the rules specified in section '2.2.3.1 Duration' of the standard! */ |
419 symbol->candidate_datatypes.push_back(symbol->type_name); |
420 symbol->candidate_datatypes.push_back(symbol->type_name); |
420 if (debug) std::cout << "TIME_LITERAL [" << symbol->candidate_datatypes.size() << "]\n"; |
421 if (debug) std::cout << "TIME_LITERAL [" << symbol->candidate_datatypes.size() << "]\n"; |
421 return NULL; |
422 return NULL; |
422 } |
423 } |
423 |
424 |
549 */ |
550 */ |
550 symbol_c *result = search_varfb_instance_type->get_basetype_decl(symbol); |
551 symbol_c *result = search_varfb_instance_type->get_basetype_decl(symbol); |
551 if (NULL != result) symbol->candidate_datatypes.push_back(result); |
552 if (NULL != result) symbol->candidate_datatypes.push_back(result); |
552 |
553 |
553 /* recursively call the subscript list, so we can check the data types of the expressions used for the subscripts */ |
554 /* recursively call the subscript list, so we can check the data types of the expressions used for the subscripts */ |
554 if (debug) std::cout << "ARRAY_VAR XXX\n"; |
|
555 symbol->subscript_list->accept(*this); |
555 symbol->subscript_list->accept(*this); |
556 if (debug) std::cout << "ARRAY_VAR YYY\n"; |
|
557 |
556 |
558 if (debug) std::cout << "ARRAY_VAR [" << symbol->candidate_datatypes.size() << "]\n"; |
557 if (debug) std::cout << "ARRAY_VAR [" << symbol->candidate_datatypes.size() << "]\n"; |
559 return NULL; |
558 return NULL; |
560 } |
559 } |
561 |
560 |