OSDN Git Service

* c-decl.c (grokfield): Allow typedefs for anonymous structs and
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-tgdico.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                 ADA.TAGS.GENERIC_DISPATCHING_CONSTRUCTOR                 --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 -- This specification is derived 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 ------------------------------------------------------------------------------
15
16 pragma Warnings (Off);
17 --  Turn of categorization warnings
18
19 generic
20    type T (<>) is abstract tagged limited private;
21    type Parameters (<>) is limited private;
22    with function Constructor (Params : not null access Parameters) return T
23      is abstract;
24
25 function Ada.Tags.Generic_Dispatching_Constructor
26   (The_Tag : Tag;
27    Params  : not null access Parameters) return T'Class;
28 pragma Preelaborate_05 (Generic_Dispatching_Constructor);
29 pragma Import (Intrinsic, Generic_Dispatching_Constructor);
30 --  Note: the reason that we use Preelaborate_05 here is so that this will
31 --  compile fine during the normal build procedures. In Ada 2005 mode (which
32 --  is required for this package anyway), this will be treated as Preelaborate
33 --  so everything will be fine.