|
@@ -268,7 +268,17 @@ implementation
|
|
|
inserttypeconv(left,s32inttype)
|
|
|
else
|
|
|
inserttypeconv(left,u32inttype);
|
|
|
- end;
|
|
|
+ end
|
|
|
+ else if assigned(tsetdef(right.resultdef).elementdef) and
|
|
|
+ not(is_integer(tsetdef(right.resultdef).elementdef) and
|
|
|
+ is_integer(left.resultdef)) then
|
|
|
+ { Type conversion to check things like 'char in set_of_byte'. }
|
|
|
+ { Can't use is_subequal because that will fail for }
|
|
|
+ { 'widechar in set_of_char' }
|
|
|
+ { Can't use the type conversion for integers because then }
|
|
|
+ { "longint in set_of_byte" will give a range check error }
|
|
|
+ { instead of false }
|
|
|
+ inserttypeconv(left,tsetdef(right.resultdef).elementdef);
|
|
|
|
|
|
{ empty set then return false }
|
|
|
if not assigned(tsetdef(right.resultdef).elementdef) or
|