1. 29 Aug, 2011 40 commits
    • a-cbhama.ads, [...] (Move): Clear Source following assignment to Target. · dfbf013f
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
      	to Target.
      
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
      	components of record type.
      	* a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
      	to Target.
      
      From-SVN: r178243
      Matthew Heaney committed
    • a-cbhama.adb, [...]: Add iterator machinery to container packages. · a6dd3a54
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
      	a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
      	container packages.
      
      From-SVN: r178242
      Ed Schonberg committed
    • [multiple changes] · c54796e0
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
      	reformatting.
      
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
      	components of record type.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
      	by the termination handler.
      
      From-SVN: r178241
      Arnaud Charlet committed
    • [multiple changes] · 9fd9d2be
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
      	created in Alfa mode, instead of inserting artificial declarations of
      	non-Itypes in the tree.
      	* sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
      	know if an Itype has a corresponding declaration, as defined in
      	itypes.ads.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb: Minor rewrite.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* s-tasuti.adb (Make_Passive): Work around race condition in
      	Make_Independent, which can cause Wait_Count to be zero. So instead of
      	asserting that Wait_Count > 0, and then decrementing it, decrement it
      	only if Wait_Count > 0.
      	* s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
      	should be nonnegative, so declare them Natural instead of Integer.
      
      From-SVN: r178240
      Arnaud Charlet committed
    • [multiple changes] · 833eaa8a
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
      	sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
      	a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
      	a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
      	exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
      
      2011-08-29  Vadim Godunko  <godunko@adacore.com>
      
      	* s-parint.ads: Minor comment clarification.
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* prj.adb (Initialize): Make sure that new reserved words after Ada 95
      	may be used as identifiers.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-coinho.ads: Minor reformating.
      
      From-SVN: r178239
      Arnaud Charlet committed
    • [multiple changes] · 3a613a36
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
      	container of a derived type.
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* impunit.adb, s-stposu.adb, s-stposu.ads, exp_ch4.adb, s-finmas.adb,
      	s-finmas.ads: Revert previous change.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
      	a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
      
      From-SVN: r178237
      Arnaud Charlet committed
    • [multiple changes] · 14848f57
      2011-08-29  Pascal Obry  <obry@adacore.com>
      
      	* exp_disp.adb: Minor comment fix.
      	(Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
      	to avoid warnings when compiling with -Wall.
      	(Make_Disp_Conditional_Select_Body): Likewise.
      	(Make_Disp_Timed_Select_Body): Likewise.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
      	an entity name, generate reference for it.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
      	iterator form.
      	* sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
      	the class-wide type.
      	* sem_ch5.adb: Move some rewriting to the expander, where it belongs.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Check_Constrained_Object): Do not create an actual
      	subtype for an object whose type is an unconstrained union.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
      	is allowed in a component definition, by AI95-406.
      
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-except-2005.adb: Alphabetize all routines.
      	(Triggered_By_Abort): New routine.
      	* a-except-2005.ads (Triggered_By_Abort): New routine.
      	* a-except.adb Alphabetize all routines.
      	(Triggered_By_Abort): New routine.
      	* a-except.ads (Triggered_By_Abort): New routine.
      	* exp_ch7.adb: Update all comments involving the detection of aborts in
      	finalization code.
      	(Build_Object_Declarations): Do not generate code to detect the
      	presence of an abort at the start of finalization code, use a runtime
      	routine istead.
      	* rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
      	RE_Unit_Table.
      	* sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
      	allocate a task on a subpool.
      	* s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
      	The flag disables all actions related to the maintenance of
      	Finalize_Address_Table when subpools are not in use.
      	(Allocate_Any_Controlled): Signal the machinery that subpools are in
      	use.
      	(Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
      	performs costly task locking when subpools are not in use.
      
      From-SVN: r178236
      Arnaud Charlet committed
    • [multiple changes] · 57a8057a
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
      	types and dispatching calls in Alfa mode.
      	* lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
      	correspondance between body and spec scopes, to reuse utility functions
      	(Traverse_Declarations_Or_Statements): Protect access to body for stub
      	by testing the presence of the library unit for the body
      	* sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
      	mode the expansion of accept statements is skipped
      	* sem_util.adb, sem_util.ads (Unique_Entity): New function returning
      	the unique entity corresponding to the one returned by
      	Unique_Defining_Entity applied to the enclosing declaration of the
      	argument.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
      	gdb when x is not a node (it can be a node list, name_id, etc). pp is
      	an alias for pn. ppp is an alias for pt.
      
      2011-08-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
      	aggregate to take a consistent decision on the need to convert into
      	assignments aggregates that initialize constant objects.
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_Allocator_Expression): Add a call to
      	Build_Allocate_Deallocate_Proc in order to handle allocation of
      	non-controlled objects on subpools.
      	* impunit.adb: Remove s-finmas and s-spsufi since they were never meant
      	to be end-user visible.
      	* s-finmas.adb: Add with and use clause for System.HTable.
      	Add an instantiation of Simple_HTable which provides a mapping between
      	the address of a controlled object and the corresponding
      	Finalize_Address used to clean up the object. The table is used when a
      	master is operating in heterogeneous mode.
      	(Attach): Explain why the input node is not verified on being already
      	attached.
      	(Delete_Finalize_Address): New routine.
      	(Detach): Add pragma Assert which ensures that a node is already
      	attached.
      	(Finalize): Add local variable Cleanup. Rewrite the iteration scheme
      	since nodes are no longer removed on traversal. Explain why node
      	detachment is undesirable in this case.
      	(Get_Finalize_Address): New routine.
      	(Hash): New routine.
      	(Is_Empty_List): Removed.
      	(pm): Renamed to Print_Master. Add output for discriminant
      	Is_Homogeneous.
      	Comment reformatting.
      	(Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
      	* s-finmas.ads: Various comments additions / improvements.
      	Type Finalization_Master has a discriminant which determines the mode of
      	operation.
      	(Delete_Finalize_Address): New routine.
      	(Get_Finalize_Address): New routine.
      	(pm): Renamed to Print_Master.
      	(Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
      	* s-stposu.adb: Add with clause for System.Address_Image; Add with and
      	use clause for System.IO.
      	(Allocate_Any_Controlled): Add machinery to set TSS primitive
      	Finalize_Address depending on the mode of allocation and the mode of
      	the master.
      	(Deallocate_Any_Controlled): Remove the relation pair object -
      	Finalize_Address regardless of the master mode. Add comment explaining
      	the reason.
      	(Detach): Ensure that fields Prev and Next are null after detachment.
      	(Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
      	scheme to check whether the list of subpools is empty. There is no
      	longer need to store the next subpool or advance the current pointer.
      	(Is_Empty_List): New routine.
      	(Print_Pool): New routine.
      	(Print_Subpool): New routine.
      	* s-stposu.ads: Various comments additions / improvements.
      	Field Master of type Root_Subpool is now a heterogeneous collection.
      	(Print_Pool): New routine.
      	(Print_Subpool): New routine.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
      	forms, using aspects of container types.
      	* sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
      	Has_Implicit_Dereference flags, that may be set on the partial view.
      	* sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
      	container type with an indexing aspect.
      	(Analyze_Quantified_Expression): Analyze construct with expansion
      	disabled, because it will be rewritten as a loop during expansion.
      	(Try_Container_Indexing): The prefix itself may be a container type
      	with an indexing aspect, as with a vector of vectors.
      	* sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
      	the original doamin of iteration, for name capture.
      	(Analyze_Iterator_Specification): If the domain is an expression that
      	needs finalization, create a separate declaration for it.
      	For an iterator with "of" retrieve default iterator info from aspect of
      	container type. For "in" iterator, retrieve type of Iterate function.
      	* sem_ch13.adb (Check_Iterator_Function): Fix typo.
      	(Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
      	analysis, to prevent spurious errors about late attributes.
      	* sprint.adb: Handle quantified expression with either loop or iterator
      	specification.
      	* a-convec.ads, a-convec.adb: Iterate function returns a reversible
      	iterator.
      
      From-SVN: r178235
      Arnaud Charlet committed
    • 2011-08-29 Paolo Carlini <paolo.carlini@oracle.com> · 9fdf1422
      	* Tweak last ChangeLog entry.
      
      From-SVN: r178234
      Paolo Carlini committed
    • [multiple changes] · ddf67a1d
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
      	Binder or Linker of the main project file.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
      	unit.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch9.adb: Partial revert of previous change for Alfa mode
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch11.adb: Minor expansion of comment.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
      	interpretation, set the type before resolving the operands, because
      	legality checks on an exponention operand need to know the type of the
      	context.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
      	cleanups on a master if the instance is within a generic unit.
      	Complement to the corresponding fix to inline.adb for K520-030.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
      	occurrence.
      	* exp_intr.adb: Minor comment fix.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
      	Delay_Required was used as an uninitialized variable.
      
      From-SVN: r178233
      Arnaud Charlet committed
    • a-cdlili.adb, [...]: Minor reformatting. · 690943fc
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
      	sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
      	a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
      
      From-SVN: r178232
      Robert Dewar committed
    • re PR libstdc++/50118 (node-based containers cannot use allocators with explicit… · ff15f019
      re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template)
      
      2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/50118
      	* include/bits/stl_list.h (_List_base<>::
      	_List_base(const allocator_type&)): Remove.
      	(_List_base<>::_List_base(const _Node_alloc_type&)): Add.
      	(list<>:list(const allocator_type&), list(size_type, const
      	value_type&, const allocator_type&),
      	list(initializer_list<, const allocator_type&),
      	list(_InputIterator, _InputIterator, const allocator_type&),
      	insert(iterator, size_type, const value_type&),
      	insert(iterator, _InputIterator, _InputIterator)): Adjust.
      	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
      	const allocator_type&)): Fix.
      	* include/bits/stl_map.h (map<>::map(const _Compare&,
       	const allocator_type&), map(initializer_list<>,
      	const _Compare&, const allocator_type&), map(_InputIterator,
      	_InputIterator, const _Compare&, const allocator_type&),
      	get_allocator): Adjust.
      	* include/bits/stl_set.h (set<>::set(const _Compare&,
       	const allocator_type&), set(initializer_list<>,
      	const _Compare&, const allocator_type&), set(_InputIterator,
      	_InputIterator, const _Compare&, const allocator_type&),
      	get_allocator): Likewise.
      	* include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
       	const allocator_type&), multimap(initializer_list<>,
      	const _Compare&, const allocator_type&), multimap(_InputIterator,
      	_InputIterator, const _Compare&, const allocator_type&),
      	get_allocator): Likewise.
      	* include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
       	const allocator_type&), multiset(initializer_list<>,
      	const _Compare&, const allocator_type&), multiset(_InputIterator,
      	_InputIterator, const _Compare&, const allocator_type&),
      	get_allocator): Likewise.
      	* include/bits/forward_list.h (_Fwd_list_base<>::
      	_Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
      	const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
      	Remove.
      	(_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
      	_Fwd_list_base(const _Fwd_list_base&,
      	const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
      	const _Node_alloc_type&)): Add.
      	(forward_list<>::forward_list(const _Alloc&),
      	forward_list(const forward_list&, const _Alloc&),
      	forward_list(forward_list&&, const _Alloc&),
      	forward_list(size_type, const _Tp&, const _Alloc&),
      	forward_list(_InputIterator, _InputIterator, const _Alloc&),
      	forward_list(std::initializer_list<>, const _Alloc&),
      	get_allocator): Adjust.
      	* include/bits/forward_list.tcc
      	* testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/5.cc: New.
      	* testsuite/23_containers/multimap/requirements/
      	explicit_instantiation/5.cc: Likewise.
      	* testsuite/23_containers/multimap/requirements/
      	explicit_instantiation/5_c++0x.cc: Likewise.
      	* testsuite/23_containers/set/requirements/explicit_instantiation/
      	5.cc: Likewise.
      	* testsuite/23_containers/set/requirements/explicit_instantiation/
      	5_c++0x.cc: Likewise.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/5.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/
      	explicit_instantiation/5.cc: Likewise.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/5.cc: Likewise.
      	testsuite/23_containers/multiset/requirements/explicit_instantiation/
      	5.cc: Likewise.
      	* testsuite/23_containers/multiset/requirements/
      	explicit_instantiation/5_c++0x.cc: Likewise.
      	* testsuite/23_containers/list/requirements/explicit_instantiation/
      	5_c++0x.cc: Likewise.
      	* testsuite/23_containers/list/requirements/explicit_instantiation/
      	5.cc: Likewise.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/5.cc: Likewise.
      	* testsuite/23_containers/map/requirements/explicit_instantiation/
      	5.cc: Likewise.
      	* testsuite/23_containers/map/requirements/explicit_instantiation/
      	5_c++0x.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	assign_neg.cc: Adjust dg-error line number.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	insert_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      
      From-SVN: r178230
      Paolo Carlini committed
    • system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True. · 9f0ee988
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
      	Remove unused variables.
      
      From-SVN: r178229
      Thomas Quinot committed
    • [multiple changes] · 3e24afaa
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb: Remove Build_Explicit_Dereference.
      	* sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
      	from sem_res.adb, used in analysis of additional constructs.
      	(Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
      	expansion of iterators.
      	(Is_Object_Reference): Recognize variables rewritten as explicit
      	dereferences in Ada2012.
      	* snames.ads-tmpl: Add Has_Element, Forward_Iterator,
      	Reversible_Iterator names, for expansion of Ada2012 iterators.
      	* aspects.ads, aspects.adb (Find_Aspect): Utility.
      	* a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
      	linked list container.
      	* a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
      	* a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
      	containers.
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Gnatmake): Get the maximum number of simultaneous
      	compilation processes after the Builder switches has been scanned, as
      	there may include -jnn.
      
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
      	GNAT_DRIVER_COMMAND_LINE to 255.
      
      2011-08-29  Pascal Obry  <obry@adacore.com>
      
      	* freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
      	reformatting and style fix (class attribute casing).
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch11.adb: Yet another case where expansion should be common
      	between CodePeer and Alfa.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch9.adb: Partial revert of previous change for Alfa mode.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Matches_Limited_With_View): The limited views of an
      	incomplete type and its completion match.
      
      From-SVN: r178228
      Arnaud Charlet committed
    • [multiple changes] · 3ddd922e
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch13.adb: Adjust previous change.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
      	exp_ch4.adb, sem_ch8.adb: Minor code reorganization
      	Minor reformatting.
      
      From-SVN: r178226
      Arnaud Charlet committed
    • [multiple changes] · 444acbdd
      2011-08-29  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
      	initialize aggregated projects.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
      	depth of candidates to resolve a potentially spurious ambiguity between
      	two visible subprograms.
      
      From-SVN: r178225
      Arnaud Charlet committed
    • [multiple changes] · e0296583
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
      	Requires/Ensures.
      	* sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
      	Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
      	Requires/Ensures.
      
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
      	Add comment.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_res.adb: Minor reformatting.
      
      From-SVN: r178224
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA mode. · 69794413
      2011-08-29  Johannes Kanig  <kanig@adacore.com>
      
      	* exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
      	mode.
      	* gnat1drv.adb (Adjust_Global_Switches): Set
      	Use_Expressions_With_Actions to False in ALFA mode.
      	* sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
      	ALFA mode.
      
      From-SVN: r178223
      Johannes Kanig committed
    • [multiple changes] · 59e6b23c
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
      	* exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
      	* gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
      	tagged types and dispatching calls in Alfa mode.
      
      2011-08-29  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
      	we do not report an error on an Empty node.
      
      2011-08-29  Geert Bosch  <bosch@adacore.com>
      
      	* Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
      	a-nlrear.o and a-nurear.o.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb: Minor code reorganization.
      	Minor reformatting.
      	* sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
      	sem_ch6.adb: Minor reformatting
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-except.ads, s-except.adb: Provide dummy body.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_warn.adb (Within_Postcondition): Take into account the case of
      	an Ensures component in a Test_Case.
      
      From-SVN: r178222
      Arnaud Charlet committed
    • [multiple changes] · 4d792549
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
      	* rtsfind.ads (RTU_Id): Replaces System_Exceptions by
      	System_Exceptions_Debug
      	(RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
      	* a-except.adb: With and use System.Exceptions_Debug instead of
      	System.Exceptions.
      	* a-except-2005.adb: Likewise.
      	* s-assert.adb: Likewise.
      	* s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
      	* Makefile.rtl: Add s-excdeb.  Adjust compilation rule.
      	* gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
      	s-excdeb. Update dependencies.
      	(GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
      	as these no longer need external libraries.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Op_Expon): Additional check to reject an
      	exponentiation operator on universal values in a context that requires
      	a fixed-point type.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* raise-gcc.c (personnality_routine): Fix thinko.  Set Ada occurrence
      	before calling notify_handled_exception.
      	* a-exextr.adb: Fix comment.
      
      From-SVN: r178221
      Arnaud Charlet committed
    • [multiple changes] · b254da66
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
      	Finalize_Address of the access type's finalization master.
      	(Expand_N_Allocator): Add code to set attribute Finalize_Address of the
      	access type's finalization master. Add a guard to prevent
      	Associated_Storage_Pool from being set on .NET/JVM.
      	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
      	attribute Finalize_Address of the access type's finalization master.
      	* exp_ch7.adb (Make_Finalize_Address_Call): New routine.
      	* exp_ch7.ads (Make_Finalize_Address_Call): New routine.
      	* rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
      	RE_Unit_Table.
      	* s-finmas.adb: Add with clause for System.Address_Image. Add with and
      	use clause for System.IO
      	(Detach): Relax the assertion, to be reinstated later.
      	(Finalize): Rewrite the iteration loop to avoid pointer comparison.
      	Relax the assertion on Finalize_Address, to be reinstated later.
      	(Is_Empty_List): New routine.
      	(pm): New debug routine.
      	(Set_Finalize_Address): New routine.
      	* s-finmas.ads (pm): New debug routine.
      	(Set_Finalize_Address): New routine.
      	* s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
      	Remove convention C.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
      	(Initialize_TCB): Remove Exc_Stack_Ptr initialization.
      	(Finalize_TCB): Remove its finalization.
      	(Initialize): Remove assignment of GET_Exc_Stack_Addr
      	* s-soflin.adb (NT_Exc_Stack): Remove
      	(Get_Exc_Stack_Addr_NT): Likewise.
      	(Get_Exc_Stack_Addr_Soft): Likewise.
      	* s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
      	(Get_Exc_Stack_Addr): Likewise.
      	(Get_Exc_Stack_Addr_Soft): Likewise
      	* s-taspri-vms.ads (Exc_Stack_T): Remove.
      	(Exc_Stack_Ptr_T): Likewise.
      	(Private_Data): Remove Exc_Stack_Ptr component.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* raise-gcc.c (get_ip_from_context): New function. Factorize code.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
      
      2011-08-29  Geert Bosch  <bosch@adacore.com>
      
      	* s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
      	L2_Norm, Swap_Column): New generic subprograms
      	* s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
      	L2_Norm, Swap_Column): Implement new subprograms in order to
      	eliminate dependency on BLAS and LAPACK libraries in
      	Ada.Numerics.Generic_Real_Arrays and eventually also the complex
      	version. Forward_Eliminate/Back_Substitute can be used to put a
      	matrix in row echelon or reduced row echelon form using partial
      	pivoting.
      	* a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
      	Swap_Column): Instantiate from System.Generic_Array_Operations.
      	("*", "abs"): Implement by instantiation from Generic_Array_Operations.
      	(Sqrt): Local function for simple computation of square root without
      	adding dependencies on Generic_Elementary_Functions.
      	(Swap): New subprogram to exchange floating point numbers.
      	(Inverse): Reimplement using Jordan-Gauss elimination.
      	(Jacobi): New procedure implementing Jacobi's method for computation
      	of eigensystems, based on Rutishauser's implementation.
      	(L2_Norm): Implement directly using the inner product.
      	(Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
      	decreasing eigenvalue as required by the Ada RM.
      	(Swap_Column): New helper procedure for Sort_Eigensystem.
      	Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
      	Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
      	Sort_Eigensystems.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* put_scos.adb (Put_SCOs): Do not emit a newline for an empty
      	statements line.
      
      From-SVN: r178220
      Arnaud Charlet committed
    • [multiple changes] · 60370fb1
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-finmas.adb (Finalize): Check Finalize_Address of the master rather
      	than the current node.
      	* s-finmas.ads: Move field Finalize_Address from type FM_Node to
      	Finalization_Master. The list headers have two fields instead of three.
      	This should fix alignment issue but subpool allocations are now
      	unusable. Alphabetize subprograms.
      	* s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
      	the size of the header when converting the beginning of the object to
      	a FM_Node. Set the master's Finalize_Address attribute if not already
      	set.
      	(Deallocate_Any_Controlled): Use the offset rather than the size of the
      	header when converting the beginning of the object to a FM_Node.
      
      2011-08-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
      	reraise when compiling for CodePeer.
      
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
      	now needed by a-convec.adb. Fix warning.
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
      	processing of TSS routine Finalize_Address when compiling in
      	CodePeer_Mode.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
      	sem_warn.adb: Minor reformatting.
      
      2011-08-29  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-conf.adb (Get_Config_Switches): Also collect the list of
      	languages from aggregated projects.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
      	Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
      	Traverse_Package_Declaration, Traverse_Subprogram_Body,
      	Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
      	for stubs are traversed too when parameter is set
      	(Traverse_All_Compilation_Units): Traverse without going inside stubs
      	(Traverse_Declarations_Or_Statements): Do the special traversing for
      	stubs when required.
      	* sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
      	return subprogram or package body from stub.
      	(Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
      	stubs without prior subprogram decl.
      
      2011-08-29  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* gnat_ugn.texi: Fix typo.
      
      From-SVN: r178219
      Arnaud Charlet committed
    • s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism which accounts… · e9c9d122
      s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism which accounts for size vs alignment issues and...
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
      	which accounts for size vs alignment issues and calculates the size of
      	the list header.
      	(Deallocate_Any_Controlled): Ditto.
      	(Nearest_Multiple_Rounded_Up): New routine.
      
      From-SVN: r178218
      Hristian Kirtchev committed
    • Handle different versions of Solaris 8 <iso/math_iso.h>, <iso/stdlib_iso.h> · 09fae88d
      	* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
      	(GLIBCXX_CHECK_STDLIB_PROTO): New tests.
      	* configure.ac (GLIBCXX_CHECK_MATH_PROTO)
      	(GLIBCXX_CHECK_STDLIB_PROTO): Call them.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      	* config/os/solaris/solaris2.8/os_defines.h
      	(__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
      	* config/os/solaris/solaris2.9: Remove.
      	* configure.host (solaris2.8): Merge with ...
      	(solaris2.9, solaris2.1[0-9]): ... this.
      	Always use os/solaris/solaris2.8.
      
      From-SVN: r178217
      Rainer Orth committed
    • [multiple changes] · 25ebc085
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
      	* a-exexda.adb (Set_Exception_C_Msg): Ditto.
      	(Set_Exception_Msg): Ditto.
      	* a-exexpr-gcc.adb (Setup_Current_Excep): Ditto.  Do not set
      	Private_Data.
      	* a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
      	Use Save_Occurrence instead of Save_Occurrence_No_Private.
      	(Raise_With_Msg): Remove Cleanup_Flag.
      	* a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
      	Clean_Flag and Private_Data components.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
      	in CodePeer mode.
      	* sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
      	of an explicitly declared type, so that the base types of the original
      	type and this generated type are the same, and a "type" (not a subtype
      	like previously).
      	* errout.adb (Special_Msg_Delete): Do not issue messages "Size too
      	small" in Alfa mode, like in CodePeer mode.
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
      	clauses in Alfa mode.
      
      2011-08-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
      	function to the package spec.
      	* sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
      	internally generated bodies of null procedures locate the internally
      	generated spec enforcing mode conformance.
      	(Is_Interface_Conformant): Ensure that the controlling formal of the
      	primitives match.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
      	reject the pragma if it appears to apply to a formal subprogram.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
      	inner expression, to prevent double evaluation.
      
      From-SVN: r178216
      Arnaud Charlet committed
    • [multiple changes] · 590549fb
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr.adb (Propagate_Exception): Remove all the parameters as
      	they were unused.
      	* a-exexpr-gcc.adb (Propagate_Exception): Ditto.
      	* a-except-2005.adb (Propagate_Exception): Adjust spec.
      	(Raise_Current_Excep): Adjust call.
      	(Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_disp.adb: Minor reformatting.
      
      From-SVN: r178215
      Arnaud Charlet committed
    • a-exexpr.adb (Setup_Exception): Removed. · 62380e66
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr.adb (Setup_Exception): Removed.
      	* a-exexpr-gcc.adb (Setup_Exception): Removed.
      	* a-except.adb (Exception_Propagation): Removed.
      	* a-except-2005.adb (Setup_Exception): Removed.
      	(Reraise): Remove call to Setup_Exception.
      	(Reraise_Occurrence): Ditto.
      	(Reraise_Occurrence_Always): Ditto.
      	(Reraise_Occurrence_No_Defer): Ditto.
      	(Transfer_Occurrence): Ditto.
      	* a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
      	(Set_Exception_Msg): Ditto.
      
      From-SVN: r178214
      Tristan Gingold committed
    • [multiple changes] · c95aa61c
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-convec.adb, exp_disp.adb: Minor reformatting.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
      
      From-SVN: r178213
      Arnaud Charlet committed
    • [multiple changes] · 624e1688
      2011-08-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
      	Exception_Handlers to No_List instead of Empty_List in the case where
      	there are no handlers.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* gcc-interface/gigi.h (enum standard_datatypes): Add
      	ADT_reraise_zcx_decl
      	(reraise_zcx_decl): New macro.
      	* gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
      	(gigi): Set reraise_zcx_decl.
      	(Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
      	(gnat_to_gnu): Handle N_Raise_Statement.
      
      From-SVN: r178212
      Arnaud Charlet committed
    • [multiple changes] · 7134062a
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
      	a-undesu.adb: Minor reformatting.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_disp.adb (Check_Premature_Freezing): When building a dispatch
      	table, accept an unfrozen untagged component if it is an actual for a
      	formal incomplete type.
      	* a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
      	provide new iterator forms over vectors.
      	Introduce type Iterator in package body to implement operations of
      	Reversible_Iterator interface.
      	* a-iteint.ads: Make package pure so it is usable with new container
      	packages, that are categorized Remote_Types.
      
      From-SVN: r178211
      Arnaud Charlet committed
    • 20011-08-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com> · 544d960a
      	Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (constant_boolean_node): Adjust prototype.
      	* fold-const.c (fold_convert_loc): Move aggregate conversion
      	leeway down.
      	(constant_boolean_node): Make value parameter boolean, add
      	vector type handling.
      	(fold_unary_loc): Use constant_boolean_node.
      	(fold_binary_loc): Preserve types properly when folding
      	COMPLEX_EXPR <__real x, __imag x>.
      	* gimplify.c (gimplify_expr): Handle vector comparison.
      	* tree.def (EQ_EXPR, ...): Document behavior on vector typed
      	comparison.
      	* tree-cfg.c (verify_gimple_comparison): Verify vector typed
      	comparisons.
      
      From-SVN: r178209
      Artjoms Sinkarovs committed
    • re PR middle-end/48722 (ICE in df_refs_verify() with -mno-push-args) · 776bebcd
      	PR middle-end/48722
      	* emit-rtl.c (unshare_all_rtl_again): For CALL_INSNs,
      	reset_used_flags also in CALL_INSN_FUNCTION_USAGE.
      	(verify_rtl_sharing): Likewise and verify_rtx_sharing
      	in there too.
      	(unshare_all_rtl_in_chain): For CALL_INSNs
      	copy_rtx_if_shared also CALL_INSN_FUNCTION_USAGE.
      
      	* gcc.target/i386/pr48722.c: New test.
      
      From-SVN: r178208
      Jakub Jelinek committed
    • Code clean up. · 8934a584
      From-SVN: r178206
      Arnaud Charlet committed
    • [multiple changes] · ca5af305
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
      	of <>, because this is the routine that checks for dimensionality
      	errors (for example, for a two-dimensional array, (others => <>) should
      	be (others => (others => <>)).
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* impunit.adb: Add new run-time units.
      	* freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
      	s-stposu.ads, s-stposu.adb: Code clean up.
      	Handle protected class-wide or task class-wide types
      	Handle C/C++/CIL/Java types.
      	* s-spsufi.adb, s-spsufi.ads: New files.
      
      From-SVN: r178205
      Arnaud Charlet committed
    • [multiple changes] · 5accd7b6
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
      	library-level subprogram.
      	* sem_prag.adb (Check_Test_Case): Stricter rules for test-case
      	placement.
      	(Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
      	component.
      	* snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
      	component.
      	* gnat_rm.texi: Update doc for Test_Case pragma.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
      	convention C.
      	(GCC_Exception_Access): New type.
      	(Unwind_DeleteException): New imported procedure
      	(Foreign_Exception): Import it.
      	(GNAT_GCC_Exception): Simply have the occurrence inside.
      	(To_GCC_Exception): New function.
      	(To_GNAT_GCC_Exception): New function.
      	(GNAT_GCC_Exception_Cleanup): New procedure..
      	(Propagate_GCC_Exception): New procedure.
      	(Reraise_GCC_Exception): New procedure.
      	(Setup_Current_Excep): New procedure.
      	(CleanupUnwind_Handler): Change type of UW_Exception parameter.
      	(Unwind_RaiseException): Ditto.
      	(Unwind_ForcedUnwind): Ditto.
      	(Remove): Removed.
      	(Begin_Handler): Change type of parameter.
      	(End_Handler): Ditto. Now delete the exception if still present.
      	(Setup_Key): Removed.
      	(Is_Setup_And_Not_Propagated): Removed.
      	(Set_Setup_And_Not_Propagated): Ditto.
      	(Clear_Setup_And_Not_Propagated): Ditto.
      	(Save_Occurrence_And_Private): Ditto.
      	(EID_For): Add 'not null' constraint on parameter.
      	(Setup_Exception): Does nothing.
      	(Propagate_Exception): Simplified.
      	* exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
      	re-raise is not expanded anymore.
      	* s-except.ads (Foreign_Exception): New exception - placeholder for
      	non Ada exceptions.
      	* raise-gcc.c (__gnat_setup_current_excep): Declare
      	(CXX_EXCEPTION_CLASS): Define (not yet used)
      	(GNAT_EXCEPTION_CLASS): Define.
      	(is_handled_by): Handle foreign exceptions.
      	(PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-synbar.adb (Synchronous_Barrier): Some additional clarification.
      
      From-SVN: r178204
      Arnaud Charlet committed
    • [multiple changes] · 2ef48385
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* a-synbar-posix.adb: Minor reformatting.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
      	a-exetim-default.ads (Interrupt_Clocks_Supported,
      	Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
      	definitions to be compliant with AI-0171. The target systems do not
      	support separate account for the execution time of interrupt handlers.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-synbar.adb (Wait): Change the order of evaluation of the conditions
      	in the barrier to put first the easiest to evaluate (and the one which
      	will be True more often). More efficient.
      
      2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-atocou-x86.adb: Fix constraint in machine code insertion.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* aspects.ads, aspects.adb: Add new aspects for various pragmas and
      	attributes that are now aspects, as specified by AI05-0229-1.
      	* sem_ch13.adb (Analyze_Aspect_Specifications,
      	Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
      	pragmas or attribute references, as appropriate.
      
      From-SVN: r178203
      Arnaud Charlet committed
    • [multiple changes] · 0db16b1e
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
      	a-synbar-posix.ads: Minor reformatting.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* snames.ads-tmpl: Add name Force.
      
      From-SVN: r178202
      Arnaud Charlet committed
    • [multiple changes] · 978ffe02
      2011-08-29  Pascal Obry  <obry@adacore.com>
      
      	* prj-nmsc.adb: Minor reformatting.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-exetim.ads (Interrupt_Clocks_Supported,
      	Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
      	definitions to be compliant with AI-0171.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-ngelfu.adb: Add comments.
      
      From-SVN: r178201
      Arnaud Charlet committed
    • [multiple changes] · 718f39dc
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-interr-hwint.adb: Revert previous patch (defer aborts in ZCX case).
      
      2011-08-29  Geert Bosch  <bosch@adacore.com>
      
      	* a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
      	the closest machine number to Pi / 2.0.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
      	package Ada.Synchronous_Barriers.
      	* a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
      	Add new specs and bodies for Ada.Synchronous_Barriers. There is a
      	default implementation using protected objects and another one
      	a-synbar-posix using POSIX barriers as the underlying support.
      	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
      	x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
      	Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
      	* Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
      
      From-SVN: r178200
      Arnaud Charlet committed
    • [multiple changes] · ee2e3f6b
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
      	exp_dist.adb: Minor code reorganization.
      	Minor reformatting.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
      	primitive operation must support external streaming if it is not a
      	controlling access result.
      
      From-SVN: r178199
      Arnaud Charlet committed