stage3/print_datatypes_error.cc
changeset 1047 34b733cb6641
parent 1041 56ebe2a31b5b
equal deleted inserted replaced
1046:292b7dcf14f6 1047:34b733cb6641
   543 		STAGE3_ERROR(0, symbol, symbol, "Ambiguous enumerate value or Variable not declared in this scope.");
   543 		STAGE3_ERROR(0, symbol, symbol, "Ambiguous enumerate value or Variable not declared in this scope.");
   544 	return NULL;
   544 	return NULL;
   545 }
   545 }
   546 
   546 
   547 
   547 
       
   548 
       
   549 void *print_datatypes_error_c::visit(structure_element_initialization_c *symbol) {
       
   550 	symbol->value->accept(*this);
       
   551 	if (!get_datatype_info_c::is_type_valid(symbol->datatype))
       
   552 		STAGE3_ERROR(0, symbol, symbol, "Initialization element identifier (%s) is not declared in referenced structure/FB scope, or is set to value of incompatible datatype.", 
       
   553 			                        symbol->structure_element_name->token->value);
       
   554 	return NULL;
       
   555 }
       
   556 
       
   557     
   548 /*********************/
   558 /*********************/
   549 /* B 1.4 - Variables */
   559 /* B 1.4 - Variables */
   550 /*********************/
   560 /*********************/
   551 void *print_datatypes_error_c::visit(symbolic_variable_c *symbol) {
   561 void *print_datatypes_error_c::visit(symbolic_variable_c *symbol) {
   552 	if (symbol->candidate_datatypes.size() == 0)
   562 	if (symbol->candidate_datatypes.size() == 0)