1. 02 Dec, 2011 2 commits
    • [multiple changes] · 414b312e
      2011-12-02  Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Clarify usage of -p binder switch.
      
      2011-12-02  Javier Miranda  <miranda@adacore.com>
      
      	* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
      	(Effectively_Has_Constrained_Partial_View): Moved to sem_aux
      	(In_Generic_Body): Moved to sem_aux.
      	(Unit_Declaration_Node): Moved to sem_aux.
      	* einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
      	documentation.
      	* exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
      	rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
      	exp_ch13.adb: Add with-clause on Sem_Aux.
      
      From-SVN: r181917
      Arnaud Charlet committed
    • [multiple changes] · cc96a1b8
      2011-12-02  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb: Minor change in error message.
      
      2011-12-02  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
      	reformatting.
      
      2011-12-02  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
      	static check of the rule of general access types whose designated
      	type has discriminants.
      	* sem_util.ads, sem_util.adb
      	(Effectively_Has_Constrained_Partial_View): New subprogram.
      	(In_Generic_Body): New subprogram.
      	* einfo.ads (Has_Constrained_Partial_View): Adding documentation.
      	* sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
      	subprogram In_Generic_Body.
      	* exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
      	sem_ch4.adb: In addition, this patch replaces the occurrences of
      	Has_Constrained_Partial_View by
      	Effectively_Has_Constrained_Partial_View.
      
      2011-12-02  Matthew Heaney  <heaney@adacore.com>
      
      	* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
      	Position component.
      	(Finalize): Remove unnecessary access check.
      	(First): Forward to First_Child.
      	(Last): Forward to Last_Child.
      	(Iterate): Check preconditions for parent node parameter.
      	(Next): Forward to Next_Sibling.
      	(Previous): Forward to Previous_Sibling.
      
      From-SVN: r181914
      Arnaud Charlet committed
  2. 21 Nov, 2011 1 commit
    • [multiple changes] · be482a8c
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* sinput.ads: Minor comment fix.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
      	Last_Bit, Position): Handle 2005 case.
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
      	to deal with fact that we properly detect the error if Access
      	is used.
      	(Increment): Same fix.
      	* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
      	to deal with fact that we properly detect the error if Access
      	is used.
      	* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
      	volatile if the B component is volatile. This affects the check
      	for passing such a by reference volatile actual to a non-volatile
      	formal (which should be illegal)
      
      2011-11-21  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
      	size and alignment for foreign convention enumeration types.
      	* layout.adb (Set_Elem_Alignment): Redo setting of alignment
      	when size is set.
      
      2011-11-21  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
      	Apply_Discriminant_Check, Apply_Divide_Check,
      	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
      	Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
      	Selected_Range_Checks): Replace reference to Expander_Active
      	with reference to Full_Expander_Active, so that expansion of
      	checks is not performed in Alfa mode
      
      2011-11-21  Tristan Gingold  <gingold@adacore.com>
      
      	* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
      	fact that we properly detect the error if Access is used.
      
      2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
      
      2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_imgv.adb: Add with and use clause for Errout.
      	(Expand_Width_Attribute): Emit a warning when in
      	configurable run-time mode to provide a better diagnostic message.
      
      2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-finmas.adb (Finalize): Add comment concerning double finalization.
      
      2011-11-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Access_Definition): If the access definition
      	is itself the return type of an access to function definition
      	which is ultimately the return type of an access to subprogram
      	declaration, its scope is the enclosing scope of the ultimate
      	access to subprogram.
      
      2011-11-21  Steve Baird  <baird@adacore.com>
      
      	* sem_res.adb (Valid_Conversion): If a conversion was legal
      	in the body of a generic, then the corresponding conversion is
      	legal in the expanded body of an instance of the generic.
      
      From-SVN: r181568
      Arnaud Charlet committed
  3. 20 Nov, 2011 1 commit
    • exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local… · 74cab21a
      exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local variable and attach the temporary to it.
      
      2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
      	Declare NEW_EXPR local variable and attach the
      	temporary to it.  Set Is_Known_Non_Null on the temporary.
      	(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
      	* exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
      	the temporary created to hold the 'Reference of the expression,
      	if any.
      	* checks.adb (Install_Null_Excluding_Check): Bail out for the
      	Get_Current_Excep.all.all idiom generated by the expander.
      
      From-SVN: r181529
      Eric Botcazou committed
  4. 04 Nov, 2011 1 commit
    • [multiple changes] · 4c318253
      2011-11-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb: Minor refactoring (renaming of a parameter).
      
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* atree.ads: Minor reformatting.
      
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
      	and -gnatd.e here
      	* exp_ch2.adb (Expand_Entity_Reference): Use
      	Activate_Atomic_Synchronization
      	* exp_ch4.adb (Expand_N_Explicit_Dereference): Use
      	Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
      	Activate_Atomic_Synchronization (Expand_N_Selected_Component):
      	Use Activate_Atomic_Synchronization
      	* exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
      	procedure.
      	* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
      	N_Selected_Component node
      
      From-SVN: r180950
      Arnaud Charlet committed
  5. 24 Oct, 2011 1 commit
    • [multiple changes] · 12b4d338
      2011-10-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Earlier): make available globally. If both
      	nodes have the same sloc, the freeze node that does not come
      	from source is the later one.
      	(True_Parent): Make available globally.
      	(Previous_Instance): Subsidiary of
      	Insert_Freeze_Node_For_Instance, to check whether the generic
      	parent of the current instance is declared within a previous
      	instance in the same unit or declarative  part, in which case the
      	freeze nodes of both instances must appear in order to prevent
      	elaboration problems in gigi.
      	* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
      	freeze point, and the freeze node of a preceding instantiation
      	must be inserted before it.
      
      2011-10-24  Robert Dewar  <dewar@adacore.com>
      
      	* checks.ads, checks.adb: Add handling of Synchronization_Check
      	* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
      	atomic sync).
      	* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
      	flag Minor code reorganization.
      	* opt.ads (Warn_On_Atomic_Synchronization): New switch.
      	* par-prag.adb: Add dummy entries for pragma
      	Disable/Enable_Atomic_Synchronization.
      	* sem_prag.adb (Process_Suppress_Unsuppress): Handle
      	case of Atomic_Synchronization specially (not suppressed
      	by All_Checks, cannot be set from Source).
      	(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
      	* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
      	* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
      	entry for pragma Disable/Enable_Atomic_Synchronization
      	* switch-c.adb: The -gnatp switch does not disable
      	Atomic_Synchronization Add -gnatep switch to disable
      	Atomic_Synchronization.
      	* types.ads: Add entry for Synchronization_Check
      	* usage.adb: Add line for -gnated switch
      	* warnsw.adb: Settings for Warn_On_Atomic_Synchronization
      
      From-SVN: r180373
      Arnaud Charlet committed
  6. 27 Sep, 2011 1 commit
    • [multiple changes] · 05c1e7d2
      2011-09-27  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
      	instead of Directly_Designated_Type in the indirect array case.
      
      2011-09-27  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.adb, exp_aggr.adb: Minor reformatting.
      
      From-SVN: r179256
      Arnaud Charlet committed
  7. 06 Sep, 2011 2 commits
    • [multiple changes] · ba759acd
      2011-09-06  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Call
      	Set_Corresponding_Aspect when creating pragma from aspect.
      	(Add_Predicates): Use new field Corresponding_Aspect.
      	* sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
      	name when present, for the purpose of issuing error messages;
      	remove local procedure Error_Pragma_Arg_Alternate_Name.
      	* sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
      	N_Pragma node.
      	(From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
      	N_Pragma node.
      
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Build_Heap_Allocator): Add new
      	local variable Desig_Typ. Code and comment reformatting. Add
      	machinery to ensure that the allocation uses a fat pointer when
      	the type of the return object is a constrained array and the
      	function return type is an unconstrained array.
      
      2011-09-06  Vincent Celier  <celier@adacore.com>
      
      	* make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
      	parameters in subprograms.
      
      2011-09-06  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-taprop-mingw.adb (Finalize_TCB): Fix typo.
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
      	(System.Tasking.Primitive_Operations.Specific.Delete): Remove
      	subprogram.
      	(System.Tasking.Primitive_Operations.Specific.Set): If argument
      	is null, destroy task specific data, to make API consistent with
      	other platforms, and thus compatible with the shared version
      	of s-tpoaal.adb.
      	(System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
      	Document the above assumption.
      
      From-SVN: r178583
      Arnaud Charlet committed
    • [multiple changes] · f4f92d9d
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
      	variable for type of return value when return type is
      	unconstrained and context is an assignment.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
      	class-wide operation if expansion is not enabled.
      
      2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* checks.adb (Apply_Scalar_Range_Check): Deal with access
      	type prefix.
      
      2011-09-06  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications, case
      	Aspect_Invariant): Do not issue error at this point on illegal
      	pragma placement, as this is checked later on when analyzing
      	the corresponding pragma.
      	* sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
      	similar to Error_Pragma_Arg, except the source name of the
      	aspect/pragma to use in warnings may be equal to parameter
      	Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
      	message to distinguish source name of pragma/aspect, and whether
      	the illegality resides in the type being public, or being private
      	without a public declaration
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
      	size check (fd_set is implemented differently on that platform).
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
      	s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
      	s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
      	s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
      	(ATCB_Allocation): New subpackage of
      	System.Tasking.Primitive_Operations, shared across all targets
      	with full tasking runtime.
      	(ATCB_Allocation.New_ATCB): Moved there (from target specific
      	s-taprop bodies).
      	(ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
      	taking care of establishing a local temporary ATCB if the one
      	being deallocated is Self, to avoid a reference to the freed
      	ATCB in Abort_Undefer.
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
      	terminated, mark it for deallocation upon termination.
      	(Terminate_Task): Call Free_Task again if the task is marked
      	for automatic deallocation upon termination.
      
      From-SVN: r178582
      Arnaud Charlet committed
  8. 02 Sep, 2011 1 commit
    • [multiple changes] · 2c17ca0a
      2011-09-02  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
      	g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
      	reformatting.
      
      2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
      	inherited component with the enclosing derived type. Code reformatting.
      
      2011-09-02  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb: (Determine_Range): Add test of OK1 to prevent the early
      	return done when overflow checks are enabled, since comparisons against
      	Lor and Hir should not be done when OK1 is False.
      
      2011-09-02  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
      	Add new formal Master_Exp. When present, add that expression to the
      	call as an extra actual.
      	(Make_Build_In_Place_Call_In_Object_Declaration): Add variable
      	Fmaster_Actual and in the case of a BIP call initializing a return
      	object of an enclosing BIP function set it to a
      	new reference to the implicit finalization master
      	formal of the enclosing function. Fmaster_Actual is
      	then passed to the new formal Master_Exp on the call to
      	Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
      	initializations of Enclosing_Func to its declaration.
      
      2011-09-02  Thomas Quinot  <quinot@adacore.com>
      
      	* csets.ads: Minor reformatting
      
      2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
      	the full view of a private type coming from an instantiation.
      	* exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
      	loop to iterate over the declarations rather than use the
      	First_Entity / Next_Entity scheme.
      
      From-SVN: r178438
      Arnaud Charlet committed
  9. 30 Aug, 2011 2 commits
    • exp_ch5.adb, [...]: Minor reformatting · 996c8821
      2011-08-30  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
      	sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
      	exp_ch4.adb, exp_ch6.adb, s-bbthre.adb, lib-xref-alfa.adb,
      	sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
      
      2011-08-30  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
      	volatile.
      
      From-SVN: r178303
      Robert Dewar committed
    • [multiple changes] · d15f9422
      2011-08-30  Steve Baird  <baird@adacore.com>
      
      	* sem_util.ads (Deepest_Type_Access_Level): New function; for the type
      	of a saooaaat (i.e, a stand-alone object of an anonymous access type),
      	returns the (static) accessibility level of the object. Otherwise, the
      	same as Type_Access_Level.
      	(Dynamic_Accessibility_Level): New function; given an expression which
      	could occur as the rhs of an assignment to a saooaaat (i.e., an
      	expression of an access-to-object type), return the new value for the
      	saooaaat's associated Extra_Accessibility object.
      	(Effective_Extra_Accessibility): New function; same as
      	Einfo.Extra_Accessibility except that object renames are looked through.
      	* sem_util.adb 
      	(Deepest_Type_Access_Level): New function; see sem_util.ads description.
      	(Dynamic_Accessibility_Level): New function; see sem_util.ads
      	description.
      	(Effective_Extra_Accessibility): New function; see sem_util.ads
      	description.
      	* einfo.ads (Is_Local_Anonymous_Access): Update comments.
      	(Extra_Accessibility): Update comments.
      	(Init_Object_Size_Align): New procedure; same as Init_Size_Align
      	except RM_Size field (which is only for types) is unaffected.
      	* einfo.adb
      	(Extra_Accessibility): Expand domain to allow objects, not just formals.
      	(Set_Extra_Accessibility): Expand domain to allow objects, not just
      	formals.
      	(Init_Size): Add assertion that we are not trashing the
      	Extra_Accessibility attribute of an object.
      	(Init_Size_Align): Add assertion that we are not trashing the
      	Extra_Accessibility attribute of an object.
      	(Init_Object_Size_Align): New procedure; see einfo.ads description.
      	* sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
      	differently for the type of a (non-library-level) saooaaat depending
      	whether Ada_Version < Ada_2012. This is the only point where Ada_Version
      	is queried in this set of changes - everything else (in particular,
      	setting of the Extra_Accessibility attribute in exp_ch3.adb) is
      	driven off of the setting of the Is_Local_Anonymous_Access attribute.
      	The special treatment of library-level saooaaats is an optimization,
      	not required for correctnesss. This is based on the observation that the
      	Ada2012 rules (static and dynamic) for saooaaats turn out to be
      	equivalent to the Ada2005 rules in the case of a library-level saooaaat.
      	* exp_ch3.adb
      	(Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
      	false for the type of a saooaaat, declare and initialize its
      	accessibility level object and set the Extra_Accessibility attribute
      	of the saooaaat to refer to this object.
      	* checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
      	* exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
      	calls to Effective_Extra_Accessibility in order to support
      	renames of saooaaats.
      	(Expand_N_Type_Conversion): Add new local function,
      	Has_Extra_Accessibility, and call it when determining whether an
      	accessibility check is needed.
      	It returns True iff Present (Effective_Extra_Accessibility (Id)) would
      	evaluate to True (without raising an exception).
      	* exp_ch5.adb
      	(Expand_N_Assignment_Statement): When assigning to an Ada2012
      	saooaaat, update its associated Extra_Accessibility object (if
      	it has one). This includes an accessibility check.
      	* exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
      	a saooaaat, update its Extra_Accessibility object too (if it
      	has one).
      	(Expand_Call): Replace a couple of calls to Type_Access_Level
      	with calls to Dynamic_Access_Level to handle cases where
      	passing a literal (any literal) is incorrect.
      	* sem_attr.adb (Resolve_Attribute): Handle the static accessibility
      	checks associated with "Saooaat := Some_Object'Access;"; this must
      	be rejected if Some_Object is declared in a more nested scope
      	than Saooaat.
      	* sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
      	assignment to a saooaaat even if Is_Local_Anonymous_Access
      	returns False for its type (indicating a 2012-style saooaaat).
      	* sem_ch8.adb
      	(Analyze_Object_Renaming): Replace a call to Init_Size_Align
      	(which is only appropriate for objects, not types) with a call
      	of Init_Object_Size_Align in order to avoid trashing the
      	Extra_Accessibility attribute of a rename (the two attributes
      	share storage).
      	* sem_res.adb
      	(Valid_Conversion) Replace six calls to Type_Access_Level with
      	calls to Deepest_Type_Access_Level. This is a bit tricky. For an
      	Ada2012 non-library-level saooaaat, the former returns library level
      	while the latter returns the (static) accessibility level of the
      	saooaaat. A type conversion to the anonymous type of a saooaaat
      	can only occur as part of an assignment to the saooaaat, so we
      	know that such a conversion must be in a lhs context, so Deepest
      	yields the result that we need. If such a conversion could occur,
      	say, as the operand of an equality operator, then this might not
      	be right. Also add a test so that static accessibilty checks are
      	performed for converting to a saooaaat's type even if
      	Is_Local_Anonymous_Access yields False for the type.
      
      2011-08-30  Javier Miranda  <miranda@adacore.com>
      
      	* sem_disp.adb (Check_Dispatching_Operation): Complete condition that
      	controls generation of a warning associated with late declaration of
      	dispatching functions. Required to avoid generating spurious
      	warnings.
      
      From-SVN: r178299
      Arnaud Charlet committed
  10. 29 Aug, 2011 2 commits
    • exp_attr.adb: Minor reformatting. · 2c1a2cf3
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb: Minor reformatting.
      	Minor code reorganization and commenting.
      	* par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
      	reformatting.
      
      From-SVN: r178166
      Robert Dewar committed
    • [multiple changes] · 1197ddb1
      2011-08-29  Geert Bosch  <bosch@adacore.com>
      
      	* s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
      	instruction, as the latter may produce -0.0, which is not a valid VAX
      	F float number.
      	(Neg_G): Likewise for VAX F float.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.adb: Minor reformatting.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb: Minor comment update.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
      	the operand type.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
      	current statement sequence on a generic instantiation or a subprogram
      	declaration.
      
      From-SVN: r178161
      Arnaud Charlet committed
  11. 04 Aug, 2011 2 commits
    • [multiple changes] · c2db4b32
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* prj-env.adb: Remove local debug traces.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
      	was used instead of Hi_OK, which could cause a read of an uninitialized
      	value later on. Detected while working on the new warning.
      	* exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
      	to local variable.
      	* sem_ch5.adb (Analyze_Assignment): set the last assignment component
      	in more cases, in order to detect more unreferenced values.
      	* sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
      	object for expression, if any.
      
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
      	the operand types instead of the Esize.
      
      2011-08-04  Steve Baird  <baird@adacore.com>
      
      	* switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
      	enable CodePeer_Mode.
      	* bindusg.adb (Display): Add help message describing -P binder switch.
      	* gnat_ugn.texi: Document -P binder switch.
      	* bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
      	user-defined main program directly.
      	(Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
      	user-defined main program in the context clause of the package body.
      
      From-SVN: r177355
      Arnaud Charlet committed
    • [multiple changes] · 824e9320
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
      	Add support for overriding the Project_Path in aggregate projects.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* a-cofove.ads: Minor reformatting.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
      	on the generated code.
      	(Build_Finalize_Statements): Update the comment on the generated code.
      	(Build_Initialize_Statements): Update the comment on the generated code.
      	(Build_Object_Declarations): Add local variable Result. The object
      	declarations are now built in sequence.
      	* rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
      	RE_Unit_Table.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb, alfa.adb, alfa.ads: Minor reformatting.
      
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* einfo.ads (Elaboration_Entity): Document new definition and use.
      	(Elaboration_Entity_Required): Adjust to above change.
      	* exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
      	* exp_ch12.adb: And with and use for Snames.
      	(Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
      	* exp_util.adb (Set_Elaboration_Flag): Likewise.
      	* sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
      	<Check_Unit_Name>: Deal with N_Expanded_Name.
      	<Attribute_Elaborated>: Extend to all unit names.
      	* sem_elab.adb: And with and use for Uintp.
      	(Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
      	* sem_util.ads (Build_Elaboration_Entity): Adjust comment.
      	* sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
      	* bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
      	from Gen_Adainit_Ada.
      	(Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
      	(Gen_Adafinal_Ada): Remove redundant test.  In the non-main program
      	case, do not call System.Standard_Library.Adafinal; instead call
      	finalize_library if needed.
      	(Gen_Adafinal_C): Likewise.
      	(Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
      	non-main program case.
      	(Gen_Adainit_C): Generate a couple of external declarations here.
      	In the main program case, set SSL.Finalize_Library_Objects.
      	(Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
      	(Gen_Elab_Calls_C): Likewise.
      	(Gen_Finalize_Library_Ada): Likewise.  Skip SAL interface units.
      	(Gen_Finalize_Library_C): Likewise.  Generate a full function.
      	(Gen_Main_C): Put back call to Ada_Final and don't finalize library
      	objects here.
      	(Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
      	if -a is specified.  Call Gen_Elab_Externals_Ada.  Move around call to
      	Gen_Adafinal_Ada.
      	(Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
      	if -a is specified.  Call Gen_Elab_Externals_C.  Remove useless couple
      	of external declarations.  Call Gen_Finalize_Library_C.
      
      From-SVN: r177318
      Arnaud Charlet committed
  12. 03 Aug, 2011 1 commit
    • [multiple changes] · f9ad6b62
      2011-08-03  Javier Miranda  <miranda@adacore.com>
      
      	* sem_prag.adb (Process_Interface_Name): Allow duplicated export names
      	in Java since they are always enclosed in a namespace that
      	differentiates them, and overloaded entities are supported by the VM.
      
      2011-08-03  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Determine_Range): If a computed bound of an operation is
      	outside the range of the base type of the expression, and overflow
      	checks are enabled, the result is unknown and cannot be used for any
      	subsequent constant folding.
      	* sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
      	unknown, so is the result of the comparison.
      
      2011-08-03  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
      	From_Abort. When finalization was triggered by an abort, propagate
      	Standard'Abort_Signal rather than Program_Error.
      	* a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
      	From_Abort.
      	* a-except.adb (Raise_From_Controlled_Operation): Add new formal
      	From_Abort. When finalization was triggered by an abort, propagate
      	Standard'Abort_Signal rather than Program_Error.
      	* a-except.ads:(Raise_From_Controlled_Operation): Add new formal
      	From_Abort.
      	* exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
      	Abort_Id. Update the calls to Build_Object_Declarations and
      	Build_Raise_Statement to include Abort_Id.
      	(Build_Adjust_Statements): New local variable Abort_Id. Update the
      	calls to Build_Object_Declarations and Build_Raise_Statement to include
      	Abort_Id.
      	(Build_Finalize_Statements): New local variable Abort_Id. Update the
      	calls to Build_Object_Declarations and Build_Raise_Statement to include
      	Abort_Id.
      	(Build_Components): Create an entity for Abort_Id when exceptions are
      	allowed on the target.
      	(Build_Finalizer): New local variable Abort_Id.
      	(Build_Initialize_Statements): New local variable Abort_Id. Update the
      	calls to Build_Object_Declarations and Build_Raise_Statement to include
      	Abort_Id.
      	(Build_Object_Declarations): Add new formal Abort_Id. Create the
      	declaration of flag Abort_Id to preserve the original abort status
      	before finalization code is executed.
      	(Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
      	runtime routine Raise_From_Controlled_Operation.
      	(Create_Finalizer): Update the call to Build_Raise_Statement to include
      	Abort_Id. Update the call to Build_Object_Declarations to include
      	Abort_Id. Update the layout of the finalizer body.
      	(Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
      	(Process_Transient_Objects): New local variable Abort_Id. Remove the
      	clunky code to create all flags and objects related to
      	exception propagation and replace it with a call to
      	Build_Object_Declarations. Update the call to Build_Raise_Statement to
      	include Abort_Id.
      	* exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
      	Add new formal Abort_Id and associated comment on its use.
      	(Build_Raise_Statement): Add new formal Abort_Id and associated comment
      	on its use.
      	* exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
      	Remove the clunky code to create all flags and objects related to
      	exception propagation and replace it with a call to
      	Build_Object_Declarations. Update the call to Build_Raise_Statement.
      
      2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-tassta.adb: Fix minor typos.
      
      2011-08-03  Robert Dewar  <dewar@adacore.com>
      
      	* rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
      	lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
      
      From-SVN: r177283
      Arnaud Charlet committed
  13. 02 Aug, 2011 1 commit
    • sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. · 62be5d0a
      2011-08-02  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2011-08-02  Javier Miranda  <miranda@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
      	determine if the analysis is performed using N or Original_Node (N).
      	* exp_util.adb (Side_Effect_Free): Code cleanup since the new
      	functionality of routine Is_Variable avoids code duplication.
      	* checks.adb (Determine_Range): Handle temporaries generated by
      	Remove_Side_Effects.
      
      2011-08-02  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
      	expansion of the condition. Required since the previous analysis was
      	done with expansion disabled (see Resolve_Quantified_Expression) and
      	hence checks were not inserted and record comparisons have not been
      	expanded.
      
      From-SVN: r177132
      Javier Miranda committed
  14. 01 Aug, 2011 3 commits
    • [multiple changes] · 0d53d36b
      2011-08-01  Yannick Moy  <moy@adacore.com>
      
      	* sem_util.adb (Enter_Name): issue error in formal mode on declaration
      	of homonym, unless the homonym is one of the cases allowed in SPARK
      	* par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
      	package declaration occurring after a body.
      
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb, exp_ch4.adb: Minor reformatting.
      
      2011-08-01  Javier Miranda  <miranda@adacore.com>
      
      	* einfo.ads (Access_Disp_Table): Fix documentation.
      	(Dispatch_Table_Wrappers): Fix documentation.
      
      2011-08-01  Pascal Obry  <obry@adacore.com>
      
      	* prj-env.adb, prj-env.ads: Minor reformatting.
      
      From-SVN: r177053
      Arnaud Charlet committed
    • [multiple changes] · 8ed68165
      2011-08-01  Yannick Moy  <moy@adacore.com>
      
      	* sem_util.ads, sem_util.adb, par.adb, par_util.adb
      	(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
      	procedures out of these packages.
      	* errout.ads, errout.adb 
      	(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
      	procedures in of this package
      	(Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
      	* par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
      	on misplaced later vs initial declarations, like in Ada 83
      	* sem_attr.adb (Processing for Analyze_Attribute): issue error in
      	formal mode on attribute of private type whose full type declaration
      	is not visible
      	* sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
      	package declaration inside a package specification
      	(Analyze_Full_Type_Declaration): issue error in formal mode on
      	controlled type or discriminant type
      	* sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
      	user-defined operator means that it should come from the source
      	(New_Overloaded_Entity): issue error in formal mode on overloaded
      	entity.
      	* sem_ch6.ads, sem_ch13.ads: typos in comments.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* atree.adb: Minor reformatting.
      	* checks.adb: Minor reformatting.
      
      From-SVN: r177052
      Arnaud Charlet committed
    • [multiple changes] · 4230bdb7
      2011-08-01  Vincent Celier  <celier@adacore.com>
      
      	* s-parame-vms-ia64.ads: Fix typo in comment
      	Minor reformatting
      	* s-parame-vms-restrict.ads: Removed, unused.
      
      2011-08-01  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.adb
      	(Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
      	* sem_ch3.adb
      	(Constrain_Index): Remove side effects in the evaluation of the bounds.
      	* sem_ch3.ads, sem_ch3.adb
      	(Is_Constant_Bound): New extended version of the subprogram that was
      	previously located inside function Exp_Ch3.Is_Variable_Size_Array.
      	Moved here since it is shared by routines of sem_ch3 and exp_ch3.
      	* sem_aux.ads (Constant_Value): Fix typo in comment.
      	* checks.adb (Generate_Index_Checks): New implementation which, for
      	array objects with constant bounds, generates the runtime check
      	referencing the bounds of the array type. For other cases this routine
      	provides its previous behavior obtaining such values from the array
      	object.
      	* sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
      	parent type.
      	* atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
      	we cannot have semantic interpretations of the new node.
      
      From-SVN: r177051
      Arnaud Charlet committed
  15. 20 Dec, 2010 1 commit
    • Fix typos in gcc/ada. · 308e6f3a
      gcc/ada/:
      	* projects.texi: Fix typos.
      	* gnat_rm.texi: Likewise.
      	* gnat_ugn.texi: Likewise.
      	* sem_util.adb: Fix typo in variable, typos in comments.
      	* a-btgbso.adb: Fix typos in comments.
      	* a-cbdlli.adb, a-cbhase.ads, a-cdlili.adb, a-cobove.adb,
      	a-coinve.adb, a-convec.adb, a-direct.ads, a-strunb-shared.adb,
      	a-strunb-shared.ads, a-stuten.ads, a-stwiun-shared.adb,
      	a-stwiun-shared.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
      	a-suenco.adb, a-suenst.adb, a-suewst.adb, a-suezst.adb, ali.ads,
      	aspects.ads, atree.ads, binde.adb, bindgen.adb, checks.adb,
      	checks.ads, einfo.ads, err_vars.ads, errout.adb, errout.ads,
      	exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch3.adb,
      	exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb,
      	exp_dbug.ads, exp_disp.adb, exp_fixd.ads, freeze.adb,
      	g-altive.ads, g-comlin.ads, g-excact.ads, g-mbdira.adb,
      	g-sechas.ads, g-sehash.ads, g-sha1.ads, g-sha224.ads,
      	g-sha256.ads, g-sha384.ads, g-sha512.ads, g-shsh32.ads,
      	g-shsh64.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
      	gcc-interface/decl.c, gcc-interface/trans.c,
      	gcc-interface/utils2.c, gnat1drv.adb, init.c, inline.adb,
      	link.c, locales.c, make.adb, mingw32.h, namet.ads, osint.adb,
      	par-ch12.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb,
      	par-prag.adb, par.adb, par_sco.adb, prepcomp.adb,
      	prj-conf.ads, prj-dect.adb, prj-env.adb, prj-env.ads,
      	prj-nmsc.adb, prj-tree.ads, prj-util.ads, prj.adb, prj.ads,
      	s-auxdec-vms-alpha.adb, s-auxdec-vms_64.ads, s-oscons-tmplt.c,
      	s-osinte-vxworks.ads, s-osprim-mingw.adb, s-regexp.adb,
      	s-stusta.adb, s-taprop-mingw.adb, s-taprop-solaris.adb,
      	scn.adb, scos.ads, sem.adb, sem_aggr.adb, sem_attr.adb,
      	sem_aux.adb, sem_aux.ads, sem_ch12.adb, sem_ch12.ads,
      	sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
      	sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb,
      	sem_disp.ads, sem_eval.adb, sem_intr.adb, sem_prag.adb,
      	sem_res.adb, sem_scil.adb, sem_util.ads, sem_warn.adb,
      	sem_warn.ads, sinfo.ads, socket.c, styleg.adb, switch.ads,
      	sysdep.c, tb-alvxw.c, xoscons.adb: Likewise.
      
      From-SVN: r168082
      Ralf Wildenhues committed
  16. 26 Oct, 2010 1 commit
    • [multiple changes] · 7675ad4f
      2010-10-26  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, exp_prag.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
      	sem_dist.adb, exp_ch7.adb, exp_util.adb, exp_attr.adb, exp_ch9.adb,
      	sem_ch10.adb, checks.adb, sem_prag.adb, par-endh.adb, sem_ch12.adb,
      	exp_smem.adb, sem_attr.adb, exp_ch4.adb, exp_ch6.adb, exp_ch8.adb,
      	sem_ch6.adb, exp_disp.adb, exp_aggr.adb, exp_dist.adb, sem_ch13.adb,
      	par-ch3.adb, par-ch5.adb, exp_strm.adb, exp_ch3.adb: Minor reformatting
      	* opt.ads: Minor comment fix.
      
      2010-10-26  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Document option -s for gnatlink.
      
      From-SVN: r165963
      Arnaud Charlet committed
  17. 22 Oct, 2010 3 commits
    • [multiple changes] · c7532b2d
      2010-10-22  Ben Brosgol  <brosgol@adacore.com>
      
      	* gnat_rm.texi: Add chapter on Ada 2012 support.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting.
      
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb: Mark missing case of nested package when expanding
      	stubs.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch10.adb: Discard incomplete with_clause.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Enable_Range_Check): Remove code suppressing range check
      	if static predicate present, not needed.
      	* exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
      	* exp_ch3.adb (Expand_N_Object_Declaration): Check
      	Suppress_Assignment_Checks flag.
      	* exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
      	of ranges when predicates are present.
      	* exp_ch5.adb (Expand_Predicated_Loop): New procedure
      	(Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
      	(Expand_N_Loop_Statement): Handle loops over predicated types
      	* sem_case.adb (Analyze_Choices): Remove extra blank in error message.
      	* sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
      	message for inheritance if within a generic instance, not useful there!
      	(Build_Static_Predicate): Optimize test in predicate function
      	based on static ranges determined.
      	* sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
      	subtype with non-static predicate.
      	* sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
      
      From-SVN: r165834
      Arnaud Charlet committed
    • Make-lang.in: Remove ttypef.ads · d32e3cee
      2010-10-22  Geert Bosch  <bosch@adacore.com>
      
      	* gcc-interface/Make-lang.in: Remove ttypef.ads
      	* checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
      	of Machine_Mantissa and Machine_Radix.
      	* cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
      	Type_High_Bound of the type, instead of choosing constants from Ttypef.
      	(Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
      	Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
      	each type.
      	* einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
      	Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
      	Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
      	Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
      	synthesized floating point attributes.
      	* einfo.adb (Float_Rep): Determine the kind of floating point
      	representation used for a given type.
      	(Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
      	Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
      	the number of digits in the type.
      	(Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
      	Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
      	Implement new synthesized floating point attributes based on the various
      	machine attributes.
      	* eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
      	* eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
      	Machine_Mantissa_Value and Machine_Radix_Value functions instead.
      	* exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
      	constants, instead of using constants from Ttypef.
      	* gnat_rm.texi: Reword comments referencing Ttypef.
      	* sem_attr.ads: Reword comment referencing Ttypef.
      	* sem_attr.adb (Float_Attribute_Universal_Integer,
      	Float_Attribute_Universal_Real): Remove.
      	(Attribute_Machine_Emax, Attribute_Machine_Emin,
      	Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
      	Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
      	Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
      	attributes in Einfo instead of Float_Attribute_Universal_Real and
      	Float_Attribute_Universal_Integer and all explicit constants.
      	* sem_util.ads, sem_util.adb (Real_Convert): Remove.
      	* sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
      	IEEES_Digits): New local constants, in order to remove dependency on
      	Ttypef.
      	* tbuild.ads (Make_Float_Literal): New function.
      	* tbuild.adb (Make_Float_Literal): New function to create a new
      	N_Real_Literal, constructing it as simple as possible for best
      	output of constants in -gnatS.
      	* ttypef.ads: Remove.
      
      From-SVN: r165808
      Geert Bosch committed
    • checks.adb (Apply_Predicate_Check): Remove attempt at optimization when subtype is the same... · 8110ee3b
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Apply_Predicate_Check): Remove attempt at optimization
      	when subtype is the same, caused legitimate checks to be missed.
      	* exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
      	inheritance from right entity.
      	* freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
      	derived type case if the ancestor type has predicates.
      	* sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
      	* sem_prag.adb (Check_Enabled): Minor code reorganization.
      
      From-SVN: r165807
      Robert Dewar committed
  18. 21 Oct, 2010 1 commit
    • einfo.ads, einfo.adb: Add handling of predicates. · 48f91b44
      2010-10-21  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, einfo.adb: Add handling of predicates.
      	Rework handling of invariants.
      	* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
      	handing of invariants.
      	* par-prag.adb: Add dummy entry for pragma Predicate
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
      	Predicate aspects.
      	* sem_prag.adb: Add implementation of pragma Predicate.
      	* snames.ads-tmpl: Add entries for pragma Predicate.
      
      2010-10-21  Robert Dewar  <dewar@adacore.com>
      
      	* elists.adb: Minor reformatting.
      
      From-SVN: r165766
      Robert Dewar committed
  19. 19 Oct, 2010 1 commit
    • [multiple changes] · 437f8c1e
      2010-10-19  Robert Dewar  <dewar@adacore.com>
      
      	* sem_eval.adb: Minor reformatting.
      
      2010-10-19  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch4.adb (Expand_N_And_Op, Expand_N_Or_Op, Expand_N_Xor_Op): Call
      	Expand_Intrinsic_Call if the function is intrinsic.
      	* exp_intr_adb (Expand_Binary_Operator): Handle VMS case for logical
      	binary operator on the unsigned_quadword record.
      	* exp_intr.ads (Expand_Intrinsic_Call): Update comments.
      
      2010-10-19  Geert Bosch  <bosch@adacore.com>
      
      	* gnat_rm.texi (pragma Float_Representation): Fix typo.
      
      2010-10-19  Arnaud Charlet  <charlet@adacore.com>
      
      	* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateE.
      	* fe.h (Exception_Extra_Info): Declare.
      	* usage.adb (usage): Add -gnateE doc.
      	* checks.adb (Install_Null_Excluding_Check): Use better sloc.
      	* sem_util.adb (Insert_Explicit_Dereference): Ditto.
      	* gnat_ugn.texi: Document -gnateE switch.
      	* a-except.adb (Set_Exception_C_Msg): New parameter Column.
      	* a-except-2005.adb (Set_Exception_C_Msg): New parameter Column.
      	(Raise_Constraint_Error_Msg): Ditto.
      	(Image): New helper function.
      	(Rcheck_00_Ext, Rcheck_05_Ext, Rcheck_12_Ext): New procedure with more
      	detailed exception information.
      	Adjust calls to Set_Exception_C_Msg and Raise_Constraint_Error_Msg.
      	* a-exexda.adb (Set_Exception_C_Msg): New parameter Column.
      	* opt.ads (Exception_Extra_Info): New flag.
      	* gcc-interface/utils.c (gnat_raise_decls_ext): New.
      	* gcc-interface/utils2.c (build_call_raise_range,
      	build_call_raise_column): New functions.
      	* gcc-interface/gigi.h (exception_info_kind, gnat_raise_decls_ext,
      	build_call_raise_range, build_call_raise_column): Declare.
      	gcc-interface/trans.c (build_raise_check): New function.
      	(gigi): Initialize gnat_raise_decls_ext.
      	(gnat_to_gnu): Add initial support for -gnateE switch.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r165696
      Arnaud Charlet committed
  20. 11 Oct, 2010 1 commit
    • par-ch9.adb, [...]: Use Ada_2005 instead of Ada_05 (Ada_Version_Type). · 0791fbe9
      2010-10-11  Bob Duff  <duff@adacore.com>
      
      	* par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb,
      	impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb,
      	switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb,
      	sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb,
      	sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb,
      	sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb,
      	sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb,
      	exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads,
      	exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb,
      	exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005
      	instead of Ada_05 (Ada_Version_Type).
      
      From-SVN: r165283
      Bob Duff committed
  21. 05 Oct, 2010 2 commits
    • [multiple changes] · 96d2756f
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
      	an explicit dereference of an access to function, the prefix is not
      	interpreted as a parameterless call.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb: For 'Read and 'Write, use full view of base type if
      	private.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Switches_Of): Allow wild cards in index of attributes
      	Switches.
      	* prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
      	of the associative array as a glob regular expression.
      	* prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
      	Allow_Wildcards, defaulted to False.
      	(Value_Of (Name, Attribute_Or_Array_Name)): Ditto
      	* projects.texi: Document that attribute Switches (<file name>) may
      	use wild cards in the index.
      
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
      	einfo.adb: Minor reformatting.
      	* debug.adb: Remove obsolete documentation for d.Z flag.
      
      From-SVN: r164978
      Arnaud Charlet committed
    • [multiple changes] · 1c218ac3
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Do not elaborate type definition if syntax error.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
      	to generate the full-qualified names of its corresponding spec.
      	This facilitates locating the corresponing body when reading
      	the DG output.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
      	canonical name without serial number only if the helper is becoming a
      	primitive of the type.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.adb (Make_DT): Minor code reorganization.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch6.adb: improve recovery with extra paren in function spec.
      
      2010-10-05  Quentin Ochem  <ochem@adacore.com>
      
      	* prj-tree.ads: Project_Path is now aliased.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb: Minor reformatting.
      
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
      	(Shared_Libgcc): New aliased variable.
      	(Shared_Libgcc_Switch): New constant.
      	(Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
      	* gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
      	to the compiler.
      	
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb (Parse_Simple_Project): When checking if a child project
      	imports its parent project, also look in projects being extended by
      	imported projects.
      
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_cg.adb (Slot_Number): Add support to handle aliased entities.
      	(Generate_CG_Output): Switch -gnatd.Z is no longer needed to
      	activate this output.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* back_end.adb (Call_Back_End): Generate an error message when scil
      	generation is enabled, and no scil back-end (by default) is available.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* debug.adb: Update documentation because -gnatd.Z is no longer required
      	to generate the call-graph information.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
      	runtime access check by an equivalent expansion that causes
      	no problems in the VM backend. The original expansion was
      	not good for the VM backends because when Tagged_Type_Expansion
      	is disabled the attribute Access_Disp_Table is not available.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
      	is class-wide and T1 is its specific type.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* back_end.ads: Minor spelling error correction.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
      	warnings when -gnatC is specified here so that warnings can be
      	re-enabled  explicitly.
      	(Adjust_Global_Switches): No longer suppress warnings.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb: Minor reformatting.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
      	non-discrete type appears as an actual in a call.
      
      From-SVN: r164976
      Arnaud Charlet committed
  22. 04 Oct, 2010 1 commit
    • [multiple changes] · 1366997b
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* sinput-l.adb (Load_File): Do not fail when switch -gnateG is
      	specified and the processed file cannot be written. Just issue a
      	warning and continue.
      
      2010-10-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_res.adb: Minor reformatting.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
      	is an overridden inherited operation, the desired operation is the
      	overriding one, which is the alias of the visible one.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
      	present before deleting from the tree, when an inherited function with
      	a controlling result that returns a null extension is overridden by a
      	later declaration or body.
      
      2010-10-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb: Update comment.
      
      From-SVN: r164933
      Arnaud Charlet committed
  23. 10 Sep, 2010 2 commits
    • [multiple changes] · 46f52a47
      2010-09-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Derive_Subprograms): An interface primitive operation
      	that is a renaming must be derived like any other primitive operation,
      	the renamed operation is not relevant to the derivation.
      
      2010-09-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
      	* checks.adb: Minor reformatting.
      
      From-SVN: r164155
      Arnaud Charlet committed
    • [multiple changes] · 38afef28
      2010-09-10  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-util.adb (Executable_Of): Fix CE when the project does not
      	contain a Builder package.
      
      2010-09-10  Vincent Celier  <celier@adacore.com>
      
      	* prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
      	to the project path, if Prefix and Target_Name are defined.
      	* prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
      
      2010-09-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Ensure_Valid): If the expression is a boolean expression
      	or short-circuit operation, do no emit a validity check: only the
      	elementary operands of the expression need checking.
      
      2010-09-10  Ben Brosgol  <brosgol@adacore.com>
      
      	* gnat_rm.texi: Document Short_Descriptors.
      
      2010-09-10  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
      	initialize to Null_Address.
      	(Enter_Task): Do not set up an alternate stack for foreign threads.
      
      From-SVN: r164149
      Arnaud Charlet committed
  24. 09 Sep, 2010 2 commits
    • impunit.adb: Add entry for a-izteio. · a8cc3e46
      2010-09-09  Robert Dewar  <dewar@adacore.com>
      
      	* impunit.adb: Add entry for a-izteio.
      	* checks.adb: Add comment.
      	* debug.adb, exp_disp.adb: Minor reformatting.
      	* exp_dbug.ads: Minor reformatting throughout (pack block comments).
      
      From-SVN: r164098
      Robert Dewar committed
    • [multiple changes] · 4fb0b3f0
      2010-09-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_eval.adb (Is_Same_Value): Two occurrences of the same
      	discriminant cannot be assumed to be the same value because they may
      	refer to bounds of a component of two different instances of a
      	discriminated type.
      
      2010-09-09  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
      	operands of an operator to the type of an enclosing conversion, rewrite
      	the operator so the conversion can't be flagged as redundant.
      	Remove useless assignments to Typ and Rtyp.
      
      2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_ugn.texi: Fix another long line.
      
      2010-09-09  Bob Duff  <duff@adacore.com>
      
      	* sem_warn.adb (Output_Reference_Error): Don't warn for renames read
      	but never assigned.
      
      From-SVN: r164096
      Arnaud Charlet committed
  25. 23 Jun, 2010 2 commits
    • [multiple changes] · 5b599df4
      2010-06-23  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-reatim.adb, a-retide.adb: Move the initialization of the tasking
      	run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
      	Clock (without delays) use a run time which is properly initialized.
      
      2010-06-23  Vincent Celier  <celier@adacore.com>
      
      	* make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
      	when -f -u and a main is specified on the command line. However,
      	attempt to compile even when the ALI file is read-only when
      	Must_Compile is True.
      
      2010-06-23  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
      
      From-SVN: r161248
      Arnaud Charlet committed
    • [multiple changes] · b4d7b435
      2010-06-23  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
      	entities for parent types that are interfaces. Needed in generics to
      	handle formals that implement interfaces.
      	(Derive_Subprograms): Add assertion for derivation of tagged types that
      	do not cover interfaces. For generics, complete code that handles
      	derivation of type that covers interfaces because the previous
      	condition was weak (it required only name consistency; arguments were
      	not checked). Add new code to locate primitives covering interfaces
      	defined in generic units or instantiatons.
      	* sem_util.adb (Has_Interfaces): Add missing support for derived types.
      	* sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
      	* exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
      	interfaces that are parents of the type because they share the primary
      	dispatch table.
      	(Register_Primitive): Do not register primitives of interfaces that
      	are parents of the type.
      	* sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
      	* exp_cg.adb (Write_Type_Info): When displaying overriding of interface
      	primitives skip primitives of interfaces that are parents of the type.
      
      2010-06-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Eval_Attribute): If the prefix is an array, the
      	attribute cannot be constant-folded if an index type is a formal type,
      	or is derived from one.
      	* checks.adb (Determine_Range): ditto.
      
      2010-06-23  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
      
      2010-06-23  Bob Duff  <duff@adacore.com>
      
      	* g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
      	(Insert): Disallow nul characters.
      	(misc output routines): Assert no nul characters.
      
      From-SVN: r161247
      Arnaud Charlet committed
  26. 21 Jun, 2010 2 commits
    • [multiple changes] · 6ca9ec9c
      2010-06-21  Robert Dewar  <dewar@adacore.com>
      
      	* s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
      	checks.adb, sem_res.adb: Minor reformatting. Add comments.
      
      2010-06-21  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
      	rederivation associated with a full declaration in a private part, and
      	there is a partial view that derives the same parent subprogram, the
      	new entity does not become visible. This check must be applied to
      	interface operations as well.
      
      From-SVN: r161078
      Arnaud Charlet committed
    • checks.adb: Add comments. · a548f9ff
      2010-06-21  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb: Add comments.
      	* prj-nmsc.adb: Minor reformatting.
      
      From-SVN: r161077
      Thomas Quinot committed