2005-12-29 Paul Brook <paul@codesourcery.com>
[official-gcc.git] / gcc / ada / a-tgdico.ads
blob51e3d80df05849d81a28ad85aa210d55360443e7
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- ADA.TAGS.GENERIC_DISPATCHING_CONSTRUCTOR --
6 -- --
7 -- S p e c --
8 -- --
9 -- This specification is adapted from the Ada Reference Manual for use with --
10 -- GNAT. In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification, provided that if you redistribute a --
12 -- modified version, any changes that you have made are clearly indicated. --
13 -- --
14 ------------------------------------------------------------------------------
16 pragma Warnings (Off);
17 -- Turn of categorization warnings
19 generic
20 type T (<>) is abstract tagged limited private;
21 type Parameters (<>) is limited private;
22 with function Constructor (Params : access Parameters) return T is abstract;
24 function Ada.Tags.Generic_Dispatching_Constructor
25 (The_Tag : Tag; Params : access Parameters) return T'Class;
26 pragma Preelaborate_05 (Generic_Dispatching_Constructor);
27 pragma Import (Intrinsic, Generic_Dispatching_Constructor);
28 -- Note: the reason that we use Preelaborate_05 here is so that this will
29 -- compile fine during the normal build procedures. In Ada 2005 mode (which
30 -- is required for this package anyway), this will be treated as Preelaborate
31 -- so everything will be fine.