mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-30 02:51:35 +01: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
	 Jonas Maebe
						Jonas Maebe