Browse Source

* use the objextname rather than the declared type name for generating
class references in vmtaddrnode's for obj-c

git-svn-id: branches/objc@13691 -

Jonas Maebe 16 years ago
parent
commit
a36f888a17
1 changed files with 1 additions and 2 deletions
  1. 1 2
      compiler/ncgmem.pas

+ 1 - 2
compiler/ncgmem.pas

@@ -118,8 +118,7 @@ implementation
                  if current_asmdata.ConstPools[sp_objcclassnamerefs]=nil then
                  if current_asmdata.ConstPools[sp_objcclassnamerefs]=nil then
                    current_asmdata.ConstPools[sp_objcclassnamerefs]:=THashSet.Create(64, True, False);
                    current_asmdata.ConstPools[sp_objcclassnamerefs]:=THashSet.Create(64, True, False);
                  pool:=current_asmdata.ConstPools[sp_objcclassnamerefs];
                  pool:=current_asmdata.ConstPools[sp_objcclassnamerefs];
-                 typename:=left.resultdef.gettypename;
-                 entry:=pool.FindOrAdd(@typename[1],length(typename));
+                 entry:=pool.FindOrAdd(@tobjectdef(left.resultdef).objextname^[1],length(tobjectdef(left.resultdef).objextname^));
                  objcfinishstringrefpoolentry(entry,sp_objcclassnames,sec_objc_cls_refs,sec_objc_class_names);
                  objcfinishstringrefpoolentry(entry,sp_objcclassnames,sec_objc_cls_refs,sec_objc_class_names);
                  reference_reset_symbol(href,tasmlabel(entry^.Data),0,sizeof(pint));
                  reference_reset_symbol(href,tasmlabel(entry^.Data),0,sizeof(pint));
                  cg.a_load_ref_reg(current_asmdata.CurrAsmList,OS_ADDR,OS_ADDR,href,location.register);
                  cg.a_load_ref_reg(current_asmdata.CurrAsmList,OS_ADDR,OS_ADDR,href,location.register);