platform/upstream/gcc.git
17 years agoexp_dist.ads, [...] (Build_To_Any_Call, [...]): Do an Unchecked_Conversion to handle...
Thomas Quinot [Fri, 6 Apr 2007 09:20:52 +0000 (11:20 +0200)]
exp_dist.ads, [...] (Build_To_Any_Call, [...]): Do an Unchecked_Conversion to handle the passage from the Underlying Type to...

2007-04-06  Thomas Quinot  <quinot@adacore.com>

* exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
Do an Unchecked_Conversion to handle the passage from the Underlying
Type to the Base Type when calling Build_To_Any_Call and
Build_From_Any_Call.
(Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
E_Constant, depending upon Variable formal.
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
parameter that requires an extra constrained parameter, declare
temporary for actual as a variable, not a constant.
(Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
the unit being compiled is the one that contains the stub type.
Change primitive operation name for the RACW associated with a RAS
from Call to _Call so it cannot clash with any legal identifier.
(PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
Is_RAS.
(Append_RACW_Bodies): New subprogram.
(Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
Add_Receiving_Stubs_To_Declarations functions.
When expanding a package body, this list correspond to the
statements in the HSS at the end of the pacakge.
When expanding a package spec, this list correspond to the
spec declarations.
(Add_Receiving_Stubs_To_Declarations): Append the function
registering the receiving stubs at the end of the 'Stmts' list.
(RCI_Package_Locator): Pass the new Version generic formal when
instantiating a RCI_Locator package.
(Build_From_Any_Function): To compute the High bound for an
unconstrained array actual, we add the Low bound with the length.
Thus we must convert the low bound and the length to an appropriate
type before doing the sum.
(Build_Subprogram_Receiving_Stubs, PolyORB):
 * Retrieve the extra formals parameters at the
   end of the parameter stream.
 * Use Move_Any_Value to write back out parameters
   after executing the request as it is more efficient
   than Copy_Any_Value.
 * Build the any containing Extra Formals with the
   appropriate typecode.
(PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
empty Component_List.
(Build_Actual_Object_Declaration): New subprogram. Build and insert into
the tree the declaration for an object that serves as actual parameter
in server-side stubs.
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
PolyORB_Support.Build_Subprogram_Receiving_Stubs):
Use Build_Actual_Object_Declaration to prepare the actuals.
(Add_Parameter_To_NVList): Set the parameter mode to In for
Extra Constrained Parameters.
(Build_General_Calling_Stubs): Set the parameter type to boolean for
Extra Constrained parameters.
(Build_To_Any_Function, Build_From_Any_Function,
Built_TypeCode_Function): When Typ is implicit, call the correct
function with the first not implicit parent type.
(TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
(FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
typecode from the Etype. Therefore we retrieve the correct typecode
with a call to Get_Any_Type.
(Copy_Specification): Do controlling formal type substitution based on
Is_Controlling_Formal flag, instead of caller-provided object type.
(Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
a RACW primitive operation, we might get a subprogram declaration for an
ancestor of the RACW designated type (not for the designated type
itself), in the case where this operation is inherited. In this case we
have no easy means of determining the original tagged type for which
the primitive was declared, so instead we now rely on
Copy_Specification to use the Is_Controlling_Formal flag to determine
which formals require type substitution.

From-SVN: r123565

17 years agoexp_ch9.ads, [...] (Family_Offset): Add new 'Cap' boolean parameter.
Eric Botcazou [Fri, 6 Apr 2007 09:20:37 +0000 (11:20 +0200)]
exp_ch9.ads, [...] (Family_Offset): Add new 'Cap' boolean parameter.

2007-04-06  Eric Botcazou <botcazou@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
parameter. If it is set to true, return a result capped according to
the global upper bound for the index of an entry family.
(Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
(Build_Find_Body_Index): Adjust for above change.
(Entry_Index_Expression): Likewise.
(Is_Potentially_Large_Family): New function extracted from...
(Collect_Entry_Families): ...here. Call it to detect whether the family
is potentially large.
(Build_Entry_Count_Expression): If the family is potentially large, call
Family_Size with 'Cap' set to true.
(Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
a protected version of an operation declared in the private part of
a protected object, because they may be invoked through a callback.
(Set_Privals): If the type of a private component is an anonymous access
type, do not create a new itype for each protected body.
If the body of a protected operation creates
controlled types (including allocators for class-widetypes), the
body of the corresponding protected subprogram must include a
finalization list.
(Build_Activation_Chain_Entity): Build the chain entity for extended
return statements.
(Type_Conformant_Parameters): Use common predicate Conforming_Types
to determine whether operation overrides an inherited primitive.
(Build_Wrapper_Spec): Add code to examine the parents while looking
for a possible overriding candidate.
(Build_Simple_Entry_Call): Set No_Initialization on the object used to
hold an actual parameter value since its initialization is separated
from the the declaration. Prevents errors on null-excluding access
formals.

From-SVN: r123564

17 years agoexp_ch7.ads, [...] (Find_Final_List): If the access type is anonymous, use finalizati...
Ed Schonberg [Fri, 6 Apr 2007 09:20:23 +0000 (11:20 +0200)]
exp_ch7.ads, [...] (Find_Final_List): If the access type is anonymous, use finalization list of enclosing dynamic scope.

2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>
    Cyrille Comar  <comar@adacore.com>

* exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
anonymous, use finalization list of enclosing dynamic scope.
(Expand_N_Package_Declaration): For a library package declaration
without a corresponding body, generate RACW subprogram bodies in the
spec (just as we do for the task activation call).
(Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
Is_Abstract_Type. Make sure these are called only when appropriate.
Remove all code for DSP option
(CW_Or_Controlled_Type): new subprogram.

From-SVN: r123563

17 years agoexp_ch13.adb (Expand_External_Tag_Definition): Replace call to the run-time subprogra...
Javier Miranda [Fri, 6 Apr 2007 09:20:11 +0000 (11:20 +0200)]
exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the run-time subprogram Set_External_Tag by call to...

2007-04-06  Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.

* exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
accessibility on class-wide allocators if the allocator occurs at the
same scope level as the allocator's type. The check is guaranteed to
succeed in that case, even when the expression originates from a
parameter of the containing subprogram.
(Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
under No_Dispatching_Calls restriction. During the semantic analysis
we already notified such violation.
(Tagged_Membership): Constant folding. There is no need to check
the tag at run-time if the type of the right operand is non
class-wide abstract.
Replace call to Is_Ancestor by call to Is_Parent
to support concurrent types with interface types.
(Expand_N_Allocator): Add an assertion associated with the generation
of the master_id.
(Expand_N_Slice): Do not enable range check to nodes associated
with the frontend expansion of the dispatch table.
(Is_Local_Access_Discriminant): Subsidiary function to
Expand_N_Allocator.
(Tagged_Membership): Replace generation of call to the run-time
subprogram CW_Membership by call to Build_CW_Membership.
(Expand_Allocator_Expression): Replace generation of call to the
run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.

* exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
initialize most the TSD components by means of an aggregate.
Modify the declaration of the object containing the TSD
because we now expand code that has a higher level of abstraction.
The TSD has a discriminant containing the Inheritance Depth Level,
value that is used in the membership test but also to fix the size
of the table of ancestors.
(Expand_Interface_Conversion): Insert function body at the closest place
to the conversion expression, to prevent access-before-elaboration
errors in the backend.
Code improved to reduce the size of the dispatch table if
compiling under restriction No_Dispatching_Calls plus code cleanup.
Code reorganization plus removal of calls to Set_Num_Prim_Ops
(Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
(Expand_Dispatching_Call): Minor code reorganization plus addition of
code to return immediately if compiling under No_Dispatching_Calls
restriction.
(Set_All_DT_Position): Remove code associated with the old CPP pragmas.
CPP_Virtual and CPP_Vtable are no longer supported.
(Expand_Interface_Conversion): Add missing support for interface type
derivations.
(Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
Is_Parent to support concurrent types with interfaces.
(Init_Predefined_Interface_Primitives): Removed.
(Make_Secondary_DT): Modified to support concurrent record types.
(Set_All_DT_Position): Modified to support concurrent record types.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
with Get_External_Tag, Inherit_TSD, Set_External_Tag.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
with CW_Membership.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
with Get_Access_Level, Get_Predefined_Prim_Op_Address,
Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
(Expand_Dispatching_Call): Replace generation of call to the run-time
subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
Address.
(Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
Build_Set_Prim_Op_Address.
(Get_Remotely_Callable): Subprogram removed.
(Init_Predefined_Interface_Primitives): Replace generation of call to
the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
Prims.

* sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
First (Parameter_Associations ()) with the call to First_Actual that
returns an actual parameter expression for both named and positional
associations.

* sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
check violation of restriction No_Dispatching_Calls.
(Check_Controlling_Type): A formal of a tagged incomplete type is a
controlling argument.

* exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
First/Next_Component_Or_Discriminant
(Insert_Actions): Add entries for new N_Push and N_Pop nodes
(Find_Implemented_Interface): Removed. All the calls to this subprogram
specify Any_Limited_Interface, and this functionality is already
provided by the function Has_Abstract_Interfaces.
(Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
support concurrent types implementing interfaces.
(Find_Implemented_Interface): Removed. All the calls to this subprogram
specify kind Any_Limited_Interface, and this functionality is already
provided by the function Has_Abstract_Interfaces.
(Remove_Side_Effects): replace Controlled_Type by
CW_Or_Controlled_Type whenever the issue is related to
using or not the secondary stack.

* par-ch12.adb (P_Formal_Type_Definition): Update calls to
P_Interface_Type_Definition to fulfill the new interface (the formal
Is_Synchronized is no longer required).

* Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
Update dependencies.

* exp_atag.ads, exp_atag.adb: New file

From-SVN: r123562

17 years agoexp_aggr.adb: If the array component is a discriminated record...
Ed Schonberg [Fri, 6 Apr 2007 09:19:53 +0000 (11:19 +0200)]
exp_aggr.adb: If the array component is a discriminated record...

2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_aggr.adb:
If the array component is a discriminated record, the array aggregate
is non-static even if the component is given by an aggregate with
static components.
(Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
(Convert_Aggr_In_Allocator): If the allocator is for an access
discriminant and the type is controlled. do not place on a finalization
list at this point. The proper list will be determined from the
enclosing object.
(Build_Record_Aggr_Code): If aggregate has box-initialized components,
initialize record controller if needed, before the components, to ensure
that they are properly finalized.
(Build_Record_Aggr_Code): For the case of an array component that has a
corresponding array aggregate in the record aggregate, perform sliding
if required.

From-SVN: r123561

17 years agoerrutil.adb (Initialize): Initialize warnings table...
Vincent Celier [Fri, 6 Apr 2007 09:19:38 +0000 (11:19 +0200)]
errutil.adb (Initialize): Initialize warnings table...

2007-04-06  Vincent Celier  <celier@adacore.com>

* errutil.adb (Initialize): Initialize warnings table, if all warnings
are suppressed, supply an initial dummy entry covering all possible
source locations.

* make.adb (Scan_Make_Arg): Reject options that should start with "--"
and start with only one, such as "-RTS=none".
(Collect_Arguments): Do not check for sources outside of projects.
Do not collect arguments if project is externally built.
(Compile_Sources): Do nothing, not even check if the source is up to
date, if its project is externally built.
(Compile): When compiling a predefined source, add -gnatpg
as the second switch, after -c.
(Compile_Sources): Allow compilation of Annex J renames without -a
(Is_In_Object_Directory): Check if the ALI file is in the object
even if there is no project extension.
(Create_Binder_Mapping_File): Only put a unit in the mapping file for
gnatbind if the ALI file effectively exists.
(Initialize): Add the directory where gnatmake is invoked in front of
the path if it is invoked from a bin directory, even without directory
information, so that the correct GNAT tools will be used when spawned
without directory information.

* makeusg.adb: Change switch -S to -eS
Add lines for new switches -we, -wn and -ws
Add line for new switch -p

* prj-proc.adb (Process): Set Success to False when Warning_Mode is
Treat_As_Error and there are warnings.

* switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
-gnatww Change gnatmake switch -S to -eS
(Scan_Make_Switches): Code reorganisation. Process separately multi
character switches and single character switches.
(Scan_Make_Switches): New Boolean out parameter Success. Set Success to
False when switch is not recognized by gnatmake.
(Scan_Make_Switches): Set Setup_Projects True when -p or
--create-missing-dirs is specified.

* fname.adb (Is_Predefined_File_Name): Return True for annex J
renamings Calendar, Machine_Code, Unchecked_Conversion and
Unchecked_Deallocation only when Renamings_Included is True.

* par.adb: Allow library units Calendar, Machine_Code,
Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
when -gnatg is not specified.
(P_Interface_Type_Definition): Remove the formal Is_Synchronized because
there is no need to generate always a record_definition_node in case
of synchronized interface types.
(SIS_Entry_Active): Initialize global variable to False
(P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
indicate cases where AI-447 says "not null" is legal.

* makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function

* makegpr.adb (Check_Compilation_Needed): Take into account dependency
files with with several lines starting with the object fileb name.
(Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
is specified.
(Initialize): Add the directory where gprmake is invoked in front of the
path, if it is invoked from a bin directory or with directory
information, so that the correct GNAT tools will be used when invoked
directly.
(Check_Compilation_Needed): Process correctly backslashes on Windows.

* vms_data.ads: Update switches/qualifiers

From-SVN: r123560

17 years agoerrout.adb (Unwind_Internal_Type): Use predicate Is_Access__Protected_Subprogram_Type.
Ed Schonberg [Fri, 6 Apr 2007 09:19:23 +0000 (11:19 +0200)]
errout.adb (Unwind_Internal_Type): Use predicate Is_Access__Protected_Subprogram_Type.

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

17 years agoeinfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
Robert Dewar [Fri, 6 Apr 2007 09:19:10 +0000 (11:19 +0200)]
einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function

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

17 years agodecl.c (gnat_to_gnu_entity): Associate an external VAR_DECL to a CONST_DECL we make...
Olivier Hainque [Fri, 6 Apr 2007 09:18:48 +0000 (11:18 +0200)]
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

17 years agocstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which absolute path...
Nicolas Roche [Fri, 6 Apr 2007 09:18:36 +0000 (11:18 +0200)]
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

17 years agocstand.adb (Create_Standard): When the target's storage unit size is greater than...
Gary Dismukes [Fri, 6 Apr 2007 09:18:27 +0000 (11:18 +0200)]
cstand.adb (Create_Standard): When the target's storage unit size is greater than a byte...

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

17 years agochecks.ads, checks.adb (Selected_Range_Checks): No range check is required for a...
Thomas Quinot [Fri, 6 Apr 2007 09:18:09 +0000 (11:18 +0200)]
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

17 years agoatree.h, [...] (Copy_Node_With_Replacement): When copying a parameter list in a call...
Ed Schonberg [Fri, 6 Apr 2007 09:17:57 +0000 (11:17 +0200)]
atree.h, [...] (Copy_Node_With_Replacement): When copying a parameter list in a call...

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

17 years agoexp_ch4.adb (Expand_N_Type_Conversion): Remove special processing for conversion...
Geert Bosch [Fri, 6 Apr 2007 09:17:46 +0000 (11:17 +0200)]
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

17 years agoexp_ch3.ads, [...] (Analyze_N_Full_Type_Declaration): For an anonymous access compone...
Ed Schonberg [Fri, 6 Apr 2007 09:17:34 +0000 (11:17 +0200)]
exp_ch3.ads, [...] (Analyze_N_Full_Type_Declaration): For an anonymous access component...

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

17 years agoa-tags.ads, a-tags.adb (Object_Specific_Data): Remove component Num_Prim_Ops.
Javier Miranda [Fri, 6 Apr 2007 09:17:23 +0000 (11:17 +0200)]
a-tags.ads, a-tags.adb (Object_Specific_Data): Remove component Num_Prim_Ops.

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

17 years agoa-retide.adb: Add elaboration code to ensure that the tasking run time is initialized...
Jose Ruiz [Fri, 6 Apr 2007 09:17:12 +0000 (11:17 +0200)]
a-retide.adb: Add elaboration code to ensure that the tasking run time is initialized when...

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

17 years agoali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is not on a natural.
Quentin Ochem [Fri, 6 Apr 2007 09:17:01 +0000 (11:17 +0200)]
ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is not on a natural.

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

17 years agog-os_lib.ads (Current_Time): New function.
Pascal Obry [Fri, 6 Apr 2007 09:16:52 +0000 (11:16 +0200)]
g-os_lib.ads (Current_Time): New function.

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

17 years agos-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one or the monotonic...
Pascal Obry [Fri, 6 Apr 2007 09:15:56 +0000 (11:15 +0200)]
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

17 years agosystem-aix.ads: Back out previous change.
Matt Gingell [Fri, 6 Apr 2007 09:15:45 +0000 (11:15 +0200)]
system-aix.ads: Back out previous change.

2007-04-06  Matt Gingell  <gingell@adacore.com>

* system-aix.ads: Back out previous change.
(Functions_Return_By_DSP): Removed

From-SVN: r123545

17 years agoadaint.c:
Olivier Hainque [Fri, 6 Apr 2007 09:15:36 +0000 (11:15 +0200)]
adaint.c:

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

17 years agoa-calend-vms.ads, [...]: New version of Ada.Calendar which supports the new upper...
Hristian Kirtchev [Fri, 6 Apr 2007 09:15:21 +0000 (11:15 +0200)]
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

17 years agog-stsifd-sockets.adb: New file.
Thomas Quinot [Fri, 6 Apr 2007 09:15:09 +0000 (11:15 +0200)]
g-stsifd-sockets.adb: New file.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
Robert Dewar [Fri, 6 Apr 2007 09:14:55 +0000 (11:14 +0200)]
2007-04-06  Robert Dewar  <dewar@adacore.com>

* 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

17 years agos-osinte-lynxos-3.ads, [...] (Create_Task): Fix handling of Task_Info.
Arnaud Charlet [Fri, 6 Apr 2007 09:14:36 +0000 (11:14 +0200)]
s-osinte-lynxos-3.ads, [...] (Create_Task): Fix handling of Task_Info.

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

17 years agosystem-linux-ia64.ads, [...] (Functions_Return_By_DSP_On_Target): Removed
Robert Dewar [Fri, 6 Apr 2007 09:14:20 +0000 (11:14 +0200)]
system-linux-ia64.ads, [...] (Functions_Return_By_DSP_On_Target): Removed

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

17 years agoa-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgarso.ads...
Javier Miranda [Fri, 6 Apr 2007 09:13:42 +0000 (11:13 +0200)]
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

17 years ago* filename_cmp.c (filename_cmp): Improve documentation.
Joel Brobecker [Fri, 6 Apr 2007 06:00:18 +0000 (06:00 +0000)]
* filename_cmp.c (filename_cmp): Improve documentation.

From-SVN: r123537

17 years agoCleanup whitespacing
Mike Stump [Fri, 6 Apr 2007 00:58:34 +0000 (00:58 +0000)]
Cleanup whitespacing

From-SVN: r123536

17 years agoDaily bump.
GCC Administrator [Thu, 5 Apr 2007 23:17:25 +0000 (23:17 +0000)]
Daily bump.

From-SVN: r123533

17 years agoalpha.c (print_operand): Remove.
Richard Henderson [Thu, 5 Apr 2007 22:39:56 +0000 (15:39 -0700)]
alpha.c (print_operand): Remove.

        * 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

17 years agoextend.texi (Other Builtins): Add decimal float variants of signbit.
Janis Johnson [Thu, 5 Apr 2007 22:10:28 +0000 (22:10 +0000)]
extend.texi (Other Builtins): Add decimal float variants of signbit.

* 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

17 years agore PR target/31478 (Typos in sse2_umulv2siv2di3, sse2_pmaddwd, sdot_prodv8hi)
Uros Bizjak [Thu, 5 Apr 2007 21:16:37 +0000 (23:16 +0200)]
re PR target/31478 (Typos in sse2_umulv2siv2di3, sse2_pmaddwd, sdot_prodv8hi)

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

17 years agotree-sra.c (try_instantiate_multiple_fields): Needlessly initialize align to silence...
Alexandre Oliva [Thu, 5 Apr 2007 21:10:26 +0000 (21:10 +0000)]
tree-sra.c (try_instantiate_multiple_fields): Needlessly initialize align to silence bogus warning.

* tree-sra.c (try_instantiate_multiple_fields): Needlessly
initialize align to silence bogus warning.

From-SVN: r123526

17 years agore PR middle-end/22156 (bit-field copying regressed)
Alexandre Oliva [Thu, 5 Apr 2007 18:50:34 +0000 (18:50 +0000)]
re PR middle-end/22156 (bit-field copying regressed)

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

17 years ago* regmove.c: Fix unused variable warnings due to previous commit.
Steven Bosscher [Thu, 5 Apr 2007 17:57:13 +0000 (17:57 +0000)]
* regmove.c: Fix unused variable warnings due to previous commit.

From-SVN: r123523

17 years agoregmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
Steven Bosscher [Thu, 5 Apr 2007 16:52:26 +0000 (16:52 +0000)]
regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.

* 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

17 years agore PR target/25448 (Unfounded warnings from the AVR backend)
Anatoly Sokolov [Thu, 5 Apr 2007 15:43:35 +0000 (19:43 +0400)]
re PR target/25448 (Unfounded warnings from the AVR backend)

PR target/25448
* config/avr/avr.c (avr_handle_fndecl_attribute): Use the
DECL_ASSEMBLER_NAME, not the DECL_NAME.

From-SVN: r123519

17 years agore PR fortran/31483 ([4.1/4.2 only] ICE on fortran Code)
Paul Thomas [Thu, 5 Apr 2007 14:06:15 +0000 (14:06 +0000)]
re PR fortran/31483 ([4.1/4.2 only] ICE on fortran Code)

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

17 years agore PR fortran/31292 (ICE with module procedure interface in a procedure body)
Paul Thomas [Thu, 5 Apr 2007 14:00:27 +0000 (14:00 +0000)]
re PR fortran/31292 (ICE with module procedure interface in a procedure body)

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

17 years agoi386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
H.J. Lu [Thu, 5 Apr 2007 13:17:13 +0000 (13:17 +0000)]
i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.

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

17 years ago* texi2pod.pl: Correct handling of @itemize with no argument.
Zack Weinberg [Thu, 5 Apr 2007 05:46:41 +0000 (05:46 +0000)]
* texi2pod.pl: Correct handling of @itemize with no argument.

From-SVN: r123514

17 years agoDecimalFormatSymbols.java: Added the year 2007 to Copyright information and introduce...
Tania Bento [Thu, 5 Apr 2007 00:15:16 +0000 (00:15 +0000)]
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

17 years agoVariableTable.java: Change longs to ints for argCnt and slots.
Kyle Galloway [Thu, 5 Apr 2007 00:00:45 +0000 (00:00 +0000)]
VariableTable.java: Change longs to ints for argCnt and slots.

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

17 years ago* config/alpha/lib1funcs.asm: Remove unused file.
Richard Henderson [Wed, 4 Apr 2007 23:34:03 +0000 (16:34 -0700)]
* config/alpha/lib1funcs.asm: Remove unused file.

From-SVN: r123510

17 years agoDaily bump.
GCC Administrator [Wed, 4 Apr 2007 23:17:01 +0000 (23:17 +0000)]
Daily bump.

From-SVN: r123508

17 years ago* configure: Check host, not target, for decimal float support.
Janis Johnson [Wed, 4 Apr 2007 21:15:57 +0000 (21:15 +0000)]
* configure: Check host, not target, for decimal float support.

From-SVN: r123503

17 years agovalarray_array.h (__valarray_default_construct(_Tp*, _Tp*)): Use __is_scalar instead...
Paolo Carlini [Wed, 4 Apr 2007 19:06:46 +0000 (19:06 +0000)]
valarray_array.h (__valarray_default_construct(_Tp*, _Tp*)): Use __is_scalar instead of __is_pod.

2007-04-04  Paolo Carlini  <pcarlini@suse.de>

* include/bits/valarray_array.h (__valarray_default_construct(_Tp*,
_Tp*)): Use __is_scalar instead of __is_pod.

From-SVN: r123502

17 years agore PR objc/31281 (ICE on ObjC try-catch blocks with next runtime)
Stuart Hastings [Wed, 4 Apr 2007 18:37:14 +0000 (18:37 +0000)]
re PR objc/31281 (ICE on ObjC try-catch blocks with next runtime)

PR 31281
* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
* testsuite/objc/execute/exceptions/pr31281.m: New.

From-SVN: r123501

17 years agotypo fix
Martin Michlmayr [Wed, 4 Apr 2007 18:29:20 +0000 (18:29 +0000)]
typo fix

From-SVN: r123500

17 years agore PR other/31356 (gcc --help=<language> option has problems in the output header...
Brooks Moses [Wed, 4 Apr 2007 18:17:30 +0000 (18:17 +0000)]
re PR other/31356 (gcc --help=<language> option has problems in the output header line.)

PR other/31356
* gcc.c (print_specific_help): Fix --help=<language>
header line.
(common_handle_option): Support --help=common.

From-SVN: r123499

17 years agore PR driver/31353 (gcc --help=target gives a linker error.)
Brooks Moses [Wed, 4 Apr 2007 18:10:17 +0000 (18:10 +0000)]
re PR driver/31353 (gcc --help=target gives a linker error.)

PR other/31353
* gcc.c (main): Do not run the linker if
print_subprocess_help indicates that it shouldn't be
run.

From-SVN: r123498

17 years agoPRR doc/31355
Brooks Moses [Wed, 4 Apr 2007 18:09:06 +0000 (18:09 +0000)]
PRR doc/31355

PRR doc/31355
* doc/invoke.texi (--help=): Document <languages> value, fix
formatting in tables of values.

From-SVN: r123497

17 years agolibgomp.h (gomp_cpu_affinity, [...]): New extern decls.
Jakub Jelinek [Wed, 4 Apr 2007 15:44:20 +0000 (17:44 +0200)]
libgomp.h (gomp_cpu_affinity, [...]): New extern decls.

* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
decls.
(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
(parse_affinity): New function.
(initialize_env): Call it and gomp_init_affinity.
* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
create new pthread_attr_t and call gomp_init_thread_affinity
on it for each thread before passing the attribute to pthread_create.
* config/linux/affinity.c: New file.
* config/posix/affinity.c: New file.
* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
* Makefile.in: Rebuilt.

From-SVN: r123494

17 years agowinnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore dllimport attribute of virtual...
Danny Smith [Wed, 4 Apr 2007 08:00:56 +0000 (08:00 +0000)]
winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore dllimport attribute of virtual methods.

gcc
* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore
dllimport attribute of virtual methods.

gcc/cp
* class.c (check_for_override): Don't remove dllmport attribute of
virtual methods.

gcc/testsuite

* g++.dg/ext/dllimport12.C: Update comments

From-SVN: r123492

17 years ago(Write After Approval): Add myself.
Christian Bruel [Wed, 4 Apr 2007 06:47:08 +0000 (08:47 +0200)]
(Write After Approval): Add myself.

From-SVN: r123491

17 years agocrti.asm: Change _bss_start to __bss_start.
Chen Liqin [Wed, 4 Apr 2007 01:49:10 +0000 (01:49 +0000)]
crti.asm: Change _bss_start to __bss_start.

2007-04-04  Chen Liqin  <liqin@sunnorth.com.cn>

        * config/score/crti.asm: Change _bss_start to __bss_start.
        * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
        (OUTGOING_REG_PARM_STACK_SPACE) update.
        * config/score/score.opt: add options to make backend support
        score5, score5u, score7 and score7d.
        * config/score/score.md: Likewise.
        * config/score/misc.md: Likewise.
        * config/score/mac.md: Likewise.
        * doc/invoke.texi: Likewise.
        * doc/md.texi: update constraints define.

From-SVN: r123490

17 years agoDaily bump.
GCC Administrator [Tue, 3 Apr 2007 23:16:58 +0000 (23:16 +0000)]
Daily bump.

From-SVN: r123487

17 years agopr29902.C: Require ilp32.
Eric Christopher [Tue, 3 Apr 2007 21:43:02 +0000 (21:43 +0000)]
pr29902.C: Require ilp32.

2007-04-03  Eric Christopher  <echristo@apple.com>

    * g++.dg/tree-ssa/pr29902.C: Require ilp32.

From-SVN: r123482

17 years agore PR fortran/31304 (REPEAT argument NCOPIES is not converted as it should)
Francois-Xavier Coudert [Tue, 3 Apr 2007 21:05:14 +0000 (21:05 +0000)]
re PR fortran/31304 (REPEAT argument NCOPIES is not converted as it should)

PR fortran/31304

* fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
* fortran/trans-types.c (gfc_charlen_int_kind): New variable.
(gfc_init_types): Define gfc_charlen_int_kind.
* fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
* fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
(gfc_build_intrinsic_function_decls): Don't set
gfor_fndecl_string_repeat.
* fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
so that we don't have to call a library function.
* fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
checks on the NCOPIES argument, and work with arbitrary size
arguments.

* intrinsics/string_intrinsics.c (string_repeat): Remove.

* gfortran.dg/repeat_2.f90: New test.
* gfortran.dg/repeat_3.f90: New test.
* gfortran.dg/repeat_4.f90: New test.

From-SVN: r123481

17 years agostl_algobase.h (__copy_aux(_II, _II, _OI), [...]): Use __is_pod.
Paolo Carlini [Tue, 3 Apr 2007 18:44:01 +0000 (18:44 +0000)]
stl_algobase.h (__copy_aux(_II, _II, _OI), [...]): Use __is_pod.

2007-04-03  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (__copy_aux(_II, _II, _OI),
__copy_backward_aux(_BI1, _BI1, _BI2)): Use __is_pod.
* include/bits/stl_deque.h (deque<>::_M_destroy_data(iterator,
iterator, const std::allocator<>&)): Use __has_trivial_constructor.
(deque<>::_M_destroy_data_dispatch): Remove.
* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
_Size, const _Tp&)): Use __is_pod.
* include/bits/stl_tempbuf.h (_Temporary_buffer::
_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use __is_pod.
(_Temporary_buffer::_M_initialize_buffer): Remove.
* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
_ForwardIterator)): Use __has_trivial_destructor.
(__destroy_aux): Remove.

From-SVN: r123480

17 years agoopt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets.
Uros Bizjak [Tue, 3 Apr 2007 17:17:35 +0000 (19:17 +0200)]
opt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets.

        * gcc.dg/tls/opt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets.

From-SVN: r123479

17 years agoexpr.c (store_expr): If get_signed_or_unsigned_type doesn't yield an appropriate...
Richard Henderson [Tue, 3 Apr 2007 15:50:42 +0000 (08:50 -0700)]
expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield an appropriate type...

        * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield
        an appropriate type, use the mode instead.

From-SVN: r123477

17 years agojvgenmain.c (main): Change main to use class$, not class$$.
Andrew Haley [Tue, 3 Apr 2007 15:28:16 +0000 (15:28 +0000)]
jvgenmain.c (main): Change main to use class$, not class$$.

2007-04-03  Andrew Haley  <aph@redhat.com>

        * jvgenmain.c (main): Change main to use class$, not class$$.
        (do_mangle_classname): Likewise.
        * class.c (hide): New function.
        (add_field): Hide everything that shouldn't be visible outside a
        DSO.
        (build_static_class_ref): Likewise.
        (build_classdollar_field): Likewise.
        (make_class_data): Likewise.
        (layout_class_method): Likewise.
        * expr.c (special_method_p): New function.

        * class.c (push_class): Don't bogusly guess the source filename.
        * jcf-parse.c (give_name_to_class): Don't set input_location from
        DECL_ARTIFICIAL decls.

From-SVN: r123476

17 years agoProxyTest.java: New test.
Andrew Haley [Tue, 3 Apr 2007 10:59:45 +0000 (10:59 +0000)]
ProxyTest.java: New test.

2007-04-03  Andrew Haley  <aph@redhat.com>

        * testsuite/libjava.lang/ProxyTest.java: New test.

From-SVN: r123466

17 years agore PR target/31175 (isinf incorrectly expanded)
Uros Bizjak [Tue, 3 Apr 2007 10:20:53 +0000 (12:20 +0200)]
re PR target/31175 (isinf incorrectly expanded)

       PR target/31175
       * config/i386/i386.md (isinf<mode>2): Expand only when
       TARGET_C99_FUNCTIONS is set.

From-SVN: r123465

17 years agoconfig.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.
Richard Sandiford [Tue, 3 Apr 2007 09:17:56 +0000 (09:17 +0000)]
config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.

gcc/
* config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.
Set the default --with-arch setting to mips2.
* config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES)
(MULTILIB_EXCEPTIONS): Redefine with new multilibs.
(MULTILIB_OSDIRNAMES): Delete.
(MULTILIB_DIRNAMES): Define.
* config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC.
(LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define.
(TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC
definitions, except for _WRS_R3K_EXC_SUPPORT.  Call
VXWORKS_OS_CPP_BUILTINS.
(SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC.
(MIPS_DEBUGGING_INFO): Undefine.
(FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER.

From-SVN: r123459

17 years agoclosures.c: Include sys/statfs.h.
Jakub Jelinek [Tue, 3 Apr 2007 09:12:40 +0000 (11:12 +0200)]
closures.c: Include sys/statfs.h.

* src/closures.c: Include sys/statfs.h.
(_GNU_SOURCE): Define on Linux.
(FFI_MMAP_EXEC_SELINUX): Define.
(selinux_enabled): New variable.
(selinux_enabled_check): New function.
(is_selinux_enabled): Define.
(dlmmap): Use it.

* configure.ac (NO_EXECUTE_PERMISSION): Set by default.
* configure: Rebuilt.

From-SVN: r123457

17 years agore PR c++/30847 (ICE with invalid statement expression)
Jakub Jelinek [Tue, 3 Apr 2007 09:08:00 +0000 (11:08 +0200)]
re PR c++/30847 (ICE with invalid statement expression)

PR c++/30847
* typeck.c (build_modify_expr): For COND_EXPR on LHS, if RHS has void
type issue error and return early.

* g++.dg/parse/cond3.C: New test.

From-SVN: r123456

17 years agore PR middle-end/30704 (Incorrect constant generation for long long)
Jakub Jelinek [Tue, 3 Apr 2007 09:05:38 +0000 (11:05 +0200)]
re PR middle-end/30704 (Incorrect constant generation for long long)

PR middle-end/30704
* fold-const.c (native_encode_real): Encode real.c provided longs
as a series of 32-bit native integers.
(native_interpret_real): Interpret buffer as a series of 32-bit
native integers.

* gcc.c-torture/execute/ieee/pr30704.c: New test.

From-SVN: r123455

17 years agostl_map.h (map<>::insert(iterator, const value_type&): Uglify parameter.
Paolo Carlini [Tue, 3 Apr 2007 08:50:09 +0000 (08:50 +0000)]
stl_map.h (map<>::insert(iterator, const value_type&): Uglify parameter.

2007-04-03  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_map.h (map<>::insert(iterator, const value_type&):
Uglify parameter.

From-SVN: r123453

17 years agore PR libstdc++/31440 (libstdc++-g++-v3 discarded qualifiers)
Paolo Carlini [Tue, 3 Apr 2007 08:32:31 +0000 (08:32 +0000)]
re PR libstdc++/31440 (libstdc++-g++-v3 discarded qualifiers)

2007-04-03  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/31440
* include/bits/stl_tree.h (_M_lower_bound(_Link_type, _Link_type,
const _Key&), _M_upper_bound(_Link_type, _Link_type, const _Key&)):
Add.
(_M_equal_range(const _Key&) const): Remove.
(lower_bound(const key_type&), lower_bound(const key_type&) const,
upper_bound(const key_type&), upper_bound(const key_type&) const,
equal_range(const key_type&), equal_range(const key_type&) const):
Adjust.
(find(const _Key&), find(const _Key&) const): Tweak.
* testsuite/23_containers/map/operations/31440.cc: New.

From-SVN: r123452

17 years agogenpreds.c (write_insn_constraint_len): Write function optimized for CONSTRAINT_LEN...
Richard Guenther [Tue, 3 Apr 2007 08:31:27 +0000 (08:31 +0000)]
genpreds.c (write_insn_constraint_len): Write function optimized for CONSTRAINT_LEN implementation.

2007-04-03  Richard Guenther  <rguenther@suse.de>

* genpreds.c (write_insn_constraint_len): Write function
optimized for CONSTRAINT_LEN implementation.
(write_tm_preds_h): Output insn_constraint_len inline and
use it for CONSTRAINT_LEN.
(write_insn_preds_c): Don't output insn_constraint_len.
* doc/md.texi (define_register_constraint): Document multi-letter
constraints shall have the same length if they start with the same
letter.

From-SVN: r123451

17 years agoconfig.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
Uros Bizjak [Tue, 3 Apr 2007 07:37:56 +0000 (09:37 +0200)]
config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.

* config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
(x86_64-*-linux*): Ditto.
* config/i386/i386.opt (mpc): New option.
* config/i386/i386.c (overrride_options): Handle
ix87_precision_string.
* config/i386/crtprec.c: New file.
* config/i386/t-crtpc: Ditto.
* config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64
and -mpc80 options.
* config/i386/linux64.h (ENDFILE_SPEC): Ditto.
* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
crtprec32.o, crtprec64.o and crtprec80.o.

* doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64
and -mpc80 options.
(i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options.

libgcc/ChangeLog:

* config/i386/t-crtpc: New file.
* config.host (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
        (x86_64-*-linux*): Ditto.

From-SVN: r123450

17 years agonatFileChannelPosix.cc (mapImpl): Extend file, when writing, if it is too short.
Tom Tromey [Tue, 3 Apr 2007 01:05:50 +0000 (01:05 +0000)]
natFileChannelPosix.cc (mapImpl): Extend file, when writing, if it is too short.

http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=205157
* gnu/java/nio/channels/natFileChannelPosix.cc (mapImpl): Extend
file, when writing, if it is too short.

From-SVN: r123447

17 years agoinvoke.texi (i386 and x86-64 Options): Document -m64 limitations on darwin.
Eric Christopher [Tue, 3 Apr 2007 01:03:36 +0000 (01:03 +0000)]
invoke.texi (i386 and x86-64 Options): Document -m64 limitations on darwin.

2007-04-02  Eric Christopher  <echristo@apple.com>

    * doc/invoke.texi (i386 and x86-64 Options): Document -m64
    limitations on darwin.

From-SVN: r123446

17 years agoDaily bump.
GCC Administrator [Mon, 2 Apr 2007 23:17:06 +0000 (23:17 +0000)]
Daily bump.

From-SVN: r123444

17 years agonatPlainSocketImplPosix.cc (create): Return if already created.
Tom Tromey [Mon, 2 Apr 2007 22:10:41 +0000 (22:10 +0000)]
natPlainSocketImplPosix.cc (create): Return if already created.

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=233406
* gnu/java/net/natPlainSocketImplPosix.cc (create): Return if
already created.
* gnu/java/net/PlainSocketImpl.java (getLocalAddress): Handle case
where localport is -1.
(create): Now public.
* gnu/java/nio/SocketChannelImpl.java (SocketChannelImpl): Call
'create' on the socket.

From-SVN: r123440

17 years agore PR target/31137 (missing "break" in switch for MULT in avr_rtx_costs)
Anatoly Sokolov [Mon, 2 Apr 2007 21:43:53 +0000 (01:43 +0400)]
re PR target/31137 (missing "break" in switch for MULT in avr_rtx_costs)

PR target/31137
* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.

From-SVN: r123437

17 years agoThreadStartEvent.java (Event): Event type is "THREAD_START" not "THREAD_END".
Keith Seitz [Mon, 2 Apr 2007 21:32:10 +0000 (21:32 +0000)]
ThreadStartEvent.java (Event): Event type is "THREAD_START" not "THREAD_END".

        * gnu/classpath/jdwp/event/ThreadStartEvent.java (Event):
        Event type is "THREAD_START" not "THREAD_END".

        * gnu/classpath/jdwp/transport/SocketTransport.java (ITransport):
        Handle configure strings ":port" and "port".

From-SVN: r123436

17 years agore PR c++/31187 (extern declaration of variable in anonymous namespace prevents use...
Jason Merrill [Mon, 2 Apr 2007 17:49:21 +0000 (13:49 -0400)]
re PR c++/31187 (extern declaration of variable in anonymous namespace prevents use of its address as template argument)

        PR c++/31187
        * typeck.c (cp_type_readonly): New fn.
        * cp-tree.h: Declare it.
        * decl.c (start_decl): Set implicit DECL_THIS_STATIC here.
        (cp_finish_decl): Not here.

        * g++.dg/ext/visibility/anon3.C: New test.

From-SVN: r123432

17 years agonatVMProxy.cc (run_proxy): Use _Jv_LookupProxyMethod to find the Method.
Andrew Haley [Mon, 2 Apr 2007 16:36:52 +0000 (16:36 +0000)]
natVMProxy.cc (run_proxy): Use _Jv_LookupProxyMethod to find the Method.

2007-04-02  Andrew Haley  <aph@redhat.com>

        * java/lang/reflect/natVMProxy.cc (run_proxy): Use
        _Jv_LookupProxyMethod to find the Method.
        If parameter_types->length == 0, pass a null paramameter list,
        not a zero-length parameter list.
        * java/lang/natClass.cc (_Jv_LookupProxyMethod): New function.
        * java/lang/Class.h (_Jv_LookupProxyMethod): Declare.

From-SVN: r123431

17 years ago[multiple changes]
Andrew Haley [Mon, 2 Apr 2007 16:24:35 +0000 (16:24 +0000)]
[multiple changes]

2007-03-30  Andrew Haley  <aph@redhat.com>

        * javax/management/ObjectName.java: Handle 0-length names.

2007-03-27  Andrew Haley  <aph@redhat.com>

        * javax/management/MBeanServerFactory.java: Use the domain that
        we've been passed, not the fixed string "DefaultDomain".

From-SVN: r123430

17 years agointerpret-run.cc: Add code to properly set up variable slots when debugging.
Kyle Galloway [Mon, 2 Apr 2007 13:45:52 +0000 (13:45 +0000)]
interpret-run.cc: Add code to properly set up variable slots when debugging.

2007-04-02  Kyle Galloway  <kgallowa@redhat.com>

* interpret-run.cc: Add code to properly set up variable slots
when debugging.
* gnu/classpath/jdwp/natVMFrame.cc (checkJVMTIError): New function.
(getObjectJVMTI): New function.
(setObjectJVMTI): New function.
(getIntJVMTI): New function.
(setIntJVMTI): New function.
(getLongJVMTI): New function.
(setLongJVMTI): New function.
(getFloatJVMTI): New function.
(setFloatJVMTI): New function.
(getDoubleJVMTI): New function.
(setDoubleJVMTI): New function.
(getFrameDepth): New function.
(getValue): Implement.
(setValue): Implement.

From-SVN: r123427

17 years ago2007-04-02 Kyle Galloway <kgallowa@redhat.com>
Kyle Galloway [Mon, 2 Apr 2007 12:52:01 +0000 (12:52 +0000)]
2007-04-02  Kyle Galloway  <kgallowa@redhat.com>

* classpath/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java
(executeResume): Call VMVirtualMachine.resumeThread.

From-SVN: r123426

17 years ago* filename_cmp.c: Include "config.h".
Andreas Schwab [Mon, 2 Apr 2007 11:21:23 +0000 (11:21 +0000)]
* filename_cmp.c: Include "config.h".

From-SVN: r123425

17 years agore PR libstdc++/31370 (resizing bugs in std::vector<bool>)
Matthew Levine [Mon, 2 Apr 2007 10:15:50 +0000 (10:15 +0000)]
re PR libstdc++/31370 (resizing bugs in std::vector<bool>)

2007-04-02  Matthew Levine  <gcc@severeweblint.org>
    Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/31370
* include/bits/stl_bvector.h (vector<bool>::max_size): Fix.
(vector<bool>::_M_check_len): Add.
* include/bits/vector.tcc (_M_fill_insert(iterator, size_type, bool),
_M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: New.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust.

* include/bits/stl_vector.h (vector<>::_M_check_len): Add.
* include/bits/vector.tcc (_M_insert_aux(iterator, const _Tp&),
_M_fill_insert(iterator, size_type, const value_type&),
_M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
std::forward_iterator_tag)): Use it.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r123424

17 years agoPR libstdc++/31401 (vstring bits)
Paolo Carlini [Mon, 2 Apr 2007 10:08:50 +0000 (10:08 +0000)]
PR libstdc++/31401 (vstring bits)

2007-04-02  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/31401 (vstring bits)
* include/ext/vstring.tcc (find(const _CharT*, size_type,
size_type)): Avoid unsigned overflow.

From-SVN: r123422

17 years agolocale_facets.tcc (num_put<>::do_put(iter_type, ios_base&, char_type, const void...
Paolo Carlini [Mon, 2 Apr 2007 09:49:31 +0000 (09:49 +0000)]
locale_facets.tcc (num_put<>::do_put(iter_type, ios_base&, char_type, const void*)): Fix for sizeof(const void*) > sizeof(unsigned long).

2007-04-02  Paolo Carlini  <pcarlini@suse.de>

* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
ios_base&, char_type, const void*)): Fix for sizeof(const void*)
> sizeof(unsigned long).

From-SVN: r123421

17 years agoChangeLog: Fixed trivial whitespace formatting error.
Dave Korn [Mon, 2 Apr 2007 08:27:37 +0000 (08:27 +0000)]
ChangeLog: Fixed trivial whitespace formatting error.

* ChangeLog: Fixed trivial whitespace formatting error.

From-SVN: r123420

17 years agotm.texi (FUNCTION_MODE): Update and extend documentation.
Dave Korn [Mon, 2 Apr 2007 08:16:44 +0000 (08:16 +0000)]
tm.texi (FUNCTION_MODE): Update and extend documentation.

2007-04-02  Dave Korn  <dave.korn@artimi.com>

* doc/tm.texi (FUNCTION_MODE):  Update and extend documentation.

From-SVN: r123419

17 years agolibgcc2.h (exception_descriptor): Don't forward-declare.
Dave Korn [Mon, 2 Apr 2007 08:09:09 +0000 (08:09 +0000)]
libgcc2.h (exception_descriptor): Don't forward-declare.

2007-04-02  Dave Korn  <dave.korn@artimi.com>

* libgcc2.h (exception_descriptor):  Don't forward-declare.
(__get_eh_table_language, __get_eh_table_version):  Delete
prototypes of long-dead functions.

From-SVN: r123418

17 years agoMAINTAINERS (Write After Approval): Add myself.
Dave Korn [Mon, 2 Apr 2007 07:11:29 +0000 (07:11 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2007-04-02  Dave Korn  <dave.korn@artimi.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r123417

17 years agoebitmap.h: New file
Daniel Berlin [Mon, 2 Apr 2007 03:44:25 +0000 (03:44 +0000)]
ebitmap.h: New file

2007-04-01  Daniel Berlin  <dberlin@dberlin.org>

* ebitmap.h: New file
* ebitmap.c: New file
* Makefile.in (ebitmap.o): New target.

From-SVN: r123415

17 years agoDaily bump.
GCC Administrator [Sun, 1 Apr 2007 23:17:14 +0000 (23:17 +0000)]
Daily bump.

From-SVN: r123413

17 years agopoly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.
Andreas Tobler [Sun, 1 Apr 2007 21:03:42 +0000 (21:03 +0000)]
poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.

2007-04-01  Andreas Tobler  <a.tobler@schweiz.org>

* include/tr1/poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.

From-SVN: r123410

17 years agoemit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit before very first...
Jan Hubicka [Sun, 1 Apr 2007 19:48:01 +0000 (21:48 +0200)]
emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit before very first instruction.

* emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit
before very first instruction.

* ggc-page.c (ggc_print_statistics): Fix formatting string to avoid
waring on 64bit hosts.
* bitmap.h: Fix typo in bitmap_head_def.

From-SVN: r123408

17 years agopoly_laguerre.tcc: s/__alpha/__alpha1/g.
Richard Henderson [Sun, 1 Apr 2007 18:28:16 +0000 (11:28 -0700)]
poly_laguerre.tcc: s/__alpha/__alpha1/g.

        * include/tr1/poly_laguerre.tcc: s/__alpha/__alpha1/g.
        * include/tr1/ell_integral.tcc: Likewise.

From-SVN: r123407

17 years agore PR rtl-optimization/31391 (undefined label with -O -g due to cfglayout)
Steven Bosscher [Sun, 1 Apr 2007 18:26:00 +0000 (18:26 +0000)]
re PR rtl-optimization/31391 (undefined label with -O -g due to cfglayout)

PR rtl-optimization/31391
* cfgcleanup.c (try_optimize_cfg): If a removed label is turned
into a DELETED_LABEL note, and the label is in an empty basic
block, update BB_END as well as BB_HEAD.

From-SVN: r123406