浏览代码

+ added alusinttype and aluuinttype to symdef, which correspond to the ALU size,
sizeof(aint) and the ALUSInt/ALUUInt types in the RTL

git-svn-id: trunk@34628 -

nickysn 9 年之前
父节点
当前提交
acfe6d2f2c
共有 2 个文件被更改,包括 13 次插入0 次删除
  1. 10 0
      compiler/psystem.pas
  2. 3 0
      compiler/symdef.pas

+ 10 - 0
compiler/psystem.pas

@@ -114,6 +114,10 @@ implementation
 
     procedure set_default_int_types;
       begin
+{$ifdef cpu64bitalu}
+        aluuinttype:=u64inttype;
+        alusinttype:=s64inttype;
+{$endif cpu64bitalu}
 {$ifdef cpu64bitaddr}
         sizeuinttype:=u64inttype;
         sizesinttype:=s64inttype;
@@ -129,6 +133,8 @@ implementation
 {$ifdef cpu32bitalu}
         uinttype:=u32inttype;
         sinttype:=s32inttype;
+        aluuinttype:=u32inttype;
+        alusinttype:=s32inttype;
 {$endif cpu32bitalu}
 {$ifdef cpu16bitaddr}
         sizeuinttype:=u16inttype;
@@ -137,10 +143,14 @@ implementation
 {$ifdef cpu16bitalu}
         uinttype:=u16inttype;
         sinttype:=s16inttype;
+        aluuinttype:=u16inttype;
+        alusinttype:=s16inttype;
 {$endif cpu16bitalu}
 {$ifdef cpu8bitalu}
         uinttype:=u8inttype;
         sinttype:=s8inttype;
+        aluuinttype:=u8inttype;
+        alusinttype:=s8inttype;
 {$endif cpu8bitalu}
 
         osuinttype:=uinttype;

+ 3 - 0
compiler/symdef.pas

@@ -1072,6 +1072,9 @@ interface
        { integer types corresponding to OS_SINT/OS_INT }
        ossinttype,
        osuinttype,
+       { integer types corresponding to the ALU size, sizeof(aint) and the ALUSInt/ALUUInt types in the system unit }
+       alusinttype,
+       aluuinttype,
        { integer types corresponding to SizeInt and SizeUInt for the target platform }
        sizeuinttype,
        sizesinttype,