* fixed (harmless) typecast errors when creating a string representation of

a procvardef
  * handle procdefs like procvardefs when getting their string representation
    in arbitrary expressions

git-svn-id: branches/hlcgllvm@28123 -
This commit is contained in:
Jonas Maebe 2014-07-01 16:30:55 +00:00
parent 0c10cbe63b
commit a0c39220b1

View File

@ -369,18 +369,20 @@ implementation
encodedstr:=encodedstr+']'; encodedstr:=encodedstr+']';
end; end;
end; end;
procdef,
procvardef : procvardef :
begin begin
if tprocvardef(def).is_addressonly then if (def.typ=procdef) or
tprocvardef(def).is_addressonly then
begin begin
llvmaddencodedproctype(tprocdef(def),'',lpd_procvar,encodedstr); llvmaddencodedproctype(tabstractprocdef(def),'',lpd_procvar,encodedstr);
encodedstr:=encodedstr+'*'; encodedstr:=encodedstr+'*';
end end
else else
begin begin
encodedstr:=encodedstr+'{'; encodedstr:=encodedstr+'{';
{ code pointer } { code pointer }
llvmaddencodedproctype(tprocvardef(def),'',lpd_procvar,encodedstr); llvmaddencodedproctype(tabstractprocdef(def),'',lpd_procvar,encodedstr);
{ data pointer (maybe todo: generate actual layout if { data pointer (maybe todo: generate actual layout if
available) } available) }
encodedstr:=encodedstr+'*, i8*}'; encodedstr:=encodedstr+'*, i8*}';
@ -415,11 +417,6 @@ implementation
undefineddef, undefineddef,
errordef : errordef :
internalerror(2013100604); internalerror(2013100604);
procdef :
begin
{ should be handled via llvmencodeproctype/llvmaddencodedproctype }
internalerror(2014012601);
end;
else else
internalerror(2013100603); internalerror(2013100603);
end; end;