1. 26 May, 2008 40 commits
    • * exp_vfpt.ads: Add ??? comment for last change · 6e96b543
      From-SVN: r135946
      Arnaud Charlet committed
    • * exp_vfpt.adb: Minor reformatting · fda528a8
      From-SVN: r135945
      Arnaud Charlet committed
    • * exp_ch6.adb: Add ??? comment for previous change · 2acde248
      From-SVN: r135944
      Arnaud Charlet committed
    • tree-ssa-sccvn.c (expr_has_constants): Declare. · 26fa9076
      2008-05-26  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.c (expr_has_constants): Declare.
      	(visit_reference_op_load): Initialize VN_INFO->has_constants
      	properly.
      
      From-SVN: r135943
      Richard Guenther committed
    • s-casi16.adb (Uhalf): Rewrite it as integer with small alignment. · 6054bf2a
      2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
      	(Compare_Array_S16): Adjust for above change.
      	* s-casi32.adb (Uword): Likewise.
      	(Compare_Array_S32): Likewise.
      	* s-casi64.adb (Uword): Likewise.
      	(Compare_Array_S64): Likewise.
      	* s-caun16.adb (Uhalf): Likewise.
      	(Compare_Array_U16): Likewise.
      	* s-caun32.adb (Uword): Likewise.
      	(Compare_Array_U32): Likewise.
      	* s-caun64.adb (Uword): Likewise.
      	(Compare_Array_U64): Likewise.
      
      From-SVN: r135942
      Eric Botcazou committed
    • exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for No_Default_Initialization... · 1ce1f005
      2008-05-26  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
      	No_Default_Initialization, which is now delayed until the freeze point
      	of the object. Add a comment about deferral of the check.
      	
      	* freeze.adb (Freeze_Entity): The check for No_Default_Initialization
      	on objects is moved here.
      
      From-SVN: r135941
      Gary Dismukes committed
    • Resync. · 9019f3fc
      From-SVN: r135940
      Arnaud Charlet committed
    • * gnat.dg/specs/array_no_def_init.ads: New test. · 4f2b873a
      From-SVN: r135939
      Arnaud Charlet committed
    • exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy init proc entity when... · c5ecf679
      2008-05-26  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
      	init proc entity when there is actual default initialization associated
      	with the component type, to avoid spurious errors on objects of scalar
      	array types that are marked Is_Public when No_Default_Initialization
      	applies.
      
      From-SVN: r135938
      Gary Dismukes committed
    • 2008-05-26 Doug Rupp <rupp@adacore.com> · c986420e
      	* s-vaflop.adb:
      	(Return_D, Return_F, Return_G): New functions.
      
      	* s-vaflop.ads:
      	(Return_D, Return_F, Return_G): New functions.
      
      	* exp_vfpt.adb:
      	(Expand_Vax_Foreign_Return): New procedure
      
      	* exp_vfpt.ads:
      	(Expand_Vax_Foreign_Return): New procedure
      
      	* rtsfind.ads:
      	(RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
      	(RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
      
      	* exp_ch6.adb:
      	Import Exp_Vfpt
      	(Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
      
      	* s-vaflop-vms-alpha.adb:
      	(Return_D, Return_F, Return_G): New functions.
      
      From-SVN: r135937
      Doug Rupp committed
    • sem_attr.adb: (Resolve_Attribute, case 'address): S (A .. · a66996b3
      2008-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb:
      	(Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
      	converted to S (A)'address only if A .. B is known to be a non-null
      	range.
      
      From-SVN: r135936
      Ed Schonberg committed
    • 2008-05-26 Thomas Quinot <quinot@adacore.com> · d693e39d
      	* rtsfind.ads, rtsfind.adb:
      	(RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
      	(Check_RPC): Support per-PCS-kind API versioning.
      	
      	exp_dist.ads, exp_dist.adb:
      	(Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
      	(PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
      	 library function Get_RACW.
      	(PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
      	library function Get_Reference.
      	(PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
      	through an intermediate Any.
      	(PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
      	going through an intermediate Any.
      	
      	* sem_dist.adb: Minor reformatting.
      
      From-SVN: r135932
      Thomas Quinot committed
    • re PR middle-end/36253 (Caller-save stack slot may not have proper alignment) · 76fe54f0
      2008-05-26  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR middle-end/36253
      	* caller-save.c (insert_restore): Verify alignment of spill
      	space.
      	(insert_save): Likewise.
      
      	* cfgexpand.c (LOCAL_ALIGNMENT): Removed.
      
      	* defaults.h (LOCAL_ALIGNMENT): New. Provide default.
      	(STACK_SLOT_ALIGNMENT): Likewise.
      
      	* function.c (LOCAL_ALIGNMENT): Removed.
      	(get_stack_local_alignment): New.
      	(assign_stack_local): Use it.  Set alignment on stack slot.
      	(assign_stack_temp_for_type): Use get_stack_local_alignment.
      
      	* config/i386/i386.h (LOCAL_ALIGNMENT): Updated.
      	(STACK_SLOT_ALIGNMENT): New.
      
      	* config/i386/i386.c (ix86_local_alignment): Handle caller-save
      	stack slot in XFmode.
      
      	* doc/tm.texi (STACK_SLOT_ALIGNMENT): New.
      
      From-SVN: r135927
      H.J. Lu committed
    • * gnat.dg/pak.ad[sb]: New test. · e94a8385
      From-SVN: r135926
      Arnaud Charlet committed
    • Resync. · ad89bc8d
      From-SVN: r135925
      Arnaud Charlet committed
    • exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on condition for assignment to temporary. · 4babc15d
      2008-05-26  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
      	condition for assignment to temporary.
      
      From-SVN: r135924
      Thomas Quinot committed
    • einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias. · ce2b6ba5
      2008-05-26  Javier Miranda  <miranda@adacore.com>
      
      	* einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
      	(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
      	(Is_Internal): Adding documentation on internal entities that have
       	attribute Interface_Alias (old attribute Abstract_Interface_Alias)
      
      	* einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
      	(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
       	Added assertion to force entities with this attribute to have
       	attribute Is_Internal set to True.
      	(Next_Tag_Component): Simplify assertion using attribute Is_Tag.
      
      	* sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
       	renamed as Derive_Progenitor_Subprograms. In addition, its code is
       	a new implementation.
      	(Add_Interface_Tag_Components): Remove special management of
      	synchronized interfaces.
      	(Analyze_Interface_Declaration): Minor reformating
      	(Build_Derived_Record_Type): Minor reformating
      	(Check_Abstract_Overriding): Avoid reporting error in case of abstract
       	predefined primitive inherited from interface type because the body of
       	internally generated predefined primitives of tagged types are generated
       	later by Freeze_Type
      	(Derive_Subprogram): Avoid generating an internal name if the parent
       	subprogram overrides an interface primitive.
      	(Derive_Subprograms): New implementation that keeps separate the
       	management of tagged types not implementing interfaces, from tagged
       	types that implement interfaces.
      	(Is_Progenitor): New implementation.
      	(Process_Full_View): Add documentation
      	(Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
       	by call to Derive_Progenitor_Subprograms.
      
      	* sem_ch6.ads (Is_Interface_Conformant): New subprogram.
      	(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
       	Skip_Controlling_Formals.
      
      	* sem_ch6.adb (Is_Interface_Conformant): New subprogram.
      	(Check_Conventions): New implementation. Remove local subprogram
       	Skip_Check. Remove formal Search_From of routine Check_Convention.
      	(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
       	Skip_Controlling_Formals.
      	(New_Overloaded_Entity): Enable addition of predefined dispatching
       	operations.
      
      	* sem_disp.ads
      	(Find_Primitive_Covering_Interface): New subprogram.
      
      	* sem_disp.adb (Check_Dispatching_Operation): Disable registering
       	the task body procedure as a primitive of the corresponding tagged
       	type.
      	(Check_Operation_From_Private_Type): Avoid adding twice an entity
       	to the list of primitives.
      	(Find_Primitive_Covering_Interface): New subprogram.
      	(Override_Dispatching_Operation): Add documentation.
      
      	* sem_type.adb (Covers): Minor reformatings
      
      	* sem_util.ads (Collect_Abstract_Interfaces): Renamed as
      	Collect_Interfaces.
       	Rename formal.
      	(Has_Abstract_Interfaces): Renamed as Has_Interfaces.
      	(Implements_Interface): New subprogram.
      	(Is_Parent): Removed.
      	(Primitive_Names_Match): New subprogram.
      	(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
      	(Ultimate_Alias): New subprogram.
      
      	* sem_util.adb (Collect_Abstract_Interfaces): Renamed as
      	Collect_Interfaces.
       	Remove special management for synchronized types. Rename formal. Remove
       	internal subprograms Interface_Present_In_Parent and Add_Interface.
      	(Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
       	on non-record types by code to return false in such case.
      	(Implements_Interface): New subprogram.
      	(Is_Parent): Removed. No special management is now required for
       	synchronized types covering interfaces.
      	(Primitive_Names_Match): New subprogram.
      	(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
      	(Ultimate_Alias): New subprogram.
      
      	* exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
       	Add internal entities associated with secondary dispatch tables to
       	the list of tagged type primitives that are not interfaces.
      	(Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
      	(Make_Predefined_Primitive_Specs): Code reorganization to improve
       	the management of predefined equality operator. In addition, if
       	the type has an equality function corresponding with a primitive
       	defined in an interface type, the inherited equality is abstract
       	as well, and no body can be created for it.
      
      	* exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
       	exp_util to exp_disp.
      	(Is_Predefined_Interface_Primitive): New subprogram. Returns True if
       	an entity corresponds with one of the predefined primitives required
       	to implement interfaces.
      	Update copyright notice.
      
      	* exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
       	final check on abstract subprograms all the primitives associated with
       	interface primitives because they must be visible in the public and
       	private part.
      	(Write_DT): Use Find_Dispatching_Type to locate the name of the
      	interface type. This allows the use of this routine, for debugging
      	purposes, when the tagged type is not fully decorated.
      	(Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
       	Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
      	(Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
       	entity corresponds with one of the predefined primitives required to
       	implement interfaces.
      
      	* exp_util.adb (Find_Interface_ADT): New implementation
      	(Find_Interface): Removed.
      
      	* sprint.adb (Sprint_Node_Actual): Generate missing output for the
       	list of interfaces associated with nodes
      	N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
      
      From-SVN: r135923
      Javier Miranda committed
    • i386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed. · e5f005e1
      2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	PR/36321
      	* config/i386/i386.md (allocate_stack_worker_64): Make sure argument operand in
      	rax isn't removed.
      
      2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	* gcc-c.torture/execute/pr36321.c: New.
      
      From-SVN: r135921
      Kai Tietz committed
    • Resync. · c878b2ef
      From-SVN: r135920
      Arnaud Charlet committed
    • * sem_ch3.adb: Minor reformatting · 82d2af1b
      From-SVN: r135919
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint checks on the upper bound if... · e886436a
      2008-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
      	checks on the upper bound if the index type is a modular type, to
      	prevent wrap-around computations when size is close to upper bound of
      	type.
      
      From-SVN: r135918
      Ed Schonberg committed
    • Resync. · 39281edf
      From-SVN: r135917
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting. · 8cea7b64
      2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
      	Generate a tag check when the result subtype of a function, defined by
      	an access definition, designates a specific tagged type.
      	(Make_Tag_Check): New routine.
      
      From-SVN: r135916
      Hristian Kirtchev committed
    • * sinfo.ads: Minor reformatting · 41def521
      From-SVN: r135915
      Arnaud Charlet committed
    • sem_ch12.adb (Remove_Parent): Use specification of instance to retrieve generic parent... · 847ec40a
      2008-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Remove_Parent): Use specification of instance
      	to retrieve generic parent,
      	to handle properly the case where the instance is a child unit.
      	Add guard to handle properly wrapper packages.
      	Minor reformatting
      
      From-SVN: r135914
      Ed Schonberg committed
    • re PR middle-end/36300 (Incorrect type used for inlined expression) · fcb4587e
      2008-05-26  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/36300
      	* fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS,
      	not TYPE_UNSIGNED.  Use TYPE_PRECISION instead of GET_MODE_SIZE.
      
      	* gcc.dg/pr36300-1.c: New testcase.
      	* gcc.dg/pr36300-2.c: Likewise.
      
      From-SVN: r135913
      Richard Guenther committed
    • * ceinfo.adb, csinfo.adb: Remove warnings. Update headers. · d6ca724c
      From-SVN: r135912
      Arnaud Charlet committed
    • gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker. · c654b659
      	* gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
      	(builtin_decl_for): Likewise.
      	* trans.c (gigi): Likewise.
      	* utils.c (def_builtin_1): Fix formatting.
      
      From-SVN: r135911
      Eric Botcazou committed
    • set_in_pproc.adb: New test. · 68e92eab
      	* gnat.dg/set_in_pproc.adb: New test.
      	* gnat.dg/modular2.adb: New test.
      
      From-SVN: r135910
      Arnaud Charlet committed
    • Resync. · 1c331d2d
      From-SVN: r135909
      Arnaud Charlet committed
    • 2008-05-26 Ed Schonberg <schonberg@adacore.com> · 6b9aa578
      	* sem_ch12.adb:
      	(Remove_Parent): If the enclosing scope is an instance whose generic
      	parent is declared within some parent scope of the just completed
      	instance, make full views of the entities in that parent visible, when
      	applicable.
      
      From-SVN: r135908
      Ed Schonberg committed
    • 2008-05-26 Jose Ruiz <ruiz@adacore.com> · c9999044
      	* s-osinte-aix.adb:
      	(To_Target_Priority): Setting the time slice value to 0 or greater sets
      	the scheduling policy to FIFO within priorities or round-robin
      	respectively.
      	Hence, the priority must be set in this case to the one selected by the
      	user.
      
      From-SVN: r135907
      Jose Ruiz committed
    • sem_aggr.adb: Minor reformatting. · 9c290e69
      2008-05-26  Pascal Obry  <obry@adacore.com>
      
      	* sem_aggr.adb: Minor reformatting.
      
      From-SVN: r135906
      Pascal Obry committed
    • gnat_ugn.texi: Add description for the new gnatcheck rule - Separate_Numeric_Error_Handlers. · 0390e471
      2008-05-26  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Add description for the new gnatcheck rule -
      	Separate_Numeric_Error_Handlers.
      
      From-SVN: r135905
      Sergey Rybin committed
    • 2008-05-26 Robert Dewar <dewar@adacore.com> · b98bd80d
      	* exp_ch2.adb:
      	(Expand_Current_Value): Properly type generated integer literal
      
      From-SVN: r135904
      Robert Dewar committed
    • g-heasor.ads: Minor comment fix (unit is now pure) · ac38d4af
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* g-heasor.ads: Minor comment fix (unit is now pure)
      
      From-SVN: r135903
      Robert Dewar committed
    • s-carun8.ads: Minor reformatting · 3f36f73c
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* s-carun8.ads: Minor reformatting
      
      From-SVN: r135902
      Robert Dewar committed
    • osint.ads: Minor reformatting · e23fbee4
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* osint.ads: Minor reformatting
      
      From-SVN: r135901
      Robert Dewar committed
    • 2008-05-26 Ed Schonberg <schonberg@adacore.com> · 1b762d7b
      	* inline.adb:
      	(Cleanup_Scopes): For a protected operation, transfer finalization list
      	to protected body subprogram, to force cleanup actions when needed.
      
      From-SVN: r135900
      Ed Schonberg committed
    • gnatname.adb: Minor reformatting · 0359c57c
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* gnatname.adb: Minor reformatting
      
      From-SVN: r135899
      Robert Dewar committed