diff --git a/components/ideintf/ideoptionsintf.pas b/components/ideintf/ideoptionsintf.pas index bbc8c9edf9..09589d33e0 100644 --- a/components/ideintf/ideoptionsintf.pas +++ b/components/ideintf/ideoptionsintf.pas @@ -184,9 +184,9 @@ type function Check: Boolean; virtual; function GetTitle: String; virtual; abstract; procedure Setup(ADialog: TAbstractOptionsEditorDialog); virtual; abstract; - procedure ReadSettings(AOptions: TAbstractIDEOptions); virtual; abstract; - procedure WriteSettings(AOptions: TAbstractIDEOptions); virtual; abstract; - procedure RestoreSettings({%H-}AOptions: TAbstractIDEOptions); virtual; + procedure ReadSettings(AOptions: TAbstractIDEOptions); virtual; abstract; // options to gui + procedure WriteSettings(AOptions: TAbstractIDEOptions); virtual; abstract; // gui to options + procedure RestoreSettings({%H-}AOptions: TAbstractIDEOptions); virtual;// user cancelled dialog -> restore any changes class function SupportedOptionsClass: TAbstractIDEOptionsClass; virtual; abstract; class function DefaultCollapseChildNodes: Boolean; virtual; function FindOptionControl(AClass: TControlClass): TControl; diff --git a/ide/compileroptions.pp b/ide/compileroptions.pp index f019a5e26c..3e446512b8 100644 --- a/ide/compileroptions.pp +++ b/ide/compileroptions.pp @@ -3286,6 +3286,7 @@ begin fStackChecks := false; fHeapSize := 0; fStackSize := 0; + fVerifyObjMethodCall := false; fTargetOS := ''; fTargetCPU := ''; fTargetProc := ''; @@ -3299,6 +3300,7 @@ begin fDebugInfoType := dsAuto; fUseLineInfoUnit := true; fUseHeaptrc := false; + fTrashVariables := false; fUseValgrind := false; fGenGProfCode := false; fStripSymbols := false; @@ -3396,6 +3398,7 @@ begin FEmulatedFloatOpcodes := CompOpts.fEmulatedFloatOpcodes; fHeapSize := CompOpts.fHeapSize; fStackSize := CompOpts.fStackSize; + fVerifyObjMethodCall := CompOpts.VerifyObjMethodCall; fEmulatedFloatOpcodes := CompOpts.fEmulatedFloatOpcodes; fTargetOS := CompOpts.fTargetOS; fTargetCPU := CompOpts.fTargetCPU; @@ -3410,6 +3413,7 @@ begin FDebugInfoType := CompOpts.FDebugInfoType; fUseLineInfoUnit := CompOpts.fUseLineInfoUnit; fUseHeaptrc := CompOpts.fUseHeaptrc; + fTrashVariables := CompOpts.fTrashVariables; fUseValgrind := CompOpts.fUseValgrind; fGenGProfCode := CompOpts.fGenGProfCode; fStripSymbols := CompOpts.fStripSymbols; @@ -3544,6 +3548,7 @@ begin if Done(Tool.AddDiff('EmulatedFloatOpcodes',FEmulatedFloatOpcodes,CompOpts.FEmulatedFloatOpcodes)) then exit; if Done(Tool.AddDiff('HeapSize',fHeapSize,CompOpts.fHeapSize)) then exit; if Done(Tool.AddDiff('StackSize',fStackSize,CompOpts.fStackSize)) then exit; + if Done(Tool.AddDiff('VerifyObjMethodCall',fVerifyObjMethodCall,CompOpts.fVerifyObjMethodCall)) then exit; if Done(Tool.AddDiff('EmulatedFloatOpcodes',fEmulatedFloatOpcodes,CompOpts.fEmulatedFloatOpcodes)) then exit; if Done(Tool.AddDiff('TargetOS',fTargetOS,CompOpts.fTargetOS)) then exit; if Done(Tool.AddDiff('TargetCPU',fTargetCPU,CompOpts.fTargetCPU)) then exit; diff --git a/ide/frames/compiler_debugging_options.pas b/ide/frames/compiler_debugging_options.pas index 0fab745d63..d8ad6ec540 100644 --- a/ide/frames/compiler_debugging_options.pas +++ b/ide/frames/compiler_debugging_options.pas @@ -5,7 +5,8 @@ unit compiler_debugging_options; interface uses - StdCtrls, IDEOptionsIntf, CompilerOptions, CompOptsIntf, LazarusIDEStrConsts; + StdCtrls, IDEOptionsIntf, CompilerOptions, CompOptsIntf, LazLoggerBase, + LazarusIDEStrConsts; type @@ -87,6 +88,8 @@ end; procedure TCompilerDebuggingOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog); begin + debugln(['TCompilerDebuggingOptionsFrame.Setup ']); + writeln('TCompilerDebuggingOptionsFrame.Setup '); grpChecks.Caption := dlgCOChecksAndAssertion; chkChecksIO.Caption := 'I/O (-Ci)'; chkChecksRange.Caption := dlgCORange + ' (-Cr)'; diff --git a/ide/project.pp b/ide/project.pp index 268a8f2a49..feb2e01573 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -7011,6 +7011,7 @@ function TProjectBuildModes.CreateExtraModes(aCurMode: TProjectBuildMode): TProj OverflowChecks:=IsDebug; StackChecks:=IsDebug; IncludeAssertionCode:=IsDebug; + VerifyObjMethodCall:=IsDebug; // Debug flags GenerateDebugInfo:=IsDebug; UseExternalDbgSyms:=IsDebug;