mirror of git://gcc.gnu.org/git/gcc.git
[multiple changes]
2012-03-30 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a loop entity which is rewritten as a renaming of the indexed array, explicitly mark the entity as needing debug info so that Materialize entity will be set later by Debug_Renaming_Declaration when the renaming is expanded. 2012-03-30 Robert Dewar <dewar@adacore.com> * sem_attr.ads: Update comment. From-SVN: r185999
This commit is contained in:
parent
50421527ec
commit
207503fa51
|
@ -1,3 +1,15 @@
|
|||
2012-03-30 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
|
||||
loop entity which is rewritten as a renaming
|
||||
of the indexed array, explicitly mark the entity as needing
|
||||
debug info so that Materialize entity will be set later by
|
||||
Debug_Renaming_Declaration when the renaming is expanded.
|
||||
|
||||
2012-03-30 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sem_attr.ads: Update comment.
|
||||
|
||||
2012-03-30 Vincent Celier <celier@adacore.com>
|
||||
|
||||
* prj.ads: New Dependency_Kind: ALI_Closure.
|
||||
|
|
|
@ -3303,6 +3303,14 @@ package body Exp_Ch5 is
|
|||
New_Reference_To (Component_Type (Array_Typ), Loc),
|
||||
Name => Ind_Comp));
|
||||
|
||||
-- Mark the loop variable as needing debug info, so that expansion
|
||||
-- of the renaming will result in Materialize_Entity getting set via
|
||||
-- Debug_Renaming_Declaration. (This setting is needed here because
|
||||
-- the setting in Freeze_Entity comes after the expansion, which is
|
||||
-- too late. ???)
|
||||
|
||||
Set_Debug_Info_Needed (Id);
|
||||
|
||||
-- for Index in Array loop
|
||||
|
||||
-- This case utilizes the already given iterator name
|
||||
|
|
|
@ -554,12 +554,27 @@ package Sem_Attr is
|
|||
-------------------
|
||||
|
||||
Attribute_Valid_Scalars => True,
|
||||
-- Obj'Valid_Scalars applies to objects of scalar types, on which it is
|
||||
-- equivalent to Obj'Valid, and objects of array and record types, on
|
||||
-- which it amounts to applying 'Valid to each subcomponent of Obj. It
|
||||
-- does not apply to prefixes of classwide type, or of a formal generic
|
||||
-- type that has an unknown discriminant (which could be instantiated
|
||||
-- with a classwide type).
|
||||
-- Obj'Valid_Scalars can be applied to any object. The result depends
|
||||
-- on the type of the object:
|
||||
--
|
||||
-- For a scalar type, the result is the same as obj'Valid
|
||||
--
|
||||
-- For an array object, the result is True if the result of applying
|
||||
-- Valid_Scalars to every component is True.
|
||||
--
|
||||
-- For a record object, the result is True if the result of applying
|
||||
-- Valid_Scalars to every component is True. For class-wide types,
|
||||
-- only the components of the base type are checked. For variant
|
||||
-- records, only the components actually present are checked.
|
||||
--
|
||||
-- For all other types, the result is always True
|
||||
--
|
||||
-- A warning is given for a trivially True result, when the attribute
|
||||
-- is applied to an object that is not of scalar, array, or record
|
||||
-- type, or in the composite case if no scalar subcomponents exist. For
|
||||
-- a variant record, the warning is given only if none of the variants
|
||||
-- have scalar subcomponents. In addition, the warning is suppressed
|
||||
-- for private types, or generic types in an instance.
|
||||
|
||||
----------------
|
||||
-- Value_Size --
|
||||
|
|
Loading…
Reference in New Issue