aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-traceb.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-31 12:02:13 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-31 12:02:13 +0200
commitaa3efecdfbd42f3ec8dce3a3d85a0cc8f60e01ce (patch)
tree98d8ea606ed1b3f97b7d68b09f7679409a6515c0 /gcc/ada/s-traceb.adb
parentb7c874a77cff436d8730223b80ffa53d3dba05c3 (diff)
downloadgcc-aa3efecdfbd42f3ec8dce3a3d85a0cc8f60e01ce.zip
gcc-aa3efecdfbd42f3ec8dce3a3d85a0cc8f60e01ce.tar.gz
gcc-aa3efecdfbd42f3ec8dce3a3d85a0cc8f60e01ce.tar.bz2
[multiple changes]
2014-07-31 Robert Dewar <dewar@adacore.com> * par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends. * par-ch2.adb (P_Pragma): Set Inside_Depends. * par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to Check_Unary_Plus_Or_Minus. * scans.ads (Inside_Depends): New flag. * scng.adb (Scan): Pass Inside_Depends to Check_Arrow. * style.ads: Add Inside_Depends parameter to Check_Arrow Add Inside_Depends parameter to Check_Unary_Plus_Or_Minus. * styleg.adb (Check_Arrow): Handle Inside_Depends case. (Check_Unary_Plus_Or_Minus): Handle Inside_Depends case. * styleg.ads: Add Inside_Depends parameter to Check_Arrow Add. Inside_Depends parameter to Check_Unary_Plus_Or_Minus. 2014-07-31 Javier Miranda <miranda@adacore.com> * s-vaflop.adb Move the body of function T_To_G before T_To_D. Required for frontend inlining. * inline.adb (Has_Excluded_Contract): New subprogram used to check if a subprogram inlined by the frontend has contracts which cannot be inlined. 2014-07-31 Bob Duff <duff@adacore.com> * s-traceb.adb, s-traceb-hpux.adb, s-traceb-mastop.adb: (Call_Chain): Add 1 to number of frames to skip, to account for the fact that there's one more frame on the stack. From-SVN: r213336
Diffstat (limited to 'gcc/ada/s-traceb.adb')
-rw-r--r--gcc/ada/s-traceb.adb24
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/ada/s-traceb.adb b/gcc/ada/s-traceb.adb
index 0c55cfc..78c759b 100644
--- a/gcc/ada/s-traceb.adb
+++ b/gcc/ada/s-traceb.adb
@@ -38,14 +38,15 @@ pragma Compiler_Unit_Warning;
package body System.Traceback is
- procedure Call_Chain
- (Traceback : System.Address;
- Max_Len : Natural;
- Len : out Natural;
- Exclude_Min : System.Address := System.Null_Address;
- Exclude_Max : System.Address := System.Null_Address;
- Skip_Frames : Natural := 1);
- -- Same as the exported version, but takes Traceback as an Address
+-- procedure Call_Chain
+-- (Traceback : System.Address;
+-- Max_Len : Natural;
+-- Len : out Natural;
+-- Exclude_Min : System.Address := System.Null_Address;
+-- Exclude_Max : System.Address := System.Null_Address;
+-- Skip_Frames : Natural := 1);
+-- -- Same as the exported version, but takes Traceback as an Address
+-- ???See declaration in the spec for why this is temporarily commented out.
------------------
-- C_Call_Chain --
@@ -53,11 +54,9 @@ package body System.Traceback is
function C_Call_Chain
(Traceback : System.Address;
- Max_Len : Natural)
- return Natural
+ Max_Len : Natural) return Natural
is
Val : Natural;
-
begin
Call_Chain (Traceback, Max_Len, Val);
return Val;
@@ -110,7 +109,8 @@ package body System.Traceback is
begin
Call_Chain
(Traceback'Address, Max_Len, Len,
- Exclude_Min, Exclude_Max, Skip_Frames);
+ Exclude_Min, Exclude_Max, Skip_Frames + 1);
+ -- Skip one extra frame so we skip the other Call_Chain as well
end Call_Chain;
end System.Traceback;