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