stage3/fill_candidate_datatypes.cc
changeset 1075 c2779ecc2a0c
parent 1047 34b733cb6641
equal deleted inserted replaced
1074:c46b3d3c9441 1075:c2779ecc2a0c
  2009 	 *       However, it does not define the semantic of the NOT operation when the <il_operand> is specified.
  2009 	 *       However, it does not define the semantic of the NOT operation when the <il_operand> is specified.
  2010 	 *       We therefore consider it an error if an il_operand is specified!
  2010 	 *       We therefore consider it an error if an il_operand is specified!
  2011 	 *       We do not need to generate an error message. This error will be caught somewhere else!
  2011 	 *       We do not need to generate an error message. This error will be caught somewhere else!
  2012 	 */
  2012 	 */
  2013 	if (NULL == prev_il_instruction) return NULL;
  2013 	if (NULL == prev_il_instruction) return NULL;
  2014 	if (NULL == il_operand)          return NULL;
  2014 	if (NULL != il_operand)          return NULL;
  2015 	for (unsigned int i = 0; i < prev_il_instruction->candidate_datatypes.size(); i++) {
  2015 	for (unsigned int i = 0; i < prev_il_instruction->candidate_datatypes.size(); i++) {
  2016 		if (get_datatype_info_c::is_ANY_BIT_compatible(prev_il_instruction->candidate_datatypes[i]))
  2016 		if (get_datatype_info_c::is_ANY_BIT_compatible(prev_il_instruction->candidate_datatypes[i]))
  2017 			add_datatype_to_candidate_list(symbol, prev_il_instruction->candidate_datatypes[i]);
  2017 			add_datatype_to_candidate_list(symbol, prev_il_instruction->candidate_datatypes[i]);
  2018 	}
  2018 	}
  2019 	if (debug) std::cout <<  "NOT_operator [" << prev_il_instruction->candidate_datatypes.size() << "] ==> "  << symbol->candidate_datatypes.size() << " result.\n";
  2019 	if (debug) std::cout <<  "NOT_operator [" << prev_il_instruction->candidate_datatypes.size() << "] ==> "  << symbol->candidate_datatypes.size() << " result.\n";