diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-11-21 12:36:35 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-11-21 12:36:35 +0000 |
commit | 6bcc1c84c7c45a99bda95af3ecc4826a38030aea (patch) | |
tree | 33133bbe2356c300c772ed08c4cc4eb8ea2d73c6 /compiler/ncgld.pas | |
parent | ccebf803e37f2229c984cbb9238cf7e54052d2bc (diff) | |
download | fpc-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.pas | 15 |
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); |