|
@@ -1343,8 +1343,12 @@ function get_next_varsym(def: tabstractrecorddef; const SymList:TFPHashObjectLis
|
|
|
end;
|
|
|
{ in case of a nested procdef initialised with a global routine }
|
|
|
ftcb.maybe_begin_aggregate(def);
|
|
|
- { to handle type conversions }
|
|
|
- procaddrdef:=cprocvardef.getreusableprocaddr(def);
|
|
|
+ { get the address of the procedure, except if it's a C-block (then we
|
|
|
+ we will end up with a record that represents the C-block) }
|
|
|
+ if not is_block(def) then
|
|
|
+ procaddrdef:=cprocvardef.getreusableprocaddr(def)
|
|
|
+ else
|
|
|
+ procaddrdef:=def;
|
|
|
ftcb.queue_init(procaddrdef);
|
|
|
{ remove typeconvs, that will normally insert a lea
|
|
|
instruction which is not necessary for us }
|