mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 03:29:19 +02:00
* fixed 'cannot convert type' error when comparing two voidhugepointers with
= or <> git-svn-id: trunk@28158 -
This commit is contained in:
parent
3bb730d5b9
commit
c8130843b2
@ -1642,11 +1642,15 @@ implementation
|
|||||||
inserttypeconv_internal(left,java_jlobject);
|
inserttypeconv_internal(left,java_jlobject);
|
||||||
inserttypeconv_internal(right,java_jlobject);
|
inserttypeconv_internal(right,java_jlobject);
|
||||||
{$elseif defined(i8086)}
|
{$elseif defined(i8086)}
|
||||||
if is_farpointer(left.resultdef) then
|
if is_hugepointer(left.resultdef) then
|
||||||
|
inserttypeconv_internal(left,charhugepointertype)
|
||||||
|
else if is_farpointer(left.resultdef) then
|
||||||
inserttypeconv_internal(left,charfarpointertype)
|
inserttypeconv_internal(left,charfarpointertype)
|
||||||
else
|
else
|
||||||
inserttypeconv_internal(left,charnearpointertype);
|
inserttypeconv_internal(left,charnearpointertype);
|
||||||
if is_farpointer(right.resultdef) then
|
if is_hugepointer(right.resultdef) then
|
||||||
|
inserttypeconv_internal(right,charhugepointertype)
|
||||||
|
else if is_farpointer(right.resultdef) then
|
||||||
inserttypeconv_internal(right,charfarpointertype)
|
inserttypeconv_internal(right,charfarpointertype)
|
||||||
else
|
else
|
||||||
inserttypeconv_internal(right,charnearpointertype);
|
inserttypeconv_internal(right,charnearpointertype);
|
||||||
|
@ -306,6 +306,7 @@ implementation
|
|||||||
voidhugepointertype:=tcpupointerdefclass(cpointerdef).createx86(voidtype,x86pt_huge);
|
voidhugepointertype:=tcpupointerdefclass(cpointerdef).createx86(voidtype,x86pt_huge);
|
||||||
charnearpointertype:=tcpupointerdefclass(cpointerdef).createx86(cansichartype,x86pt_near);
|
charnearpointertype:=tcpupointerdefclass(cpointerdef).createx86(cansichartype,x86pt_near);
|
||||||
charfarpointertype:=tcpupointerdefclass(cpointerdef).createx86(cansichartype,x86pt_far);
|
charfarpointertype:=tcpupointerdefclass(cpointerdef).createx86(cansichartype,x86pt_far);
|
||||||
|
charhugepointertype:=tcpupointerdefclass(cpointerdef).createx86(cansichartype,x86pt_huge);
|
||||||
bytefarpointertype:=tcpupointerdefclass(cpointerdef).createx86(u8inttype,x86pt_far);
|
bytefarpointertype:=tcpupointerdefclass(cpointerdef).createx86(u8inttype,x86pt_far);
|
||||||
wordfarpointertype:=tcpupointerdefclass(cpointerdef).createx86(u16inttype,x86pt_far);
|
wordfarpointertype:=tcpupointerdefclass(cpointerdef).createx86(u16inttype,x86pt_far);
|
||||||
longintfarpointertype:=tcpupointerdefclass(cpointerdef).createx86(s32inttype,x86pt_far);
|
longintfarpointertype:=tcpupointerdefclass(cpointerdef).createx86(s32inttype,x86pt_far);
|
||||||
@ -447,6 +448,7 @@ implementation
|
|||||||
addtype('$void_hugepointer',voidhugepointertype);
|
addtype('$void_hugepointer',voidhugepointertype);
|
||||||
addtype('$char_nearpointer',charnearpointertype);
|
addtype('$char_nearpointer',charnearpointertype);
|
||||||
addtype('$char_farpointer',charfarpointertype);
|
addtype('$char_farpointer',charfarpointertype);
|
||||||
|
addtype('$char_hugepointer',charhugepointertype);
|
||||||
addtype('$byte_farpointer',bytefarpointertype);
|
addtype('$byte_farpointer',bytefarpointertype);
|
||||||
addtype('$word_farpointer',wordfarpointertype);
|
addtype('$word_farpointer',wordfarpointertype);
|
||||||
addtype('$longint_farpointer',longintfarpointertype);
|
addtype('$longint_farpointer',longintfarpointertype);
|
||||||
@ -584,6 +586,7 @@ implementation
|
|||||||
loadtype('void_hugepointer',voidhugepointertype);
|
loadtype('void_hugepointer',voidhugepointertype);
|
||||||
loadtype('char_nearpointer',charnearpointertype);
|
loadtype('char_nearpointer',charnearpointertype);
|
||||||
loadtype('char_farpointer',charfarpointertype);
|
loadtype('char_farpointer',charfarpointertype);
|
||||||
|
loadtype('char_hugepointer',charhugepointertype);
|
||||||
loadtype('byte_farpointer',bytefarpointertype);
|
loadtype('byte_farpointer',bytefarpointertype);
|
||||||
loadtype('word_farpointer',wordfarpointertype);
|
loadtype('word_farpointer',wordfarpointertype);
|
||||||
loadtype('longint_farpointer',longintfarpointertype);
|
loadtype('longint_farpointer',longintfarpointertype);
|
||||||
|
@ -942,6 +942,7 @@ interface
|
|||||||
voidhugepointertype,
|
voidhugepointertype,
|
||||||
charnearpointertype,
|
charnearpointertype,
|
||||||
charfarpointertype,
|
charfarpointertype,
|
||||||
|
charhugepointertype,
|
||||||
bytefarpointertype, { used for Mem[] }
|
bytefarpointertype, { used for Mem[] }
|
||||||
wordfarpointertype, { used for MemW[] }
|
wordfarpointertype, { used for MemW[] }
|
||||||
longintfarpointertype, { used for MemL[] }
|
longintfarpointertype, { used for MemL[] }
|
||||||
|
Loading…
Reference in New Issue
Block a user