Browse Source

* fix warning that reports incompatibility of assembler and target

git-svn-id: trunk@3095 -
peter 19 years ago
parent
commit
f26e214fe9
1 changed files with 8 additions and 9 deletions
  1. 8 9
      compiler/options.pas

+ 8 - 9
compiler/options.pas

@@ -2163,7 +2163,14 @@ begin
 
   { maybe override assembler }
   if (paratargetasm<>as_none) then
-    set_target_asm(paratargetasm);
+    begin
+      if not set_target_asm(paratargetasm) then
+        begin
+          Message2(option_incompatible_asm,asminfos[paratargetasm]^.idtxt,target_info.name);
+          set_target_asm(target_info.assemextern);
+          Message1(option_asm_forced,target_asm.idtxt);
+        end;
+    end;
 
   { switch assembler if it's binary and we got -a on the cmdline }
   if (cs_asm_leave in initglobalswitches) and
@@ -2173,14 +2180,6 @@ begin
      set_target_asm(target_info.assemextern);
    end;
 
-  if (target_asm.supported_target <> system_any) and
-     (target_asm.supported_target <> target_info.system) then
-   begin
-     Message2(option_incompatible_asm,target_asm.idtxt,target_info.name);
-     set_target_asm(target_info.assemextern);
-     Message1(option_asm_forced,target_asm.idtxt);
-   end;
-
   { disable internal linker if it is not registered }
   if not assigned(target_info.link) and
      (cs_link_internal in initglobalswitches) then