Browse Source

* give a warning that packrecords settings are ignored when compiling for
managed VM targets

git-svn-id: branches/jvmbackend@18815 -

Jonas Maebe 14 years ago
parent
commit
9aa40f5a08
4 changed files with 459 additions and 446 deletions
  1. 5 1
      compiler/msg/errore.msg
  2. 3 2
      compiler/msgidx.inc
  3. 448 443
      compiler/msgtxt.inc
  4. 3 0
      compiler/scandir.pas

+ 5 - 1
compiler/msg/errore.msg

@@ -132,7 +132,7 @@ general_f_oserror=01025_F_Operating system error: $1
 #
 #
 # Scanner
 # Scanner
 #
 #
-# 02087 is the last used one
+# 02089 is the last used one
 #
 #
 % \section{Scanner messages.}
 % \section{Scanner messages.}
 % This section lists the messages that the scanner emits. The scanner takes
 % This section lists the messages that the scanner emits. The scanner takes
@@ -371,6 +371,10 @@ scanner_w_illegal_warn_identifier=02087_W_Illegal identifier "$1" for $WARN dire
 scanner_e_illegal_alignment_directive=02088_E_Illegal alignment directive
 scanner_e_illegal_alignment_directive=02088_E_Illegal alignment directive
 % The alignment directive is not valid. Either the alignment type is not known or the alignment
 % The alignment directive is not valid. Either the alignment type is not known or the alignment
 % value is not a power of two.
 % value is not a power of two.
+scanner_w_directive_ignored_on_target=02089_W_Directive "$1" is ignored for the the current target platform
+% Some directives are ignored for certain targets, such as changing the
+% packrecords and packenum settings on managed platforms.
+%
 % \end{description}
 % \end{description}
 #
 #
 # Parser
 # Parser

+ 3 - 2
compiler/msgidx.inc

@@ -110,6 +110,7 @@ const
   scan_w_multiple_main_name_overrides=02086;
   scan_w_multiple_main_name_overrides=02086;
   scanner_w_illegal_warn_identifier=02087;
   scanner_w_illegal_warn_identifier=02087;
   scanner_e_illegal_alignment_directive=02088;
   scanner_e_illegal_alignment_directive=02088;
+  scanner_w_directive_ignored_on_target=02089;
   parser_e_syntax_error=03000;
   parser_e_syntax_error=03000;
   parser_e_dont_nest_interrupt=03004;
   parser_e_dont_nest_interrupt=03004;
   parser_w_proc_directive_ignored=03005;
   parser_w_proc_directive_ignored=03005;
@@ -912,9 +913,9 @@ const
   option_info=11024;
   option_info=11024;
   option_help_pages=11025;
   option_help_pages=11025;
 
 
-  MsgTxtSize = 62052;
+  MsgTxtSize = 62122;
 
 
   MsgIdxMax : array[1..20] of longint=(
   MsgIdxMax : array[1..20] of longint=(
-    26,89,320,107,87,54,111,23,202,63,
+    26,90,320,107,87,54,111,23,202,63,
     49,20,1,1,1,1,1,1,1,1
     49,20,1,1,1,1,1,1,1,1
   );
   );

File diff suppressed because it is too large
+ 448 - 443
compiler/msgtxt.inc


+ 3 - 0
compiler/scandir.pas

@@ -899,6 +899,9 @@ unit scandir;
       var
       var
         hs : string;
         hs : string;
       begin
       begin
+        { can't change packrecords setting on managed vm targets }
+        if target_info.system in systems_managed_vm then
+          Message1(scanner_w_directive_ignored_on_target, 'PACKRECORDS');
         current_scanner.skipspace;
         current_scanner.skipspace;
         if not(c in ['0'..'9']) then
         if not(c in ['0'..'9']) then
          begin
          begin

Some files were not shown because too many files changed in this diff