From 713f269ce2a67d0fc8d3635268a667b60cd4074d Mon Sep 17 00:00:00 2001 From: pierre Date: Mon, 5 Sep 2011 12:52:37 +0000 Subject: [PATCH] * Change Field passing type of FreeLocalVerbosity parameter to by value to avoid passing an unaligned pointer. * Adapt code calling FreeLocalVerbosity to reset currrent_settings.pmessage to nil afterwards. git-svn-id: trunk@18978 - --- compiler/parser.pas | 1 + compiler/verbose.pas | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/parser.pas b/compiler/parser.pas index 266878a669..533c99e5f2 100644 --- a/compiler/parser.pas +++ b/compiler/parser.pas @@ -522,6 +522,7 @@ implementation set_current_module(olddata^.old_current_module); FreeLocalVerbosity(current_settings.pmessage); + current_settings.pmessage:=nil; dispose(olddata); end; diff --git a/compiler/verbose.pas b/compiler/verbose.pas index 3a03f33c3c..49af1690a2 100644 --- a/compiler/verbose.pas +++ b/compiler/verbose.pas @@ -82,7 +82,7 @@ interface function CheckVerbosity(v:longint):boolean; function SetMessageVerbosity(v:longint;state:tmsgstate):boolean; procedure RestoreLocalVerbosity(pstate : pmessagestaterecord); - procedure FreeLocalVerbosity(var fstate : pmessagestaterecord); + procedure FreeLocalVerbosity(fstate : pmessagestaterecord); function ChangeMessageVerbosity(s: string; var i: integer;state:tmsgstate): boolean; procedure ShowStatus; @@ -191,7 +191,7 @@ implementation end; end; - procedure FreeLocalVerbosity(var fstate : pmessagestaterecord); + procedure FreeLocalVerbosity(fstate : pmessagestaterecord); var pstate : pmessagestaterecord; begin pstate:=fstate; @@ -199,7 +199,7 @@ implementation begin fstate:=pstate^.next; freemem(pstate); - pstate:=fstate; + pstate:=unaligned(fstate); end; end;