Forráskód Böngészése

* based on patch by Christo Crause: when setting the controller type, set also the sub architecture, resolves #33189

git-svn-id: trunk@38285 -
florian 7 éve
szülő
commit
5d17b335a6
4 módosított fájl, 582 hozzáadás és 565 törlés
  1. 2 1
      compiler/msg/errore.msg
  2. 3 2
      compiler/msgidx.inc
  3. 568 561
      compiler/msgtxt.inc
  4. 9 1
      compiler/options.pas

+ 2 - 1
compiler/msg/errore.msg

@@ -142,7 +142,7 @@ general_e_exception_raised=01026_E_Compilation raised exception internally
 #
 # Scanner
 #
-# 02104 is the last used one
+# 02105 is the last used one
 #
 % \section{Scanner messages.}
 % This section lists the messages that the scanner emits. The scanner takes
@@ -427,6 +427,7 @@ scan_w_setpeosversion_not_support=02103_W_SETPEOSVERSION is not supported by the
 % The \var{\{\$SETPEOSVERSION\}} directive is not supported by the target OS.
 scan_w_setpesubsysversion_not_support=02104_W_SETPESUBSYSVERSION is not supported by the target OS
 % The \var{\{\$SETPESUBSYSVERSION\}} directive is not supported by the target OS.
+scan_n_changecputype=02105_N_Changed CPU type to be consistent with specified controller
 % \end{description}
 #
 # Parser

+ 3 - 2
compiler/msgidx.inc

@@ -127,6 +127,7 @@ const
   scan_w_setpeuserversion_not_support=02102;
   scan_w_setpeosversion_not_support=02103;
   scan_w_setpesubsysversion_not_support=02104;
+  scan_n_changecputype=02105;
   parser_e_syntax_error=03000;
   parser_e_dont_nest_interrupt=03004;
   parser_w_proc_directive_ignored=03005;
@@ -1092,9 +1093,9 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 81122;
+  MsgTxtSize = 81190;
 
   MsgIdxMax : array[1..20] of longint=(
-    27,105,347,125,96,58,139,33,221,67,
+    27,106,347,125,96,58,139,33,221,67,
     61,20,30,1,1,1,1,1,1,1
   );

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 568 - 561
compiler/msgtxt.inc


+ 9 - 1
compiler/options.pas

@@ -2384,7 +2384,15 @@ begin
                           begin
                             s:=upper(copy(more,j+1,length(more)-j));
                             if not(SetControllerType(s,init_settings.controllertype)) then
-                              IllegalPara(opt);
+                              IllegalPara(opt)
+                            else
+                              begin
+                                if init_settings.cputype<>embedded_controllers[init_settings.controllertype].cputype then
+                                begin
+                                  Message(scan_n_changecputype);
+                                  init_settings.cputype:=embedded_controllers[init_settings.controllertype].cputype;
+                                end;
+                              end;
                             break;
                           end
                         else

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott