* [COMMITED] ada: Add C declarations for Storage Model support
@ 2022-10-06 9:29 Marc Poulhiès
0 siblings, 0 replies; only message in thread
From: Marc Poulhiès @ 2022-10-06 9:29 UTC (permalink / raw)
To: gcc-patches; +Cc: Marc Poulhiès
Add needed C declarations for Storage Model support in gigi.
gcc/ada/
* fe.h (Has_Storage_Model_Type_Aspect)
(Has_Designated_Storage_Model_Aspect, Storage_Model_Object)
(Storage_Model_Copy_From, Storage_Model_Copy_To): Add
declarations.
* sem_util.ads: Add WARNING markers for functions for which a new
C declaration has been added in fe.h
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/fe.h | 10 ++++++++++
gcc/ada/sem_util.ads | 10 ++++++++++
2 files changed, 20 insertions(+)
diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h
index 02cf105d5e1..79a1b58836e 100644
--- a/gcc/ada/fe.h
+++ b/gcc/ada/fe.h
@@ -304,17 +304,27 @@ extern Boolean Compile_Time_Known_Value (Node_Id);
#define Defining_Entity sem_util__defining_entity
#define First_Actual sem_util__first_actual
+#define Has_Storage_Model_Type_Aspect sem_util__storage_model_support__has_storage_model_type_aspect
+#define Has_Designated_Storage_Model_Aspect sem_util__storage_model_support__has_designated_storage_model_aspect
#define Is_Expression_Function sem_util__is_expression_function
#define Is_Variable_Size_Record sem_util__is_variable_size_record
#define Needs_Secondary_Stack sem_util__needs_secondary_stack
#define Next_Actual sem_util__next_actual
+#define Storage_Model_Object sem_util__storage_model_support__storage_model_object
+#define Storage_Model_Copy_From sem_util__storage_model_support__storage_model_copy_from
+#define Storage_Model_Copy_To sem_util__storage_model_support__storage_model_copy_to
extern Entity_Id Defining_Entity (Node_Id);
extern Node_Id First_Actual (Node_Id);
+extern Boolean Has_Storage_Model_Type_Aspect (Entity_Id);
+extern Boolean Has_Designated_Storage_Model_Aspect (Entity_Id);
extern Boolean Is_Expression_Function (Entity_Id);
extern Boolean Is_Variable_Size_Record (Entity_Id);
extern Boolean Needs_Secondary_Stack (Entity_Id);
extern Node_Id Next_Actual (Node_Id);
+extern Entity_Id Storage_Model_Object (Entity_Id);
+extern Entity_Id Storage_Model_Copy_From (Entity_Id);
+extern Entity_Id Storage_Model_Copy_To (Entity_Id);
/* sinfo: */
diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads
index 132c2b8cddf..c23d358e2fb 100644
--- a/gcc/ada/sem_util.ads
+++ b/gcc/ada/sem_util.ads
@@ -3655,10 +3655,14 @@ package Sem_Util is
function Has_Storage_Model_Type_Aspect (Typ : Entity_Id) return Boolean;
-- Returns True iff Typ specifies aspect Storage_Model_Type
+ -- WARNING: There is a matching C declaration of this subprogram in fe.h
+
function Has_Designated_Storage_Model_Aspect
(Typ : Entity_Id) return Boolean;
-- Returns True iff Typ specifies aspect Designated_Storage_Model
+ -- WARNING: There is a matching C declaration of this subprogram in fe.h
+
function Storage_Model_Object (Typ : Entity_Id) return Entity_Id;
-- Given an access type Typ with aspect Designated_Storage_Model,
-- returns the storage-model object associated with that type.
@@ -3666,6 +3670,8 @@ package Sem_Util is
-- other functions declared in this interface to retrieve operations
-- associated with Storage_Model_Type aspect of the object's type.
+ -- WARNING: There is a matching C declaration of this subprogram in fe.h
+
function Storage_Model_Type (Obj : Entity_Id) return Entity_Id;
-- Given an object Obj of a type specifying aspect Storage_Model_Type,
-- returns that type.
@@ -3715,12 +3721,16 @@ package Sem_Util is
-- type, returns the procedure specified for the Copy_From choice in
-- that aspect; returns Empty if the procedure isn't specified.
+ -- WARNING: There is a matching C declaration of this subprogram in fe.h
+
function Storage_Model_Copy_To
(SM_Obj_Or_Type : Entity_Id) return Entity_Id;
-- Given a type with aspect Storage_Model_Type or an object of such a
-- type, returns the procedure specified for the Copy_To choice in that
-- aspect; returns Empty if the procedure isn't specified.
+ -- WARNING: There is a matching C declaration of this subprogram in fe.h
+
function Storage_Model_Storage_Size
(SM_Obj_Or_Type : Entity_Id) return Entity_Id;
-- Given a type with aspect Storage_Model_Type or an object of such a
--
2.34.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-10-06 9:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-06 9:29 [COMMITED] ada: Add C declarations for Storage Model support Marc Poulhiès
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).