1. 29 Aug, 2011 33 commits
    • 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
    • sem_res.adb (Resolve_Actuals): Use base type to determine whether an access… · 97216ca8
      sem_res.adb (Resolve_Actuals): Use base type to determine whether an access subtype is access_to_subprogram...
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Actuals): Use base type to determine whether an
      	access subtype is access_to_subprogram, when applying checks for
      	RM 3.10.2 (27).
      
      From-SVN: r178185
      Ed Schonberg committed
    • [multiple changes] · d3cb4cc0
      2011-08-29  Matthew Heaney  <heaney@adacore.com>
      
      	* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
      	for sibling when common parent.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
      	"pragma_".
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
      	for the return type when in ASIS mode.
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Gnatmake): Get the default search dirs, then the target
      	parameters after getting the Builder switches, as the Builder switches
      	may include --RTS= and that could change the default search dirs.
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
      	Make_Final_Call. Move the processing for class-wide types before the
      	processing for derivations from [Limited_]Controlled.
      	(Make_Final_Call): Move the processing for class-wide types before the
      	processing for derivations from [Limited_]Controlled.
      	* s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
      	Add code to account for alignments larger than the list header. Add a
      	comment illustrating the structure of the allocated object + padding +
      	header.
      	(Deallocate_Any_Controlled): Add code to account for alignments larger
      	than the list header.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sinfo.ads, sinfo.adb: New node kind
      	N_Formal_Incomplete_Type_Definition, related flags.
      	par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
      	Parse formal incomplete types.
      	* sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
      	sem_ch12.
      	* sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
      	Formal incomplete types do not need completion.
      	* sem_ch12.adb (Analyze_Formal_Incomplete_Type,
      	Validate_Incomplete_Type_Instance): New procedures to handle formal
      	incomplete types.
      	* freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
      	that corresponds to a formal incomplete type.
      	* sprint.adb: Handle formal incomplete type declarations.
      	* exp_util.adb (Insert_Actions): An incomplete_type_definition is not
      	an insertion point.
      
      From-SVN: r178184
      Arnaud Charlet committed
    • [multiple changes] · d3f70b35
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-fihema.ads, a-fihema.adb: Unit removed.
      	* a-undesu.ads, a-undesu.adb: New unit implementing
      	Ada.Unchecked_Deallocate_Subpool.
      	* einfo.adb: Remove Associated_Collection from the node usage.
      	Add Finalization_Master to the node usage.
      	(Associated_Collection): Removed.
      	(Finalization_Master): New routine.
      	(Set_Associated_Collection): Removed.
      	(Set_Finalization_Master): New routine.
      	(Write_Field23_Name): Remove Associated_Collection from the output. Add
      	Finalization_Master to the output.
      	* einfo.ads: Remove attribute Associated_Collection and its uses in
      	entities.
      	Add new attribute Finalization_Master along with its uses in entitites.
      	(Associated_Collection): Removed along with its pragma import.
      	(Finalization_Master): New routine along with a pragma import.
      	(Set_Associated_Collection): Removed along with its pragma import.
      	(Set_Finalization_Master): New routine along with a pragma import.
      	* exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
      	Build_Finalization_Collection with Build_Finalization_Master.
      	(Expand_Freeze_Record_Type): Move the generation of Finalize_Address
      	before the bodies of the predefined routines. Add comment explaining
      	this. Replace call to Build_Finalization_Collection with
      	Build_Finalization_Master.
      	(Freeze_Type): Replace call to Build_Finalization_Collection with
      	Build_Finalization_Master.
      	(Make_Finalize_Address_Body): Comment reformatting.
      	(Make_Predefined_Primitive_Specs): Code reformatting.
      	(Stream_Operation_OK): Update comment mentioning finalization
      	collections. Replace RE_Finalization_Collection with
      	RE_Finalization_Master.
      	* exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
      	Associated_Collection with Finalization_Master. Replace call to
      	Build_Finalization_Collection with Build_Finalization_Master.
      	(Expand_Allocator_Expression): Replace call to Associated_Collection
      	with Finalization_Master. Replace call to Set_Associated_Collection with
      	Set_Finalization_Master. Remove the generation of
      	Set_Finalize_Address_Ptr.
      	(Expand_N_Allocator): Replace call to Associated_Collection with
      	Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
      	* exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
      	Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
      	comment on usage. Replace call to Needs_BIP_Collection with
      	Needs_BIP_Finalization_Master Remplace BIP_Collection with
      	BIP_Finalization_Master. Update all comments which mention finalization
      	collections. Replace Associated_Collection with
      	Finalization_Master. Replace Build_Finalization_Collection with
      	Build_Finalization_Master.
      	(BIP_Formal_Suffix): Update BIP_Collection's case.
      	(Build_Heap_Allocator): Update the related comment. Rename local
      	variable Collect to Fin_Mas_Id and update its occurrences. Update
      	comments which mention finalization collections. Replace
      	Set_Associated_Collection with Set_Finalization_Master.
      	(Expand_Call): Update the code which detects a special piece of library
      	code for .NET/JVM.
      	(Make_Build_In_Place_Call_In_Allocator): Replace the call to
      	Add_Collection_Actual_To_Build_In_Place_Call with
      	Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
      	which generates a call to Make_Set_Finalize_Address_Ptr_Call.
      	(Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
      	Add_Collection_Actual_To_Build_In_Place_Call with
      	Add_Finalization_Master_Actual_To_Build_In_Place_Call.
      	(Make_Build_In_Place_Call_In_Assignment): Replace call to
      	Add_Collection_Actual_To_Build_In_Place_Call with
      	Add_Finalization_Master_Actual_To_Build_In_Place_Call.
      	(Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
      	* exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
      	(Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
      	* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
      	Rename local variable Collect to Fin_Mas_Id and update its occurrences.
      	Replace call to Set_Associated_Collection with Set_Finalization_Master.
      	(Build_Finalization_Collection): Renamed to Build_Finalization_Master.
      	Replace the call to Associated_Collection with Finalization_Master.
      	Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
      	Update the way finalization master names are generated. Update the
      	retrieval of the correct access type which will carry the pool and
      	master attributes.
      	(Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
      	(Make_Finalize_Address_Body): Abstract types do not need
      	Finalize_Address. Code reformatting.
      	(Make_Finalize_Address_Stmts): Update comment on usage.
      	(Make_Set_Finalize_Address_Ptr_Call): Removed.
      	(Process_Declarations): Update comments.
      	* exp_ch7.ads (Build_Finalization_Collection): Renamed to
      	Build_Finalization_Master. Update associated comment.
      	(Make_Set_Finalize_Address_Ptr_Call): Removed.
      	* exp_ch13.adb: Update comments which mention finalization collections.
      	(Expand_N_Free_Statement): Replace the call to Associated_Collection
      	with Finalization_Master.
      	* exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
      	create calls to routines Allocate_Any_Controlled and
      	Deallocate_Any_Controlled.
      	(Find_Finalize_Address): New routine.
      	(Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
      	comparison.
      	(Requires_Cleanup_Actions): Update the comment on freeze node
      	inspection.
      	* exp_util.ads: Remove comment on generated code for
      	Build_Allocate_Deallocate_Proc. The code is now quite complex and it
      	is better to simply look in the body.
      	* freeze.adb (Freeze_All): Update the comment of finalization
      	collections. Replace the call to Associated_Collection with
      	Finalization_Master. Replace the call to Build_Finalization_Collection
      	with Build_Finalization_Master.
      	* impunit.adb: Add a-undesu and s-stposu to the list of units.
      	* Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
      	a-fihema.
      	* rtsfind.adb (Get_Unit_Name): Remove the processing for children of
      	Ada.Finalization. Add processing for children of System.Storage_Pools.
      	* rtsfind.ads: Remove the naming of second level children of
      	Ada.Finalization.
      	Remove Ada_Finalization_Heap_Management from the list of units.
      	Remove subtype Ada_Finalization_Child.
      	Remove the following subprogram entities:
      	
      	   RE_Allocate
      	   RE_Deallocate
      	   RE_Finalization_Collection
      	   RE_Finalization_Collection_Ptr
      	   RE_Set_Finalize_Address_Ptr
      	
      	Add the naming of second level children of System.Storage_Pools.
      	Add System_Finalization_Masters and System_Storage_Pools_Subpools to
      	the list of units.
      	Add subtype System_Storage_Pools_Child.
      	Add the following subprogram entities to System.Finalization_Masters:
      	
      	   RE_Finalization_Master
      	   RE_Finalization_Master_Ptr
      	
      	Add the following subprogram entities to System.Storage_Pools.Subpools:
      	
      	   RE_Allocate_Any_Controlled
      	   RE_Deallocate_Any_Controlled
      	   RE_Root_Storage_Pool_With_Subpools
      	   RE_Root_Subpool
      	   RE_Subpool_Handle
      	
      	Move the following subprogram entities from
      	Ada.Finalization.Heap_Management to System.Finalization_Masters:
      	
      	   RE_Add_Offset_To_Address
      	   RE_Attach
      	   RE_Base_Pool
      	   RE_Detach
      	
      	* sem_ch3.adb (Access_Type_Declaration): Replace the call to
      	Set_Associated_Collection with Set_Finalization_Master.
      	* sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
      	BIP_Finalization_Master is created.
      	* s-finmas.adb: New unit System.Finalization_Masters.
      	* s-finmas.ads: New unit System.Finalization_Masters.
      	* s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
      	* s-stposu.ads, s-stposu.adb: New unit implementing
      	System.Storage_Pools.Subpools.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* tbuild.adb: Add assertion.
      
      From-SVN: r178183
      Arnaud Charlet committed
    • [multiple changes] · 8c889ae4
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* s-pooglo.adb: Minor reformatting.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
      	an indexed component of a packed array whose element type is a record
      	with a representation clause different from that of the right-hand
      	side, generate a temporary to minimuze the number of bit-field
      	operations generated.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.adb (Insert_Actions): Use clauses can be part of lists of
      	declarations, and thus are likely insertion points for actions.
      
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* einfo.ads: Minor comment fix.
      
      From-SVN: r178182
      Arnaud Charlet committed
    • [multiple changes] · 1a07a71a
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* frontend.adb, gnat1drv.adb: Minor reformatting.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
      	* a-fihema.adb (Allocate, Deallocate): Ditto.  Possibly add padding
      	space in front of the header.
      
      From-SVN: r178181
      Arnaud Charlet committed
    • frontend.adb (Frontend): Exit after creating Standard package when -gnatd.H is present. · 4bcd6411
      2011-08-29  Johannes Kanig  <kanig@adacore.com>
      
      	* frontend.adb (Frontend): Exit after creating Standard package when
      	-gnatd.H is present.
      	* gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
      	present.
      
      From-SVN: r178180
      Johannes Kanig committed
    • exp_ch9.adb, [...]: Minor reformatting. · f0f88eb6
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
      	makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
      	snames.ads-tmpl: Minor reformatting.
      
      From-SVN: r178179
      Robert Dewar committed
    • prj.adb (Reset_Units_In_Table): New procedure. · 3e37be71
      2011-08-29  Philippe Gil  <gil@adacore.com>
      
      	* prj.adb (Reset_Units_In_Table): New procedure.
      	Reset units to avoid access to freed memory.
      
      From-SVN: r178178
      Philippe Gil committed
    • [multiple changes] · 94fb7608
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* get_scos.adb: When reading a P statement SCO without a pragma name
      	(from an older ALI file), ensure that the Pragma_Name component is set
      	to Unknown_Pragma (not left uninitialized).
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
      	modified to compute correctly the object path of a SAL project that is
      	extending another library project.
      	(Write_Path_File): New procedure.
      	* makeutl.ads (Directories): New table moved from Buildgpr
      	(Get_Directories): New procedure moved from Buildgpr
      	(Write_Path_File): New procedure
      	* mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
      	paths before binding SALs, instead of Set_Ada_Paths.
      	* prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
      	Prj.
      	* prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
      	(Current_Source_Path_File_Of): New function
      	(Set_Current_Object_Path_File_Of): New procedure
      	(Current_Source_Object_File_Of): New function
      	(Set_Current_Object_Path_File_Of): New procedure
      	* prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
      	(Current_Source_Path_File_Of): New function
      	(Set_Current_Object_Path_File_Of): New procedure
      	(Current_Source_Object_File_Of): New function
      	(Set_Current_Object_Path_File_Of): New procedure
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
      	packed entity, use a bit-field assignment only if there is no change of
      	representation.
      
      From-SVN: r178177
      Arnaud Charlet committed
    • [multiple changes] · c5ecd6b7
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
      	Is_RTU instead of using Chars comparisons.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
      	temporary object if the actual is constrained, and the discriminants
      	read from the stream don't match.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* sem_attr.adb, exp_attr.adb: Add handling of
      	Attribute_System_Allocator_Alignment
      	* snames.ads-tmpl: Add Name_System_Allocator_Alignment and
      	Attribute_System_Allocator_Alignment.
      	* ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
      	* gcc-interface/targtyps.c, gcc-interface/utils2.c,
      	gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
      	get_target_system_allocator_alignment.
      
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
      	dependencies.
      
      From-SVN: r178176
      Arnaud Charlet committed
    • re PR libfortran/50192 (Wrong character comparision with wide strings) · e7898e54
      2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/50192
      	* intrinsics/string_intrinsics.c (memcmp_char4):  New function.
      	* intrinsics/string_intrinsics_inc.c:  New macro MEMCMP, either
      	set to memcmp or memcmp_char4.
      	(compare_string):  Use MEMCMP, with correct size for it.
      	* libgfortran.h:  Add prototype for memcmp_char4.
      
      2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/50192
      	* gfortran.dg/widechar_compare_1.f90:  New test.
      
      From-SVN: r178173
      Thomas Koenig committed
    • gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location on the built ADDR_EXPR. · 4d59a001
      2011-08-29  Richard Guenther  <rguenther@suse.de>
      
      	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location
      	on the built ADDR_EXPR.
      
      From-SVN: r178172
      Richard Guenther committed
    • exp_ch3.adb (In_Runtime): Fix typo. · 8abdac29
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch3.adb (In_Runtime): Fix typo.
      
      From-SVN: r178171
      Arnaud Charlet committed
    • [multiple changes] · df170605
      2011-08-29  Bob Duff  <duff@adacore.com>
      
      	* sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
      	and a separate tag assignment is generated, ensure that the tag
      	assignment is analyzed.
      
      From-SVN: r178170
      Arnaud Charlet committed
    • atree.ads, atree.adb (Copy_Separate_List): New function that applies… · 864a4236
      atree.ads, atree.adb (Copy_Separate_List): New function that applies Copy_Separate_Tree to a list of nodes.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* atree.ads, atree.adb (Copy_Separate_List): New function that applies
      	Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
      	of statement lists that may contain local declarations.
      	(Expand_N_Timed_Entry_Call): Use Copy_Separate_List to duplicate the
      	triggering statements needed for the expansion of this construct, when
      	the trigger is a dispatching call to a synchronized primitive.
      
      From-SVN: r178169
      Ed Schonberg committed
    • gnat_rm.texi: Add doc for 'Elab_Subp_Body. · 7f394c1d
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_rm.texi: Add doc for 'Elab_Subp_Body.
      	* bindgen.adb: Add comments.
      	* snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
      	in CodePeer mode.
      
      From-SVN: r178168
      Arnaud Charlet committed
    • re PR debug/50215 (FAIL: gcc.dg/guality/pr45882.c) · 304fe432
      	PR debug/50215
      	* var-tracking.c (create_entry_value): Call cselib_lookup_from_insn
      	before adding ENTRY_VALUE to val->locs.
      
      From-SVN: r178167
      Jakub Jelinek committed
    • exp_attr.adb: Minor reformatting. · 2c1a2cf3
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb: Minor reformatting.
      	Minor code reorganization and commenting.
      	* par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
      	reformatting.
      
      From-SVN: r178166
      Robert Dewar committed
    • [multiple changes] · 0bfc9a64
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* get_scos.adb: Ignore chaining indicators not currently supported
      	by Ada.
      
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* system.ads: Minor editing.
      
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
      	CodePeer mode.
      	* sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
      	Attribute_Elab_Subp_Body.
      	* snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
      	* sem_util.adb: Update comments.
      
      From-SVN: r178165
      Arnaud Charlet committed
    • par_sco.adb, [...]: Record pragma name for each SCO statement corresponding to a pragma. · 828d4cf0
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
      	pragma name for each SCO statement corresponding to a pragma.
      
      From-SVN: r178164
      Thomas Quinot committed
    • [multiple changes] · 5cd7bb15
      2011-08-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* opt.ads: Minor editing.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
      	that only made sense for CodePeer mode.
      
      2011-08-29  Jose Ruiz  <ruiz@adacore.com>
      
      	* targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
      	which is no longer used.
      	* targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
      	handling of the 64-bit division check.
      	* exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
      	division available.
      	* system*.ads (Support_64_Bit_Divides): Remove this flag which is no
      	longer used.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* get_scos.adb: Minor reformatting.
      
      From-SVN: r178163
      Arnaud Charlet committed
    • [multiple changes] · 25b589cb
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
      	statement list is wrapped in a block, the block is explicitly analyzed
      	in order to properly redecorate the entities and create a servicing
      	finalizer.
      
      2011-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
      	(Set_Zero_Cost_Handling): Remove.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
      
      From-SVN: r178162
      Arnaud Charlet committed
    • [multiple changes] · 1197ddb1
      2011-08-29  Geert Bosch  <bosch@adacore.com>
      
      	* s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
      	instruction, as the latter may produce -0.0, which is not a valid VAX
      	F float number.
      	(Neg_G): Likewise for VAX F float.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.adb: Minor reformatting.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb: Minor comment update.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
      	the operand type.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
      	current statement sequence on a generic instantiation or a subprogram
      	declaration.
      
      From-SVN: r178161
      Arnaud Charlet committed
    • [multiple changes] · 8f66cda7
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
      	Minor reformatting.
      
      2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
      	Correct the check which involves the freeze node of a controlled or
      	access-to-controlled type.
      
      2011-08-29  Geert Bosch  <bosch@adacore.com>
      
      	* sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
      	statements.
      	* s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
      	Asm statements.
      
      From-SVN: r178160
      Arnaud Charlet committed
    • [multiple changes] · cf161d66
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
      	for every index type and component type that is not a subtype_mark.
      	(Process_Subtype): Set Etype of subtype.
      
      2011-08-29  Robert Dewar  <dewar@adacore.com>
      
      	* a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
      	reorganization.  Minor reformatting.
      
      From-SVN: r178159
      Arnaud Charlet committed
    • [multiple changes] · 7cc83cd8
      2011-08-29  Steve Baird  <baird@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
      	for CodePeer and ALFA modes.
      
      2011-08-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Collect_Interps): Within an instance, collect a homonym
      	that comes from an enclosing scope if it is not the renaming of an
      	actual, to handle properly a spurious ambiguity in an instance.
      
      From-SVN: r178158
      Arnaud Charlet committed
    • [multiple changes] · 76af4137
      2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
      	(Alignment_Check_For_Size_Change): ...this.  Add SIZE parameter and
      	use it instead of the Esize of the first parameter.
      	(Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
      	above change.
      	<Size>: Likewise.  Call it for composite types on the RM size.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
      	* sem_util.adb (Unique_Name): Correct behaviour for names of
      	compilation units.
      
      From-SVN: r178157
      Arnaud Charlet committed
    • [multiple changes] · 9b20e59b
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Check_Precondition_Postcondition): In formal
      	verification mode, analyze pragma expression for correctness, for
      	pre/post on library-level subprogram, as it is not expanded later.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
      	in formal verification.
      
      2011-08-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_util.adb: Minor reformatting.
      	* freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
      	there's no pragma.
      	* par_sco.ads, par_sco.adb: Update comments.
      
      2011-08-29  Yannick Moy  <moy@adacore.com>
      
      	* einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
      	associated getter/setter.
      	* sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
      
      2011-08-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
      	* prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
      	with declarations for Language_Kind and Dependency_Kind for Ada.
      	* prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
      	(Process_Compiler): Take into account the new attributes Dependency_Kind
      	and Language_Kind.
      	(Check_Configuration): Check if language kind is unit based, not if the
      	language name is Ada.
      	(Process_Exceptions_Unit_Based): Ditto
      	(Add_Language): Remove default additions of language and dependency kind
      	* prj.ads: Minor comment change
      	* snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
      
      2011-08-29  Johannes Kanig  <kanig@adacore.com>
      
      	* debug.adb: Update comments.
      
      From-SVN: r178156
      Arnaud Charlet committed
    • Daily bump. · 6d2a312e
      From-SVN: r178152
      GCC Administrator committed
  2. 28 Aug, 2011 7 commits
    • move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045. · 75f5cbb1
      2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
      	workaround for c++/49045.
      	* include/bits/algorithmfwd.h: Likewise.
      
      From-SVN: r178147
      Paolo Carlini committed
    • Fix the use of linemap_add and remove unnecessary kludge · 892a371f
      libcpp/
      
      	* line-map.c (linemap_add): Assert that reason must not be
      	LC_RENAME when called for the first time on a "main input file".
      
      c-family/
      
      	* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as it's
      	the first time it's being called on this main TU.
      
      gcc/lto/
      
      	* lto-lang.c (lto_init): Likewise.  Also, avoid calling
      	linemap_add twice.
      
      gcc/fortran/
      
      	* scanner.c (load_file): Don't abuse LC_RENAME reason while
      	(indirectly) calling linemap_add.
      
      From-SVN: r178146
      Dodji Seketeli committed
    • Core DR 342 PR c++/48582 · e90abaa0
      	Core DR 342
      	PR c++/48582
      	* pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
      	is valid in C++11.
      	(convert_nontype_argument): Likewise.  Implicitly convert nullptr
      	and do constant folding.
      	* mangle.c (write_template_arg_literal): Mangle null member
      	pointer values as 0.
      	* call.c (null_member_pointer_value_p): New.
      	* cp-tree.h: Declare it.
      
      From-SVN: r178144
      Jason Merrill committed
    • * ja.po: Update. · 2aef967b
      From-SVN: r178142
      Joseph Myers committed
    • re PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers… · 76725a03
      re PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap)
      
      2011-08-28  Mikael Pettersson  <mikpe@it.uu.se>
      
      	PR bootstrap/50218
      	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
      	comp.
      
      From-SVN: r178141
      Mikael Pettersson committed
    • re PR fortran/48066 (Segfault with SUM of zero-sized array) · 3d2244b9
      2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/40866
      	* generated/iall_i1.c: Regenerated.
      	* generated/iall_i16.c: Regenerated.
      	* generated/iall_i2.c: Regenerated.
      	* generated/iall_i4.c: Regenerated.
      	* generated/iall_i8.c: Regenerated.
      	* generated/iany_i1.c: Regenerated.
      	* generated/iany_i16.c: Regenerated.
      	* generated/iany_i2.c: Regenerated.
      	* generated/iany_i4.c: Regenerated.
      	* generated/iany_i8.c: Regenerated.
      	* generated/iparity_i1.c: Regenerated.
      	* generated/iparity_i16.c: Regenerated.
      	* generated/iparity_i2.c: Regenerated.
      	* generated/iparity_i4.c: Regenerated.
      	* generated/iparity_i8.c: Regenerated.
      	* generated/norm2_r10.c: Regenerated.
      	* generated/norm2_r16.c: Regenerated.
      	* generated/norm2_r4.c: Regenerated.
      	* generated/norm2_r8.c: Regenerated.
      	* generated/parity_l1.c: Regenerated.
      	* generated/parity_l16.c: Regenerated.
      	* generated/parity_l2.c: Regenerated.
      	* generated/parity_l4.c: Regenerated.
      	* generated/parity_l8.c: Regenerated.
      	* generated/misc_specifics.F90: Regenerated (comment change).
      	* generated/_abs_c10.F90: Regenerated (comment change).
      	* generated/_abs_c16.F90: Regenerated (comment change).
      	* generated/_abs_c4.F90: Regenerated (comment change).
      	* generated/_abs_c8.F90: Regenerated (comment change).
      	* generated/_abs_i16.F90: Regenerated (comment change).
      	* generated/_abs_i4.F90: Regenerated (comment change).
      	* generated/_abs_i8.F90: Regenerated (comment change).
      	* generated/_abs_r10.F90: Regenerated (comment change).
      	* generated/_abs_r16.F90: Regenerated (comment change).
      	* generated/_abs_r4.F90: Regenerated (comment change).
      	* generated/_abs_r8.F90: Regenerated (comment change).
      	* generated/_acosh_r10.F90: Regenerated (comment change).
      	* generated/_acosh_r16.F90: Regenerated (comment change).
      	* generated/_acosh_r4.F90: Regenerated (comment change).
      	* generated/_acosh_r8.F90: Regenerated (comment change).
      	* generated/_acos_r10.F90: Regenerated (comment change).
      	* generated/_acos_r16.F90: Regenerated (comment change).
      	* generated/_acos_r4.F90: Regenerated (comment change).
      	* generated/_acos_r8.F90: Regenerated (comment change).
      	* generated/_aimag_c10.F90: Regenerated (comment change).
      	* generated/_aimag_c16.F90: Regenerated (comment change).
      	* generated/_aimag_c4.F90: Regenerated (comment change).
      	* generated/_aimag_c8.F90: Regenerated (comment change).
      	* generated/_aint_r10.F90: Regenerated (comment change).
      	* generated/_aint_r16.F90: Regenerated (comment change).
      	* generated/_aint_r4.F90: Regenerated (comment change).
      	* generated/_aint_r8.F90: Regenerated (comment change).
      	* generated/_anint_r10.F90: Regenerated (comment change).
      	* generated/_anint_r16.F90: Regenerated (comment change).
      	* generated/_anint_r4.F90: Regenerated (comment change).
      	* generated/_anint_r8.F90: Regenerated (comment change).
      	* generated/_asinh_r10.F90: Regenerated (comment change).
      	* generated/_asinh_r16.F90: Regenerated (comment change).
      	* generated/_asinh_r4.F90: Regenerated (comment change).
      	* generated/_asinh_r8.F90: Regenerated (comment change).
      	* generated/_asin_r10.F90: Regenerated (comment change).
      	* generated/_asin_r16.F90: Regenerated (comment change).
      	* generated/_asin_r4.F90: Regenerated (comment change).
      	* generated/_asin_r8.F90: Regenerated (comment change).
      	* generated/_atan2_r10.F90: Regenerated (comment change).
      	* generated/_atan2_r16.F90: Regenerated (comment change).
      	* generated/_atan2_r4.F90: Regenerated (comment change).
      	* generated/_atan2_r8.F90: Regenerated (comment change).
      	* generated/_atanh_r10.F90: Regenerated (comment change).
      	* generated/_atanh_r16.F90: Regenerated (comment change).
      	* generated/_atanh_r4.F90: Regenerated (comment change).
      	* generated/_atanh_r8.F90: Regenerated (comment change).
      	* generated/_atan_r10.F90: Regenerated (comment change).
      	* generated/_atan_r16.F90: Regenerated (comment change).
      	* generated/_atan_r4.F90: Regenerated (comment change).
      	* generated/_atan_r8.F90: Regenerated (comment change).
      	* generated/_conjg_c10.F90: Regenerated (comment change).
      	* generated/_conjg_c16.F90: Regenerated (comment change).
      	* generated/_conjg_c4.F90: Regenerated (comment change).
      	* generated/_conjg_c8.F90: Regenerated (comment change).
      	* generated/_cosh_r10.F90: Regenerated (comment change).
      	* generated/_cosh_r16.F90: Regenerated (comment change).
      	* generated/_cosh_r4.F90: Regenerated (comment change).
      	* generated/_cosh_r8.F90: Regenerated (comment change).
      	* generated/_cos_c10.F90: Regenerated (comment change).
      	* generated/_cos_c16.F90: Regenerated (comment change).
      	* generated/_cos_c4.F90: Regenerated (comment change).
      	* generated/_cos_c8.F90: Regenerated (comment change).
      	* generated/_cos_r10.F90: Regenerated (comment change).
      	* generated/_cos_r16.F90: Regenerated (comment change).
      	* generated/_cos_r4.F90: Regenerated (comment change).
      	* generated/_cos_r8.F90: Regenerated (comment change).
      	* generated/_dim_i16.F90: Regenerated (comment change).
      	* generated/_dim_i4.F90: Regenerated (comment change).
      	* generated/_dim_i8.F90: Regenerated (comment change).
      	* generated/_dim_r10.F90: Regenerated (comment change).
      	* generated/_dim_r16.F90: Regenerated (comment change).
      	* generated/_dim_r4.F90: Regenerated (comment change).
      	* generated/_dim_r8.F90: Regenerated (comment change).
      	* generated/_exp_c10.F90: Regenerated (comment change).
      	* generated/_exp_c16.F90: Regenerated (comment change).
      	* generated/_exp_c4.F90: Regenerated (comment change).
      	* generated/_exp_c8.F90: Regenerated (comment change).
      	* generated/_exp_r10.F90: Regenerated (comment change).
      	* generated/_exp_r16.F90: Regenerated (comment change).
      	* generated/_exp_r4.F90: Regenerated (comment change).
      	* generated/_exp_r8.F90: Regenerated (comment change).
      	* generated/_log10_r10.F90: Regenerated (comment change).
      	* generated/_log10_r16.F90: Regenerated (comment change).
      	* generated/_log10_r4.F90: Regenerated (comment change).
      	* generated/_log10_r8.F90: Regenerated (comment change).
      	* generated/_log_c10.F90: Regenerated (comment change).
      	* generated/_log_c16.F90: Regenerated (comment change).
      	* generated/_log_c4.F90: Regenerated (comment change).
      	* generated/_log_c8.F90: Regenerated (comment change).
      	* generated/_log_r10.F90: Regenerated (comment change).
      	* generated/_log_r16.F90: Regenerated (comment change).
      	* generated/_log_r4.F90: Regenerated (comment change).
      	* generated/_log_r8.F90: Regenerated (comment change).
      	* generated/_mod_i16.F90: Regenerated (comment change).
      	* generated/_mod_i4.F90: Regenerated (comment change).
      	* generated/_mod_i8.F90: Regenerated (comment change).
      	* generated/_mod_r10.F90: Regenerated (comment change).
      	* generated/_mod_r16.F90: Regenerated (comment change).
      	* generated/_mod_r4.F90: Regenerated (comment change).
      	* generated/_mod_r8.F90: Regenerated (comment change).
      	* generated/_sign_i16.F90: Regenerated (comment change).
      	* generated/_sign_i4.F90: Regenerated (comment change).
      	* generated/_sign_i8.F90: Regenerated (comment change).
      	* generated/_sign_r10.F90: Regenerated (comment change).
      	* generated/_sign_r16.F90: Regenerated (comment change).
      	* generated/_sign_r4.F90: Regenerated (comment change).
      	* generated/_sign_r8.F90: Regenerated (comment change).
      	* generated/_sinh_r10.F90: Regenerated (comment change).
      	* generated/_sinh_r16.F90: Regenerated (comment change).
      	* generated/_sinh_r4.F90: Regenerated (comment change).
      	* generated/_sinh_r8.F90: Regenerated (comment change).
      	* generated/_sin_c10.F90: Regenerated (comment change).
      	* generated/_sin_c16.F90: Regenerated (comment change).
      	* generated/_sin_c4.F90: Regenerated (comment change).
      	* generated/_sin_c8.F90: Regenerated (comment change).
      	* generated/_sin_r10.F90: Regenerated (comment change).
      	* generated/_sin_r16.F90: Regenerated (comment change).
      	* generated/_sin_r4.F90: Regenerated (comment change).
      	* generated/_sin_r8.F90: Regenerated (comment change).
      	* generated/_sqrt_c10.F90: Regenerated (comment change).
      	* generated/_sqrt_c16.F90: Regenerated (comment change).
      	* generated/_sqrt_c4.F90: Regenerated (comment change).
      	* generated/_sqrt_c8.F90: Regenerated (comment change).
      	* generated/_sqrt_r10.F90: Regenerated (comment change).
      	* generated/_sqrt_r16.F90: Regenerated (comment change).
      	* generated/_sqrt_r4.F90: Regenerated (comment change).
      	* generated/_sqrt_r8.F90: Regenerated (comment change).
      	* generated/_tanh_r10.F90: Regenerated (comment change).
      	* generated/_tanh_r16.F90: Regenerated (comment change).
      	* generated/_tanh_r4.F90: Regenerated (comment change).
      	* generated/_tanh_r8.F90: Regenerated (comment change).
      	* generated/_tan_r10.F90: Regenerated (comment change).
      	* generated/_tan_r16.F90: Regenerated (comment change).
      	* generated/_tan_r4.F90: Regenerated (comment change).
      	* generated/_tan_r8.F90: Regenerated (comment change).
      
      From-SVN: r178140
      Thomas Koenig committed
    • Daily bump. · aa35481f
      From-SVN: r178139
      GCC Administrator committed