diff options
author | Marc Poulhiès <poulhies@adacore.com> | 2022-07-28 15:57:46 +0200 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2022-10-06 11:22:48 +0200 |
commit | c3d6d603956ecd20567924888bae55af4cf99c6a (patch) | |
tree | e4e0f654eebcd32258f816b35817a0a1f95af401 /gcc/ada | |
parent | b1006d33b330c11952156dd41dae3a3bb2076a76 (diff) | |
download | gcc-c3d6d603956ecd20567924888bae55af4cf99c6a.zip gcc-c3d6d603956ecd20567924888bae55af4cf99c6a.tar.gz gcc-c3d6d603956ecd20567924888bae55af4cf99c6a.tar.bz2 |
ada: Add C declarations for Storage Model support
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
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/fe.h | 10 | ||||
-rw-r--r-- | gcc/ada/sem_util.ads | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h index 02cf105..79a1b58 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 132c2b8..c23d358 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 |