-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, 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- --
package Sem_Ch6 is
procedure Analyze_Abstract_Subprogram_Declaration (N : Node_Id);
+ procedure Analyze_Extended_Return_Statement (N : Node_Id);
procedure Analyze_Function_Call (N : Node_Id);
procedure Analyze_Operator_Symbol (N : Node_Id);
procedure Analyze_Parameter_Association (N : Node_Id);
-- If Subp is not Always_Inlined, then a warning is issued if the flag
-- Ineffective_Inline_Warnings is set, and if not, the call has no effect.
+ procedure Check_Conventions (Typ : Entity_Id);
+ -- Ada 2005 (AI-430): Check that the conventions of all inherited and
+ -- overridden dispatching operations of type Typ are consistent with
+ -- their respective counterparts.
+
procedure Check_Delayed_Subprogram (Designator : Entity_Id);
-- Designator can be a E_Subrpgram_Type, E_Procedure or E_Function. If a
-- type in its profile depends on a private type without a full
procedure New_Overloaded_Entity
(S : Entity_Id;
Derived_Type : Entity_Id := Empty);
- -- Process new overloaded entity. Overloaded entities are created
- -- by enumeration type declarations, subprogram specifications,
- -- entry declarations, and (implicitly) by type derivations.
- -- If Derived_Type is not Empty, then it indicates that this
- -- is subprogram derived for that type.
+ -- Process new overloaded entity. Overloaded entities are created by
+ -- enumeration type declarations, subprogram specifications, entry
+ -- declarations, and (implicitly) by type derivations. Derived_Type non-
+ -- Empty indicates that this is subprogram derived for that type.
procedure Process_Formals (T : List_Id; Related_Nod : Node_Id);
-- Enter the formals in the scope of the subprogram or entry, and
function Subtype_Conformant (New_Id, Old_Id : Entity_Id) return Boolean;
-- Determine whether two callable entities (subprograms, entries,
- -- literals) are subtype conformant (RM6.3.1(16))
+ -- literals) are subtype conformant (RM6.3.1(16)).
- function Type_Conformant (New_Id, Old_Id : Entity_Id) return Boolean;
+ function Type_Conformant
+ (New_Id : Entity_Id;
+ Old_Id : Entity_Id;
+ Skip_Controlling_Formals : Boolean := False) return Boolean;
-- Determine whether two callable entities (subprograms, entries,
- -- literals) are type conformant (RM6.3.1(14))
+ -- literals) are type conformant (RM6.3.1(14)).
procedure Valid_Operator_Definition (Designator : Entity_Id);
-- Verify that an operator definition has the proper number of formals