From 7ce34ac7d24669ef66159b22b2a1a08087f2fcc9 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 21 Nov 2015 12:36:35 +0000 Subject: [PATCH] * fixed code generator type correctness when loading a resourcestring git-svn-id: trunk@32403 - --- compiler/ncgld.pas | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/compiler/ncgld.pas b/compiler/ncgld.pas index 3415d5826b..2b907a826b 100644 --- a/compiler/ncgld.pas +++ b/compiler/ncgld.pas @@ -380,15 +380,12 @@ implementation begin location_reset_ref(location,LOC_CREFERENCE,def_cgsize(cansistringtype),cansistringtype.size); location.reference.symbol:=current_asmdata.RefAsmSymbol(make_mangledname('RESSTR',symtableentry.owner,symtableentry.name),AT_DATA); - { Resourcestring layout: - TResourceStringRecord = Packed Record - Name, - CurrentValue, - DefaultValue : AnsiString; - HashValue : LongWord; - end; - } - location.reference.offset:=cansistringtype.size; + vd:=search_system_type('TRESOURCESTRINGRECORD').typedef; + hlcg.g_set_addr_nonbitpacked_record_field_ref( + current_asmdata.CurrAsmList, + trecorddef(vd), + tfieldvarsym(search_struct_member(trecorddef(vd),'CURRENTVALUE')), + location.reference); end else internalerror(22798);