summaryrefslogtreecommitdiff
path: root/compiler/ncgld.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-11-21 12:36:35 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-11-21 12:36:35 +0000
commit6bcc1c84c7c45a99bda95af3ecc4826a38030aea (patch)
tree33133bbe2356c300c772ed08c4cc4eb8ea2d73c6 /compiler/ncgld.pas
parentccebf803e37f2229c984cbb9238cf7e54052d2bc (diff)
downloadfpc-6bcc1c84c7c45a99bda95af3ecc4826a38030aea.tar.gz
* fixed code generator type correctness when loading a resourcestring
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32403 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ncgld.pas')
-rw-r--r--compiler/ncgld.pas15
1 files 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);