1. 29 Aug, 2011 40 commits
    • [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
    • [multiple changes] · 646e2823
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sinfo.ads, sem_ch7.adb: Minor reformatting.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
      	restriction on allocators, as required by AI05-0013-1.
      	* restrict.ads: Minor comment fix.
      
      From-SVN: r178198
      Arnaud Charlet committed
    • [multiple changes] · 5d59eef2
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
      	(To_Jmpbuf_Address): Ditto
      	(builtin_longjmp): Ditto
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_res.adb: Minor reformatting.
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Gnatmake): Move special processing for VM targets after the
      	call to Get_Target_Parameters.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch12.adb, par-ch12.adb: Minor reformatting.
      
      From-SVN: r178197
      Arnaud Charlet committed
    • [multiple changes] · 949a18cc
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
      	where an anonymous access discriminant of a limited designated type
      	appears in a non-immutably limited discriminated type and issue an
      	error message. Add local variable Desig_T and replace all occurrences
      	of Designated_Type.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-rttiev.adb (Set_Handler): Update comment to indicate that our
      	implementation is compliant to RM D.15(15/2) after the modification
      	imposed by AI05-0094-1 (binding interpretation).
      
      From-SVN: r178196
      Arnaud Charlet committed
    • [multiple changes] · cb25faf8
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
      	s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* par-endh.adb (Check_End): For an END where it is mandatory to repeat
      	the scope name, do not report a missing label as a style violation (it
      	will be diagnosed as an illegality).
      	* exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
      	variant records: Get_Enum_Lit_From_Pos already returns a usage
      	occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
      	on Expr in Integer_Literal case so that it can be used by
      	Build_To_Any_Call.
      
      From-SVN: r178195
      Arnaud Charlet committed
    • [multiple changes] · 1d10f669
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
      	Adjust comment.
      	* exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
      	(Build_Abort_Block_Handler): New function to build an Abort_Signal
      	exception handler.
      	* exp_ch9.adb (Expand_N_Asynchronous_Select): Call
      	Build_Abort_Block_Handler to build the exception handler. Do not
      	undefer aborts for the Abort_Signal exception handler if back-end
      	exception mechanism.
      	* exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
      	back_end exceptions for all others and abort_signal.
      	* s-except.ads (ZCX_By_Default): New constant.
      	* a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
      	(Raise_Exception_Always): Ditto.
      	(Raise_From_Signal_Handler): Ditto.
      	(Raise_With_Location_And_Msg): Ditto.
      	(Raise_With_Msg): Ditto.
      	(Reraise): Ditto.
      	(Reraise_Occurence): Ditto.
      	(Reraise_Occurrence_Always): Ditto.
      	* s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
      	* s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
      	* s-interr-hwint.adb (Interrupt_Manager): Defer abort if ZCX.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
      
      From-SVN: r178194
      Arnaud Charlet committed
    • trans-decl.c (generate_coarray_sym_init): Use GFC_CAF_COARRAY_STATIC for static coarrays. · 86187d0f
      gcc/fortran/
      2011-08-29  Tobias Burnus  <burnus@net-b.de>
      
              * trans-decl.c (generate_coarray_sym_init): Use
              GFC_CAF_COARRAY_STATIC for static coarrays.
      
      libgfortan/
      2011-08-29  Tobias Burnus  <burnus@net-b.de>
      
              * caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
              * caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
              actually free memory and add error diagnostic.
              (_gfortran_caf_finalize): Add additional free calls.
              * caf/single.c (_gfortran_caf_deregister): Modify prototype,
              actually free memory and add error diagnostic.
              (_gfortran_caf_finalize): Add additional free calls.
      
      From-SVN: r178193
      Tobias Burnus committed
    • [multiple changes] · d986066d
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* snames.adb-tmpl, sem_ch13.adb: Minor reformatting
      	Minor code reorganization.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
      	2012, not just Ada 2005.
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
      	with a project file or with gprbuid, if -gnatep= is specified, the
      	builder may need to be invoked with -x.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr-gcc.adb: Minor comment fix.
      
      From-SVN: r178192
      Arnaud Charlet committed
    • [multiple changes] · ff4f0ed0
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch8.adb: Minor reformatting.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
      	* par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
      	treating "some" as unreserved in earlier Ada versions. This is now
      	handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
      	rather than Name_Some, since Tok_Some is now recognized as reserved.
      	* scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
      	reserved word.
      	* scans.ads: Minor comment fixes.
      	* snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
      	for other language versions.
      	* scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
      	treating "some" as unreserved in earlier Ada versions. This is now
      	handled in Snames.Is_Keyword_Name.
      	* par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
      	Ada 2012.
      	(P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
      	unreserved in earlier Ada versions. This is now handled in
      	Snames.Is_Keyword_Name.
      	* snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
      	words as for other language versions.
      	* gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
      	Ada 2012, not just Ada 2005.
      
      From-SVN: r178191
      Arnaud Charlet committed
    • [multiple changes] · d941cee6
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb: Additional semantic checks for aspects involved in
      	iterators.
      
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
      	a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
      	Container parameter.
      	(Ancestor_Find): ditto.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* par-endh.adb: Minor reformatting.
      
      From-SVN: r178190
      Arnaud Charlet committed
    • par-endh.adb: Minor reformatting. · b970af39
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* par-endh.adb: Minor reformatting.
      
      From-SVN: r178189
      Thomas Quinot committed
    • [multiple changes] · 92db5dee
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
      	(GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
      	(Adjust_N_CLeanups_For): Remove.
      	(CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
      	stack is reached.
      	(Propgate_Exception): Adjust.
      	* raise-gcc.c: Add a few static/const.
      	(Adjust_N_Cleanups_For): Remove declaration.
      	(PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb: Use type of function return when rewriting as object
      	declaration.
      
      From-SVN: r178188
      Arnaud Charlet committed
    • [multiple changes] · 1378bf10
      2011-08-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_type.adb: Minor reformatting.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* makeutl.adb: Minor reformatting.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
      	function call of a limited type, the expansion of the renaming is
      	complicated by the presence of various temporaries and subtypes that
      	capture constraints of the renamed object.
      	Rewrite node as an object declaration, whose expansion is simpler.
      	Given that the object is limited there is no copy involved and no
      	performance hit.
      
      From-SVN: r178187
      Arnaud Charlet committed
    • [multiple changes] · 164e06c6
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
      	freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
      	system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
      	system-linux-hppa.ads, system-linux-s390.ads,
      	system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
      	system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
      	system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
      	system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
      	system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
      	system-solaris-sparc.ads, system-lynxos-x86.ads,
      	system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
      	system-solaris-x86_64.ads, system-mingw-x86_64.ads,
      	system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
      	system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
      	system-vxworks-x86.ads: Remove GCC_ZCX_Support
      	* s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
      	s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
      	* opt.ads: Adjust comment.
      	* targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
      	* gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
      	* system.ads: Move GCC_ZCX_Support to obsolete entries.
      
      2011-08-29  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb (Do_Complete): Resolve symbolic links when a relative
      	file name is specified on the gnatmake or gprbuild command line, and
      	before we search for that file in the project.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Within_Instance): New predicate in Collect_Interps,
      	used to determine whether a possible interpretation for an overloadable
      	entity is declared within the current instantiation and should be
      	included in the candidate set.
      
      2011-08-29  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* gnat_rm.texi, gnat_ugn.texi: Clean ups.
      
      From-SVN: r178186
      Arnaud Charlet committed