[multiple changes]
2015-03-24 Gary Dismukes <dismukes@adacore.com> * sem_ch3.adb: Minor typo fix (missing paren). 2015-03-24 Robert Dewar <dewar@adacore.com> * sinfo.ads: Update comment. 2015-03-24 Robert Dewar <dewar@adacore.com> * exp_attr.adb: Add entry for typ'Deref. * sem_attr.adb (Deref): New GNAT attribute. * sem_attr.ads: Add entry for new GNAT attribute Deref. * snames.ads-tmpl: Add entries for new attribute Deref. From-SVN: r221630
This commit is contained in:
parent
5f6061af2d
commit
eaed2a2c96
|
@ -1,3 +1,18 @@
|
|||
2015-03-24 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* sem_ch3.adb: Minor typo fix (missing paren).
|
||||
|
||||
2015-03-24 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sinfo.ads: Update comment.
|
||||
|
||||
2015-03-24 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* exp_attr.adb: Add entry for typ'Deref.
|
||||
* sem_attr.adb (Deref): New GNAT attribute.
|
||||
* sem_attr.ads: Add entry for new GNAT attribute Deref.
|
||||
* snames.ads-tmpl: Add entries for new attribute Deref.
|
||||
|
||||
2015-03-24 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention
|
||||
|
|
|
@ -7103,6 +7103,7 @@ package body Exp_Attr is
|
|||
when Attribute_Bit_Order |
|
||||
Attribute_Code_Address |
|
||||
Attribute_Definite |
|
||||
Attribute_Deref |
|
||||
Attribute_Null_Parameter |
|
||||
Attribute_Passed_By_Reference |
|
||||
Attribute_Pool_Address |
|
||||
|
|
|
@ -3540,6 +3540,16 @@ package body Sem_Attr is
|
|||
Check_Floating_Point_Type_0;
|
||||
Set_Etype (N, Standard_Boolean);
|
||||
|
||||
-----------
|
||||
-- Deref --
|
||||
-----------
|
||||
|
||||
when Attribute_Deref =>
|
||||
Check_Type;
|
||||
Check_E1;
|
||||
Resolve (E1, RTE (RE_Address));
|
||||
Set_Etype (N, P_Type);
|
||||
|
||||
---------------------
|
||||
-- Descriptor_Size --
|
||||
---------------------
|
||||
|
@ -9642,6 +9652,7 @@ package body Sem_Attr is
|
|||
Attribute_Count |
|
||||
Attribute_Default_Bit_Order |
|
||||
Attribute_Default_Scalar_Storage_Order |
|
||||
Attribute_Deref |
|
||||
Attribute_Elaborated |
|
||||
Attribute_Elab_Body |
|
||||
Attribute_Elab_Spec |
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2015, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -42,9 +42,9 @@ package Sem_Attr is
|
|||
-- Implementation Dependent Attributes --
|
||||
-----------------------------------------
|
||||
|
||||
-- This section describes the implementation dependent attributes
|
||||
-- provided in GNAT, as well as constructing an array of flags
|
||||
-- indicating which attributes these are.
|
||||
-- This section describes the implementation dependent attributes provided
|
||||
-- in GNAT, as well as constructing an array of flags indicating which
|
||||
-- attributes these are.
|
||||
|
||||
Attribute_Impl_Def : Attribute_Class_Array := Attribute_Class_Array'(
|
||||
|
||||
|
@ -152,6 +152,17 @@ package Sem_Attr is
|
|||
-- Default_Scalar_Storage_Order, or equal to Default_Bit_Order if
|
||||
-- unspecified) as a System.Bit_Order value. This is a static attribute.
|
||||
|
||||
-----------
|
||||
-- Deref --
|
||||
-----------
|
||||
|
||||
Attribute_Deref => True,
|
||||
-- typ'Deref (expr) is valid only if expr is of type System'Address.
|
||||
-- The result is an object of type typ that is obtained by treating the
|
||||
-- address as an access-to-typ value that points to the result. It is
|
||||
-- basically equivalent to (atyp!expr).all where atyp is an access type
|
||||
-- for the type.
|
||||
|
||||
---------------
|
||||
-- Elab_Body --
|
||||
---------------
|
||||
|
|
|
@ -3161,7 +3161,7 @@ package body Sem_Ch3 is
|
|||
and then No (Corresponding_Generic_Association (Parent (Obj_Id)))
|
||||
|
||||
-- Don't give this for internally generated entities (such as the
|
||||
-- FIRST and LAST temporaries generated for bounds.
|
||||
-- FIRST and LAST temporaries generated for bounds).
|
||||
|
||||
and then Comes_From_Source (Obj_Id)
|
||||
then
|
||||
|
|
|
@ -827,7 +827,9 @@ package Sinfo is
|
|||
-- setting tag values, etc. N_Object_Declaration nodes also have this
|
||||
-- flag defined. Here it is used to indicate that an initialization
|
||||
-- expression is valid, even where it would normally not be allowed
|
||||
-- (e.g. where the type involved is limited).
|
||||
-- (e.g. where the type involved is limited). It is also used to stop
|
||||
-- a Force_Evaluation call for an unchecked conversion, but this usage
|
||||
-- is unclear and not documented ???
|
||||
|
||||
-- Associated_Node (Node4-Sem)
|
||||
-- Present in nodes that can denote an entity: identifiers, character
|
||||
|
|
|
@ -845,6 +845,7 @@ package Snames is
|
|||
Name_Definite : constant Name_Id := N + $;
|
||||
Name_Delta : constant Name_Id := N + $;
|
||||
Name_Denorm : constant Name_Id := N + $;
|
||||
Name_Deref : constant Name_Id := N + $; -- GNAT
|
||||
Name_Descriptor_Size : constant Name_Id := N + $;
|
||||
Name_Digits : constant Name_Id := N + $;
|
||||
Name_Elaborated : constant Name_Id := N + $; -- GNAT
|
||||
|
@ -1476,6 +1477,7 @@ package Snames is
|
|||
Attribute_Definite,
|
||||
Attribute_Delta,
|
||||
Attribute_Denorm,
|
||||
Attribute_Deref,
|
||||
Attribute_Descriptor_Size,
|
||||
Attribute_Digits,
|
||||
Attribute_Elaborated,
|
||||
|
|
Loading…
Reference in New Issue