ada: Add Is_Base_Type predicate to C interface
This also documents what the predicate effectively does. gcc/ada/ * einfo-utils.ads (Is_Base_Type): Move to Miscellaneous Subprograms section and add description. * fe.h (Is_Base_Type): Declare.
This commit is contained in:
parent
a74dff4d9d
commit
aecb63d075
2 changed files with 9 additions and 3 deletions
|
@ -183,8 +183,6 @@ package Einfo.Utils is
|
|||
function Has_Null_Abstract_State (Id : E) return B;
|
||||
function Has_Null_Visible_Refinement (Id : E) return B;
|
||||
function Implementation_Base_Type (Id : E) return E;
|
||||
function Is_Base_Type (Id : E) return B with Inline;
|
||||
-- Note that Is_Base_Type returns True for nontypes
|
||||
function Is_Boolean_Type (Id : E) return B with Inline;
|
||||
function Is_Constant_Object (Id : E) return B with Inline;
|
||||
function Is_Controlled (Id : E) return B with Inline;
|
||||
|
@ -504,6 +502,12 @@ package Einfo.Utils is
|
|||
-- is the name of a class_wide type whose root is incomplete, return the
|
||||
-- corresponding full declaration, else return T itself.
|
||||
|
||||
function Is_Base_Type (Id : E) return B with Inline;
|
||||
-- Return True for a type entity and False for a subtype entity. Note that
|
||||
-- this returns True for nontypes.
|
||||
|
||||
-- WARNING: There is a matching C declaration of this subprogram in fe.h
|
||||
|
||||
function Is_Entity_Name (N : Node_Id) return Boolean with Inline;
|
||||
-- Test if the node N is the name of an entity (i.e. is an identifier,
|
||||
-- expanded name, or an attribute reference that returns an entity).
|
||||
|
|
|
@ -98,9 +98,11 @@ extern void Set_Normalized_First_Bit (Entity_Id, Uint);
|
|||
extern void Set_Normalized_Position (Entity_Id, Uint);
|
||||
extern void Set_RM_Size (Entity_Id, Uint);
|
||||
|
||||
#define Is_Base_Type einfo__utils__is_base_type
|
||||
#define Is_Entity_Name einfo__utils__is_entity_name
|
||||
|
||||
extern Boolean Is_Entity_Name (Node_Id);
|
||||
extern Boolean Is_Base_Type (Entity_Id);
|
||||
extern Boolean Is_Entity_Name (Node_Id);
|
||||
|
||||
#define Get_Attribute_Definition_Clause einfo__utils__get_attribute_definition_clause
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue