equal
deleted
inserted
replaced
823 set_datatype_in_prev_il_instructions(symbol->datatype, fake_prev_il_instruction); |
823 set_datatype_in_prev_il_instructions(symbol->datatype, fake_prev_il_instruction); |
824 return NULL; |
824 return NULL; |
825 } |
825 } |
826 |
826 |
827 void *narrow_candidate_datatypes_c::visit(NOT_operator_c *symbol) { |
827 void *narrow_candidate_datatypes_c::visit(NOT_operator_c *symbol) { |
828 /* TODO: ... */ |
828 /* NOTE: the standard allows syntax in which the NOT operator is followed by an optional <il_operand> |
|
829 * NOT [<il_operand>] |
|
830 * However, it does not define the semantic of the NOT operation when the <il_operand> is specified. |
|
831 * We therefore consider it an error if an il_operand is specified! |
|
832 */ |
|
833 /* We do not change the data type, we simply invert the bits in bit types! */ |
|
834 /* So, we set the desired datatype of the previous il instruction */ |
|
835 set_datatype_in_prev_il_instructions(symbol->datatype, fake_prev_il_instruction); |
829 return NULL; |
836 return NULL; |
830 } |
837 } |
831 |
838 |
832 void *narrow_candidate_datatypes_c::visit(S_operator_c *symbol) { |
839 void *narrow_candidate_datatypes_c::visit(S_operator_c *symbol) { |
833 /* TODO: what if this is a FB call? */ |
840 /* TODO: what if this is a FB call? */ |