stage3/lvalue_check.cc
changeset 518 a0a32a0c61ef
parent 513 99aa36a77703
child 519 018093957030
equal deleted inserted replaced
517:889f4e577964 518:a0a32a0c61ef
    92 void lvalue_check_c::check_assignment_to_output(symbol_c *lvalue) {
    92 void lvalue_check_c::check_assignment_to_output(symbol_c *lvalue) {
    93 	decompose_var_instance_name_c decompose_lvalue(lvalue);
    93 	decompose_var_instance_name_c decompose_lvalue(lvalue);
    94 	search_base_type_c            search_base_type;
    94 	search_base_type_c            search_base_type;
    95 
    95 
    96 	symbol_c *struct_elem = decompose_lvalue.next_part();
    96 	symbol_c *struct_elem = decompose_lvalue.next_part();
       
    97 	if (NULL == struct_elem) return;
    97 	symbol_c *type_decl   = search_var_instance_decl->get_decl(struct_elem);
    98 	symbol_c *type_decl   = search_var_instance_decl->get_decl(struct_elem);
    98 	// symbol_c *type_id  = spec_init_sperator_c::get_spec(type_decl); /* this is not required! search_base_type_c can handle spec_init symbols! */
    99 	// symbol_c *type_id  = spec_init_sperator_c::get_spec(type_decl); /* this is not required! search_base_type_c can handle spec_init symbols! */
    99 	symbol_c *basetype_id = search_base_type.get_basetype_id(/*type_id*/ type_decl);
   100 	symbol_c *basetype_id = search_base_type.get_basetype_id(/*type_id*/ type_decl);
   100 	/* If we can not determine the data type of the element, then the code must have a data type semantic error.
   101 	/* If we can not determine the data type of the element, then the code must have a data type semantic error.
   101 	 * This will have been caught by the data type semantic verifier, so we do not bother with this anymore!
   102 	 * This will have been caught by the data type semantic verifier, so we do not bother with this anymore!