mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-18 02:59:28 +02:00
* pass not only exception address but also frame to raise:
if an address is passed the compiler cannot know a good value for the frame so it passed nil and no stack trace is printed, resolves #12528 git-svn-id: trunk@22932 -
This commit is contained in:
parent
1bc47815be
commit
39aef35bdc
@ -1403,7 +1403,7 @@ end;
|
||||
|
||||
class procedure TFPHashList.Error(const Msg: string; Data: PtrInt);
|
||||
begin
|
||||
Raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame);
|
||||
Raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
function TFPHashList.Expand: TFPHashList;
|
||||
|
@ -1342,13 +1342,13 @@ end;
|
||||
|
||||
procedure EvaluationError(const Msg: String);
|
||||
begin
|
||||
raise EXPathEvaluationError.Create(Msg) at get_caller_addr(get_frame);
|
||||
raise EXPathEvaluationError.Create(Msg) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure EvaluationError(const Msg: String; const Args: array of const);
|
||||
begin
|
||||
raise EXPathEvaluationError.CreateFmt(Msg, Args)
|
||||
at get_caller_addr(get_frame);
|
||||
at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
|
||||
@ -1370,7 +1370,7 @@ end;
|
||||
|
||||
procedure TXPathVariable.Error(const Msg: String; const Args: array of const);
|
||||
begin
|
||||
raise Exception.CreateFmt(Msg, Args) at get_caller_addr(get_frame);
|
||||
raise Exception.CreateFmt(Msg, Args) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
|
||||
@ -1788,7 +1788,7 @@ end;
|
||||
|
||||
procedure TXPathScanner.Error(const Msg: String);
|
||||
begin
|
||||
raise Exception.Create(Msg) at get_caller_addr(get_frame);
|
||||
raise Exception.Create(Msg) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure TXPathScanner.ParsePredicates(var Dest: TXPathNodeArray);
|
||||
|
@ -15,15 +15,13 @@
|
||||
{****************************************************************************}
|
||||
|
||||
Procedure BitsError (const Msg : string);
|
||||
|
||||
begin
|
||||
Raise EBitsError.Create(Msg) at get_caller_addr(get_frame);
|
||||
Raise EBitsError.Create(Msg) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
Procedure BitsErrorFmt (const Msg : string; const Args : array of const);
|
||||
|
||||
begin
|
||||
Raise EBitsError.CreateFmt(Msg,args) at get_caller_addr(get_frame);
|
||||
Raise EBitsError.CreateFmt(Msg,args) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
{Min function for Longint}
|
||||
|
@ -154,7 +154,7 @@ end;
|
||||
|
||||
class procedure TFPList.Error(const Msg: string; Data: PtrInt);
|
||||
begin
|
||||
Raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame);
|
||||
Raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure TFPList.Exchange(Index1, Index2: Integer);
|
||||
@ -743,7 +743,7 @@ end;
|
||||
|
||||
class procedure TList.Error(const Msg: string; Data: PtrInt);
|
||||
begin
|
||||
Raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame);
|
||||
Raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure TList.Exchange(Index1, Index2: Integer);
|
||||
|
@ -16,12 +16,12 @@
|
||||
|
||||
procedure TStream.ReadNotImplemented;
|
||||
begin
|
||||
raise EStreamError.CreateFmt(SStreamNoReading, [ClassName]) at get_caller_addr(get_frame);
|
||||
raise EStreamError.CreateFmt(SStreamNoReading, [ClassName]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure TStream.WriteNotImplemented;
|
||||
begin
|
||||
raise EStreamError.CreateFmt(SStreamNoWriting, [ClassName]) at get_caller_addr(get_frame);
|
||||
raise EStreamError.CreateFmt(SStreamNoWriting, [ClassName]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
function TStream.Read(var Buffer; Count: Longint): Longint;
|
||||
@ -154,7 +154,7 @@ end;
|
||||
procedure TStream.InvalidSeek;
|
||||
|
||||
begin
|
||||
raise EStreamError.CreateFmt(SStreamInvalidSeek, [ClassName]) at get_caller_addr(get_frame);
|
||||
raise EStreamError.CreateFmt(SStreamInvalidSeek, [ClassName]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure TStream.FakeSeekForward(Offset: Int64; const Origin: TSeekOrigin; const Pos: Int64);
|
||||
|
@ -434,13 +434,13 @@ end;
|
||||
|
||||
Procedure TStrings.Error(const Msg: string; Data: Integer);
|
||||
begin
|
||||
Raise EStringListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame);
|
||||
Raise EStringListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
|
||||
Procedure TStrings.Error(const Msg: pstring; Data: Integer);
|
||||
begin
|
||||
Raise EStringListError.CreateFmt(Msg^,[Data]) at get_caller_addr(get_frame);
|
||||
Raise EStringListError.CreateFmt(Msg^,[Data]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
|
||||
|
@ -526,7 +526,7 @@ end;
|
||||
|
||||
class procedure TFPSList.Error(const Msg: string; Data: PtrInt);
|
||||
begin
|
||||
raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame);
|
||||
raise EListError.CreateFmt(Msg,[Data]) at get_caller_addr(get_frame), get_caller_frame(get_frame);
|
||||
end;
|
||||
|
||||
procedure TFPSList.Exchange(Index1, Index2: Integer);
|
||||
|
Loading…
Reference in New Issue
Block a user