From cb0d0cd4fcad09b1805f824eb91831903a9e936f Mon Sep 17 00:00:00 2001 From: nickysn Date: Mon, 22 Sep 2014 16:12:11 +0000 Subject: * fixed writing of dynarray rtti in the i8086 far data memory models git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28707 3ad0048d-3df7-0310-abae-a5850022a9f2 --- compiler/ncgrtti.pas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/ncgrtti.pas') diff --git a/compiler/ncgrtti.pas b/compiler/ncgrtti.pas index b891a0916c..64e3efd764 100644 --- a/compiler/ncgrtti.pas +++ b/compiler/ncgrtti.pas @@ -656,7 +656,7 @@ implementation if def.elementdef.needs_inittable then write_rtti_reference(def.elementdef,rt) else - current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_pint(0)); + current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_nil_dataptr); { write unit name } write_string(current_module.realmodulename^); end; -- cgit v1.2.1 From 0bb12619f99026e6e80a2945497bfd726e5ca3d6 Mon Sep 17 00:00:00 2001 From: nickysn Date: Tue, 30 Sep 2014 01:47:17 +0000 Subject: * fixed writing rtti published property getter/setter/stored proc info in the i8086 far code/data memory models git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28726 3ad0048d-3df7-0310-abae-a5850022a9f2 --- compiler/ncgrtti.pas | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'compiler/ncgrtti.pas') diff --git a/compiler/ncgrtti.pas b/compiler/ncgrtti.pas index 64e3efd764..9d8e618898 100644 --- a/compiler/ncgrtti.pas +++ b/compiler/ncgrtti.pas @@ -307,7 +307,7 @@ implementation until not assigned(hpropsym); if not(assigned(propaccesslist) and assigned(propaccesslist.firstsym)) then begin - current_asmdata.asmlists[al_rtti].concat(Tai_const.create(aitconst_ptr,unsetvalue)); + current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_int_codeptr(unsetvalue)); typvalue:=3; end else if propaccesslist.firstsym^.sym.typ=fieldvarsym then @@ -347,7 +347,7 @@ implementation end; hp:=hp^.next; end; - current_asmdata.asmlists[al_rtti].concat(Tai_const.create(aitconst_ptr,address)); + current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_int_codeptr(address)); typvalue:=0; end else @@ -364,7 +364,7 @@ implementation else begin { virtual method, write vmt offset } - current_asmdata.asmlists[al_rtti].concat(Tai_const.create(aitconst_ptr, + current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_int_codeptr( tobjectdef(tprocdef(propaccesslist.procdef).struct).vmtmethodoffset(tprocdef(propaccesslist.procdef).extnumber))); { register for wpo } tobjectdef(tprocdef(propaccesslist.procdef).struct).register_vmt_call(tprocdef(propaccesslist.procdef).extnumber); @@ -396,7 +396,7 @@ implementation if not(ppo_stored in tpropertysym(sym).propoptions) then begin { no, so put a constant zero } - current_asmdata.asmlists[al_rtti].concat(Tai_const.create(aitconst_ptr,0)); + current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_nil_codeptr); proctypesinfo:=proctypesinfo or (3 shl 4); end else -- cgit v1.2.1