1. 06 Apr, 2007 24 commits
    • errout.adb (Unwind_Internal_Type): Use predicate Is_Access__Protected_Subprogram_Type. · fea9e956
      2007-04-06  Ed Schonberg  <schonberg@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      	    Bob Duff  <duff@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* errout.adb (Unwind_Internal_Type): Use predicate
      	Is_Access__Protected_Subprogram_Type.
      
      	* freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
      	(Freeze_Entity, packed array case): Do not override explicitly set
      	alignment and size clauses.
      	(Freeze_Entity):  An entity declared in an outer scope can be frozen if
      	the enclosing subprogram is a child unit body that acts as a spec.
      	(Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
      	(Freeze_Record_Type): New Ada 2005 processing for reverse bit order
      	Remove all code for DSP option
      
      	* layout.adb (Layout_Record_Type): Use First/
      	Next_Component_Or_Discriminant
      	(Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
      	to handle properly the anonymous access case.
      
      	* sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
      	for all access attributes, because overload resolution should work the
      	same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
      	causes the error message for the ambiguous "X'Access = Y'Access" and
      	"X'Unrestricted_Access = Y'Access" and so forth to match.
      	(Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
      	now that anonymous access to protected operations have their own kind.
      	(Resolve_Attribute): In case of dispatching call check the violation of
      	restriction No_Dispatching_Calls.
      	(Check_Array_Type): Check new -gnatyA array index style option
      
      	* sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
      	attempt to derive from a synchronized tagged type.
      	(Analyze_Type_Declaration): If there is a incomplete tagged view of the
      	type, inherit the class-wide type already created, because it may
      	already have been used in a self-referential anonymous access component.
      	(Mentions_T): Recognize self-referential anonymous access components
      	that use (a subtype of) the class-wide type of the enclosing type.
      	(Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
      	Derived_Type for Prev formal on call to
      	Check_Anonymous_Access_Components rather than Empty.
      	(Make_Incomplete_Type_Declaration): Add test for case where the type has
      	a record extension in deciding whether to create a class-wide type,
      	rather than just checking Tagged_Present.
      	(Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
      	to stand-alone object declarations as well as component declarations.
      	(Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
      	prevent accidental overwriting when enclosing package appears in
      	a limited_with_clause.
      	(Array_Type_Declaration): If the component type is an anonymous access,
      	the associated_node for the itype is the type declaration itself.
      	(Add_Interface_Tag_Components): Modified to support concurrent
      	types with abstract interfaces.
      	(Check_Abstract_Interfaces): New subprogram that verifies the ARM
      	rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
      	(Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
      	to complete the decoration of synchronized interface types. Add also
      	a call to Check_Abstract_Interfaces to verify the ARM rules.
      	(Derive_Interface_Subprograms): Modified to support concurrent types
      	with abstract interfaces.
      	(Analyze_Subtype_Indication): Resolve the range with the given subtype
      	mark, rather than delaying the full resolution depending on context.
      	(Analyze_Component_Declaration,Analyze_Interface_Declaration,
      	Analyze_Object_Declaration,Analyze_Subtype_Declaration,
      	Array_Type_Declaration,Build_Derived_Record_Type,
      	Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
      	Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
      	Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
      	Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
      	called only when appropriate.
      	(Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
      	to private type.
      	(Analyze_Subtype_Declaration): For an access subtype declaration, create
      	an itype reference for the anonymous designated subtype, to prevent
      	scope anonmalies in gigi.
      	(Build_Itype_Reference): New utility, to simplify construction of such
      	references.
      
      From-SVN: r123559
      Ed Schonberg committed
    • einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function · f937473f
      2007-04-06  Robert Dewar  <dewar@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Bob Duff  <duff@adacore.com>
      
      	* einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
      	(Next_Component_Or_Discriminant): New function and procedure
      	(First_Index, First_Literal, Master_Id,
      	Set_First_Index, Set_First_Literal, Set_Master_Id):
      	Add missing Ekind assertions.
      	(Is_Access_Protected_Subprogram_Type): New predicate.
      	(Has_RACW): New entity flag, set on package entities to indicate that
      	the package contains the declaration of a remote accecss-to-classwide
      	type.
      	(E_Return_Statement): This node type has the Finalization_Chain_Entity
      	attribute, in case the result type has controlled parts.
      	(Requires_Overriding): Add this new flag, because "requires
      	overriding" is subtly different from "is abstract" (see AI-228).
      	(Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
      	Is_Abstract_Type. Make sure these are called only when appropriate.
      	(Has_Pragma_Unreferenced_Objects): New flag
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
      	class-wide, the tag of the right-hand side must be an exact match, not
      	an ancestor of that of the object on left-hand side.
      	(Move_Activation_Chain): New procedure to create the call to
      	System.Tasking.Stages.Move_Activation_Chain.
      	(Expand_N_Extended_Return_Statement): Generate code to call
      	System.Finalization_Implementation.Move_Final_List at the end of a
      	return statement if the function's result type has controlled parts.
      	Move asserts to Build_In_Place_Formal.
      	(Move_Final_List): New function to create the call statement.
      	(Expand_N_Assignment_Statement): In case of assignment to a class-wide
      	tagged type, replace generation of call to the run-time subprogram
      	CW_Membership by call to Build_CW_Membership.
      	(Expand_N_Return_Statement): Replace generation of call to the run-time
      	subprogram Get_Access_Level by call to Build_Get_Access_Level.
      	(Expand_N_Simple_Function_Return): Replace generation of call to the
      	run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
      
      	* exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
      	Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
      	access to protected operations.
      	(Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
      	master and chain actual parameters to a build-in-place function call
      	involving tasks.
      	(BIP_Formal_Suffix): Add new enumeration literals to complete the case
      	statement.
      	(Make_Build_In_Place_Call_In_Allocator,
      	Make_Build_In_Place_Call_In_Anonymous_Context,
      	Make_Build_In_Place_Call_In_Assignment,
      	Make_Build_In_Place_Call_In_Object_Declaration): Call
      	Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
      	(Expand_Inlined_Call): If the subprogram is a null procedure, or a
      	stubbed procedure with a null body, replace the call with a null
      	statement without using the full inlining machinery, for efficiency
      	and to avoid invalid values in source file table entries.
      
      	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
      	renamings of calls to build-in-place functions.
      
      	* rtsfind.adb (RTE_Record_Component_Available): New subprogram that
      	provides the functionality of RTE_Available to record components.
      	(RTU_Entity): The function Entity has been renamed to RTU_Entity
      	to avoid undesired overloading.
      	(Entity): New subprogram that returns the entity for the referened
      	unit. If this unit has not been loaded, it returns Empty.
      	(RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
      	Remove no longer used entities.
      	(RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
      	(RE_Type_Specific_Data): New entity.
      	(RE_Move_Any_Value): New entity.
      	(RE_TA_A, RE_Get_Any_Type): New entities.
      	(RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
      	 RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
      	 RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
      	(Entity): New subprogram that returns the entity for the referened
      	unit. If this unit has not been loaded, it returns Empty.
      	(RTE): Addition of a new formal that extends the search to the scopes
      	of the record types found in the chain of the package.
      
      	* sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
      	"abstract subprograms must be visible" message, whether or not the type
      	is an interface; that is, remove the special case for interface types.
      	(Analyze_Function_Return): Remove error message "return of task objects
      	is not yet implemented" because this is now implemented.
      	(Create_Extra_Formals): Add the extra master and activation chain
      	formals in case the result type has tasks.
      	Remove error message "return of limited controlled objects is not yet
      	implemented".
      	(Create_Extra_Formals): Add the extra caller's finalization list formal
      	in case the result type has controlled parts.
      	(Process_Formals): In case of access formal types there is no need
      	to continue with the analysis of the formals if we already notified
      	errors.
      	(Check_Overriding_Indicator): Add code to check overriding of predefined
      	operators.
      	(Create_Extra_Formals): Prevent creation of useless Extra_Constrained
      	flags for formals that do not require them,.
      	(Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
      	hidden entity is use visible or directly visible.
      	(Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
      	Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
      	Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
      	New_Overloaded_Entity): Split Is_Abstract flag into
      	Is_Abstract_Subprogram and Is_Abstract_Type.
      
      	* s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
      	a return statement's finalization list to the caller's list, used for
      	build-in-place functions with result type with controlled parts.
      	Remove no longer used entities.
      
      	* s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
      	longer needed, because the full type is now limited, and therefore a
      	pass-by-reference type.
      	(Foreign_Task_Level): New constant.
      
      	* s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
      	move tasks from the activation chain belonging to a return statement to
      	the one passed in by the caller, and update the master to the one
      	passed in by the caller.
      	(Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
      	of unactivated tasks, so we don't kill the ones that are being returned
      	by a build-in-place function.
      	(Create_Task): Ignore AI-280 for foreign threads.
      
      From-SVN: r123558
      Robert Dewar committed
    • decl.c (gnat_to_gnu_entity): Associate an external VAR_DECL to a CONST_DECL we… · 9dac0a42
      decl.c (gnat_to_gnu_entity): Associate an external VAR_DECL to a CONST_DECL we make for a public constant...
      
      2007-04-06  Olivier Hainque  <hainque@adacore.com>
      	    Eric Botcazou <botcazou@adacore.com>
      
      	* decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
      	VAR_DECL to a CONST_DECL we make for a public constant when we know the
      	corresponding definition has created the so made visible variable.
      	Handle anonymous access to protected subprogram.
      	(gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
      	object with an address clause volatile.  Re-enable original fix.
      	<E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
      	too.
      	(gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
      	associated with either the Equivalent or Root type, instead of the
      	naked type node.
      	(gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
      	subtree for every field of a global record type.
      	(gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
      	discriminants, invoke again variable_size on its newly computed sizes.
      
      From-SVN: r123557
      Olivier Hainque committed
    • cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which absolute path… · b150b431
      cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which absolute path can have the following form...
      
      2007-04-06  Nicolas Roche  <roche@adacore.com>
      
      	* cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
      	absolute path can have the following form: device:/a/b. In this case
      	'/' should be inserted between the path and the filename.
      
      From-SVN: r123556
      Nicolas Roche committed
    • cstand.adb (Create_Standard): When the target's storage unit size is greater than a byte... · 41ccd2d8
      2007-04-06  Gary Dismukes  <dismukes@adacore.com>
      
      	* cstand.adb (Create_Standard): When the target's storage unit size is
      	greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
      	Standard_String.
      
      From-SVN: r123555
      Gary Dismukes committed
    • checks.ads, checks.adb (Selected_Range_Checks): No range check is required for a… · 675d6070
      checks.ads, checks.adb (Selected_Range_Checks): No range check is required for a conversion between two...
      
      2007-04-06  Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.ads, checks.adb (Selected_Range_Checks): No range check is
      	required for a conversion between two access-to-unconstrained-array
      	types.
      	(Expr_Known_Valid): Validity checks do not apply to discriminants, but
      	to discriminant constraints on discriminant objects. This rule must
      	apply as well to discriminants of protected types in private components.
      	(Null_Exclusion_Static_Checks): If No_Initialization is set on an
      	object of a null-excluding access type then don't require the
      	the object declaration to have an expression and don't emit a
      	run-time check.
      
      From-SVN: r123554
      Thomas Quinot committed
    • atree.h, [...] (Copy_Node_With_Replacement): When copying a parameter list in a call... · 4cd52f5e
      2007-04-06  Ed Schonberg  <schonberg@adacore.com>
      	    Bob Duff  <duff@adacore.com>
      
      	* atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
      	copying a parameter list in a call, set properly the First_Named_Formal
      	and Next_Named_Formal fields in the new list and in the enclosing call.
      	(Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
      	names, to ease typing in the debugger. Improve comments.
      	(Watch_Node): New variable, intended to be set in the debugger.
      	(New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
      	called when the watched node is created.
      	(New_Node_Debugging_Output): Combined version of local procedures
      	New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
      	with a parameter so that conditional breakpoints like "if Node = 12345"
      	work.
      	(New_Node, New_Entity): Call the global New_Node_Debugging_Output.
      	Add Elist1 function
      
      From-SVN: r123553
      Ed Schonberg committed
    • exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing for conversion… · 0669bebe
      exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing for conversion of a Float_Type'Truncation to integer.
      
      2007-04-06  Geert Bosch  <bosch@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      	    Bob Duff  <duff@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
      	for conversion of a Float_Type'Truncation to integer.
      
      	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
      	check if a node is an attribute that can be handled directly by the
      	back end.
      	(Expand_N_Attribute_Reference): Suppress expansion of floating-point
      	attributes that can be handled directly by the back end.
      	(Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
      	use new predicate Is_Access_Protected_Subprogram_Type.
      	(Expand_N_Attribute_Reference, case 'Write): The reference is legal for
      	and Unchecked_Union if it is generated as part of the default  Output
      	procedure for a type with default discriminants.
      	(Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
      	if we are compiling under restriction No_Dispatching_Calls.
      	(Constrained): Use Underlying_Type, in case the type is private without
      	discriminants, but the full type has discriminants.
      	(Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
      	call to Build_Get_Access_Level.
      	(Expand_N_Attribute_Reference): The use of 'Address with class-wide
      	interface objects requires a call to the run-time subprogram that
      	returns the base address of the object.
      	(Valid_Conversion): Improve error message on illegal attempt to store
      	an anonymous access to subprogram value into a record component.
      
      	* sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
      	null".
      	(Simplify_Type_Conversion): New procedure that performs simplification
      	of Int_Type (Float_Type'Truncation (X)).
      	(Resolve_Type_Conversion): Call above procedure after resolving operand
      	and before performing checks. This replaces the existing ineffective
      	code in Exp_Ch4.
      	(Set_String_Literal_Subtype): When creating the internal static lower
      	bound subtype for a string literal, use a newly created copy of the
      	subtree representing the lower bound.
      	(Resolve_Call): Exclude build-in-place function calls from transient
      	scope treatment. Update comments to describe this exception.
      	(Resolve_Equality_Op): In case of dispatching call check violation of
      	restriction No_Dispatching_Calls.
      	(Resolve_Call): If the call returns an array, the context imposes the
      	component type of the array, and the function has one non-defaulted
      	parameter, rewrite the call as the indexing of a call with a single
      	parameter, to handle an Ada 2005 syntactic ambiguity for calls written
      	in prefix form.
      	(Resolve_Actuals): If an actual is an allocator for an access parameter,
      	the master of the created object is the innermost enclosing statement.
      	(Remove_Conversions): For a binary operator, check if type of second
      	formal is numeric, to check if an abstract interpretation is present
      	in the case of exponentiation as well.
      
      From-SVN: r123552
      Geert Bosch committed
    • exp_ch3.ads, [...] (Analyze_N_Full_Type_Declaration): For an anonymous access component... · ea1941af
      2007-04-06  Ed Schonberg  <schonberg@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
      	anonymous access component, do not create a master_id if type already
      	has one, as may happen if the type is a subcomponent of a packed array
      	type.
      	(Build_Init_Procedure, Component_Needs_Simple_Initialization,
      	Initialize_Tag): Remove code associated with the old CPP pragmas.
      	CPP_Virtual and CPP_Vtable are no longer supported.
      	(Build_Offset_To_Top_Internal): Add support for concurrent record types
      	(Build_Offset_To_Top_Functions): Add support for concurrent record types
      	(Freeze_Record_Type): Remove call to
      	Init_Predefined_Interface_Primitives.
      	(Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
      	code required to initialize the tags of the secondary dispatch tables.
      	This leaves the algoritm more clear.
      	(Init_Secondary_Tags): Add support for concurrent record types
      	(Make_Predefined_Primitive_Specs): Code cleanup.
      	(Predefined_Primitive_Bodies): Code cleanup.
      	(Build_Master_Renaming): New local subprogram.
      	(Expand_N_Full_Type_Declaration): Build the master_id associated with
      	anonymous access to task type components.
      	(Expand_N_Subtype_Indication): The bounds of a range constraint in a
      	subtype indication are resolved during analysis, and must not be done
      	here.
      	(Stream_Operation_OK): Check Restriction_Active before RTE_Available.
      
      From-SVN: r123551
      Ed Schonberg committed
    • a-tags.ads, a-tags.adb (Object_Specific_Data): Remove component Num_Prim_Ops. · 3d6efb77
      2007-04-06  Javier Miranda  <miranda@adacore.com>
      
      	* a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
      	component Num_Prim_Ops.
      	(Set_Num_Prim_Ops): Removed.
      	Remove all the assertions because all the routines of this
      	package are inline always.
      	(Get_Offset_Index): Add support to primary dispatch tables.
      	Move the documentation about the dispatch table to a-tags.ads
      	(Set_External_Tag): Removed
      	(Inherit_TSD): Removed.
      	(Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
      	moved to a-tags.ads
      	(Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
      	Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
      	of the TSD field "Table" because this field has been renamed to
      	"Ifaces_Table".
      	(Inherit_CPP_DT): Removed.
      	(K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
      	Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
      	declarations have been moved to a-tags.ads
      	(Check_Size): Removed.
      	(Expanded_Name): Updated to get access to the new field of TSD
      	containing the address of the expanded name.
      	(Get_Access_Level/Set_Access_Level): Removed.
      	(Get_Predefined_Prim_Op_Address): Removed.
      	(Set_Predefined_Prim_Op_Address): Removed.
      	(Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
      	(Get_Remotely_Callable/Set_Remotely_Callable): Removed.
      	(Set_Expanded_Name): Removed.
      	(Inherit_DT): Removed.
      	(Inherit_CPP_DT): Removed.
      	(Set_RC_Offset): Removed.
      	(Set_TSD): Removed.
      	(Base_Address): New function that displaces "this" to point to the base
      	of the object (that is, to point to the primary tag of the object).
      
      From-SVN: r123550
      Javier Miranda committed
    • a-retide.adb: Add elaboration code to ensure that the tasking run time is initialized when... · 98872613
      2007-04-06  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-retide.adb: Add elaboration code to ensure that the tasking run
      	time is initialized when using delay operations even when no task is
      	created.
      
      From-SVN: r123549
      Jose Ruiz committed
    • ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is not on a natural. · 35a41b73
      2007-04-06  Quentin Ochem  <ochem@adacore.com>
      
      	* ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
      	not on a natural.
      	(Scan_ALI): Cancel the xref line if there has been a reading ALI error.
      
      From-SVN: r123548
      Quentin Ochem committed
    • g-os_lib.ads (Current_Time): New function. · 320ae22a
      2007-04-06  Pascal Obry  <obry@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* g-os_lib.ads (Current_Time): New function. Returns the current
      	system time as an OS_Time value.
      
      	* s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
      	(Monotonic_Clock): Same.
      
      From-SVN: r123547
      Pascal Obry committed
    • s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one or the… · 2c851ddd
      s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one or the monotonic used by Ada.Real_Time) to...
      
      2007-04-06  Pascal Obry  <obry@adacore.com>
      
      	* s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
      	or the monotonic used by Ada.Real_Time) to compute the sleep duration
      	on Windows.
      
      From-SVN: r123546
      Pascal Obry committed
    • system-aix.ads: Back out previous change. · 2d747524
      2007-04-06  Matt Gingell  <gingell@adacore.com>
      
      	* system-aix.ads: Back out previous change.
      	(Functions_Return_By_DSP): Removed
      
      From-SVN: r123545
      Matt Gingell committed
    • adaint.c: · c99c095f
      2007-04-06  Olivier Hainque  <hainque@adacore.com>
      
      	* adaint.c: 
      	(convert_addresses): Adjust prototype and dummy definition to expect an
      	 extra file_name argument.
      
      	* gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
      	filling the now expected file_name argument with the appropriate
      	argv[0] expansion.
      	(__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
      	(tracebk): Array of void * instead of char *, corresponding to what
      	 convert_addresses expects.
      	(exename): New static global, to hold the executable file name to be
      	used in all convert_addresses invocations.
      	(gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
      	change.
      	(__gnat_gmem_a2l_initialize): Resolve exename.
      	(__gnat_convert_addresses): Use exename as the convert_addresses
      	file_name argument.
      
      	* g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
      	"convert_addresses", now expecting a filename argument. Import the
      	necessary entities to compute the filename to use and pass it to
      	convert_addresses.
      
      From-SVN: r123544
      Olivier Hainque committed
    • a-calend-vms.ads, [...]: New version of Ada.Calendar which supports the new… · 42907632
      a-calend-vms.ads, [...]: New version of Ada.Calendar which supports the new upper bound of Ada time...
      
      2007-04-06  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      
      	* a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
      	New version of Ada.Calendar which supports the new upper bound of Ada
      	time (2399-12-31 86_399.999999999).
      	The following modifications have been made to the package:
      	 - New representation of time as count of nanoseconds since the start of
      	   Ada time (1901-1-1 0.0).
      	 - Target independent Split and Time_Of routines which service both
      	   Ada 95 and Ada 2005 code.
      	 - Target independent interface to the Ada 2005 children of Calendar.
      	 - Integrated leap seconds into Ada 95 and Ada 2005 mode.
      	 - Handling of non-leap centenial years.
      	 - Updated clock function.
      	 - Updated arithmetic and comparison operators.
      
      	* a-caldel.adb (To_Duration): Add call to target independent routine in
      	Ada.Calendar to handle the conversion of time to duration.
      
      	* sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
      	(UTC Offset).
      	If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
      	set off to 0.
      	(__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
      	targets do not have a natural time zone, GMT is used as a default.
      	(__gnat_get_task_options): New.
      
      	* a-direct.adb (Modification_Time): Add with and use clauses for
      	Ada.Calendar and Ada.
      	Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
      	since it is no longer needed.
      	(Duration_To_Time): Removed.
      	(OS_Time_To_Long_Integer): Removed.
      	(Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
      	Formatting Time_Of routines which automatically handle time zones,
      	buffer periods and leap seconds.
      
      	* a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
      	target independent routines in Ada.Calendar.
      
      	* a-calfor.ads, a-calfor.adb: 
      	Code cleanup and addition of validity checks in various routines.
      	(Day_Of_Week, Split, Time_Of): Add call to target independent routine in
      	Ada.Calendar.
      
      	* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
      	independent routine in Ada.Calendar.
      
      From-SVN: r123543
      Hristian Kirtchev committed
    • g-stsifd-sockets.adb: New file. · 3d3bf932
      2007-04-06  Thomas Quinot  <quinot@adacore.com>
      	    Pat Rogers  <rogers@adacore.com>
      	    Pascal Obry  <obry@adacore.com>
      
      	* g-stsifd-sockets.adb: New file.
      
      	* g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
      	g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
      	g-socthi-vms.adb: Move signalling
      	fd management to a nested package, so that they can conveniently be
      	moved to a subunit that is shared across Windows, VMS, and VxWorks
      	(Ada implementation) or completed with imported bodies from socket.c
      	(UNIX case).
      	(Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
      	subprograms.
      	(Check_Selector): Use Read_Signalling_Fd to read and discard data from
      	the signalling file descriptor.
      	(Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
      	signalling file descriptor.
      	(Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
      	instead of creating a pair of sockets for signalling here.
      
      	* g-socthi.adb: Ditto.
      	Set the runtime process to ignore SIGPIPEs on platforms that support
      	neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
      
      	* g-socthi-mingw.adb: Ditto.
      	(WS_Version): Use Windows 2.2.
      	Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
      
      	* g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
      	Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
      
      	* Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
      	added GNAT byte swapping facility
      	Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
      
      	* g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
      
      	* socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
      	New subprograms.
      	(__gnat_create_signalling_fds): New subprogram.
      	Set the runtime process to ignore SIGPIPEs on platforms that support
      	neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
      
      From-SVN: r123542
      Thomas Quinot committed
    • 2007-04-06 Robert Dewar <dewar@adacore.com> · baa3441d
      	* a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
      	(Local_Raise): New dummy procedure called when a raise is converted
      	to a local goto. Used for debugger to detect that the exception
      	is raised.
      
      	* debug.adb: Document new d.g flag (expand local raise statements to
      	gotos even if pragma Restriction (No_Exception_Propagation) is not set)
      
      	* exp_sel.adb: Use Make_Implicit_Exception_Handler
      
      	* exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
      	suppress warnings for unused handlers.
      	(Warn_If_No_Propagation):  Use new flag -gnatw.x to suppress
      	warnings for raise statements not handled locally.
      	(Get_RT_Exception_Entity): New function
      	(Get_Local_Call_Entity): New function
      	(Find_Local_Handler): New function
      	(Warn_If_No_Propagation): New procedure
      	(Expand_At_End_Handler): Call Make_Implicit_Handler
      	(Expand_Exception_Handlers): Major additions to deal with local handlers
      	(Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
      	Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
      	for local raise
      
      	* exp_ch11.ads (Get_RT_Exception_Entity): New function
      	(Get_Local_Call_Entity): New function
      
      	* gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
      	of restrictions that the binder will never suggest adding.
      
      	* par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
      	to No_Elist.
      
      	* restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
      	be with'ed in the presence of pragma Restriction
      	(No_Exception_Propagation).
      
      	* sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
      
      	* sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
      	parameter, then the handler is not a suitable target for a local raise,
      	and this is a violation of restriction No_Exception_Propagation.
      	(Analyze_Handled_Statements): Analyze choice parameters in exception
      	handlers before analyzing statement sequence (needed for proper
      	detection of local raise statements).
      	(Analyze_Raise_Statement): Reraise statement is a violation of the
      	No_Exception_Propagation restriction.
      
      	* s-rident.ads: Add new restriction No_Exception_Propagation
      
      	* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
      	function, like Make_Exception_Handler but sets Local_Raise_Statements
      	to No_List.
      	(Add_Unique_Serial_Number): Deal with case where this is called during
      	processing of configuration pragmas.
      
      From-SVN: r123541
      Robert Dewar committed
    • s-osinte-lynxos-3.ads, [...] (Create_Task): Fix handling of Task_Info. · c5173b1a
      2007-04-06  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
      	s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
      	s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
      	(PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
      
      From-SVN: r123540
      Arnaud Charlet committed
    • system-linux-ia64.ads, [...] (Functions_Return_By_DSP_On_Target): Removed · 0903be23
      2007-04-06  Robert Dewar  <dewar@adacore.com>
      
      	* system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
      	system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
      	system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
      	system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
      	system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
      	system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
      	system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
      	system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
      	system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
              system-hpux-ia64.ads, targparm.adb,
      	targparm.ads (Functions_Return_By_DSP_On_Target): Removed
      
      	* system.ads: Move Functions_Return_By_DSP to obsolete section,
      	kept for bootstrap purposes only.
      
      From-SVN: r123539
      Robert Dewar committed
    • a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,… · d90e94c7
      a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads, a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads, a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads, a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads, a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads, a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads, a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads, a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads, a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads, a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads, i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads, unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads, a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads, a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads, expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads, s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-traceb-hpux.adb, s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb, s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb, s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads, a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb, a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads, g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads, s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb, s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb, s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads, a-ztexio.adb, a-ztexio.ads...
      
      2007-04-06  Javier Miranda  <miranda@adacore.com>
      	    Matt Heaney  <heaney@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
      	a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
      	a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
      	a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
      	a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
      	a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
      	a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
      	a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
      	a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
      	a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
      	a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
      	a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
      	a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
      	a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
      	a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
      	a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
      	a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
      	i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
      	unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
      	a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
      	a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
      	a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
      	expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
      	s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
      	s-taprop-tru64.adb, s-taprop-irix.adb,
      	s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
      	s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
      	s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
      	s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb, 
      	s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads, 
      	a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb, 
      	a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads, 
      	g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads, 
      	s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb, 
      	s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads, 
      	s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, 
      	s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, 
      	s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb, 
      	s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb, 
      	a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads, 
      	a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads, 
      	a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb, 
      	a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
      	a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads, 
      	a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
      	access types.
      	Update documentation.
      	Minor rewording.
      
      From-SVN: r123538
      Javier Miranda committed
    • * filename_cmp.c (filename_cmp): Improve documentation. · 96a94ff4
      From-SVN: r123537
      Joel Brobecker committed
    • Cleanup whitespacing · 2878ea73
      From-SVN: r123536
      Mike Stump committed
  2. 05 Apr, 2007 15 commits
    • Daily bump. · c7b89fc4
      From-SVN: r123533
      GCC Administrator committed
    • alpha.c (print_operand): Remove. · e4bec638
              * config/alpha/alpha.c (print_operand) [+]: Remove.
              (alpha_end_function): Print nop if call at end of function.
              * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +.
              * config/alpha/alpha.md (UNSPEC_LDGP1): New.
              (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New.
              (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New.
              (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into
              the call pattern. Update peepholes to match.
      
      From-SVN: r123529
      Richard Henderson committed
    • extend.texi (Other Builtins): Add decimal float variants of signbit. · 44aea9ac
      	* doc/extend.texi (Other Builtins): Add decimal float variants
      	of signbit.
      	* builtins.def: Ditto.
      	* builtins.c (expand_builtin): Ditto.
      testsuite/
      	* gcc.dg/dfp/signbit-1.c
      	* gcc.dg/dfp/signbit-2.c
      M    gcc/doc/extend.texi
      M    gcc/builtins.c
      M    gcc/ChangeLog
      A    gcc/testsuite/gcc.dg/dfp/signbit-2.c
      A    gcc/testsuite/gcc.dg/dfp/signbit-1.c
      M    gcc/testsuite/ChangeLog
      M    gcc/builtins.def
      
      From-SVN: r123528
      Janis Johnson committed
    • re PR target/31478 (Typos in sse2_umulv2siv2di3, sse2_pmaddwd, sdot_prodv8hi) · 27120a59
      2007-04-05  Uros Bizjak  <ubizjak@gmail.com>
      	    H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/31478
      	* config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
      	of V8HImode when calling ix86_binary_operator_ok.
      	(sse2_pmaddwd): Call ix86_binary_operator_ok.
      	(sdot_prodv8hi): Operands 1 and 2 must be register.
      
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      
      From-SVN: r123527
      Uros Bizjak committed
    • tree-sra.c (try_instantiate_multiple_fields): Needlessly initialize align to silence bogus warning. · fa574e51
      * tree-sra.c (try_instantiate_multiple_fields): Needlessly
      initialize align to silence bogus warning.
      
      From-SVN: r123526
      Alexandre Oliva committed
    • re PR middle-end/22156 (bit-field copying regressed) · dc808df6
      PR middle-end/22156
      * tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
      all_no_warning.
      (struct sra_walk_fns): Remove use_all parameter from use.
      (sra_hash_tree): Handle BIT_FIELD_REFs.
      (sra_elt_hash): Don't hash bitfld blocks.
      (sra_elt_eq): Skip them in parent compares as well.  Handle
      BIT_FIELD_REFs.
      (sra_walk_expr): Don't maintain or pass down use_all_p.
      (scan_use): Remove use_all parameter.
      (scalarize_use): Likewise.  Re-expand assignment to
      BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
      output, and re-scalarize after output.  Don't mark anything
      for no warning.
      (scalarize_ldst): Adjust.
      (scalarize_walk_gimple_modify_statement): Likewise.
      (build_element_name_1): Handle BIT_FIELD_REFs.
      (instantiate_element): Don't warn for any element whose parent
      is used as a whole.
      (instantiate_missing_elements_1): Return the sra_elt.
      (canon_type_for_field): New.
      (try_instantiate_multiple_fields): New.
      (instantiate_missing_elemnts): Use them.
      (mark_no_warning): Removed.
      (generate_one_element_ref): Handle BIT_FIELD_REFs.
      (REPLDUP, sra_build_elt_assignment): New.
      (generate_copy_inout): Use them.
      (generate_element_copy): Likewise.  Handle bitfld differences.
      (generate_element_zero): Don't recurse for blocks.  Use
      sra_build_elt_assignment.
      (generate_one_element_int): Take elt instead of var.  Use
      sra_build_elt_assignment.
      (generate_element_init_1): Adjust.
      (scalarize_use, scalarize_copy): Use REPLDUP.
      (scalarize_ldst): Move assert before dereference.
      (dump_sra_elt_name): Handle BIT_FIELD_REFs.
      
      From-SVN: r123524
      Alexandre Oliva committed
    • regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. · a78f3e71
      	* regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
      	(regmove_bb_head): Remove.
      	(copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
      	(regmove_optimize): Don't do unnecessary CFG fixes for non-existing
      	problems with fixup_match_1.
      	Don't initialize/free regmove_bb_head.
      
      	(reg_is_remote_constant_p): If an insn is in the same basic block
      	but not before INSN, consider it remote, too.
      
      From-SVN: r123522
      Steven Bosscher committed
    • re PR target/25448 (Unfounded warnings from the AVR backend) · f9ca0dee
      	PR target/25448
      	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
      	DECL_ASSEMBLER_NAME, not the DECL_NAME.
      
      From-SVN: r123519
      Anatoly Sokolov committed
    • re PR fortran/31483 ([4.1/4.2 only] ICE on fortran Code) · 276ca25d
      2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/31483
      	* trans-expr.c (gfc_conv_function_call): Give a dummy
      	procedure the correct type if it has alternate returns.
      
      2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/31483
      	* gfortran.dg/altreturn_5.f90: New test.
      
      From-SVN: r123518
      Paul Thomas committed
    • re PR fortran/31292 (ICE with module procedure interface in a procedure body) · 060fca4a
      2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/31292
      	* decl.c (gfc_match_modproc): Go up to the top of the namespace
      	tree to find the module namespace for gfc_get_symbol.
      
      2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/31292
      	* gfortran.dg/contained_module_proc_1.f90: New test.
      
      From-SVN: r123517
      Paul Thomas committed
    • i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. · 7706ca5d
      2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
      	(CONDITIONAL_REGISTER_USAGE): Likewise.
      
      From-SVN: r123516
      H.J. Lu committed
    • DecimalFormatSymbols.java: Added the year 2007 to Copyright information and… · 618bf37b
      DecimalFormatSymbols.java: Added the year 2007 to Copyright information and introduced new variable, currency.
      
      2007-04-04  Tania Bento  <tbento@redhat.com>
      
      	* java/text/DecimalFormatSymbols.java: Added the year 2007 to
      	Copyright information and introduced new variable, currency.
      	(DecimalFormatSymbols(Locale)): Define currency and intlCurrencySymbol
      	to "XXX", currencySymbol to "?" and localCurrency appropriately.
      	(getCurrency): Fixed documentation and return the value of currency.
      	(setCurrency): Fixed documentation and update the value of currency.
      	(setInternationalCurrencySymbol): Fixed documentation and update the
      	value of currency.
      	* java/util/Currency.java: Introduced two new variables, properties
      	and fractionDigits. In the static block, a properties object is
      	created and the currency resource is loaded.
      	(Currency(Locale)): fractionDigits is defined.
      	(Currency(String)): New method.
      	(getDefaultFractionDigits): Return the value of fractionDigits.
      	(getInstance(String)): Check if String is equal to "XXX".
      
      From-SVN: r123512
      Tania Bento committed
    • VariableTable.java: Change longs to ints for argCnt and slots. · dabf6200
      2007-04-04  Kyle Galloway  <kgallowa@redhat.com>
      
      	* classpath/gnu/classpath/jdwp/util/VariableTable.java: Change longs
      	to ints for argCnt and slots.
      	(write): Replace writeLong with writeInt for the above.
      
      From-SVN: r123511
      Kyle Galloway committed
  3. 04 Apr, 2007 1 commit