comparison gcc/ada/exp_disp.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 -- E X P _ D I S P -- 5 -- E X P _ D I S P --
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 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
240 -- dispatch table of the target type. 240 -- dispatch table of the target type.
241 241
242 procedure Expand_Interface_Thunk 242 procedure Expand_Interface_Thunk
243 (Prim : Node_Id; 243 (Prim : Node_Id;
244 Thunk_Id : out Entity_Id; 244 Thunk_Id : out Entity_Id;
245 Thunk_Code : out Node_Id); 245 Thunk_Code : out Node_Id;
246 Iface : Entity_Id);
246 -- Ada 2005 (AI-251): When a tagged type implements abstract interfaces we 247 -- Ada 2005 (AI-251): When a tagged type implements abstract interfaces we
247 -- generate additional subprograms (thunks) associated with each primitive 248 -- generate additional subprograms (thunks) associated with each primitive
248 -- Prim to have a layout compatible with the C++ ABI. The thunk displaces 249 -- Prim to have a layout compatible with the C++ ABI. The thunk displaces
249 -- the pointers to the actuals that depend on the controlling type before 250 -- the pointers to the actuals that depend on the controlling type before
250 -- transferring control to the target subprogram. If there is no need to 251 -- transferring control to the target subprogram. If there is no need to