Commit b7d1f17f by Hristian Kirtchev Committed by Arnaud Charlet

sem_res.ads, [...] (Process_Allocator): Do not propagate the chain of coextensions when...

2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
	chain of coextensions when an allocator serves as the root of such a
	chain.
	(Propagate_Coextensions): Remove the test for the root being an
	allocator.
	(Resolve_Allocator): Add condition to ensure that all future decoration
	occurs on an allocator node. Add processing and cleanup for static
	coextensions.
	(Valid_Conversion): If the operand type is the limited view of a
	class-wide type, use the non-limited view is available to determine
	legality of operation.
	(Ambiguous_Character): move to spec, for use elsewhere.
	(Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
	(Resolve_Range): Diagnose properly an ambiguous range whose bounds are
	character literals.
	(Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
	Do_Division_Check flag explicitly.
	(Resolve_Actuals): If the actual is of a synchronized type, and the
	formal is of the corresponding record type, this is a call to a
	primitive operation of the type, that is declared outside of the type;
	the actual must be unchecked-converted to the type of the actual
	(Resolve_Call): Kill all current values for any subprogram call if
	flag Suppress_Value_Tracking_On_Call is set.
	(Resolve_Type_Conversion): Generate error message the the operand
	or target of interface conversions come from a limited view.
	(Check_Infinite_Recursion): Ignore generated calls
	(Check_Allocator_Discrim_Accessibility): New procedure for checking
	that an expression that constrains an access discriminant in an
	allocator does not denote an object with a deeper level than the
	allocator's access type.
	(Resolve_Allocator): In the case of an allocator initialized by an
	aggregate of a discriminated type, check that associations for any
	access discriminants satisfy accessibility requirements by calling
	Check_Allocator_Discrim_Accessibility.
	(Resolve_Equality_Op): Handle comparisons of anonymous access to
	subprogram types in the same fashion as other anonymous access types.
	(Resolve_Concatenation_Arg): Remove initial character '\' in an error
	message that is not a continuation message.
	(Resolve_Type_Conversion): Add missing support for conversion to
	interface type.
	(Resolve_Actuals): Introduce a transient scope around the call if an
	actual is a call to a function returning a limited type, because the
	resulting value must be finalized after the call.
	(Resolve_Actuals): If the call was given in prefix notations, check
	whether an implicit 'Access reference or implicit dereference must be
	added to make the actual conform to the controlling formal.

From-SVN: r125451
parent 27c489df
......@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2007, 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- --
......@@ -93,6 +93,13 @@ package Sem_Res is
-- is not present, then the Etype of the expression after the Analyze
-- call is used for the Resolve.
procedure Ambiguous_Character (C : Node_Id);
-- Give list of candidate interpretations when a character literal cannot
-- be resolved, for example in a (useless) comparison such as 'A' = 'B'.
-- In Ada95 the literals in question can be of type Character or Wide_
-- Character. In Ada2005 Wide_Wide_Character is also a candidate. The
-- node may also be overloaded with user-defined character types.
procedure Check_Parameterless_Call (N : Node_Id);
-- Several forms of names can denote calls to entities without para-
-- meters. The context determines whether the name denotes the entity
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment