[multiple changes]
2012-10-29 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small optimization in generic formal types. 2012-10-29 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, exp_ch3.adb: Add comments. * sem_prag.adb: Minor reformatting. From-SVN: r192926
This commit is contained in:
parent
c18e9f65fa
commit
f0b741b6e7
6 changed files with 31 additions and 20 deletions
|
@ -1,3 +1,13 @@
|
|||
2012-10-29 Javier Miranda <miranda@adacore.com>
|
||||
|
||||
* sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
|
||||
optimization in generic formal types.
|
||||
|
||||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* exp_ch9.adb, exp_ch3.adb: Add comments.
|
||||
* sem_prag.adb: Minor reformatting.
|
||||
|
||||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
|
||||
|
|
|
@ -1537,10 +1537,9 @@ package body Exp_Ch3 is
|
|||
Append_To (Args, Make_Identifier (Loc, Name_uMaster));
|
||||
end if;
|
||||
|
||||
-- Add _Chain (not done in the restricted profile because ???)
|
||||
|
||||
if not Restricted_Profile then
|
||||
|
||||
-- No _Chain for restricted profile
|
||||
|
||||
Append_To (Args, Make_Identifier (Loc, Name_uChain));
|
||||
end if;
|
||||
|
||||
|
|
|
@ -911,7 +911,7 @@ package body Exp_Ch9 is
|
|||
-- Start of processing for Build_Activation_Chain_Entity
|
||||
|
||||
begin
|
||||
-- Activation chain is never used in restricted profile
|
||||
-- Activation chain is never used in restricted profile (why not???)
|
||||
|
||||
if Restricted_Profile then
|
||||
return;
|
||||
|
@ -919,8 +919,7 @@ package body Exp_Ch9 is
|
|||
|
||||
Find_Enclosing_Context (N, Context, Context_Id, Decls);
|
||||
|
||||
-- If an activation chain entity has not been declared already, create
|
||||
-- one.
|
||||
-- If activation chain entity has not been declared already, create one
|
||||
|
||||
if Nkind (Context) = N_Extended_Return_Statement
|
||||
or else No (Activation_Chain_Entity (Context))
|
||||
|
|
|
@ -12804,16 +12804,18 @@ package body Sem_Ch3 is
|
|||
-- done here because interfaces must be visible in the partial and
|
||||
-- private view (RM 7.3(7.3/2)).
|
||||
|
||||
-- Small optimization: This work is only required if the parent is
|
||||
-- abstract. If the tagged type is not abstract, it cannot have
|
||||
-- abstract primitives (the only entities in the list of primitives of
|
||||
-- non-abstract tagged types that can reference abstract primitives
|
||||
-- through its Alias attribute are the internal entities that have
|
||||
-- attribute Interface_Alias, and these entities are generated later
|
||||
-- by Add_Internal_Interface_Entities).
|
||||
-- Small optimization: This work is only required if the parent
|
||||
-- is abstract or a generic formal type. If the tagged type is not
|
||||
-- abstract, it cannot have abstract primitives (the only entities
|
||||
-- in the list of primitives of non-abstract tagged types that can
|
||||
-- reference abstract primitives through its Alias attribute are the
|
||||
-- internal entities that have attribute Interface_Alias, and these
|
||||
-- entities are generated later by Add_Internal_Interface_Entities).
|
||||
-- Need explanation for the generic case ???
|
||||
|
||||
if In_Private_Part (Current_Scope)
|
||||
and then Is_Abstract_Type (Parent_Type)
|
||||
and then (Is_Abstract_Type (Parent_Type)
|
||||
or else Is_Generic_Type (Parent_Type))
|
||||
then
|
||||
Elmt := First_Elmt (Primitive_Operations (Tagged_Type));
|
||||
while Present (Elmt) loop
|
||||
|
|
|
@ -840,7 +840,7 @@ package body Sem_Disp is
|
|||
Tagged_Type := Find_Dispatching_Type (Subp);
|
||||
|
||||
-- Ada 2005 (AI-345): Use the corresponding record (if available).
|
||||
-- Required because primitives of concurrent types are be attached
|
||||
-- Required because primitives of concurrent types are attached
|
||||
-- to the corresponding record (not to the concurrent type).
|
||||
|
||||
if Ada_Version >= Ada_2005
|
||||
|
|
|
@ -6763,11 +6763,13 @@ package body Sem_Prag is
|
|||
-- Assert/Assert_And_Cut --
|
||||
---------------------------
|
||||
|
||||
-- pragma Assert ([Check =>] Boolean_EXPRESSION
|
||||
-- [, [Message =>] Static_String_EXPRESSION]);
|
||||
-- pragma Assert
|
||||
-- ( [Check => ] Boolean_EXPRESSION
|
||||
-- [, [Message =>] Static_String_EXPRESSION]);
|
||||
|
||||
-- pragma Assert_And_Cut ([Check =>] Boolean_EXPRESSION
|
||||
-- [, [Message =>] Static_String_EXPRESSION]);
|
||||
-- pragma Assert_And_Cut
|
||||
-- ( [Check => ] Boolean_EXPRESSION
|
||||
-- [, [Message =>] Static_String_EXPRESSION]);
|
||||
|
||||
when Pragma_Assert | Pragma_Assert_And_Cut => Assert : declare
|
||||
Expr : Node_Id;
|
||||
|
@ -6776,7 +6778,6 @@ package body Sem_Prag is
|
|||
begin
|
||||
if Prag_Id = Pragma_Assert then
|
||||
Ada_2005_Pragma;
|
||||
|
||||
else -- Pragma_Assert_And_Cut
|
||||
GNAT_Pragma;
|
||||
end if;
|
||||
|
|
Loading…
Add table
Reference in a new issue