diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-01-21 23:24:37 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-01-21 23:24:37 +0000 |
commit | ad1141d52f8353457053b925cd674fe1d5c4eafc (patch) | |
tree | aa541e18564c2876adf659a772b4cec2669a24dc /compiler/x86_64/nx64flw.pas | |
parent | 9a4ce580e758aec2235d58a1bfb10f981ba03c1b (diff) | |
download | fpc-ad1141d52f8353457053b925cd674fe1d5c4eafc.tar.gz |
- reverted partial commit of merge
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/blocks@29515 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/x86_64/nx64flw.pas')
-rw-r--r-- | compiler/x86_64/nx64flw.pas | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/x86_64/nx64flw.pas b/compiler/x86_64/nx64flw.pas index 2f246563fd..ff2665ddac 100644 --- a/compiler/x86_64/nx64flw.pas +++ b/compiler/x86_64/nx64flw.pas @@ -448,7 +448,7 @@ procedure tx64tryexceptnode.pass_generate_code; begin { emit filter table to a temporary asmlist } hlist:=TAsmList.Create; - current_asmdata.getaddrlabel(filterlabel); + current_asmdata.getdatalabel(filterlabel); new_section(hlist,sec_rodata_norel,filterlabel.name,4); cg.a_label(hlist,filterlabel); onnodecount:=tai_const.create_32bit(0); @@ -459,7 +459,8 @@ procedure tx64tryexceptnode.pass_generate_code; begin if hnode.nodetype<>onn then InternalError(2011103101); - current_asmdata.getjumplabel(onlabel); + { TODO: make it done without using global label } + current_asmdata.getglobaljumplabel(onlabel); hlist.concat(tai_const.create_rva_sym(current_asmdata.RefAsmSymbol(tonnode(hnode).excepttype.vmt_mangledname,AT_DATA))); hlist.concat(tai_const.create_rva_sym(onlabel)); cg.a_label(current_asmdata.CurrAsmList,onlabel); @@ -475,7 +476,8 @@ procedure tx64tryexceptnode.pass_generate_code; inc(onnodecount.value); end; { now move filter table to permanent list all at once } - current_procinfo.aktlocaldata.concatlist(hlist); + maybe_new_object_file(current_asmdata.asmlists[al_typedconsts]); + current_asmdata.asmlists[al_typedconsts].concatlist(hlist); hlist.free; end; |