aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/fe.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2018-09-26 09:17:31 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-09-26 09:17:31 +0000
commitd58008d23d073916471ca95587b5fcd090675243 (patch)
tree98693b59c277e460cb5d6139ddef18edb966839f /gcc/ada/fe.h
parent52ba224d888aead9a9f00ce04b14200f2f4ef8a5 (diff)
downloadgcc-d58008d23d073916471ca95587b5fcd090675243.zip
gcc-d58008d23d073916471ca95587b5fcd090675243.tar.gz
gcc-d58008d23d073916471ca95587b5fcd090675243.tar.bz2
[Ada] Preparation for new description of interface thunks
This adjusts and exposes a couple of functions of the front-end used for the generation of interface thunks so as to make them callable from gigi. This also propagates the debug info setting from the targets to the thunks so as to make stepping into primitives work better in the debugger. 2018-09-26 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_disp.adb (Expand_Interface_Conversion): Use Present test. (Expand_Interface_Thunk): Propagate debug info setting from target. * exp_util.ads (Find_Interface_Tag): Adjust comment. * exp_util.adb (Find_Interface_Tag): Remove assertions of success. * sem_util.adb (Is_Variable_Size_Record): Only look at components and robustify the implementation. * fe.h (Find_Interface_Tag): Declare. (Is_Variable_Size_Record): Likewise. From-SVN: r264614
Diffstat (limited to 'gcc/ada/fe.h')
-rw-r--r--gcc/ada/fe.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h
index 2d07aa5..7c32044 100644
--- a/gcc/ada/fe.h
+++ b/gcc/ada/fe.h
@@ -159,8 +159,10 @@ extern void Get_External_Name (Entity_Id, Boolean, String_Pointer);
/* exp_util: */
#define Is_Fully_Repped_Tagged_Type exp_util__is_fully_repped_tagged_type
+#define Find_Interface_Tag exp_util__find_interface_tag
extern Boolean Is_Fully_Repped_Tagged_Type (Entity_Id);
+extern Entity_Id Find_Interface_Tag (Entity_Id, Entity_Id);
/* lib: */
@@ -269,12 +271,14 @@ extern Boolean Is_OK_Static_Subtype (Entity_Id);
#define Defining_Entity sem_util__defining_entity
#define First_Actual sem_util__first_actual
#define Next_Actual sem_util__next_actual
+#define Is_Variable_Size_Record sem_util__is_variable_size_record
#define Requires_Transient_Scope sem_util__requires_transient_scope
extern Entity_Id Defining_Entity (Node_Id);
extern Node_Id First_Actual (Node_Id);
extern Node_Id Next_Actual (Node_Id);
-extern Boolean Requires_Transient_Scope (Entity_Id);
+extern Boolean Is_Variable_Size_Record (Entity_Id Id);
+extern Boolean Requires_Transient_Scope (Entity_Id);
/* sinfo: */