|
@@ -58,6 +58,7 @@ Type
|
|
|
procedure Read_Parameters;
|
|
|
procedure parsecmd(cmd:string);
|
|
|
procedure TargetOptions(def:boolean);
|
|
|
+ procedure CheckOptionsCompatibility;
|
|
|
end;
|
|
|
|
|
|
TOptionClass=class of toption;
|
|
@@ -2151,6 +2152,19 @@ begin
|
|
|
features:=features+target_unsup_features;
|
|
|
end;
|
|
|
|
|
|
+procedure TOption.checkoptionscompatibility;
|
|
|
+begin
|
|
|
+ { the internal assembler does not yet support tf_dwarf_relative_addresses,
|
|
|
+ which is required for dwarf on win32 (mantis 12872)
|
|
|
+ }
|
|
|
+ if (paratargetdbg in [dbg_dwarf2,dbg_dwarf3]) and
|
|
|
+ (target_info.system = system_i386_win32) then
|
|
|
+ begin
|
|
|
+ Message(option_switch_bin_to_src_assembler);
|
|
|
+ set_target_asm(target_info.assemextern);
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
|
|
|
constructor TOption.create;
|
|
|
begin
|
|
@@ -2454,6 +2468,12 @@ begin
|
|
|
if option.quickinfo<>'' then
|
|
|
option.writequickinfo;
|
|
|
end;
|
|
|
+
|
|
|
+ { check the compatibility of different options and adjust them if necessary
|
|
|
+ (and print possible errors)
|
|
|
+ }
|
|
|
+ option.checkoptionscompatibility;
|
|
|
+
|
|
|
{ Stop if errors in options }
|
|
|
if ErrorCount>0 then
|
|
|
StopOptions(1);
|