浏览代码

* generate LLVM typedefs for file-typed data

git-svn-id: trunk@31344 -
Jonas Maebe 10 年之前
父节点
当前提交
4c5191f5d7
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      compiler/llvm/llvmtype.pas

+ 13 - 0
compiler/llvm/llvmtype.pas

@@ -67,6 +67,7 @@ interface
         procedure appendprocdef(list:TAsmList;def:tprocdef);override;
         procedure appendprocdef(list:TAsmList;def:tprocdef);override;
         procedure appenddef_object(list:TAsmList;def: tobjectdef);override;
         procedure appenddef_object(list:TAsmList;def: tobjectdef);override;
         procedure appenddef_variant(list:TAsmList;def: tvariantdef);override;
         procedure appenddef_variant(list:TAsmList;def: tvariantdef);override;
+        procedure appenddef_file(list:TasmList;def:tfiledef);override;
 
 
         procedure appendsym_var(list:TAsmList;sym:tabstractnormalvarsym);
         procedure appendsym_var(list:TAsmList;sym:tabstractnormalvarsym);
         procedure appendsym_staticvar(list:TAsmList;sym:tstaticvarsym);override;
         procedure appendsym_staticvar(list:TAsmList;sym:tstaticvarsym);override;
@@ -674,4 +675,16 @@ implementation
         appenddef(list,tabstractrecorddef(search_system_type('TVARDATA').typedef));
         appenddef(list,tabstractrecorddef(search_system_type('TVARDATA').typedef));
       end;
       end;
 
 
+
+    procedure TLLVMTypeInfo.appenddef_file(list:TAsmList;def:tfiledef);
+      begin
+        case tfiledef(def).filetyp of
+          ft_text    :
+            appenddef(list,tabstractrecorddef(search_system_type('TEXTREC').typedef));
+          ft_typed,
+          ft_untyped :
+            appenddef(list,tabstractrecorddef(search_system_type('FILEREC').typedef));
+        end;
+      end;
+
 end.
 end.