Jelajahi Sumber

Use a constant for the suffix for indirect symbols.

symconst.pas:
  + add indirect_suffix constant
symdef.pas:
  * tstoreddef.rtti_mangledname: use indirect_suffix
  * tobjectdef.vmt_mangledname: use indirect_suffix
  * tobjectdef.rtti_mangledname: use indirect_suffix

git-svn-id: branches/svenbarth/packages@28640 -
svenbarth 11 tahun lalu
induk
melakukan
bd4536cf95
2 mengubah file dengan 5 tambahan dan 3 penghapusan
  1. 2 0
      compiler/symconst.pas
  2. 3 3
      compiler/symdef.pas

+ 2 - 0
compiler/symconst.pas

@@ -724,6 +724,8 @@ inherited_objectoptions : tobjectoptions = [oo_has_virtual,oo_has_private,oo_has
        'public','published',''
      );
 
+     indirect_suffix = '$indirect';
+
 
 {$ifndef jvm}
      default_class_type=odt_class;

+ 3 - 3
compiler/symdef.pas

@@ -1771,7 +1771,7 @@ implementation
             include(defstates,ds_init_table_used);
           end;
         if indirect then
-          suffix:='$INDIRECT'
+          suffix:=indirect_suffix
         else
           suffix:='';
         if assigned(typesym) and
@@ -6410,7 +6410,7 @@ implementation
           Message1(parser_n_object_has_no_vmt,objrealname^);
         suffix:=objname^;
         if indirect then
-          suffix:=suffix+'$indirect';
+          suffix:=suffix+indirect_suffix;
         vmt_mangledname:=make_mangledname('VMT',owner,suffix);
       end;
 
@@ -6543,7 +6543,7 @@ implementation
               end;
             result:=result+objextname^;
             if indirect then
-              result:=result+'$INDIRECT';
+              result:=result+indirect_suffix;
           end;
       end;