mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-22 06:59:31 +02:00
* fix for bug0182
This commit is contained in:
parent
83a1c209c5
commit
c921c95996
@ -201,12 +201,28 @@ unit ptconst;
|
|||||||
else
|
else
|
||||||
if p^.treetype=addrn then
|
if p^.treetype=addrn then
|
||||||
begin
|
begin
|
||||||
|
hp:=p^.left;
|
||||||
|
while assigned(hp) and (hp^.treetype=subscriptn) do
|
||||||
|
hp:=hp^.left;
|
||||||
if (is_equal(ppointerdef(p^.resulttype)^.definition,ppointerdef(def)^.definition) or
|
if (is_equal(ppointerdef(p^.resulttype)^.definition,ppointerdef(def)^.definition) or
|
||||||
(is_equal(ppointerdef(p^.resulttype)^.definition,voiddef)) or
|
(is_equal(ppointerdef(p^.resulttype)^.definition,voiddef)) or
|
||||||
(is_equal(ppointerdef(def)^.definition,voiddef))) and
|
(is_equal(ppointerdef(def)^.definition,voiddef))) and
|
||||||
(p^.left^.treetype = loadn) then
|
(hp^.treetype = loadn) then
|
||||||
begin
|
begin
|
||||||
if token=POINT then
|
firstpass(p^.left);
|
||||||
|
hp:=p^.left;
|
||||||
|
offset:=0;
|
||||||
|
while assigned(hp) and (hp^.treetype<>loadn) do
|
||||||
|
begin
|
||||||
|
if hp^.treetype=subscriptn then
|
||||||
|
inc(offset,hp^.vs^.address)
|
||||||
|
else
|
||||||
|
Message(cg_e_illegal_expression);
|
||||||
|
hp:=hp^.left;
|
||||||
|
end;
|
||||||
|
datasegment^.concat(new(pai_const_symbol_offset,init(
|
||||||
|
strpnew(hp^.symtableentry^.mangledname),offset)));
|
||||||
|
(*if token=POINT then
|
||||||
begin
|
begin
|
||||||
offset:=0;
|
offset:=0;
|
||||||
while token=POINT do
|
while token=POINT do
|
||||||
@ -229,9 +245,9 @@ unit ptconst;
|
|||||||
begin
|
begin
|
||||||
datasegment^.concat(new(pai_const,init_symbol(
|
datasegment^.concat(new(pai_const,init_symbol(
|
||||||
strpnew(p^.left^.symtableentry^.mangledname))));
|
strpnew(p^.left^.symtableentry^.mangledname))));
|
||||||
end;
|
end; *)
|
||||||
maybe_concat_external(p^.left^.symtableentry^.owner,
|
maybe_concat_external(hp^.symtableentry^.owner,
|
||||||
p^.left^.symtableentry^.mangledname);
|
hp^.symtableentry^.mangledname);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Message(cg_e_illegal_expression);
|
Message(cg_e_illegal_expression);
|
||||||
@ -631,7 +647,10 @@ unit ptconst;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.28 1998-11-17 10:40:16 peter
|
Revision 1.29 1998-11-23 18:26:44 pierre
|
||||||
|
* fix for bug0182
|
||||||
|
|
||||||
|
Revision 1.28 1998/11/17 10:40:16 peter
|
||||||
* H+ fixes
|
* H+ fixes
|
||||||
|
|
||||||
Revision 1.27 1998/11/16 12:12:23 peter
|
Revision 1.27 1998/11/16 12:12:23 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user