Pārlūkot izejas kodu

+ added a $HUGEPOINTERNORMALIZATION switch

git-svn-id: trunk@28088 -
nickysn 11 gadi atpakaļ
vecāks
revīzija
b3bb9df19f
5 mainītis faili ar 536 papildinājumiem un 515 dzēšanām
  1. 2 1
      compiler/globtype.pas
  2. 3 1
      compiler/msg/errore.msg
  3. 3 2
      compiler/msgidx.inc
  4. 517 511
      compiler/msgtxt.inc
  5. 11 0
      compiler/scandir.pas

+ 2 - 1
compiler/globtype.pas

@@ -145,7 +145,8 @@ interface
          cs_check_var_copyout,
          cs_zerobasedstrings,
          { i8086 specific }
-         cs_force_far_calls
+         cs_force_far_calls,
+         cs_hugeptr_normalization
        );
        tlocalswitches = set of tlocalswitch;
 

+ 3 - 1
compiler/msg/errore.msg

@@ -136,7 +136,7 @@ general_f_oserror=01025_F_Operating system error: $1
 #
 # Scanner
 #
-# 02097 is the last used one
+# 02098 is the last used one
 #
 % \section{Scanner messages.}
 % This section lists the messages that the scanner emits. The scanner takes
@@ -404,6 +404,8 @@ scan_w_invalid_stacksize=02096_W_The specified stack size is not within the vali
 scan_w_heapmax_lessthan_heapmin=02097_W_The specified HeapMax value is smaller than the HeapMin value. Setting HeapMax ignored.
 % The HeapMax value (if specified) must be greater than or equal to the HeapMin
 % value. Otherwise, the HeapMax value is ignored.
+scan_w_hugepointernormalization_not_support=02098_W_HUGEPOINTERNORMALIZATION is not supported by the target platform
+% The \var{\{\$HUGEPOINTERNORMALIZATION\}} directive is not supported by the target platform.
 % \end{description}
 #
 # Parser

+ 3 - 2
compiler/msgidx.inc

@@ -119,6 +119,7 @@ const
   scan_e_unsupported_switch=02095;
   scan_w_invalid_stacksize=02096;
   scan_w_heapmax_lessthan_heapmin=02097;
+  scan_w_hugepointernormalization_not_support=02098;
   parser_e_syntax_error=03000;
   parser_e_dont_nest_interrupt=03004;
   parser_w_proc_directive_ignored=03005;
@@ -992,9 +993,9 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 71849;
+  MsgTxtSize = 71922;
 
   MsgIdxMax : array[1..20] of longint=(
-    26,98,339,122,89,57,126,27,202,64,
+    26,99,339,122,89,57,126,27,202,64,
     58,20,1,1,1,1,1,1,1,1
   );

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 517 - 511
compiler/msgtxt.inc


+ 11 - 0
compiler/scandir.pas

@@ -1569,6 +1569,16 @@ unit scandir;
         do_moduleswitch(cs_huge_code);
       end;
 
+    procedure dir_hugepointernormalization;
+      begin
+        if target_info.system<>system_i8086_msdos then
+          begin
+            Message(scan_w_hugepointernormalization_not_support);
+            exit;
+          end;
+        do_localswitch(cs_hugeptr_normalization);
+      end;
+
     procedure dir_weakpackageunit;
       begin
       end;
@@ -1672,6 +1682,7 @@ unit scandir;
         AddDirective('HINTS',directive_all, @dir_hints);
         AddDirective('HPPEMIT',directive_all, @dir_hppemit);
         AddDirective('HUGECODE',directive_all, @dir_hugecode);
+        AddDirective('HUGEPOINTERNORMALIZATION',directive_all,@dir_hugepointernormalization);
         AddDirective('IEEEERRORS',directive_all,@dir_ieeeerrors);
         AddDirective('IOCHECKS',directive_all, @dir_iochecks);
         AddDirective('IMAGEBASE',directive_all, @dir_imagebase);

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels