comparison gcc/ada/libgnat/a-except.ads @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- A D A . E X C E P T I O N S -- 5 -- A D A . E X C E P T I O N S --
6 -- -- 6 -- --
7 -- S p e c -- 7 -- S p e c --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- This specification is derived from the Ada Reference Manual for use with -- 11 -- This specification is derived from the Ada Reference Manual for use with --
12 -- GNAT. The copyright notice above, and the license provisions that follow -- 12 -- GNAT. The copyright notice above, and the license provisions that follow --
13 -- apply solely to the contents of the part following the private keyword. -- 13 -- apply solely to the contents of the part following the private keyword. --
14 -- -- 14 -- --
31 -- GNAT was originally developed by the GNAT team at New York University. -- 31 -- GNAT was originally developed by the GNAT team at New York University. --
32 -- Extensive contributions were provided by Ada Core Technologies Inc. -- 32 -- Extensive contributions were provided by Ada Core Technologies Inc. --
33 -- -- 33 -- --
34 ------------------------------------------------------------------------------ 34 ------------------------------------------------------------------------------
35 35
36 -- This version of Ada.Exceptions fully supports Ada 95 and later language 36 -- This is the default version of this package. We also have cert and zfp
37 -- versions. It is used in all situations except for the build of the 37 -- versions.
38 -- compiler and other basic tools. For these latter builds, we use an
39 -- Ada 95-only version.
40
41 -- The reason for this splitting off of a separate version is to support
42 -- older bootstrap compilers that do not support Ada 2005 features, and
43 -- Ada.Exceptions is part of the compiler sources.
44 38
45 pragma Polling (Off); 39 pragma Polling (Off);
46 -- We must turn polling off for this unit, because otherwise we get 40 -- We must turn polling off for this unit, because otherwise we get
47 -- elaboration circularities with ourself. 41 -- elaboration circularities with ourself.
48 42
282 276
283 subtype Tracebacks_Array is TBE.Tracebacks_Array (1 .. Max_Tracebacks); 277 subtype Tracebacks_Array is TBE.Tracebacks_Array (1 .. Max_Tracebacks);
284 -- Traceback array stored in exception occurrence 278 -- Traceback array stored in exception occurrence
285 279
286 type Exception_Occurrence is record 280 type Exception_Occurrence is record
287 Id : Exception_Id; 281 Id : Exception_Id := Null_Id;
288 -- Exception_Identity for this exception occurrence 282 -- Exception_Identity for this exception occurrence
289 283
290 Machine_Occurrence : System.Address; 284 Machine_Occurrence : System.Address;
291 -- The underlying machine occurrence. For GCC, this corresponds to the 285 -- The underlying machine occurrence. For GCC, this corresponds to the
292 -- _Unwind_Exception structure address. 286 -- _Unwind_Exception structure address.
334 function EO_To_String (X : Exception_Occurrence) return String; 328 function EO_To_String (X : Exception_Occurrence) return String;
335 function String_To_EO (S : String) return Exception_Occurrence; 329 function String_To_EO (S : String) return Exception_Occurrence;
336 pragma Stream_Convert (Exception_Occurrence, String_To_EO, EO_To_String); 330 pragma Stream_Convert (Exception_Occurrence, String_To_EO, EO_To_String);
337 -- Functions for implementing Exception_Occurrence stream attributes 331 -- Functions for implementing Exception_Occurrence stream attributes
338 332
339 Null_Occurrence : constant Exception_Occurrence := ( 333 Null_Occurrence : constant Exception_Occurrence := (others => <>);
340 Id => null,
341 Machine_Occurrence => System.Null_Address,
342 Msg_Length => 0,
343 Msg => (others => ' '),
344 Exception_Raised => False,
345 Pid => 0,
346 Num_Tracebacks => 0,
347 Tracebacks => (others => TBE.Null_TB_Entry));
348 334
349 end Ada.Exceptions; 335 end Ada.Exceptions;