gcc.git
17 years agoeinfo.ads, einfo.adb (Available_View): New synthesized attribute applicable to types...
Javier Miranda [Wed, 6 Jun 2007 10:23:15 +0000 (12:23 +0200)]
einfo.ads, einfo.adb (Available_View): New synthesized attribute applicable to types that have the With_Type flag set.

2007-04-20  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Eric Botcazou  <ebotcazou@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* einfo.ads, einfo.adb (Available_View): New synthesized attribute
applicable to types that have the With_Type flag set. Returns the
non-limited view of the type, if available, otherwise the type itself.
For class-wide types, there is no direct link in the tree, so we have
to retrieve the class-wide type of the non-limited view of the Etype.
New attributes Static_Initialization and Static_Elaboration_Desired.
Remove the pragma Thread_Body, and the associated flag
Is_Thread_Body in entities, and all related code.
(Suppress_Value_Tracking_On_Call): New flag
E_Exception has Esize and Alignment fields
(Universal_Aliasing): New function.
(Set_Universal_Aliasing): New procedure.
(Write_Entity_Flags): Deal with Universal_Aliasing flag.
(Check_Nested_Access): New procedure.
(Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
(Related_Interface): New attribute. Present in dispatch table pointer
components of records. Set to point to the entity of the corresponding
interface type.
(Is_By_Reference_Type): Recurse on the full view of an incomplete type.
(Original_Access_Type): Remove, not needed.
(Root_Type): Handle properly subtypes of class-wide-types.
Update comments.

* sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
class-wide types visible through limited-with clauses.
(Try_Primitive_Operation): When examining all primitive operations of a
tagged type, do not consider subprograms labeled as hidden unless they
belong to a private generic type with a tagged parent.
(Try_Object_Operation): Extensive rewriting, to handle properly various
overloading cases, when several ancestors may have class-wide operations
that are possible candidates, and when the overloaded functions return
array types and have defaulted parameters so that the call may be
interpreted as an indexing.
(Analyze_Allocator): Remove Mark_Allocator and its invocation.
(Process_Function_Call): use Next, rather than Next_Actual, to analyze
successive actuals before analyzing the call itself.
(Try_Primitive_Operation): A primitive operation is compatible with the
prefix if the prefix has a synchronized type and the type of the formal
is its corresponding record, as can be the case when the primitive
operation is declared outside of the body of the type.
(Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
perform homonym traversal, looking for class-wide operation matches
(formerly done in statements of Try_Class_Wide_Operation). Matches on
access parameters are now restricted to anonymous access types.
(Mark_Allocator): An allocator with a discriminant association parent is
a coextension.
(Try_One_Prefix_Interpretation): If the type of the object is
incomplete, as can be happen when it is a limited view obtained through
a limited_with_clause, the selected component is not part of a prefixed
call.
(Complete_Object_Operation): Diagnose properly an object that is not
aliased when the corresponding controlling formal is an access
parameter.
(Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
ambiguous calls in prefixed notation, where two primitives differ only
in that the controlling argument of one is an access parameter.

* sem_ch6.adb (Has_Single_Return): Add guard in code that determines
whether a function that returns an unconstrained type can be inlined.
(Process_Formals): Diagnose properly the illegal use of an incomplete
type in the profile of an access_to_subprogram declaration.
(Check_Synchronized_Overriding): Nothing check for concurrent types, the
operations are attached to the corresponding record.
(Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
When processing a primitive of a concurrent type which implements an
interface change the type of all controlling formals to that of the
corresponding record type.
(Check_Synchronized_Overriding): Relax the conditional logic when trying
to determine the tagged type to which a primitive belongs.
(Check_Conventions): Capture condition to ignore a primitive operation
(which is shared between the loop in Check_Conventions and the one in
Check_Convention) in a new local function Skip_Check.
(Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
confusion with Check_Conventions' own Prim_Op local variable.
(Create_Extra_Formals): Test for a tagged result type rather than a
controlling result when determining whether to add a BIP_Alloc_Form
formal and a BIP_Final_List formal to the function.
(Check_Conformance); For parameters that are anonymous access types,
subtype conformance requires that the not null and the constant
indicators must match
(Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
to retrieve the appropriate type when processing a concurrent type
declared within a generic. Minor comment reformatting. Change invocation
of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
mitive.
(Analyze_Subprogram_Body): If the return type of a function is an
anonymous access to the limited view of a class-wide type, and the
non-limited view of the type is available, update the type of the
function so that code can be generated.
(Process_Formals): In case of access-subtype itype whose designated
type is also an itype (situation that happens now with access to
subprograms) we mark the access-type itype with the Has_Delayed_Freeze
attribute to avoid backend problems.
(Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
anonymous types' designated types are same before testing
Subtypes_Statically_Match.
(Create_Extra_Formals): Test for a named access parameter that is a
controlling formal as an additional condition for adding an
accessibility level formal. This can occur in the subp type created for
dispatching calls in Expand_Dispatching_Call, and allows calling
Create_Extra_Formals from that procedure rather than special-casing the
extra formals there.
(Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
when the function has a controlling result.
(Check_Returns): Add much more knowledge of the optimization of local
raise statements to gotos, to retain proper warnings in this case.
(Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
nodes when looking for last statement.

* sem_type.ads, sem_type.adb (Specific_Type): Add support for
class-wide types visible through limited with clauses.
(Add_One_Interp): If the operands are anonymous access types, the
predefined operator on universal_access is immediately visibles
(Find_Unique_Type): Handle anonymous access to subprogram types just as
other anonymous access types.
(Disambiguate): Take into account CIL convention.
(Interface_Present_In_Ancestor): Add support for class-wide interfaces.

From-SVN: r125390

17 years agoclean.adb (Clean_Archive): Use untouched casing for the archive name and the correspo...
Pascal Obry [Wed, 6 Jun 2007 10:22:52 +0000 (12:22 +0200)]
clean.adb (Clean_Archive): Use untouched casing for the archive name and the corresponding .deps file.

2007-04-20  Pascal Obry  <obry@adacore.com>

* clean.adb (Clean_Archive): Use untouched casing for the archive name
and the corresponding .deps file.
(Clean_Interface_Copy_Directory): Use untouched casing for the library
src directory. Minor code-clean-up. Use untouched casing for files
read into the library src dir.
(Clean_Library_Directory): Idem.
(Parse_Cmd_Line): Accept new switch -aP

From-SVN: r125389

17 years agochecks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in which the address...
Javier Miranda [Wed, 6 Jun 2007 10:22:41 +0000 (12:22 +0200)]
checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in which the address-clause is applied to in-mode actuals (allowed...

2007-04-20  Javier Miranda  <miranda@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
which the address-clause is applied to in-mode actuals (allowed by
13.1(22)).
(Apply_Discriminant_Check): Do not generate a check if the type is
constrained by a current instance.
(Activate_Division_Check): New procedure
(Activate_Overflow_Check): New procedure
(Activate_Range_Check): New procedure
Call these new Activate procedures instead of setting flags directly
(Apply_Array_Size_Check): Removed, no longer needed.
Code clean up: remove obsolete code related to GCC 2.
(Get_E_Length): Protect against bomb in case scope is standard
(Selected_Range_Checks): If the node to be checked is a conversion to
an unconstrained array type, and the expression is a slice, use the
bounds of the slice to construct the required constraint checks.
Improve NOT NULL error messages
(Apply_Constraint_Check): If the context is a null-excluding access
type, diagnose properly the literal null.

From-SVN: r125388

17 years agobindusg.adb: Add line for @<response file> Add lines for new switches -R and -Z
Vincent Celier [Wed, 6 Jun 2007 10:22:30 +0000 (12:22 +0200)]
bindusg.adb: Add line for @<response file> Add lines for new switches -R and -Z

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

* bindusg.adb: Add line for @<response file>
Add lines for new switches -R and -Z

* gnatbind.adb (Gnatbind): Do not include sources from the GNAT
hierarchy in the list of files of the closure when -R is used
(Gnatbind): Accept arguments starting with '@' to indicate response
files and take the arguments from the response files.
If List_Closure is set, display the referenced files

From-SVN: r125387

17 years agobindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when needed.
Arnaud Charlet [Wed, 6 Jun 2007 10:22:19 +0000 (12:22 +0200)]
bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when needed.

2007-04-20  Arnaud Charlet  <charlet@adacore.com>
    Vincent Celier  <celier@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
needed.
(Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
((destructor)) for adafinal, even when switch -a is used.
Do not issue pragma Linker_Destructor for adafinal when switch -a is
used.
(Gen_Object_Files_Options): Add formatting of Linker Options, when
Output_Linker_Option_List is set. Suppress this formatting when
Zero_Formatting is set.
Add case for CLI_Target.
(System_Restrictions_Used): New flag, used to avoid generating with of
System_Restrictions and initialization of the data unless there is
some use of System.Restrictions in the partition.
(Check_System_Restrictions_Used): New procedure

        * s-stalib.adb: Remove with of System.Restrictions. No longer needed
since we only with this unit in the binder file if it is used elsewhere
in the partition.

From-SVN: r125386

17 years agoa-tigeau.ads, [...]: (Store_Char): Change Buf to IN OUT
Robert Dewar [Wed, 6 Jun 2007 10:22:05 +0000 (12:22 +0200)]
a-tigeau.ads, [...]: (Store_Char): Change Buf to IN OUT

2007-04-20  Robert Dewar  <dewar@adacore.com>

* a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT

From-SVN: r125385

17 years agoa-ztflau.adb, [...] (Load_Real): Do not parse "." in the case of nnn.xxx when nnn...
Hristian Kirtchev [Wed, 6 Jun 2007 10:21:54 +0000 (12:21 +0200)]
a-ztflau.adb, [...] (Load_Real): Do not parse "." in the case of nnn.xxx when nnn terminates with an underscore.

2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
"." in the case of nnn.xxx when nnn terminates with an underscore.
Parse the remaining "#" or ":" in the case of nnn#.xxx#

From-SVN: r125384

17 years agoutils2.c (build_allocator): Provide the extra arguments to make_aligning_type for...
Olivier Hainque [Wed, 6 Jun 2007 10:21:37 +0000 (12:21 +0200)]
utils2.c (build_allocator): Provide the extra arguments to make_aligning_type for super-aligned objects...

2007-04-20  Olivier Hainque  <hainque@adacore.com>
    Eric Botcazou  <ebotcazou@adacore.com>

* utils2.c (build_allocator): Provide the extra arguments to
make_aligning_type for super-aligned objects allocated from the default
pool. Leave enough room for a pointer before the aligning field, and
store the system's allocator return value there.
(build_call_alloc_dealloc): When releasing a super-aligned object,
retrieve the system's allocator return value from where build_allocator
has stored it, just ahead of the adjusted address we are passed.
(build_call_raise): Handle properly the generation of line numbers when
the node is marked No_Location.
(compare_elmt_bitpos): Use tree_int_cst_compare.  Stabilize the sort
by using DECL_UID on ties.
(build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
main variant.
(build_call_raise): Handle converting exception into goto; support new
argument KIND.
(build_component_ref): Add new arg to build_call_raise.

From-SVN: r125383

17 years agoa-tifiio.adb (Put, internal): For negative numbers...
Vincent Celier [Wed, 6 Jun 2007 10:21:22 +0000 (12:21 +0200)]
a-tifiio.adb (Put, internal): For negative numbers...

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

* a-tifiio.adb (Put, internal): For negative numbers, check that there
is room for at least one digit and the minus sign.
(Put.Put_Character): Never put a character outside of the range of
string To.

From-SVN: r125382

17 years agoa-tienio.adb (Get): Adjust buffer size to accomodate one extra character
Robert Dewar [Wed, 6 Jun 2007 10:21:11 +0000 (12:21 +0200)]
a-tienio.adb (Get): Adjust buffer size to accomodate one extra character

2007-04-20  Robert Dewar  <dewar@adacore.com>

* a-tienio.adb (Get): Adjust buffer size to accomodate one extra
character

From-SVN: r125381

17 years agoa-textio.ads, [...] (Write): Add explicit size clause for the C imported variable.
Thomas Quinot [Wed, 6 Jun 2007 10:20:58 +0000 (12:20 +0200)]
a-textio.ads, [...] (Write): Add explicit size clause for the C imported variable.

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

* a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
C imported variable.
(Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
on entry.

From-SVN: r125380

17 years agoa-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to the package.
Javier Miranda [Wed, 6 Jun 2007 10:20:45 +0000 (12:20 +0200)]
a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to the package.

2007-04-20  Javier Miranda  <miranda@adacore.com>

* a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
the package.
(Object_Specific_Data_Array): This is now internal to the package.
(Object_Specific_Data): This is now internal to the package.
(Select_Specific_Data_Element): This is now internal to the package.
(Select_Specific_Data_Array): This is now internal to the package.
(Select_Specific_Data): This is now internal to the package.
(Offset_To_Top_Function_Ptr): This is now public.
(To_Offset_To_Top_Function_Ptr): Removed.
(Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
 local to subprogram Offset_To_Top.
(Predefined_DT): Removed.
(Typeinfo_Ptr): Removed.
(OSD): This function is now internal to this package.
(SSD): This function is now internal to this package.
(DT): New function that displaces the pointer to the table of primitives
 to get access to the enclosing wrapper record.
(IW_Membership): Code cleanup.
(Offset_To_Top): Code cleanup.
(Predefined_DT): Removed.
(Register_Interface_Tag): Removed.
(Set_Interface_Table): Removed.
(Set_Offset_Index): Removed.
(Set_Offset_To_Top): Code cleanup.
(Set_OSD): Removed.
(Set_Signature): Removed.
(Set_SSD): Removed.
(Set_Tagged_Kind): Removed.
(Typeinfo_Ptr): Removed.
(TSD): Removed.
(Displace): Add missing check on null actual.

* exp_disp.ads, exp_disp.adb
(Select_Expansion_Utilities): Removed.
(Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
(Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
the interface requires a new parameter.
(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
calls to subprograms Build_T, Build_S, etc. by the corresponding code.
Done to remove package Select_Expansion_Utilities.
(Make_DT): New implementation for statically allocated dispatch tables.
(Make_Secondary_DT): Moved to the scope of Make_DT.
(Register_Primitive): Code cleanup plus incoporate the use of the new
function DT_Address_Attribute.
(Expand_Interface_Thunk): The profile of this subprogram has been
changed to return the Thunk_Id and the corresponding code.
(Fill_DT_Entry): Removed. Its functionality is now provided by
subprogram Register_Primitive.
(Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
subprogram Register_Primitive.
(Register_Primitive): New subprogram that incorporates the previous
functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
(Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
was only required to call Make_DT_Access_Action, which is now removed.
(Ada_Actions): Removed
(Action_Is_Proc): Removed
(Action_Nb_Arg): Removed
Replace all the calls to Make_DT_Access_Action by direct calls to
Make_Procedure_Call_Statement or Make_Function_Call.
(Set_DTC_Entity_Value): New subprogram.
(Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
(Expand_Interface_Thunk): Add missing support for primitives that are
functions with a controlling result (case in which there is no need
to generate the thunk).

* exp_atag.ads, exp_atag.adb
(Build_DT): New subprogram that displaces the pointer to reference the
base of the wrapper record.
(Build_Typeinfo_Offset): Removed.
(RTE_Tag_Node): Removed.
(Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
(Build_Get_RC_Offset): Removed.
(Build_Inherit_Predefined_Prims): Removed.
(Build_Inherit_TSD: Removed.
(Build_New_TSD): Removed.
(Build_Set_External_Tag): Removed.
(Build_Set_Predefined_Prim_Op_Address): Add documentation.
(Build_Set_Prim_Op_Address): Add documentation.
(Build_Set_TSD): Removed.

* rtsfind.ads, rtsfind.adb
(Load_Fail): If load fails and we are not in configurable run-time
mode, then raise Unrecoverable_Error.
(Text_IO_Kludge): Generate an error message if a run-time library is
not available in a given run-time (ie. zfp run-time).
(RTE_Record_Component): Add code to check that the component we search
for is not found in two records in the given run-time package.
(RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
(RE_DT_Predef_Prims_Offset): New entity
(RE_Static_Offset_To_Top): New entity
(RE_HT_Link): New entity.
(System_Address_Image): Addition of this run-time package.
(RE_Address_Image): New entity.
(RE_Abstract_Interface): Removed.
(RE_Default_Prim_Op_Count): Removed.
(RE_DT_Entry_Size): Removed.
(RE_DT_Min_Prologue_Size): Removed.
(RE_DT_Prologue_Size): Removed.
(RE_Ifaces_Table_Ptr): Removed.
(RE_Interface_Data_Ptr): Removed.
(RE_Type_Specific_Data): Removed.
(RE_Primary_DT): Removed.
(RE_Register_Interface_Tag): Removed.
(RE_Set_Offset_Index): Removed.
(RE_Set_OSD): Removed.
(RE_Set_SSD): Removed.
(RE_Set_Signature): Removed.
(RE_Set_Tagged_Kind): Removed.
(RE_Address_Array): New entity.
(RE_DT): New entity.
(RE_Iface_Tag): New entity.
(RE_Interfaces_Table): New entity.
(RE_No_Dispatch_Table): New entity.
(RE_NDT_Prims_Ptr): New entity.
(RE_NDT_TSD): New entity.
(RE_Num_Prims): New entity.
(RE_Offset_To_Top_Function_Ptr): New entity.
(RE_OSD_Table): New entity.
(RE_OSD_Num_Prims): New entity.
(RE_Predef_Prims): New entity
(RE_Predef_Prims_Table_Ptr): New entity.
(RE_Primary_DT): New entity.
(RE_Signature): New entity.
(RE_SSD): New entity.
(RE_TSD): New entity.
(RE_Type_Specific_Data): New entity.
(RE_Tag_Kind): New entity.

From-SVN: r125379

17 years agoa-stzunb.adb, [...]: (Insert): Use 'Length instead of 'Size.
Arnaud Charlet [Wed, 6 Jun 2007 10:20:30 +0000 (12:20 +0200)]
a-stzunb.adb, [...]: (Insert): Use 'Length instead of 'Size.

2007-04-20  Arnaud Charlet  <charlet@adacore.com>

* a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
instead of 'Size.

* a-stwifi.ads, a-stzfix.ads: Minor reformatting

From-SVN: r125378

17 years agobcheck.adb, [...]: Move Name_Id, File_Name_Type and Unit_Name_Type from package Types...
Vincent Celier [Wed, 6 Jun 2007 10:19:40 +0000 (12:19 +0200)]
bcheck.adb, [...]: Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to package Namet.

2007-04-20  Vincent Celier  <celier@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
ali.ads, ali.adb:
Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
package Namet. Make File_Name_Type and Unit_Name_Type types derived from
Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
Use variables of types File_Name_Type and Unit_Name_Type in error
messages.
(Get_Name): Add parameter Ignore_Special, and set it reading file name
(New_Copy): When debugging the compiler, call New_Node_Debugging_Output
here.
Define flags Flag217-Flag230 with associated subprograms
(Flag_Word5): New record type.
(Flag_Word5_Ptr): New access type.
(To_Flag_Word5): New unchecked conversion.
(To_Flag_Word5_Ptr): Likewise.
(Flag216): New function.
(Set_Flag216): New procedure.

From-SVN: r125377

17 years agoa-finali.ads (Ada.Finalization): Add missing pragma Remote_Types.
Thomas Quinot [Wed, 6 Jun 2007 10:18:51 +0000 (12:18 +0200)]
a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types.

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

* a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
presence of this categorization pragma is mandated by the language.
(Limited_Controlled): Add missing pragma Preelaborable_Initialization
for this type.

From-SVN: r125376

17 years agoa-except.ads, [...]: (Rmsg_28): Fix description for E.4(18) check.
Thomas Quinot [Wed, 6 Jun 2007 10:18:34 +0000 (12:18 +0200)]
a-except.ads, [...]: (Rmsg_28): Fix description for E.4(18) check.

2007-04-20  Thomas Quinot  <quinot@adacore.com>
    Olivier Hainque  <hainque@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
check.
(Raise_Current_Excep): Call Debug_Raise_Exception just before
propagation starts, to let debuggers know about the event in a reliable
fashion.
(Local_Raise): Moved to System.Exceptions
More convenient to have this as a separate unit

* s-except.adb, s-except.ads: New files.

* a-exextr.adb (Unhandled_Exception): Delete - replaced by
Debug_Unhandled_Exception in System.Exceptions where it belongs
together with a couple of other debug helpers.
(Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
the former Unhandled_Exception.

* exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
(Warn_No_Exception_Propagation): New procedure
(Warn_If_No_Propagation): Rewritten for new warning generation
(Expand_Exception_Handlers): New warning generation
(Expand_N_Raise_xxx_Error): Rewritten for new warnings
(Add_Exception_Label): Use Special_Exception_Package_Used for test
instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
(Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
even if restriction is set (makes life easier in Check_Returns)
(Expand_Local_Exception_Handlers): Follow renamed entity chain when
checking exception identities.
(Expand_Local_Exception_Handlers): Do not optimize when all others case
(Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
block for handler (used by Check_Returns)
(Expand_Local_Exception_Handlers): Local_Raise now takes an address
(Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
remove all exception handlers when optimizing local raise statements.
(Find_Local_Handler): Use Get_Renamed_Entity
(Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
marked analyzed after expanding exception handlers, do not generate
redundant cleanup actions, because they have been constructed already.

From-SVN: r125375

17 years agocomperr.adb (Compiler_Abort): New Finalize/Output_Messages interface for Errout
Robert Dewar [Wed, 6 Jun 2007 10:18:16 +0000 (12:18 +0200)]
comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface for Errout

2007-04-20  Robert Dewar  <dewar@adacore.com>

* comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
for Errout

* errout.adb: New Finalize/Compilation_Errors/Output_Messages
implementation

* errout.ads (Finalize): Changed interface
(Output_Messages): New procedure
(Compilation_Errors): New Interface

* prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
Finalize/Output_Messages interface for Errout
(Prepare_To_Preprocess): New Finalize/Output_Messages interface for
Errout.

From-SVN: r125374

17 years agoa-chahan.ads: Remove obsolescent pragmas
Robert Dewar [Wed, 6 Jun 2007 10:17:28 +0000 (12:17 +0200)]
a-chahan.ads: Remove obsolescent pragmas

2007-04-20  Robert Dewar  <dewar@adacore.com>

* a-chahan.ads: Remove obsolescent pragmas

* a-chlat1.ads: Minor reformatting

From-SVN: r125373

17 years agos-intman-vxworks.ads, [...] (Abort_Task_Signal): Rename to Abort_Task_Interrupt to...
Jose Ruiz [Wed, 6 Jun 2007 10:17:12 +0000 (12:17 +0200)]
s-intman-vxworks.ads, [...] (Abort_Task_Signal): Rename to Abort_Task_Interrupt to be able to keep the same interface as the...

2007-04-20  Jose Ruiz  <ruiz@adacore.com>

* s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
Rename to Abort_Task_Interrupt to be able to keep the same interface
as the rest of the targets.

* s-osinte-vxworks.ads s-osinte-vxworks.adb
(To_VxWorks_Priority): Remove explicit "in" mode indicator

* s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
New files.

From-SVN: r125372

17 years agogigi.h, trans.c (Identifier_to_gnu): Change test for deferred constant by adding...
Gary Dismukes [Wed, 6 Jun 2007 10:16:54 +0000 (12:16 +0200)]
gigi.h, trans.c (Identifier_to_gnu): Change test for deferred constant by adding guard that the entity is an...

2007-04-20  Gary Dismukes  <dismukes@adacore.com>
    Eric Botcazou  <ebotcazou@adacore.com>
    Tristan Gingold  <gingold@adacore.com>
    Olivier Hainque  <hainque@adacore.com>

* gigi.h, trans.c (Identifier_to_gnu): Change test for deferred
constant by adding guard that the entity is an E_Constant before
testing presence of Full_view (and remove now-unnecessary test that
entity is not a type).
For a CONST_DECL used by reference, manually retrieve
the DECL_INITIAL.  Do not invoke fold in the other DECL_P cases either.
(struct language_function): Move from utils.c to here.
(struct parm_attr): New structure.
(parm_attr, parm_attr vector, parm_attr GC vector): New types.
(f_parm_attr_cache): New macro.
(Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
expressions for the 'First, 'Last and 'Length attributes of the
unconstrained array IN parameters.
(Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
Allocate the information structure for the function earlier, as well
as the language-specific part.
If the parameter attributes cache has been populated, evaluate the
cached expressions on entry.
(takes_address): Add OPERAND_TYPE parameter.  Handle N_Function_Call,
N_Procedure_Call_Statement and N_Indexed_Component.
(Pragma_to_gnu): Translate inspection_point to an asm statement
containaing a comment and a reference to the object (either its address
for BLKmode or its value).
(Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
to go to DECL_INITIAL. Together with the size constraint relaxation
in create_var_decl, enlarges the set of situations in which an
identifier may be used as an initializer without implying elaboration
code.
(Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
node.
(maybe_stabilize_reference): Remove lvalues_only parameter.
(gnat_stabilize_reference): Adjust for above change.
(gnat_to_gnu): Do not set location information on the result
if it is a reference.
(add_cleanup): Add gnat_node parameter and set the location of the
cleanup to it.
(Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
(Exception_Handler_to_gnu_zcx): Likewise.
(gigi): Remove the cgraph node if the elaboration procedure is empty.
(Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
the former right after the latter.
(start_stmt_group): Make global.
(end_stmt_group): Likewise.
(gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
vars.
(gnu_program_error_label_stack): Likewise.
(gigi): Initialize them.
(call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
(gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
New cases.
(push_exception_label_stack): New function.
(takes_address): New function.

* utils.c (struct language_function): Move to trans.c from here.
(unchecked_convert): Do not wrap up integer constants in
VIEW_CONVERT_EXPRs.
(create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
the latter for aggregate types, unexpected by later passes, and relax an
arbitrary size constraint on the former.
(create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
to compare the sizes.
(convert_vms_descriptor): When converting to a fat pointer type, be
prepared for a S descriptor at runtime in spite of a SB specification.
(shift_unc_components_for_thin_pointers): New function.
(write_record_type_debug_info): For variable-sized fields, cap the
alignment of the pointer to the computed alignment.
(finish_record_type): Change HAS_REP parameter into REP_LEVEL.
If REP_LEVEL is 2, do not compute the sizes.
(build_vms_descriptor): Adjust for new prototype of finish_record_type.
(build_unc_object_type): Likewise.
(declare_debug_type): New function.

        * ada-tree.def: USE_STMT: removed (not emitted anymore).

        * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
        no statement is expandable anymore.
        (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
        (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
        when the user requested it explicitely.
        (gnat_post_options): By default, set flag_eliminate_unused_debug_types
        to 0 for Ada.
        (get_alias_set): Return alias set 0 for a type if
        TYPE_UNIVERSAL_ALIASING_P is set on its main variant.

        * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
        (DECL_FUNCTION_STUB): New accessor macro.
        (SET_DECL_FUNCTION_STUB): New setter macro.

        * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.

* fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
declarations.

From-SVN: r125371

17 years agodecl.c (gnat_to_gnu_entity): Manually mark the top of the renamed expression of a...
Eric Botcazou [Wed, 6 Jun 2007 10:16:27 +0000 (12:16 +0200)]
decl.c (gnat_to_gnu_entity): Manually mark the top of the renamed expression of a full renaming at toplevel.

2007-04-20  Eric Botcazou  <ebotcazou@adacore.com>
    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
    Olivier Hainque  <hainque@adacore.com>

* decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
renamed expression of a full renaming at toplevel.
(gnat_to_gnu_entity, case object): If not defining, do not look inside
the values the constant is initialized to if it is an N_Allocator.
(gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
TYPE_SIZE_UNIT of inner types after the stride is elaborated.
(make_aligning_type): Accept an extra ROOM argument for storage to be
made available before the aligned field, and an extra BASE_ALIGN
argument for callers to pass the alignment guaranteed to be honored for
the whole aligning object. Avoid call to finish_record_type, which only
interferes with the sizes we want to set.
(gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
make_aligning_type for super-aligned objects on stack.
(components_to_record): Pass the adjusted size of the type when creating
fields in the qualified union for the variant part.
(gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
(gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
packed array type.
(maybe_pad_type): Set TYPE_USER_ALIGN.
(make_aligning_type): Likewise.
ALIGN argument is unsigned int.
(gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
(gnat_to_gnu_param): Likewise, for parameters.
(gnat_to_gnu_entity) <object>: Always instantiate the renaming object
if it is constant and stems from a function call.
(gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
of the record is specified.  Adjust accordingly.
(adjust_packed): New static function.
(gnat_to_gnu_field): Use it to adjust the packedness setting.
(components_to_record): Likewise.
(gnat_to_gnu_entity) <object>: Do not test the renamed expression for
side-effects if the object is deemed constant.
(gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
type instead of merely finalizing it.  Tidy.
<E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
<E_Access_Type>: Likewise.
(defer_debug_incomplete_list): Rename to defer_finalize_list.
(defer_debug_level): Delete.
(gnat_to_gnu_entity) <debug_deferred>: Likewise
<E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
type.
<E_Record_Type>: Do not explicitly defer finalizing the type.
Adjust for write_record_type_debug_info renaming.
<E_Subprogram_Type>: Likewise.
Finalize deferred types right after deferred incomplete types are
expanded.
(rest_of_type_decl_compilation): New global function.
(components_to_record): Rename defer_debug parameter to do_not_finalize.
(components_to_record): Propagate the packedness to the fields of the
qualified union type if there is a variant part.
(gnat_to_gnu_entity) <E_Array_Type>: Use new function
instead of inline code to adjust the XUT field offsets.
(gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
<E_Record_Subtype>: Do not let finish_record_type compute the sizes
and write the debug info if the type derives from a discriminated one.
(gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
<E_Array_Subtype>: Likewise.
<E_String_Literal_Subtype>: Likewise.
(gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
an alignment clause.
(maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
before giving warning.
(prepend_one_attribute_to): New function, helper to prepend an attribute
to an attribute list.
(gnat_to_gnu_entity) <E_Procedure>: Use it.
(prepend_attributes): Likewise.
(gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
<E_Array_Type>: Declare the padding type for the element type, if any.
<E_Array_Subtype>: Likewise.
(defer_limited_with): New variable.
(Gigi_Equivalent_Type): New function.
(gnat_to_gnu_entity): Use it at start and use result throughout.
(gnat_to_gnu_entity, case E_Access_Type): Rework to use
Gigi_Equivalent_Type, support Limited_With, allow two levels of
indirection, precompute if unconstrained array to simplify logic, and
use defer_limited_with to defer elaboration of some types from limited
with.
(finalize_from_with_types): New function.

From-SVN: r125370

17 years ago2007-04-20 Vasiliy Fofanov <fofanov@adacore.com>
Vasiliy Fofanov [Wed, 6 Jun 2007 10:15:55 +0000 (12:15 +0200)]
2007-04-20  Vasiliy Fofanov  <fofanov@adacore.com>

* s-osprim-vms.ads, s-osprim-vms.adb
(Initialize) New procedure. Noop on VMS, added for interface
commonality.

From-SVN: r125369

17 years agos-osinte-linux.ads (sigset_t): Bump alignment to match more closely its C counterpart.
Arnaud Charlet [Wed, 6 Jun 2007 10:15:44 +0000 (12:15 +0200)]
s-osinte-linux.ads (sigset_t): Bump alignment to match more closely its C counterpart.

2007-04-20  Arnaud Charlet  <charlet@adacore.com>

* s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
its C counterpart.
Remove references to Unchecked_Conversion, and use Ada.xxx instead.
Replace Unchecked_Conversion by Ada.Unchecked_Conversion.

From-SVN: r125368

17 years agos-osinte-aix.adb: map Ada priorities to target priorities appropriately for different...
Matthew Gingell [Wed, 6 Jun 2007 10:15:34 +0000 (12:15 +0200)]
s-osinte-aix.adb: map Ada priorities to target priorities appropriately for different scheduling...

2007-04-20  Matthew Gingell  <gingell@adacore.com>

* s-osinte-aix.adb: map Ada priorities to target
priorities appropriately for different scheduling policies.

From-SVN: r125367

17 years agomlib-tgt-specific.adb, [...]: New files.
Vincent Celier [Wed, 6 Jun 2007 10:15:24 +0000 (12:15 +0200)]
mlib-tgt-specific.adb, [...]: New files.

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

* mlib-tgt-specific.adb, mlib-tgt-specific.ads,
mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.

* mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
MLib.Tgt, containing the default versions
of the exported subprograms. For each platforms, create a specific
version of the body of new child package MLib.Tgt.Specific that contains
only the bodies of subprograms that are different from the default.
(Archive_Builder_Append_Options): New function

From-SVN: r125366

17 years agosystem-vxworks-sparcv9.ads, [...]: Document mapping between Ada and OS priorities.
Arnaud Charlet [Wed, 6 Jun 2007 10:15:13 +0000 (12:15 +0200)]
system-vxworks-sparcv9.ads, [...]: Document mapping between Ada and OS priorities.

2007-04-20  Arnaud Charlet  <charlet@adacore.com>

* system-vxworks-sparcv9.ads, system-solaris-x86.ads,
system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
system-vxworks-mips.ads, system-vxworks-alpha.ads,
system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms.ads, system.ads,
system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
system-linux-ia64.ads: Document mapping between Ada and OS priorities.
This patch changes the largest non-binary modulus from 2**31-1 to
2**32-1.
(Compiler_System_Version): Removed, no longer used.
Clean up system files by removing flags only used on a single target.
Also remove obsolete flags, only used during bootstrap from system.ads
(Address): Add a pragma Preelaborable_Initialization.

* system-aix.ads:  Ditto.
(GCC_ZCX_Support): Set to true.
Update priority range on AIX and map Ada priorities to target
priorities appropriately for different scheduling policies.

* ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1

From-SVN: r125365

17 years agos-taprop-vms.adb, [...] (Timed_Delay, [...]): Register the base time when entering...
Arnaud Charlet [Wed, 6 Jun 2007 10:14:59 +0000 (12:14 +0200)]
s-taprop-vms.adb, [...] (Timed_Delay, [...]): Register the base time when entering this routine to detect a backward clock...

2007-04-20  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
        s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
time when entering this routine to detect a backward clock setting
(manual setting or DST adjustment), to avoid waiting for a longer delay
than needed.
(Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
Remove handling of deferred priority change, and replace by setting the
task priority directly, as required by AI-188.
Update comments.
(Max_Task_Image_Length): New constant.
Replace Warnings (Off) by Unreferenced pragma, cleaner.
(Dynamic_Priority_Support): Removed, no longer needed.
(Poll_Base_Priority_Change): Ditto.
(Set_Ceiling): Add this procedure to change the ceiling priority
associated to a lock. This is a dummy implementation because dynamic
priority ceilings are not supported by the underlying system.

* a-dynpri.adb (Set_Priority): Take into account case where Target is
accepting a RV with its priority boosted.
Remove handling of deferred priority change, and replace by setting the
task priority directly, as required by AI-188.

* s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
Succeeded = True.
Remove handling of deferred priority change, and replace by setting the
task priority directly, as required by AI-188.
(Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
of Self_Id earlier.

* s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
(Poll_Base_Priority_Change): Removed.
Code clean up: use SSL.Current_Target_Exception.

* s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
to run as this is a potentially dispatching point.
(Call_Synchronous): Use Local_Defer_Abort.
(Callable): Relax assertion.
(Selective_Wait): Relax assertion in case abort is not allowed.
Remove handling of deferred priority change, and replace by setting the
task priority directly, as required by AI-188.

* s-tasuti.adb (Make_Passive): Adjust assertions.
Remove handling of deferred priority change, and replace by setting the
task priority directly, as required by AI-188.

From-SVN: r125364

17 years ago2007-04-20 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [Wed, 6 Jun 2007 10:14:46 +0000 (12:14 +0200)]
2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
(Time, Time)): Use To_Relative_Time rather than manual calculation to
express the bounds of Duration as Time. Raise Time_Error when the
result is greater or equal to the higher bound of Duration (on the
margin case).
("+" (Time, Duration)): Reorder code. Remove the declaration of constant
Ada_High_And_Leaps.
("-" (Time, Duration)): Reorder code. Remove the declaration of constant
Ada_High_And_Leaps.
("-" (Time, Time)): Reorder code.
(All_Leap_Seconds): Removed.
(Arithmetic_Operations.Add): Remove sign related kludge.
(Arithmetic_Operations.Difference): Control the leaps seconds processing
with flag Leap_Support.
(Arithmetic_Operations.Subtract): Remove sign related kludge.
(Check_Within_Time_Bounds): New procedure.
(Clock): Control the leap seconds processing with flag Leap_Support.
(Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
(Formatting_Operations.Split): Control the leap seconds processing with
flag Leap_Support.
(Formatting_Operations.Time_Of): Control the leaps seconds processing
with flag Leap_Support. Adjust the year, month and day (if applicable)
when the value of day seconds designates a new day.
(Split): Use parameter associations for better readability. Integrate
flag Is_Ada_05.
(Time_Of): Use parameter associations for better readability. Integrate
flag Is_Ada_05.

* a-calfor.adb (Split): Use parameter associations for better
readability. Integrate flag Is_Ada_05.
(Time_Of): Remove flag Leap_Checks. Use parameter associations for
better readability. Integrate flag Is_Ada_05.

From-SVN: r125363

17 years agoa-intnam-aix.ads: Adjust comment to account for SIGADAABORT change (SIGEMT is now...
Thomas Quinot [Wed, 6 Jun 2007 10:14:35 +0000 (12:14 +0200)]
a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change (SIGEMT is now used instead of...

2007-04-20  Thomas Quinot  <quinot@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* a-intnam-aix.ads:
Adjust comment to account for SIGADAABORT change (SIGEMT is now used
instead of SIGTERM on AIX).

* s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
(Time_Slice_Supported): Set to True.
use SIGEMT instead of SIGTERM as SIGADAABORT.

From-SVN: r125362

17 years agog-expect-vms.adb:
Bob Duff [Wed, 6 Jun 2007 10:14:25 +0000 (12:14 +0200)]
g-expect-vms.adb:

2007-04-20  Bob Duff  <duff@adacore.com>

* g-expect-vms.adb:
(Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
* g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
(Send_Signal, Close): Raise Invalid_Process if the process id is
invalid.
(Pattern_Matcher_Access): Is now a general access type to be able to
use aliased string.

From-SVN: r125361

17 years agog-string.adb, [...]: Replace GNAT.xxx by System.xxx when appropriate.
Robert Dewar [Wed, 6 Jun 2007 10:14:14 +0000 (12:14 +0200)]
g-string.adb, [...]: Replace GNAT.xxx by System.xxx when appropriate.

2007-04-20  Robert Dewar  <dewar@adacore.com>

* g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.

* s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
s-tasloc.adb, s-tasloc.ads: New files.

From-SVN: r125360

17 years agoa-taster.adb, [...]: Replace Unchecked_* by Ada.Unchecked_*
Robert Dewar [Wed, 6 Jun 2007 10:13:44 +0000 (12:13 +0200)]
a-taster.adb, [...]: Replace Unchecked_* by Ada.Unchecked_*

2007-04-20  Robert Dewar  <dewar@adacore.com>

* a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
  s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
Unchecked_* by Ada.Unchecked_*

From-SVN: r125359

17 years agog-soccon-freebsd.ads, [...]: Add new constant Thread_Blocking_IO...
Thomas Quinot [Wed, 6 Jun 2007 10:13:25 +0000 (12:13 +0200)]
g-soccon-freebsd.ads, [...]:  Add new constant Thread_Blocking_IO...

2007-04-20  Thomas Quinot  <quinot@adacore.com>
    Bob Duff  <duff@adacore.com>

        * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads:  Add new
constant Thread_Blocking_IO, always True by default, set False
on a per-runtime basis.
(Need_Netdb_Buffer): New constant.

* g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
files.

* g-socthi-vxworks.ads, g-socthi-vxworks.adb,
g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
child package Task_Safe_NetDB
(Host_Error_Messages): Add stub body.
(GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.

* g-soccon-mingw.ads: Add Windows-specific constants.
(Need_Netdb_Buffer): New constant.
(GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
wrapper and import inet_addr(3) from the standard sockets library
directly instead.
(In_Addr): Add alignment clause.
(GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.

From-SVN: r125358

17 years agoi386.c (enum pta_flags): Move out of struct scope...
Thomas Neumann [Wed, 6 Jun 2007 08:02:56 +0000 (08:02 +0000)]
i386.c (enum pta_flags): Move out of struct scope...

* config/i386/i386.c (enum pta_flags): Move out of struct scope...
(struct pta): ...from here. Change flags to unsigned to avoid excessive
casting (as it is used as a bit mask).
(override_options): Add casts according to the coding convenventions.
(x86_64_elf_unique_section): Likewise.
(examine_argument): Avoid using C++ keywords as variable names.
(construct_container): Likewise.
(legitimize_pic_address): Likewise.
(get_dllimport_decl): Cast according to the coding conventions. Use
type safe memory macros.
(legitimize_address): Cast according to the coding conventions.
(emit_i387_cw_initialization): Corrected the type of slot to enum
ix86_stack_slot.
(ix86_init_machine_status): Use type safe memory macros.
(bdesc_pcmpestr): Use UNKNOWN instead of integer 0.
(bdesc_pcmpistr): Likewise.
(bdesc_crc32): Likewise.
(bdesc_sse_3arg): Likewise.
(bdesc_2arg): Likewise.
(bdesc_1arg): Likewise.
(ix86_expand_sse_pcmpestr): Cast according to the coding conventions.
(ix86_expand_sse_pcmpistr): Likewise.
(ix86_expand_vec_set_builtin): Use EXPAND_NORMAL instead of integer 0.
(ix86_builtin_vectorized_function): Change the type of fn to unsigned
int to match the langhook definition.
(ix86_builtin_conversion): Change the type of code to unsigned init to
match the langhook definition.
(ix86_preferred_reload_class): Avoid using C++ keywords as variable
names.
(ix86_preferred_output_reload_class): Likewise.
(ix86_cannot_change_mode_class): Likewise.
(ix86_memory_move_cost): Likewise.
(ix86_rtx_costs): Cast the outer_code parameter to enum rtx_code to
avoid excessive casting later on.
(x86_output_mi_thunk): Avoid using C++ keywords as variable names.

From-SVN: r125357

17 years agosse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm as flags setting insn.
Uros Bizjak [Wed, 6 Jun 2007 06:53:29 +0000 (08:53 +0200)]
sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm as flags setting insn.

* config/i386/sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm
as flags setting insn.
(sse4_2_pcmpistr_cconly): Prefer pcmpistrm as flags setting insn.

* config/i386/i386.md (UNSPEC_ROUNDP, UNSPEC_ROUNDS): Remove.
(UNSPEC_ROUND): New.
("sse4_1_round<mode>2"): New insn pattern.
("rint<mode>2"): Expand using "sse4_1_round<mode>2" pattern for
SSE4.1 targets.
("floor<mode>2"): Rename from floordf2 and floorsf2.  Macroize
expander using SSEMODEF mode macro.  Expand using
"sse4_1_round<mode>2" pattern for SSE4.1 targets.
("ceil<mode>2"): Rename from ceildf2 and ceilsf2.  Macroize
expander using SSEMODEF mode macro.  Expand using
"sse4_1_round<mode>2" pattern for SSE4.1 targets.
("btrunc<mode>2"): Rename from btruncdf2 and btruncsf2.  Macroize
expander using SSEMODEF mode macro.  Expand using
"sse4_1_round<mode>2" pattern for SSE4.1 targets.
* config/i386/sse.md ("sse4_1_roundpd", "sse4_1_roundps"): Use
UNSPEC_ROUND instead of UNSPEC_ROUNDP.
("sse4_1_roundsd", "sse4_1_roundss"): Use UNSPEC_ROUND instead of
UNSPEC_ROUNDS.

From-SVN: r125356

17 years agolambda.h (build_linear_expr): New.
Jan Sjodin [Wed, 6 Jun 2007 06:08:58 +0000 (06:08 +0000)]
lambda.h (build_linear_expr): New.

* lambda.h (build_linear_expr): New.
* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression):
Use build_linear_expr, call fold and force_gimple_operand.
(lambda_loopnest_to_gcc_loopnest): Check that there is
something to insert.
* testsuite/gcc.dg/tree-ssa/ltrans-6.c: New.

Co-Authored-By: Sebastian Pop <sebpop@gmail.com>
From-SVN: r125355

17 years agore PR fortran/18923 (segfault after subroutine name confusion)
Jerry DeLisle [Wed, 6 Jun 2007 01:21:29 +0000 (01:21 +0000)]
re PR fortran/18923 (segfault after subroutine name confusion)

2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR testsuite/18923
* gfortran.dg/invalid_contains_1.f90: New test.
* gfortran.dg/invalid_contains_2.f90: New test.

From-SVN: r125353

17 years agore PR testsuite/32057 (Random failure on gfortran.dg/secnds.f)
Jerry DeLisle [Wed, 6 Jun 2007 00:54:30 +0000 (00:54 +0000)]
re PR testsuite/32057 (Random failure on gfortran.dg/secnds.f)

2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR testsuite/32057
* gfortran.dg/secnds.f: Update test to avoid roundoff errors and
midnight issues.

From-SVN: r125352

17 years agoDaily bump.
GCC Administrator [Wed, 6 Jun 2007 00:16:55 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125350

17 years agore PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
Manuel López-Ibáñez [Tue, 5 Jun 2007 22:30:24 +0000 (22:30 +0000)]
re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)

2007-06-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR testsuite/25241
testsuite/
* gcc.dg/invalid-call-1.c: Use dg-warning to match the warning and
dg-message to match de note.
* gcc.dg/pr26570.c: Use dg-message for a note.
* gcc.dg/pr29254.c: Use dg-message for generic output and use
dg-error instead of dg-warning because of -Werror.
* gcc.dg/glibc-uclibc-1.c: Use dg-message for output that is
neither an error, nor a warning.
* gcc.dg/glibc-uclibc-2.c: Likewise
* gcc.dg/cpp/19940712-1.c: Likewise.

From-SVN: r125347

17 years agore PR preprocessor/23479 (Implement binary constants with a "0b" prefix)
Joerg Wunsch [Tue, 5 Jun 2007 22:25:27 +0000 (22:25 +0000)]
re PR preprocessor/23479 (Implement binary constants with a "0b" prefix)

2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>

PR preprocessor/23479
gcc/
* doc/extend.texi: Document the 0b-prefixed binary integer
constant extension.

libcpp/
* expr.c (cpp_classify_number): Implement 0b-prefixed binary
integer constants.
(append_digit): Likewise.
* include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
binary integer constants.

testsuite/
* testsuite/gcc.dg/binary-constants-1.c: Add test suites for
the 0b-prefixed binary integer constants.
* testsuite/gcc.dg/binary-constants-2.c: Ditto.
* testsuite/gcc.dg/binary-constants-3.c: Ditto.
* testsuite/gcc.dg/binary-constants-4.c: Ditto.

From-SVN: r125346

17 years agore PR tree-optimization/32215 (ICE in supportable_narrowing_operation, at tree-vector...
Uros Bizjak [Tue, 5 Jun 2007 20:23:58 +0000 (22:23 +0200)]
re PR tree-optimization/32215 (ICE in supportable_narrowing_operation, at tree-vectorizer.c:1907)

        PR tree-optimization/32215
        * tree-vectorizer.c (supportable_widening_operation): Return false
        for unsupported FIX_TRUNC_EXPR tree code.
        (supportable_narrowing_operation): Ditto for FLOAT_EXPR tree code.

From-SVN: r125343

17 years agore PR fortran/18923 (segfault after subroutine name confusion)
Jerry DeLisle [Tue, 5 Jun 2007 20:23:44 +0000 (20:23 +0000)]
re PR fortran/18923 (segfault after subroutine name confusion)

2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/18923
* parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
for ST_FUNCTION since it is called in reject_statement.
(parse_contained): If error, loop back after reject_statement and try
again.  Free the namespace if an error occured.

From-SVN: r125342

17 years agors6000.h (FIXED_SCRATCH): Use r0 as a scratch register on SPE targets.
Nathan Froyd [Tue, 5 Jun 2007 19:46:23 +0000 (19:46 +0000)]
rs6000.h (FIXED_SCRATCH): Use r0 as a scratch register on SPE targets.

* config/rs6000/rs6000.h (FIXED_SCRATCH): Use r0 as a scratch
register on SPE targets.  Change documentation to reflect
reality.
* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
Change FIXED_SCRATCH to 14 and document why we're keeping r14
out of the register allocation pool.
(rs6000_reg_live_or_pic_offset_p): New function.
(rs6000_emit_prologue): Move the actual saving of LR up to free
r0 for holding r11.  Split saving of SPE 64-bit registers into
its own case.  Ensure that offsets will always be in-range for
'evstdd' by using r11 as a scratch register to point at the start
of the SPE save area.  Save r11 if necessary, as it is the static
chain register.
(rs6000_emit_epilogue): Split restoring of SPE 64-bit registers
into its own case.  Ensure that offsets will always be in-range
for 'evldd' by using r11 as a scratch register to point at the
start of the SPE save area.  Also adjust r11 when restoring
the stack pointer to compensate for pre-loading r11.

From-SVN: r125340

17 years agodecl.c (grokdeclarator): Readability change.
Simon Baldwin [Tue, 5 Jun 2007 18:29:42 +0000 (18:29 +0000)]
decl.c (grokdeclarator): Readability change.

        * decl.c (grokdeclarator): Readability change.  Moved case labels into
direct switch statement scope.

From-SVN: r125339

17 years agotypo
Thomas Neumann [Tue, 5 Jun 2007 16:16:23 +0000 (16:16 +0000)]
typo

From-SVN: r125338

17 years agocfg.c (init_flow): Use type safe memory macros.
Thomas Neumann [Tue, 5 Jun 2007 15:41:04 +0000 (15:41 +0000)]
cfg.c (init_flow): Use type safe memory macros.

* cfg.c (init_flow): Use type safe memory macros.
(alloc_block): Likewise.
(unchecked_make_edge): Likewise.
(dump_flow_info): Avoid using C++ keywords as variable names.
(copy_original_table_clear): Cast according to the coding conventions.
(copy_original_table_set): Likewise.
* cfgexpand (label_rtx_for_bb): Likewise.
(expand_gimüle_basic_block): Likewise.
* cfghooks.c (dump_bb): Likewise.
(lv_adjust_loop_header_phi): Avoid using C++ keywords as variable names.
(lv_add_condition_to_bb): Likewise.
* cfglayout (relink_block_chain): Cast according to the coding
conventions.
(fixup_reorder_chain): Likewise.
(fixup_fallthru_exit_predecessor): Likewise.
* cfgloop.c (glb_enum_p): Likewise.
(get_exit_description): Likewise.
(dump_recorded_exit): Likewise.
* cfgloop.h (enum loop_estimation): Move out of struct scope...
(struct loop): ... from here.
* cfgloopmanip (rpe_enum_p): Cast according to the coding conventions.
* cfgrtl.c (rtl_create_basic_block): Likewise.
(rtl_split_block): Likewise.
(rtl_dump_bb): Likewise.
(cfg_layout_split_block): Likewise.
(init_rtl_bb_info): Use typesafe memory macros.

* graphds.h (struct graph_edge): Renamed edge to graph_edge.
* graphds.h: Updated all usages of edge to graph_edge.
* graphds.c: Likewise.
* cfgloopanal.c: Likewise.

From-SVN: r125336

17 years agotree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a PLUS_EXPR or MINUS_EXPR...
Ian Lance Taylor [Tue, 5 Jun 2007 13:18:22 +0000 (13:18 +0000)]
tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a PLUS_EXPR or MINUS_EXPR node before setting...

./: * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
(extract_range_from_assert): Set TREE_NO_WARNING when creating an
expression.
(test_for_singularity): Likewise.
testsuite/:
* gcc.dg/Wstrict-overflow-19.c: New test.

From-SVN: r125334

17 years agoconstraints.md ("Y2"): Replaced by ...
H.J. Lu [Tue, 5 Jun 2007 12:54:41 +0000 (12:54 +0000)]
constraints.md ("Y2"): Replaced by ...

2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/constraints.md ("Y2"): Replaced by ...
("Yt"): This.
* config/i386/i386.md: Likewise.
* config/i386/mmx.md: Likewise.
* config/i386/sse.md: Likewise.

From-SVN: r125333

17 years agoconstraints.md ("z"): Replaced by ...
H.J. Lu [Tue, 5 Jun 2007 12:53:27 +0000 (05:53 -0700)]
constraints.md ("z"): Replaced by ...

2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/constraints.md ("z"): Replaced by ...
("Y0"): This.
* config/i386/sse.md (sse4_1_blendvpd): Likewise.
(sse4_1_blendvps): Likewise.
(sse4_1_pblendvb): Likewise.
(sse4_2_pcmpestr): Likewise.
(sse4_2_pcmpestrm): Likewise.
(sse4_2_pcmpestr_cconly): Likewise.
(sse4_2_pcmpistr): Likewise.
(sse4_2_pcmpistrm): Likewise.
(sse4_2_pcmpistr_cconly): Likewise.

Move testsuite ChangeLog to testsuite/ChangeLog.

From-SVN: r125332

17 years agomatrix-reorg.c (transform_access_sites): Fix computation.
Razya Ladelsky [Tue, 5 Jun 2007 10:48:33 +0000 (10:48 +0000)]
matrix-reorg.c (transform_access_sites): Fix computation.

2007-06-05  Razya Ladelsky  <razya@il.ibm.com>

        * matrix-reorg.c (transform_access_sites): Fix computation.
        (transform_allocation_sites): Same.
        * testsuite/gcc.dg/matrix/matrix-6.c: Remove conversion.

From-SVN: r125331

17 years agoi386.c (override_options): Use TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_...
Uros Bizjak [Tue, 5 Jun 2007 06:44:17 +0000 (08:44 +0200)]
i386.c (override_options): Use TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags.

* config/i386/i386.c (override_options): Use
TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags.

From-SVN: r125328

17 years agomd (reg_not_xmm0_operand): New predicate.
Uros Bizjak [Tue, 5 Jun 2007 05:35:39 +0000 (07:35 +0200)]
md (reg_not_xmm0_operand): New predicate.

* config/i386/predicates/md (reg_not_xmm0_operand): New predicate.
(nonimm_not_xmm0_operand): Ditto.
* config/i386/sse.md ("sse4_1_blendvpd"): Use "reg_not_xmm0_operand"
as operand[0] and operand[1] predicate.  Use "nonimm_not_xmm0_operand"
as operand[2] predicate.  Require "z" class XMM register for
operand[3].  Adjust asm template.
("sse4_1_blendvpd"): Ditto.
("sse4_1_pblendvb"): Ditto.
  * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not
force op2 into xmm0 register for variable blend instructions.

From-SVN: r125327

17 years agoDaily bump.
GCC Administrator [Tue, 5 Jun 2007 00:17:15 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125325

17 years agoc-tree.h (start_enum): Update.
Tom Tromey [Mon, 4 Jun 2007 23:19:19 +0000 (23:19 +0000)]
c-tree.h (start_enum): Update.

* c-tree.h (start_enum): Update.
(build_enumerator): Likewise.
* c-decl.c (enum_next_value): Removed.
(enum_overflow): Likewise.
(start_enum): Add c_enum_contents argument.  Don't use globals.
(build_enumerator): Likewise.
* c-tree.h (struct c_enum_contents): New struct.

From-SVN: r125322

17 years ago* c-common.c (c_common_get_alias_set): Fix indentation.
Tom Tromey [Mon, 4 Jun 2007 22:13:40 +0000 (22:13 +0000)]
* c-common.c (c_common_get_alias_set): Fix indentation.

From-SVN: r125321

17 years agotree-vrp.c (adjust_range_with_scev): When loop is not expected to overflow, reduce...
Ian Lance Taylor [Mon, 4 Jun 2007 21:56:10 +0000 (21:56 +0000)]
tree-vrp.c (adjust_range_with_scev): When loop is not expected to overflow, reduce overflow infinity to regular infinity.

./: * tree-vrp.c (adjust_range_with_scev): When loop is not expected
to overflow, reduce overflow infinity to regular infinity.
(vrp_var_may_overflow): New static function.
(vrp_visit_phi_node): Check vrp_var_may_overflow.
testsuite/:
* gcc.dg/Wstrict-overflow-18.c: New test.

From-SVN: r125319

17 years ago* stor-layout.c (layout_type): Remove duplicate code.
Kazu Hirata [Mon, 4 Jun 2007 21:29:01 +0000 (21:29 +0000)]
* stor-layout.c (layout_type): Remove duplicate code.

From-SVN: r125318

17 years agore PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
Manuel López-Ibáñez [Mon, 4 Jun 2007 21:11:51 +0000 (21:11 +0000)]
re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)

2007-06-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR testsuite/25241
testsuite/
* gcc.dg/cpp/mi1.c: Use dg-message for output that is not an error.
* gcc.dg/cpp/mi5.c: Likewise.
* gcc.dg/cpp/mi7.c: Likewise.

From-SVN: r125317

17 years agotrans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust to operate on a stack...
Lee Millward [Mon, 4 Jun 2007 20:59:49 +0000 (20:59 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust to operate on a stack allocated array for the intrinsic arguments...

2007-06-04 Lee Millward <lee.millward@codesourcery.com>

* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
to operate on a stack allocated array for the intrinsic arguments
instead of creating a TREE_LIST. Add two new parameters for the
array and the number of elements. Update all callers to allocate
an array of the correct length to pass in. Update comment.
(gfc_intrinsic_argument_list_length): New function.
(gfc_conv_intrinsic_mnimax): Call it.
(gfc_conv_intrinsic_merge): Likewise.
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
constructors.
(gfc_conv_intrinsic_cmplx): Likewise.
(gfc_conv_intrinsic_ctime): Likewise.
(gfc_covn_intrinsic_fdate): Likewise.
(gfc_conv_intrinsic_ttynam): Likewise.
(gfc_conv_intrinsic_ishftc): Likewise.
(gfc_conv_intrinsic_index): Likewise.
(gfc_conv_intrinsic_scan): Likewise.
(gfc_conv_intrinsic_verify): Likewise.
(gfc_conv_intrinsic_trim): Likewise.
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
(gfc_conv_intrinsic_exponent): Likewise.
(gfc_conv_intrinsic_bound): Likewise.
(gfc_conv_intrinsic_abs): Likewise.
(gfc_conv_intrinsic_mod): Likewise.
(gfc_conv_intrinsic_sign): Likewise.
(gfc_conv_intrinsic_len): Likewise.
(gfc_conv_intrinsic_adjust): Likewise.
(gfc_conv_intrinsic_si_kind): Likewise.

From-SVN: r125316

17 years agocall.c (convert_like_real): Remove pointless code.
Paolo Carlini [Mon, 4 Jun 2007 20:40:43 +0000 (20:40 +0000)]
call.c (convert_like_real): Remove pointless code.

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

* call.c (convert_like_real): Remove pointless code.

From-SVN: r125315

17 years agore PR c/32191 (ICE with complex __float128)
Uros Bizjak [Mon, 4 Jun 2007 20:07:37 +0000 (22:07 +0200)]
re PR c/32191 (ICE with complex __float128)

        PR c/32191
        * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins ()
        before build_common_builtin_nodes ().

testsuite/ChangeLog:

        PR c/32191
        * gcc.dg/pr32191.c: New test.

From-SVN: r125314

17 years ago* trans-array.c (gfc_conv_array_parameter): Initialize tmp.
Steve Ellcey [Mon, 4 Jun 2007 16:00:00 +0000 (16:00 +0000)]
* trans-array.c (gfc_conv_array_parameter): Initialize tmp.

From-SVN: r125313

17 years agore PR target/31733 (ICE in rtl_verify_flow_info, at cfgrtl.c:2050: {return_internal...
Steve Ellcey [Mon, 4 Jun 2007 15:58:12 +0000 (15:58 +0000)]
re PR target/31733 (ICE in rtl_verify_flow_info, at cfgrtl.c:2050: {return_internal} (nil))

PR target/31733
* cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.

From-SVN: r125312

17 years agoacinclude.m4: Accept GCJ and JIKES.
Matthias Klose [Mon, 4 Jun 2007 10:05:52 +0000 (10:05 +0000)]
acinclude.m4: Accept GCJ and JIKES.

2007-06-04  Matthias Klose  <doko@ubuntu.com>

        * m4/acinclude.m4: Accept GCJ and JIKES.
        * configure: Regenerate.

From-SVN: r125310

17 years agomh-ppc-aix: Add default ADAFLAGS to BOOT_ADAFLAGS.
Olivier Hainque [Mon, 4 Jun 2007 07:48:28 +0000 (07:48 +0000)]
mh-ppc-aix: Add default ADAFLAGS to BOOT_ADAFLAGS.

* mh-ppc-aix: Add default ADAFLAGS to BOOT_ADAFLAGS.

From-SVN: r125309

17 years agotree-predcom.c (replace_ref_with, [...]): Call build_gimple_modify_stmt instead of...
Jan Hubicka [Mon, 4 Jun 2007 07:20:01 +0000 (09:20 +0200)]
tree-predcom.c (replace_ref_with, [...]): Call build_gimple_modify_stmt instead of _stat version.

* tree-predcom.c (replace_ref_with, initialize_root_vars_lm,
reassociate_to_the_same_stmt): Call build_gimple_modify_stmt
instead of _stat version.

From-SVN: r125308

17 years agoDaily bump.
GCC Administrator [Mon, 4 Jun 2007 00:17:10 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125305

17 years agolibjava/classpath/ChangeLog.gcj:
Matthias Klose [Sun, 3 Jun 2007 23:18:43 +0000 (23:18 +0000)]
libjava/classpath/ChangeLog.gcj:

2007-05-31  Matthias Klose  <doko@ubuntu.com>

        * javax/management/NotificationBroadcasterSupport.java
        (getNotificationInfo): Add cast.
        * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include
        directories.
        * native/jni/qt-peer/Makefile.in: Regenerate.

libjava/ChangeLog:

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        * java/io/natFileWin32.cc (setFilePermissions): New (stub only).
        _access: Handle EXEC query, stub only.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        Merged from classpath:
        * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge.
        * java/lang/System.java(inheritedChannel): New.
        * java/lang/Character.java: Remove stray`;'.
        * java/net/MulticastSocket.java: Merged.
        * java/text/DateFormatSymbols.java(getInstance): New, comment updates.
        * java/text/Collator.java(getInstance): Merged.
        * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG.
        getDisplayName, getDisplayNames: New.
        * java/util/logging/Logger.java: Merged.
        * Regenerate .class and .h files.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        * java/io/File.java: Merge with classpath-0.95, new method
        setFilePermissions, new attribute EXEC.
        * java/io/natFilePosix.cc (setFilePermissions): New.
        _access: Handle EXEC query.
        * classpath/lib/java/io/File.class, java/io/File.h: Regenerate.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        Imported GNU Classpath 0.95.

        * classpath/Makefile.in,
        classpath/native/jni/midi-dssi/Makefile.in,
        classpath/native/jni/classpath/Makefile.in,
        classpath/native/jni/Makefile.in,
        classpath/native/jni/gconf-peer/Makefile.in,
        classpath/native/jni/java-io/Makefile.in,
        classpath/native/jni/native-lib/Makefile.in,
        classpath/native/jni/java-util/Makefile.in,
        classpath/native/jni/midi-alsa/Makefile.in,
        classpath/native/jni/java-lang/Makefile.in,
        classpath/native/jni/java-nio/Makefile.in,
        classpath/native/jni/java-net/Makefile.in,
        classpath/native/jni/xmlj/Makefile.in,
        classpath/native/jni/qt-peer/Makefile.in,
        classpath/native/jni/gtk-peer/Makefile.in,
        classpath/native/Makefile.in, classpath/native/jawt/Makefile.in,
        classpath/native/fdlibm/Makefile.in,
        classpath/native/plugin/Makefile.in,
        classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
        classpath/tools/Makefile.in, classpath/doc/Makefile.in,
        classpath/doc/api/Makefile.in, classpath/lib/Makefile.in,
        classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in,
        classpath/external/sax/Makefile.in,
        classpath/external/w3c_dom/Makefile.in,
        classpath/external/relaxngDatatype/Makefile.in,
        classpath/include/Makefile.in,
        classpath/examples/Makefile.in: Regenerate.
        * classpath/config.guess, classpath/config.sub,
        classpath/ltmain.sh : Update.
        * classpath/configure, classpath/depcomp, classpath/missing,
        classpath/aclocal.m4, classpath/install-sh: Regenerate.

        * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95.
        * sources.am: Regenerate.
        * Makefile.in: Regenerate.

        * Update the .class files and generated CNI header files, add new
        .class and generated CNI header files.
        * Remove generated files for removed java source files:
        classpath/gnu/java/net/BASE64.java,
        classpath/gnu/java/security/util/Base64.java,
        classpath/gnu/java/awt/peer/gtk/GThreadMutex.java,
        classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
        classpath/gnu/java/awt/font/autofit/Scaler.java,
        classpath/gnu/classpath/jdwp/util/Value.java,
        classpath/gnu/javax/net/ssl/Base64.java.
        * Remove empty directories.

        * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc.
        * java/lang/Class.java(setAccessible): Merge from classpath.
        * java/util/Locale.java: Remove.
        * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java,
        gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New.
        * gcj/javaprims.h: Update class declarations.
        * scripts/classes.pl: Update usage.
        * HACKING: Mention to build all peers.

From-SVN: r125302

17 years agoconfigure.ac: Fix a typo in *-*-darwin clause.
Andrew Pinski [Sun, 3 Jun 2007 20:38:37 +0000 (20:38 +0000)]
configure.ac: Fix a typo in *-*-darwin clause.

2007-06-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * configure.ac: Fix a typo in *-*-darwin clause.
        * configure: Regenerated.

From-SVN: r125301

17 years agore PR tree-optimization/32194 (ice for legal code with -O3 with complex in loop)
Zdenek Dvorak [Sun, 3 Jun 2007 19:21:12 +0000 (21:21 +0200)]
re PR tree-optimization/32194 (ice for legal code with -O3 with complex in loop)

PR tree-optimization/32194
* tree-predcom.c (determine_offset): Check that both references have
the same type.

From-SVN: r125298

17 years agocfgloopmanip.c (remove_path, [...]): Change dom_bbs to vector.
Zdenek Dvorak [Sun, 3 Jun 2007 19:10:44 +0000 (21:10 +0200)]
cfgloopmanip.c (remove_path, [...]): Change dom_bbs to vector.

* cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
Change dom_bbs to vector.  Add argument to iterate_fix_dominators call.
* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
* tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
Add argument to iterate_fix_dominators call.
(remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
* gcse.c (hoist_code): Change domby to vector.
* cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
Add argument to iterate_fix_dominators call.
* loop-doloop.c (doloop_modify): Changed recount_dominator to
recompute_dominator.
* lambda-code.c (perfect_nestify): Ditto.
* cfgloopanal.c: Include graphds.h.
(struct edge, struct vertex, struct graph, dump_graph, new_graph,
add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
(mark_irreducible_loops): Use graphds_scc.  Remove argument from
add_edge call.
* graphds.c: New file.
* graphds.h: New file.
* dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
(get_dominated_by, get_dominated_by_region): Change return type to
vector.
(verify_dominators): Recompute all dominators and compare the results.
(recount_dominator): Renamed to ...
(recompute_dominator): ... this.  Do not check that the block is
dominated by entry.
(iterate_fix_dominators): Reimplemented.
(prune_bbs_to_update_dominators, root_of_dom_tree,
determine_dominators_for_sons): New functions.
* et-forest.c (et_root): New function.
* et-forest.h (et_root): Declare.
* Makefile.in (graphds.o): Add.
(cfgloopanal.o): Add graphds.h dependency.
(dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
* basic-block.h (get_dominated_by, get_dominated_by_region,
iterate_fix_dominators): Declaration changed.
(recount_dominator): Renamed to ...
(recompute_dominator): ... this.
* tree-ssa-threadupdate.c (thread_block): Free dominance info.
(thread_through_all_blocks): Do not free dominance info.

From-SVN: r125297

17 years agom68k.c (override_options): Don't override REAL_MODE_FORMAT.
Andreas Schwab [Sun, 3 Jun 2007 14:32:43 +0000 (14:32 +0000)]
m68k.c (override_options): Don't override REAL_MODE_FORMAT.

* config/m68k/m68k.c (override_options): Don't override
REAL_MODE_FORMAT.
* config/m68k/m68k-modes.def (SF, DF): Define to use
motorola_single_format and motorola_double_format, resp.
* real.c (motorola_single_format): Renamed from
coldfire_single_format.
(motorola_double_format): Renamed from coldfire_double_format.
(encode_ieee_extended): Generate a proper canonical NaN image
respecting canonical_nan_lsbs_set.
(ieee_extended_motorola_format): Set canonical_nan_lsbs_set to
true.
* real.h: Adjust declarations.

From-SVN: r125295

17 years agore PR fortran/32124 (Execution stops with stat= in ALLOCATE)
Tobias Burnus [Sun, 3 Jun 2007 07:25:54 +0000 (09:25 +0200)]
re PR fortran/32124 (Execution stops with stat= in ALLOCATE)

2007-05-28  Tobias Burnus  <burnus@net-b.de>

       PR fortran/32124
       * gfortran.dg/allocate_stat_1.f90: Remove.

From-SVN: r125293

17 years agore PR target/32163 (Compiling with stack protector causes reigster spill failure)
Kaz Kojima [Sun, 3 Jun 2007 04:38:52 +0000 (04:38 +0000)]
re PR target/32163 (Compiling with stack protector causes reigster spill failure)

PR target/32163
* config/sh/sh.md (symGOT_load): Don't schedule insns when
the symbol is generated with the stack protector.

From-SVN: r125292

17 years agom68k.c (m68k_attribute_table): Add "interrupt".
Kazu Hirata [Sun, 3 Jun 2007 00:43:21 +0000 (00:43 +0000)]
m68k.c (m68k_attribute_table): Add "interrupt".

* config/m68k/m68k.c (m68k_attribute_table): Add "interrupt".
(m68k_get_function_kind): Return m68k_fk_interrupt_handler on
"interrupt".
* doc/extend.texi (interrupt): Mention m68k.

From-SVN: r125290

17 years agoDaily bump.
GCC Administrator [Sun, 3 Jun 2007 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125288

17 years agorevert: sse.md ("sse4_1_blendvpd"): Require "z" class XMM register for operand[3].
Uros Bizjak [Sat, 2 Jun 2007 18:29:03 +0000 (20:29 +0200)]
revert: sse.md ("sse4_1_blendvpd"): Require "z" class XMM register for operand[3].

Revert:

 2007-06-02  Uros Bizjak  <ubizjak@gmail.com>

       * config/i386/sse.md ("sse4_1_blendvpd"): Require "z" class XMM
       register for operand[3].  Adjust asm template.
       ("sse4_1_blendvpd"): Ditto.
       ("sse4_1_pblendvb"): Ditto.
        * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not
       force operands[3] into xmm0 register for variable blend instructions.

From-SVN: r125285

17 years agoFix a typo in ChangeLog.
H.J. Lu [Sat, 2 Jun 2007 17:44:29 +0000 (10:44 -0700)]
Fix a typo in ChangeLog.

From-SVN: r125284

17 years agotype_traits (is_reference, [...]): Remove.
Paolo Carlini [Sat, 2 Jun 2007 17:24:09 +0000 (17:24 +0000)]
type_traits (is_reference, [...]): Remove.

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

* include/tr1_impl/type_traits (is_reference, add_reference,
remove_reference): Remove.
* include/tr1/type_traits (is_reference, add_reference,
remove_reference): Add.
* include/std/type_traits (is_lvalue_reference, is_rvalue_reference,
is_reference, remove_reference, add_lvalue_reference,
add_rvalue_reference): Add.
* include/tr1_impl/boost_shared_ptr.h (operator*): Adjust.
* testsuite/20_util/add_lvalue_reference/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/add_lvalue_reference/value.cc: Likewise.
* testsuite/20_util/add_rvalue_reference/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
* testsuite/20_util/is_lvalue_reference/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_lvalue_reference/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
* testsuite/20_util/is_rvalue_reference/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_rvalue_reference/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
* testsuite/20_util/is_reference/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_reference/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_reference/value.cc: Likewise.
* testsuite/20_util/remove_reference/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/remove_reference/value.cc: Likewise.

* testsuite/tr1/4_metaprogramming/add_const/requirements/
typedefs.cc: Move...
* testsuite/tr1/4_metaprogramming/add_const/value.cc: ... here.
* testsuite/tr1/4_metaprogramming/add_cv/requirements/
typedefs.cc: Move...
* testsuite/tr1/4_metaprogramming/add_cv/value.cc: ... here.
* testsuite/tr1/4_metaprogramming/add_pointer/requirements/
typedefs.cc: Move...
* testsuite/tr1/4_metaprogramming/add_pointer/value.cc: ... here.
* testsuite/tr1/4_metaprogramming/add_reference/requirements/
typedefs.cc: Move...
* testsuite/tr1/4_metaprogramming/add_reference/value.cc: ... here.
* testsuite/tr1/4_metaprogramming/add_volatile/requirements/
typedefs.cc: Move...
* testsuite/tr1/4_metaprogramming/add_volatile/value.cc: ... here.
* testsuite/tr1/4_metaprogramming/aligned_storage/requirements/
typedefs.cc: Move...
* testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: ... here.

From-SVN: r125283

17 years agoconfigure.ac: Fix a typo.
H.J. Lu [Sat, 2 Jun 2007 16:15:04 +0000 (16:15 +0000)]
configure.ac: Fix a typo.

2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>

* configure.ac: Fix a typo.
* configure: Regenerated.

From-SVN: r125282

17 years agosse4_2-check.h: New.
H.J. Lu [Sat, 2 Jun 2007 13:45:18 +0000 (13:45 +0000)]
sse4_2-check.h: New.

2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/sse4_2-check.h: New.
* gcc.target/i386/sse4_2-crc32b.c: Likewise.
* gcc.target/i386/sse4_2-crc32.h: Likewise.
* gcc.target/i386/sse4_2-crc32l.c: Likewise.
* gcc.target/i386/sse4_2-crc32q.c: Likewise.
* gcc.target/i386/sse4_2-crc32w.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestri-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestri-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestrm-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestrm-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpgtq.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistri-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistri-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistrm-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistrm-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpstr.h: Likewise.
* gcc.target/i386/sse4_2-popcnt.h: Likewise.
* gcc.target/i386/sse4_2-popcntl.c: Likewise.
* gcc.target/i386/sse4_2-popcntq.c: Likewise.

From-SVN: r125281

17 years agoi386.md ("sse4_1_blendvpd"): Require "z" class XMM register for operand[3].
Uros Bizjak [Sat, 2 Jun 2007 12:49:07 +0000 (14:49 +0200)]
i386.md ("sse4_1_blendvpd"): Require "z" class XMM register for operand[3].

        * config/i386/i386.md ("sse4_1_blendvpd"): Require "z" class XMM
        register for operand[3].  Adjust asm template.
        ("sse4_1_blendvpd"): Ditto.
        ("sse4_1_pblendvb"): Ditto.
        * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call
        safe_vector_operand() if input operand is VECTOR_MODE_P operand. Do not
        force operands[3] into xmm0 register for variable blend instructions.
        (ix86_expand_sse_pcmpestr): Do not check operands for
        "register_operand", when insn operand predicate is "register_operand".
        (ix86_expand_sse_pcmpistr): Ditto.

From-SVN: r125280

17 years agoi386.h (enum reg_class): New.
H.J. Lu [Sat, 2 Jun 2007 09:07:00 +0000 (09:07 +0000)]
i386.h (enum reg_class): New.

        * config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New.
        (SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS.
        (REG_CLASS_NAMES): Add "FIRST_SSE_REG" string.
        (REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class.
        * config/i386/constraints.md ("z"): New register constraint
        for members of SSE_FIRST_REG class.
        * config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes.
        * config/i386/i386.c (regclass_map): Change class of %xmm0 to
        SSE_FIRST_REG class.
        (put_condition_code) [EQ, NE]: Output suffixes for new compare modes.
        (ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes.
        (IX86_BUILTIN_PCMPESTRI128): New for SSE4.2.
        (IX86_BUILTIN_PCMPESTRM128): Likewise.
        (IX86_BUILTIN_PCMPESTRA128): Likewise.
        (IX86_BUILTIN_PCMPESTRC128): Likewise.
        (IX86_BUILTIN_PCMPESTRO128): Likewise.
        (IX86_BUILTIN_PCMPESTRS128): Likewise.
        (IX86_BUILTIN_PCMPESTRZ128): Likewise.
        (IX86_BUILTIN_PCMPISTRI128): Likewise.
        (IX86_BUILTIN_PCMPISTRM128): Likewise.
        (IX86_BUILTIN_PCMPISTRA128): Likewise.
        (IX86_BUILTIN_PCMPISTRC128): Likewise.
        (IX86_BUILTIN_PCMPISTRO128): Likewise.
        (IX86_BUILTIN_PCMPISTRS128): Likewise.
        (IX86_BUILTIN_PCMPISTRZ128): Likewise.
        (struct builtin_description): Change "flag" field to unsigned.
        (bdesc_pcmpestr): New builtin description table.
        (bdesc_pcmpistr): Likewise.
        (ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int,
        v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int.
        Initialize pcmp[ei]str[im] insns for SSE4.2.
        (ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin.
        (ix86_expand_sse_pcmpistr): Likewise.
        (ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2.
        * config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2.
        (UNSPEC_PCMPISTR): Likewise.
        * config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter.
        (sse4_2_pcmpestri):New isns pattern.
        (sse4_2_pcmpestrm): Likewise.
        (sse4_2_pcmpestr_cconly): Likewise.
        (sse4_2_pcmpistr): New insn patern and splitter.
        (sse4_2_pcmpistri):New isns pattern.
        (sse4_2_pcmpistrm): Likewise.
        (sse4_2_pcmpistr_cconly): Likewise.
        * config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics
        in SSE4.2.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r125279

17 years agoconfigure: Regenerate.
Paolo Bonzini [Sat, 2 Jun 2007 08:18:15 +0000 (08:18 +0000)]
configure: Regenerate.

boehm-gc:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libffi:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libgfortran:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libgomp:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libjava:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libmudflap:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libobjc:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libssp:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

libstdc++-v3:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

zlib:
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

From-SVN: r125278

17 years agomips.c (mips_output_mi_thunk): Only load gp if not LOADGP_ABSOLUTE and not binds_local_p.
David Daney [Sat, 2 Jun 2007 04:27:40 +0000 (04:27 +0000)]
mips.c (mips_output_mi_thunk): Only load gp if not LOADGP_ABSOLUTE and not binds_local_p.

* config/mips/mips.c (mips_output_mi_thunk): Only load gp if not
LOADGP_ABSOLUTE and not binds_local_p.

From-SVN: r125276

17 years agoMakefile.in: Replace all uses of libext with libsuffix.
Andrew Pinski [Sat, 2 Jun 2007 01:35:59 +0000 (01:35 +0000)]
Makefile.in: Replace all uses of libext with libsuffix.

2007-06-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * Makefile.in: Replace all uses of libext with libsuffix.
        * configure.ac: Likewise.
        * configure: Regenerate.

        Revert:
        * Makefile.in: Remove all uses of $(libext).

From-SVN: r125275

17 years agoDaily bump.
GCC Administrator [Sat, 2 Jun 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125273

17 years agodarwin.h (LINK_SPEC): Pass -fpie through to the linker.
Geoffrey Keating [Fri, 1 Jun 2007 22:58:14 +0000 (22:58 +0000)]
darwin.h (LINK_SPEC): Pass -fpie through to the linker.

2007-06-01  Geoffrey Keating  <geoffk@apple.com>

* config/darwin.h (LINK_SPEC): Pass -fpie through to the linker.

Index: testsuite/ChangeLog
2007-06-01  Geoffrey Keating  <geoffk@apple.com>

* gcc.dg/pie-link.c: New test.

From-SVN: r125270

17 years agotree-vrp.c (compare_name_with_value): Always set used_strict_overflow if we get a...
Ian Lance Taylor [Fri, 1 Jun 2007 22:47:02 +0000 (22:47 +0000)]
tree-vrp.c (compare_name_with_value): Always set used_strict_overflow if we get a result from the variable itself.

./: * tree-vrp.c (compare_name_with_value): Always set
used_strict_overflow if we get a result from the variable itself.
testsuite/:
* gcc.dg/Wstrict-overflow-17.c: New test.

From-SVN: r125269

17 years agobuiltin-return-1.c (g): New.
Kazu Hirata [Fri, 1 Jun 2007 19:48:46 +0000 (19:48 +0000)]
builtin-return-1.c (g): New.

* gcc.dg/builtin-return-1.c (g): New.
(main): Allocate at least 64 bytes on the stack.

From-SVN: r125268

17 years agowhat-big.cc: New.
Benjamin Kosnik [Fri, 1 Jun 2007 17:03:22 +0000 (17:03 +0000)]
what-big.cc: New.

2007-06-01  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/19_diagnostics/logic_error/what-big.cc: New.
* testsuite/19_diagnostics/logic_error/what-3.cc: Same.
* testsuite/19_diagnostics/runtime_error/what-big.cc: Same.
* testsuite/19_diagnostics/runtime_error/what-3.cc: Same.

* testsuite/18_support/14493.cc: Break into...
* testsuite/18_support/exception/what.cc: ...this.
* testsuite/18_support/bad_cast/what.cc: ...this.
* testsuite/18_support/bad_alloc/what.cc: ...this.
* testsuite/18_support/bad_typeid/what.cc: ...this.
* testsuite/18_support/bad_exception/what.cc: ...this.

* testsuite/19_diagnostics/bad_exception/23591_thread-1.c: Move...
* testsuite/18_support/bad_exception/23591_thread-1.c: ...here.

* testsuite/18_support/14026.cc: Move...
* testsuite/18_support/uncaught_exception/14026.cc: ...here.

From-SVN: r125267

17 years agore PR rtl-optimization/31455 (lower subreg causes a performance regression in the...
Ian Lance Taylor [Fri, 1 Jun 2007 15:06:19 +0000 (15:06 +0000)]
re PR rtl-optimization/31455 (lower subreg causes a performance regression in the inner loop sometimes)

PR rtl-optimization/31455
* lower-subreg.c (find_decomposable_subregs): Don't decompose
subregs which have a cast between modes which are not tieable.

From-SVN: r125265

17 years agoFix ChangeLog entry.
H.J. Lu [Fri, 1 Jun 2007 13:46:37 +0000 (06:46 -0700)]
Fix ChangeLog entry.

From-SVN: r125264

17 years agolibtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len.
Steve Ellcey [Fri, 1 Jun 2007 11:32:07 +0000 (11:32 +0000)]
libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len.

2007-06-01  Steve Ellcey  <sje@cup.hp.com>

* libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf
to set lt_cv_sys_max_cmd_len.

From-SVN: r125262

17 years agothrow_allocator.h (__throw_allocator::allocate): Throw bad_alloc for out of memory...
Benjamin Kosnik [Fri, 1 Jun 2007 10:09:40 +0000 (10:09 +0000)]
throw_allocator.h (__throw_allocator::allocate): Throw bad_alloc for out of memory conditions.

2007-06-01  Benjamin Kosnik  <bkoz@redhat.com>

* include/ext/throw_allocator.h (__throw_allocator::allocate):
Throw bad_alloc for out of memory conditions.
* testsuite/ext/throw_allocator/deallocate_global.cc: New.
* testsuite/ext/throw_allocator/check_delete.cc: Same.
* testsuite/ext/throw_allocator/check_allocate_max_size.cc: Same.
* testsuite/ext/throw_allocator/check_deallocate_null.cc: Same.
* testsuite/ext/throw_allocator/explicit_instantiation.cc: Same.
* testsuite/ext/throw_allocator/check_new.cc: Same.
* testsuite/ext/throw_allocator/deallocate_local.cc: Same.

From-SVN: r125261

17 years agoRemove conflict marker.
Andreas Schwab [Fri, 1 Jun 2007 08:51:05 +0000 (08:51 +0000)]
Remove conflict marker.

From-SVN: r125260

17 years agoexpr.c (force_operand): Remove breaks after return statements.
Uros Bizjak [Fri, 1 Jun 2007 05:59:23 +0000 (07:59 +0200)]
expr.c (force_operand): Remove breaks after return statements.

* expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove
breaks after return statements.

From-SVN: r125259

17 years agosh.c (fpscr_set_from_mem): Call get_free_reg only after no_new_pseudos.
Kaz Kojima [Fri, 1 Jun 2007 04:58:23 +0000 (04:58 +0000)]
sh.c (fpscr_set_from_mem): Call get_free_reg only after no_new_pseudos.

* config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
only after no_new_pseudos.

From-SVN: r125258

17 years agoFixup whitespacing
Mike Stump [Fri, 1 Jun 2007 02:12:37 +0000 (02:12 +0000)]
Fixup whitespacing

From-SVN: r125255