mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-25 18:01:53 +02:00
* don't generate debug info for class fields in generic types
-> fixes failed compilation of webtbs/25600 with debug info
(broken since 6 June, possibly because of r27874)
* don't allocate class fields defined in generic types, as the
only reason for this was to have valid debug info
git-svn-id: trunk@27928 -
This commit is contained in:
parent
e5647d5118
commit
145e9c1aae
@ -418,6 +418,8 @@ implementation
|
|||||||
beforeappendsym(list,sym);
|
beforeappendsym(list,sym);
|
||||||
case sym.typ of
|
case sym.typ of
|
||||||
staticvarsym :
|
staticvarsym :
|
||||||
|
if not assigned(tstaticvarsym(sym).fieldvarsym) or
|
||||||
|
not(df_generic in tdef(tstaticvarsym(sym).fieldvarsym.owner.defowner).defoptions) then
|
||||||
appendsym_staticvar(list,tstaticvarsym(sym));
|
appendsym_staticvar(list,tstaticvarsym(sym));
|
||||||
unitsym:
|
unitsym:
|
||||||
appendsym_unit(list,tunitsym(sym));
|
appendsym_unit(list,tunitsym(sym));
|
||||||
|
|||||||
@ -1797,9 +1797,7 @@ implementation
|
|||||||
fieldvs:=tfieldvarsym(sc[i]);
|
fieldvs:=tfieldvarsym(sc[i]);
|
||||||
fieldvs.visibility:=visibility;
|
fieldvs.visibility:=visibility;
|
||||||
hstaticvs:=make_field_static(recst,fieldvs);
|
hstaticvs:=make_field_static(recst,fieldvs);
|
||||||
{ for generics it would be better to disable the following,
|
if not parse_generic then
|
||||||
but simply disabling it in that case breaks linking with
|
|
||||||
debug info }
|
|
||||||
cnodeutils.insertbssdata(hstaticvs);
|
cnodeutils.insertbssdata(hstaticvs);
|
||||||
if vd_final in options then
|
if vd_final in options then
|
||||||
hstaticvs.varspez:=vs_final;
|
hstaticvs.varspez:=vs_final;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user