Patchwork [Ada] Move remaining sjlj bits from a-except-2005.ads to a-exexpr.adb

login
register
mail settings
Submitter Arnaud Charlet
Date Aug. 29, 2011, 10:42 a.m.
Message ID <20110829104258.GA21694@adacore.com>
Download mbox | patch
Permalink /patch/112018/
State New
Headers show

Comments

Arnaud Charlet - Aug. 29, 2011, 10:42 a.m.
Little cleanup, no functional changes.

Tested on x86_64-pc-linux-gnu, committed on trunk

2011-08-29  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
	(To_Jmpbuf_Address): Ditto
	(builtin_longjmp): Ditto

Patch

Index: a-exexpr.adb
===================================================================
--- a-exexpr.adb	(revision 178155)
+++ a-exexpr.adb	(working copy)
@@ -6,7 +6,7 @@ 
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -34,6 +34,8 @@ 
 
 with System.Storage_Elements;  use System.Storage_Elements;
 
+with Ada.Unchecked_Conversion;
+
 pragma Warnings (Off);
 --  Since several constructs give warnings in 3.14a1, including unreferenced
 --  variables and pragma Unreferenced itself.
@@ -41,6 +43,20 @@ 
 separate (Ada.Exceptions)
 package body Exception_Propagation is
 
+   --  Common binding to __builtin_longjmp for sjlj variants.
+
+   --  The builtin expects a pointer type for the jmpbuf address argument, and
+   --  System.Address doesn't work because this is really an integer type.
+
+   type Jmpbuf_Address is access Character;
+
+   function To_Jmpbuf_Address is new
+     Ada.Unchecked_Conversion (System.Address, Jmpbuf_Address);
+
+   procedure builtin_longjmp (buffer : Jmpbuf_Address; Flag : Integer);
+   pragma No_Return (builtin_longjmp);
+   pragma Import (Intrinsic, builtin_longjmp, "__builtin_longjmp");
+
    ---------------------
    -- Setup_Exception --
    ---------------------
Index: a-except-2005.ads
===================================================================
--- a-except-2005.ads	(revision 178155)
+++ a-except-2005.ads	(working copy)
@@ -50,8 +50,6 @@ 
 with System.Standard_Library;
 with System.Traceback_Entries;
 
-with Ada.Unchecked_Conversion;
-
 package Ada.Exceptions is
    pragma Warnings (Off);
    pragma Preelaborate_05;
@@ -230,16 +228,13 @@ 
    --  system to return here rather than to the original location.
 
    procedure Raise_From_Controlled_Operation
-     (X          : Ada.Exceptions.Exception_Occurrence;
-      From_Abort : Boolean);
+     (X : Ada.Exceptions.Exception_Occurrence);
    pragma No_Return (Raise_From_Controlled_Operation);
    pragma Export
      (Ada, Raise_From_Controlled_Operation,
            "__gnat_raise_from_controlled_operation");
    --  Raise Program_Error, providing information about X (an exception raised
-   --  during a controlled operation) in the exception message. However, if the
-   --  finalization was triggered by abort, keep aborting instead of raising
-   --  Program_Error.
+   --  during a controlled operation) in the exception message.
 
    procedure Reraise_Occurrence_Always (X : Exception_Occurrence);
    pragma No_Return (Reraise_Occurrence_Always);
@@ -359,18 +354,4 @@ 
      Tracebacks       => (others => TBE.Null_TB_Entry),
      Private_Data     => System.Null_Address);
 
-   --  Common binding to __builtin_longjmp for sjlj variants.
-
-   --  The builtin expects a pointer type for the jmpbuf address argument, and
-   --  System.Address doesn't work because this is really an integer type.
-
-   type Jmpbuf_Address is access Character;
-
-   function To_Jmpbuf_Address is new
-     Ada.Unchecked_Conversion (System.Address, Jmpbuf_Address);
-
-   procedure builtin_longjmp (buffer : Jmpbuf_Address; Flag : Integer);
-   pragma No_Return (builtin_longjmp);
-   pragma Import (Intrinsic, builtin_longjmp, "__builtin_longjmp");
-
 end Ada.Exceptions;