Explorar o código

+ 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 %!s(int64=8) %!d(string=hai) anos
pai
achega
acfe6d2f2c
Modificáronse 2 ficheiros con 13 adicións e 0 borrados
  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,