2
0
Эх сурвалжийг харах

- removed the call to CheckNullArea from the exit code for the tiny memory model

git-svn-id: trunk@28006 -
nickysn 11 жил өмнө
parent
commit
1295b4abf7

+ 4 - 7
rtl/msdos/prt0comn.asm

@@ -439,12 +439,9 @@ int_number:
         ret 4
         ret 4
 %endif
 %endif
 
 
+%ifndef __TINY__
         global FPC_CHECK_NULLAREA
         global FPC_CHECK_NULLAREA
 FPC_CHECK_NULLAREA:
 FPC_CHECK_NULLAREA:
-%ifdef __TINY__
-        ; tiny model has no nil pointer assignment checking; always return true.
-        mov al, 1
-%else
         push ds
         push ds
         pop es
         pop es
         xor di, di
         xor di, di
@@ -455,11 +452,11 @@ FPC_CHECK_NULLAREA:
         je .skip
         je .skip
         dec ax   ; 1 byte shorter than dec al
         dec ax   ; 1 byte shorter than dec al
 .skip:
 .skip:
-%endif
-%ifdef __FAR_CODE__
+    %ifdef __FAR_CODE__
         retf
         retf
-%else
+    %else
         ret
         ret
+    %endif
 %endif
 %endif
 
 
         segment data class=data
         segment data class=data

+ 2 - 0
rtl/msdos/system.pp

@@ -293,8 +293,10 @@ begin
          if h>=5 then
          if h>=5 then
            do_close(h);
            do_close(h);
       end;
       end;
+{$ifndef FPC_MM_TINY}
   if not CheckNullArea then
   if not CheckNullArea then
     writeln(stderr, 'Nil pointer assignment');
     writeln(stderr, 'Nil pointer assignment');
+{$endif FPC_MM_TINY}
   asm
   asm
     mov al, byte [exitcode]
     mov al, byte [exitcode]
     mov ah, 4Ch
     mov ah, 4Ch