platform/upstream/gcc.git
17 years agoexp_disp.ads, [...] (Build_Dispatch_Tables): Handle tagged types declared in the...
Ed Schonberg [Tue, 14 Aug 2007 08:39:00 +0000 (10:39 +0200)]
exp_disp.ads, [...] (Build_Dispatch_Tables): Handle tagged types declared in the declarative part of a nested package body...

2007-08-14  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
types declared in the declarative part of a nested package body or in
the proper body of a stub.
(Set_All_DT_Position): Add missing check to avoid wrong assignation
of the same dispatch table slot to renamed primitives.
(Make_Select_Specific_Data_Table): Handle private types.
(Tagged_Kind): Handle private types.
(Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
output of implicit importation and exportation.
(Expand_Interface_Thunk): Fix bug in the expansion assuming that the
first formal of the thunk is always associated with the controlling
type. In addition perform the following code cleanup: remove formal
Thunk_Alias which is no longer required, cleanup evaluation of the
the controlling type, and update the documentation.
Replace occurrence of Default_Prim_Op_Count by
Max_Predef_Prims. Addition of compile-time check to verify
that the value of Max_Predef_Prims is correct.
(Check_Premature_Freezing): Apply check in Ada95 mode as well.
(Make_DT): Add parameter to indicate when type has been frozen by an
object declaration, for diagnostic purposes.
(Build_Static_Dispatch_Tables): New subprogram that takes care of the
construction of statically allocated dispatch tables.
(Make_DT): In case of library-level tagged types export the declaration
of the primary tag. Remove generation of tags (now done by Make_Tags).
Additional modifications to handle non-static generation of dispatch
tables. Take care of building tables for asynchronous interface types
(Make_Tags): New subprogram that generates the entities associated with
the primary and secondary tags of Typ and fills the contents of Access_
Disp_Table. In case of library-level tagged types imports the forward
declaration of the primary tag that will be declared later by Make_DT.
(Expand_Interface_Conversion): In case of access types to interfaces
replace an itype declaration by an explicit type declaration to avoid
problems associated with the scope of such itype in transient blocks.

From-SVN: r127418

17 years agoexp_ch3.ads, [...] (Add_Final_Chain): New subprogram.
Thomas Quinot [Tue, 14 Aug 2007 08:38:48 +0000 (10:38 +0200)]
exp_ch3.ads, [...] (Add_Final_Chain): New subprogram.

2007-08-14  Thomas Quinot  <quinot@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
(Freeze_Array_Type, Freeze_Record_Type): For the case of a component
type that is an anonymous access to controlled object, establish
an associated finalization chain to avoid corrupting the global
finalization list when a dynamically allocated object designated
by such a component is deallocated.
(Make_Controlling_Function_Wrappers): Create wrappers for constructor
functions that need it, even when not marked Requires_Overriding.
(Initialize_Tag): Replace call to has_discriminants by call to
Is_Variable_Size_Record in the circuitry that handles the
initialization of secondary tags.
(Is_Variable_Size_Record): New implementation.
(Expand_N_Object_Declaration): Suppress call to init proc if there is a
Suppress_Initialization pragma for a derived type.
(Is_Variable_Size_Record): New subprogram.
(Build_Offset_To_Top_Functions): New implementation that simplifies the
initial version of this routine and also fixes problems causing
incomplete initialization of the table of interfaces.
(Build_Init_Procedure): Improve the generation of code to initialize the
the tag components of secondary dispatch tables.
(Init_Secondary_Tags): New implementation that simplifies the previous
version of this routine.
(Make_DT): Add parameter to indicate when type has been frozen by an
object declaration, for diagnostic purposes.
(Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
diagnose attemps to freeze a subprogram when some untagged type of its
profile is a private type whose full view has not been analyzed yet.
(Freeze_Array_Type): Generate init proc for packed array if either
Initialize or Normalize_Scalars is set.
(Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
constructing the new profile, copy the null_exclusion indicator for each
parameter, to ensure full conformance of the new body with the spec.

* sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
Create wrappers for constructor functions that need it, even when not
marked Requires_Overriding.
(Covers): Handle properly designated types of anonymous access types,
whose non-limited views are themselves incomplete types.
(Add_Entry): Use an entity to store the abstract operation which hides
an interpretation.
(Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
(Collect_Interps): Use Empty as an actual for Abstract_Op in the
initialization aggregate.
(Function_Interp_May_Be_Hidden): Rename to
Function_Interp_Has_Abstract_Op.
(Has_Compatible_Type): Remove machinery that skips interpretations if
they are labeled as potentially hidden by an abstract operator.
(Has_Hidden_Interp): Rename to Has_Abstract_Op.
(Set_May_Be_Hidden): Rename to Set_Abstract_Op.
(Write_Overloads): Output the abstract operator if present.
(Add_Entry): Before inserting a new entry into the interpretation table
for a node, determine whether the entry will be disabled by an abstract
operator.
(Binary_Op_Interp_May_Be_Hidden): New routine.
(Collect_Interps): Add value for flag May_Be_Hidden in initialization
aggregate.
(Function_Interp_May_Be_Hidden): New routine.
(Has_Compatible_Type): Do not consider interpretations hidden by
abstract operators when trying to determine whether two types are
compatible.
(Has_Hidden_Interp): New routine.
(Set_May_Be_Hidden_Interp): New routine.
(Write_Overloads): Write the status of flag May_Be_Hidden.

From-SVN: r127417

17 years agoexp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
Robert Dewar [Tue, 14 Aug 2007 08:38:33 +0000 (10:38 +0200)]
exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit

2007-08-14  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
(Expand_N_Attribute_Reference): Further unify the handling of the
three forms of access attributes, using common code now for all three
cases. Add a test for the case of applying an access attribute to
an explicit dereference when the context is an access-to-interface
type. In that case we need to apply the conversion to the prefix
of the explicit dereference rather than the prefix of the attribute.
(Attribute_Version, UET_Address): Set entity as internal to ensure
proper dg output of implicit importation.
(Expand_Access_To_Type): Removed.
(Expand_N_Attribute_Reference): Merge the code from the three cases
of access attributes, since the processing is largely identical for
these cases. The substantive fix here is to process the case of a
type name prefix (current instance case) before handling the case
of interface prefixes.

From-SVN: r127416

17 years agoeinfo.ads, einfo.adb: Create a limited view of an incomplete type...
Ed Schonberg [Tue, 14 Aug 2007 08:38:20 +0000 (10:38 +0200)]
einfo.ads, einfo.adb: Create a limited view of an incomplete type...

2007-08-14  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* einfo.ads, einfo.adb: Create a limited view of an incomplete type,
to make treatment of limited views uniform for all visible declarations
in a limited_withed package.
Improve warnings for in out parameters
(Set_Related_Interaface/Related_Interface): Allow the use of this
attribute with constants.
(Write_Field26_Name): Handle attribute Related_Interface in constants.
Warn on duplicate pragma Preelaborable_Initialialization

* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
generation of a freezing node to ensure proper management of null
excluding access types in the backend.
(Create_Extra_Formals): Test base type of the formal when checking for
the need to add an extra accessibility-level formal. Pass the entity E
on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
originally being done in a couple of cases), to ensure that the
Extra_Formals list gets set on the entity E when the first entity is
added.
(Conforming_Types): Add missing calls to Base_Type to the code that
handles anonymous access types. This is required to handle the
general case because Process_Formals builds internal subtype entities
to handle null-excluding access types.
(Make_Controlling_Function_Wrappers): Create wrappers for constructor
functions that need it, even when not marked Requires_Overriding.
Improve warnings for in out parameters
(Analyze_Function_Return): Warn for disallowed null return
Warn on return from procedure with unset out parameter
Ensure consistent use of # in error messages
(Check_Overriding_Indicator): Add in parameter Is_Primitive.
(Analyze_Function_Return): Move call to Apply_Constraint_Check before
the implicit conversion of the expression done for anonymous access
types. This is required to generate the code of the null excluding
check (if required).

* sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
A formal parameter is never publicly referenceable outside of its body.
(Check_References): For an unreferenced formal parameter in an accept
statement, use the same warning circuitry as for subprogram formal
parameters.
(Warn_On_Unreferenced_Entity): New subprogram, taken from
Output_Unreferenced_Messages, containing the part of that routine that
is now reused for entry formals as described above.
(Goto_Spec_Entity): New function
(Check_References): Do not give IN OUT warning for dispatching operation
Improve warnings for in out parameters
(Test_Ref): Check that the entity is not undefinite before calling
Scope_Within, in order to avoid infinite loops.
Warn on return from procedure with unset out parameter
Improved warnings for unused variables

From-SVN: r127415

17 years agodebug.adb: Improve -gnatdI to cover all cases of serialization Add documentation...
Robert Dewar [Tue, 14 Aug 2007 08:38:03 +0000 (10:38 +0200)]
debug.adb: Improve -gnatdI to cover all cases of serialization Add documentation of dZ, d.t

2007-08-14  Robert Dewar  <dewar@adacore.com>

* debug.adb: Improve -gnatdI to cover all cases of serialization
Add documentation of dZ, d.t

* sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
serialization.
(Sprint_Node_Actual): Generate new output associated with implicit
importation and implicit exportation of object declarations.

From-SVN: r127414

17 years agocomperr.adb: Fix problem with suppressing warning messages from gigi
Robert Dewar [Tue, 14 Aug 2007 08:37:51 +0000 (10:37 +0200)]
comperr.adb: Fix problem with suppressing warning messages from gigi

2007-08-14  Robert Dewar  <dewar@adacore.com>

* comperr.adb: Fix problem with suppressing warning messages from gigi

* erroutc.ads, erroutc.adb, errout.ads,
errout.adb (Write_Eol): Remove trailing spaces before writing the line
(Write_Eol_Keep_Blanks): New procedure to write a line, including
possible trailing spaces.
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
Fix problem with suppressing warning messages from back end
Improve handling of deleted warnings

* gnat1drv.adb:
Fix problem with suppressing warning messages from back end
Handle setting of Static_Dispatch_Tables flag.

* prepcomp.adb:
Fix problem with suppressing warning messages from back end

* exp_intr.adb: Improve handling of deleted warnings

From-SVN: r127413

17 years agoatree.ads, atree.adb (New_Copy_Tree): If hash table is being used and itype is visited...
Ed Schonberg [Tue, 14 Aug 2007 08:37:41 +0000 (10:37 +0200)]
atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and itype is visited...

2007-08-14  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
itype is visited, make an entry into table to link associated node and
new itype.
Add comments and correct harmless error in Build_NCT_Hash_Tables
(Array_Aggr_Subtype): Associate each itype created for an index type to
the corresponding range construct, and not to the aggregate itself. to
maintain a one-to-one correspondence between itype and its associated
node, to prevent errors when complex expression is copied.
Fix mishandling of multiple levels of parens

* sem_aggr.adb: Create a limited view of an incomplete type, to make
treatment of limited views uniform for all visible declarations in a
limited_withed package.
(New_Copy_Tree): If hash table is being used and itype is visited,
make an entry into table to link associated node and new itype.
(Resolve_Record_Aggregate): Do not add an others box association for a
discriminated record component that has only discriminants, when there
is a box association for the component itself.

* par-ch4.adb: Fix mishandling of multiple levels of parens

From-SVN: r127412

17 years agoa-stzsup.adb, [...]: Fix warnings for range tests optimized out.
Robert Dewar [Tue, 14 Aug 2007 08:37:26 +0000 (10:37 +0200)]
a-stzsup.adb, [...]: Fix warnings for range tests optimized out.

2007-08-14  Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
a-stwisu.adb, a-strsup.adb: Fix warnings for range
tests optimized out.

* exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
(Get_Allocator_Final_List): For the case of an anonymous access type
that has a specified Associated_Final_Chain, do not go up to the
enclosing scope.
(Expand_N_Type_Conversion): Test for the case of renamings of access
parameters when deciding whether to apply a run-time accessibility
check.
(Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
aggregate code before allocator, and ahead of declaration for
temporary, to prevent access before elaboration when the allocator is
an actual for an access parameter.
(Expand_N_Type_Conversion): On an access type conversion involving an
access parameter, do not apply an accessibility check when the
operand's original node was an attribute other than 'Access. We now
create access conversions for the expansion of 'Unchecked_Access and
'Unrestricted_Access in certain cases and clearly accessibility should
not be checked for those.

* exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
includes a type conversion of a packed component that has been expanded,
recover the original expression for the object, and use this expression
in the post-call assignment statement, so that the assignment is made
to the object and not to a back-end temporary.
(Freeze_Subprogram): In case of primitives of tagged types not defined
at the library level force generation of code to register the primitive
in the dispatch table. In addition some code reorganization has been
done to leave the implementation clear.
(Expand_Call): When expanding an inherited implicit conversion,
preserve the type of the inherited function after the intrinsic
operation has been expanded.

* exp_ch2.ads, exp_ch2.adb
(Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
of an entry formal appearing in an assignment statement does not assign
to the formal.
(Expand_Current_Value): Instead of calling a routine to determine
whether the prefix of an attribute reference should be optimized or
not, prevent the optimization of such prefixes all together.

* lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
component whose prefix is known to be of an access type is an implicit
dereference and does not assign to the prefix.

From-SVN: r127411

17 years agoinline.adb, [...]: Suppress unmodified in-out parameter warning in some cases This...
Robert Dewar [Tue, 14 Aug 2007 08:37:08 +0000 (10:37 +0200)]
inline.adb, [...]: Suppress unmodified in-out parameter warning in some cases This patch is a also...

2007-08-14  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
Suppress unmodified in-out parameter warning in some cases
This patch is a also fairly significant change to the way suppressible
checks are handled.

* checks.ads, checks.adb (Install_Null_Excluding_Check): No check
needed for access to concurrent record types generated by the expander.
(Generate_Range_Check): When generating a temporary to capture the
value of a conversion that requires a range check, set the type of the
temporary before rewriting the node, so that the type is always
properly placed for back-end use.
(Apply_Float_Conversion_Check): Handle case where the conversion is
truncating.
(Get_Discriminal): Code reformatting. Climb the scope stack looking
for a protected type in order to examine its discriminants.

From-SVN: r127410

17 years agouintp.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 14 Aug 2007 08:36:48 +0000 (10:36 +0200)]
uintp.adb, [...]: Minor reformatting.

2007-08-14  Robert Dewar  <dewar@adacore.com>

* uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
s-osinte-solaris.adb, s-osinte-solaris.ads,
s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.

* styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
switch -gnatyS. Enable -gnatyS in GNAT style check mode

From-SVN: r127409

17 years agoa-calend-vms.adb, [...] ("+", [...]): Remove calls to Check_Within_Time_Bounds.
Hristian Kirtchev [Tue, 14 Aug 2007 08:36:33 +0000 (10:36 +0200)]
a-calend-vms.adb, [...] ("+", [...]): Remove calls to Check_Within_Time_Bounds.

2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
calls to Check_Within_Time_Bounds.
("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
(Difference): Account for possible rounding of the resulting difference

From-SVN: r127408

17 years agog-soccon-interix.ads, [...]: Removed.
Thomas Quinot [Tue, 14 Aug 2007 08:36:22 +0000 (10:36 +0200)]
g-soccon-interix.ads, [...]: Removed.

2007-08-14  Thomas Quinot  <quinot@adacore.com>

* g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
s-osinte-interix.ads, system-interix.ads: Removed.

From-SVN: r127407

17 years ago* MAINTAINERS (Write After Approval): Change my email address.
Maxim Kuvyrkov [Tue, 14 Aug 2007 08:25:41 +0000 (08:25 +0000)]
* MAINTAINERS (Write After Approval): Change my email address.

From-SVN: r127406

17 years agosched-int.h (struct _dep): Rename field 'kind' to 'type'.
Maxim Kuvyrkov [Tue, 14 Aug 2007 06:40:34 +0000 (06:40 +0000)]
sched-int.h (struct _dep): Rename field 'kind' to 'type'.

* sched-int.h (struct _dep): Rename field 'kind' to 'type'.
(DEP_KIND): Rename to DEP_TYPE.  Update all uses.
(dep_def): New typedef.
(init_dep_1, sd_debug_dep): Declare functions.
(DEP_LINK_KIND): Rename to DEP_LINK_TYPE.
(debug_dep_links): Remove.
(struct _deps_list): New field 'n_links'.
(DEPS_LIST_N_LINKS): New macro.
(FOR_EACH_DEP_LINK): Remove.
(create_deps_list, free_deps_list, delete_deps_list): Remove
declaration.
(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
(copy_deps_list_change_con, move_dep_link): Ditto.
(struct haifa_insn_data): Split field 'back_deps' into 'hard_back_deps'
and 'spec_back_deps'.  New field 'resolved_forw_deps'.  Remove field
'dep_count'.
(INSN_BACK_DEPS): Remove.
(INSN_HARD_BACK_DEPS, INSN_SPEC_BACK_DEPS, INSN_RESOLVED_FORW_DEPS):
New macros.
(INSN_DEP_COUNT): Remove.
(enum DEPS_ADJUST_RESULT): Add new constant DEP_NODEP.  Fix comments.
(spec_info, haifa_recovery_block_was_added_during_scheduling_p):
Declare global variables.
(deps_pools_are_empty_p, sched_free_deps): Declare functions.
(add_forw_dep, compute_forward_dependences): Remove declarations.
(add_or_update_back_dep, add_or_update_back_forw_dep): Ditto.
(add_back_forw_dep, delete_back_forw_dep): Ditto.
(debug_ds, sched_insn_is_legitimate_for_speculation_p): Declare
functions.
(SD_LIST_NONE, SD_LIST_HARD_BACK, SD_LIST_SPEC_BACK, SD_LIST_FORW): New
constants.
(SD_LIST_RES_BACK, SD_LIST_RES_FORW, SD_LIST_BACK): Ditto.
(sd_list_types_def): New typedef.
(sd_next_list): Declare function.
(struct _sd_iterator): New type.
(sd_iterator_def): New typedef.
(sd_iterator_start, sd_iterator_cond, sd_iterator_next): New inline
functions.
(FOR_EACH_DEP): New cycle wrapper.
(sd_lists_size, sd_lists_empty_p, sd_init_insn, sd_finish_insn):
Declare functions.
(sd_find_dep_between, sd_add_dep, sd_add_or_update_dep): Ditto.
(sd_resolve_dep, sd_copy_back_deps, sd_delete_dep, sd_debug_lists):
Ditto.

* sched-deps.c (init_dep_1): Make global.
(DUMP_DEP_PRO, DUMP_DEP_CON, DUMP_DEP_STATUS, DUMP_DEP_ALL): New
constants.
(dump_dep): New static function.
(dump_dep_flags): New static variable.
(sd_debug_dep): New function.
(add_to_deps_list, remove_from_deps_list): Update 'n_links' field of
the list.
(move_dep_link): Use remove_from_deps_list (), instead of
detach_dep_link ().
(dep_links_consistent_p, dump_dep_links, debug_dep_links): Remove.
(dep_link_is_detached_p): New static function.
(deps_obstack, dl_obstack, dn_obstack): Remove.  Use dn_pool, dl_pool
instead.
(dn_pool, dl_pool): New alloc_pools.
(dn_pool_diff, dl_pool_diff): New static variables.
(create_dep_node, delete_dep_node): New static function.
(create_deps_list): Make it static.  Use alloc_pool 'dl_pool'.
(deps_list_empty_p): Make it static.  Use 'n_links' field.
(deps_pools_are_empty_p): New static function.
(alloc_deps_list, delete_deps_list): Remove.
(dump_deps_list, debug_deps_list, add_back_dep_to_deps_list): Remove.
(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
(copy_deps_list_change_con): Remove.  Use sd_copy_back_deps () instead.
(forward_dependency_cache): Remove.
(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Remove
'back' from the names.  Change signature to use dep_t instead of
equivalent quad.
(add_back_dep): Ditto.  Make global.
(check_dep_status): Rename to check_dep ().
(sd_next_list, sd_lists_size, sd_lists_empty_p, sd_init_insn):
New functions.
(sd_finish_insn): Ditto.
(sd_find_dep_between_no_cache): New static function.
(sd_find_dep_between): New function.
(ask_dependency_caches, set_dependency_caches): New static functions.
(update_dependency_caches, change_spec_dep_to_hard, update_dep): Ditto.
(add_or_update_dep_1): Separate pieces of functionality into
ask_dependency_caches (), update_dependency_caches (),
change_spec_dep_to_hard (), update_dep ().
(get_back_and_forw_lists): New static function.
(sd_add_dep): Separate setting of dependency caches into
set_dependency_caches ().
(sd_add_or_update_dep, sd_resolve_dep, sd_copy_back_deps):
New functions.
(sd_delete_dep): Ditto.
(DUMP_LISTS_SIZE, DUMP_LISTS_DEPS, DUMP_LISTS_ALL): New constants.
(dump_lists): New static function.
(sd_debug_lists): New debug function.
(delete_all_dependences, fixup_sched_groups): Update to use
sd_* infrastructure.
(sched_analyze_2): Create data-speculative dependency only if
data-speculation is enabled.
(sched_analyze_insn): If insn cannot be speculative, make all its
dependencies non-speculative.
(sched_analyze): Use sd_init_insn ().
(add_forw_dep, compute_forward_dependencies): Remove.
(delete_dep_nodes_in_back_deps): New static function.
(sched_free_deps): New function.
(init_dependency_caches): Init alloc_pools.
(extend_depedency_caches): Update after removing of
forward_dependency_cache.
(free_dependency_caches): Ditto.  Free alloc_pools.
(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Remove.
(delete_forw_dep, add_or_update_back_dep, add_or_update_back_forw_dep):
Ditto.
(add_back_forw_dep, delete_back_forw_dep): Ditto.
(add_dependence): Use init_dep ().
(get_dep_weak_1): New static function.
(get_dep_weak): Move logic to get_dep_weak_1 ().
(dump_ds): New static function moved from haifa-sched.c:
debug_spec_status ().
(debug_ds): New debug function.
(check_dep_status): Rename to check_dep ().  Update to check whole
dependencies.

* haifa-sched.c (spec_info): Make global.
(added_recovery_block_p): Rename to
'haifa_recovery_block_was_added_during_current_schedule_block_p'.
(haifa_recovery_block_was_added_during_scheduling_p): New variable.
(dep_cost, priority, rank_for_schedule, schedule_insn): Update
to use new interfaces.
(ok_for_early_queue_removal): Ditto.
(schedule_block): Initialize logical uids of insns emitted by the
target.
(sched_init): Initialize new variable.
(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
interfaces.
(extend_global): Initialize insn data.
(init_h_i_d): Remove code that is now handled in sd_init_insn ().
(process_insn_forw_deps_be_in_spec): Change signature.  Update to use
new interfaces.
(add_to_speculative_block): Update to use new interfaces.
(create_recovery_block): Set new variables.
(create_check_block_twin, fix_recovery_deps): Update to use new
interfaces.
(sched_insn_is_legitimate_for_speculation_p): New function.
(speculate_insn): Move checking logic to
sched_insn_is_legitimate_for_speculation_p ().
(sched_remove_insn): Finalize sched-deps information of instruction.
(clear_priorities, add_jump_dependencies): Update to use new
interfaces.
(debug_spec_status): Rename to dump_ds () and move to sched-deps.c.

* sched-rgn.c (set_spec_fed, find_conditional_protection): Update
to use new interfaces.
(is_conditionally_protected, is_pfree, is_prisky) Ditto.
(new_ready): Try to use control speculation only if it is available.
(add_branch_dependences): Update to use new interfaces.
(compute_block_backward_dependences): Rename to
compute_block_dependences ().  Call
targetm.sched.dependencies_evaluation_hook ().
(free_block_dependencies): New static function.
(debug_dependencies): Update to use new interfaces.
(schedule_region): Remove separate computation of forward dependencies.
Move call of targetm.sched.dependencies_evaluation_hook () to
compute_block_dependences ().  Free dependencies at the end of
scheduling the region.

* sched-ebb.c (earliest_block_with_similiar_load): Update to use
new interfaces.
(add_deps_for_risky_insns): Ditto.
(schedule_ebb): Remove separate computation of forward dependencies.
Free dependencies at the end of scheduling the ebb.

* ddg.c (create_ddg_dependence): Update to use new interfaces.
(build_intra_loop_deps): Ditto.  Remove separate computation of forward
dependencies.  Free sched-deps dependencies.

* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Update
to use new interfaces.
(ia64_dfa_new_cycle, ia64_gen_check): Ditto.

* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Update to use
new interfaces.
(is_costly_group): Ditto.

From-SVN: r127405

17 years agoalias.c (rtx_equal_for_memref_p): Constify.
Kaveh R. Ghazi [Tue, 14 Aug 2007 04:44:35 +0000 (04:44 +0000)]
alias.c (rtx_equal_for_memref_p): Constify.

* alias.c (rtx_equal_for_memref_p): Constify.
* basic-block.h (const_edge, const_basic_block): New.
(reg_set_to_hard_reg_set, dfs_enumerate_from, single_succ_p,
single_pred_p, single_succ_edge, single_pred_edge, single_succ,
single_pred, maybe_hot_bb_p, probably_cold_bb_p,
probably_never_executed_bb_p, edge_probability_reliable_p,
br_prob_note_reliable_p, forwarder_block_p, flow_nodes_print,
inside_basic_block_p, control_flow_insn_p, dominated_by_p):
Likewise.
* bb-reorder.c (better_edge_p, push_to_next_round_p): Likewise.
* bt-load.c (basic_block_freq, insn_sets_btr_p, can_move_up):
Likewise.
* cfganal.c (flow_active_insn_p, forwarder_block_p,
flow_nodes_print, dfs_enumerate_from): Likewise.
* cfgbuild.c (count_basic_blocks, inside_basic_block_p,
control_flow_insn_p, count_basic_blocks): Likewise.
* cfgloop.c (flow_bb_inside_loop_p, glb_enum_p,
get_loop_body_with_size, loop_exit_edge_p): Likewise.
* cfgloop.h (flow_bb_inside_loop_p, num_loop_insns,
average_num_loop_insns, loop_exit_edge_p,
just_once_each_iteration_p, can_duplicate_loop_p): Likewise.
* cfgloopanal.c (just_once_each_iteration_p, num_loop_insns,
average_num_loop_insns, seq_cost): Likewise.
* cfgloopmanip.c (rpe_enum_p, can_duplicate_loop_p): Likewise.
* dominance.c (dominated_by_p): Likewise.
* emit-rtl.c (validate_subreg): Likewise.
* except.c (can_throw_internal, can_throw_external): Likewise.
* except.h (can_throw_internal, can_throw_external): Likewise.
* gcse.c (gcse_constant_p, oprs_unchanged_p, oprs_anticipatable_p,
oprs_available_p, hash_expr, expr_equiv_p, oprs_not_set_p,
compute_transp, load_killed_in_block_p, reg_killed_on_edge,
simple_mem, store_ops_ok, load_kills_store, find_loads,
store_killed_in_insn, store_killed_after, store_killed_before,
gcse_mem_operand, implicit_set_cond_p, store_killed_in_pat):
Likewise.
* ifcvt.c (count_bb_insns, cheap_bb_rtx_cost_p, noce_operand_ok,
noce_mem_write_may_trap_or_fault_p): Likewise.
* pointer-set.c (pointer_set_contains, pointer_map_contains):
Likewise.
* pointer-set.h (pointer_set_contains, pointer_map_contains):
Likewise.
* predict.c (can_predict_insn_p, maybe_hot_bb_p,
probably_cold_bb_p, probably_never_executed_bb_p,
edge_probability_reliable_p, br_prob_note_reliable_p,
can_predict_insn_p): Likewise.
* regclass.c (reg_set_to_hard_reg_set): Likewise.
* resource.c (return_insn_p): Likewise.
* rtl.h (reg_set_between_p, reg_set_p, validate_subreg):
Likewise.
* rtlanal.c (reg_set_between_p, reg_set_p): Likewise.
* tracer.c (count_insns, ignore_bb_p, better_p): Likewise.
* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
verify_gimple_modify_stmt): Likewise.
* tree-chrec.c (is_not_constant_evolution,
is_multivariate_chrec_rec, is_multivariate_chrec,
chrec_contains_symbols, chrec_contains_undetermined,
tree_contains_chrecs, evolution_function_is_affine_multivariate_p,
evolution_function_is_univariate_p, avoid_arithmetics_in_type_p,
eq_evolutions_p, scev_direction): Likewise.
* tree-chrec.h (automatically_generated_chrec_p, tree_is_chrec,
eq_evolutions_p, is_multivariate_chrec, chrec_contains_symbols,
chrec_contains_symbols_defined_in_loop,
chrec_contains_undetermined, tree_contains_chrecs,
evolution_function_is_affine_multivariate_p,
evolution_function_is_univariate_p, chrec_zerop,
evolution_function_is_constant_p, evolution_function_is_affine_p,
evolution_function_is_affine_or_constant_p,
tree_does_not_contain_chrecs, chrec_type): Likewise.
* tree-data-ref.c (tree_fold_divides_p,
object_address_invariant_in_loop_p, dr_may_alias_p,
ziv_subscript_p, siv_subscript_p, gcd_of_steps_may_divide_p,
same_access_functions, constant_access_functions,
access_functions_are_affine_or_constant_p, find_vertex_for_stmt):
Likewise.
* tree-flow.h (scev_direction): Likewise.
* tree-gimple.c (is_gimple_stmt): Likewise.
* tree-outof-ssa.c (identical_copies_p, identical_stmt_lists_p):
Likewise.
* tree-pretty-print.c (op_prio): Likewise.
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
analyzable_condition, backedge_phi_arg_p): Likewise.
* tree-scalar-evolution.h (get_chrec_loop): Likewise.
* tree-ssa-operands.c (get_name_decl, operand_build_cmp): Likewise.
* tree-ssa-threadupdate.c (dbds_continue_enumeration_p):
Likewise.

From-SVN: r127404

17 years agoDaily bump.
GCC Administrator [Tue, 14 Aug 2007 00:17:28 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r127402

17 years ago2007-08-3 1 Dan Hipschman <dsh@google.com>
Dan Hipschman [Mon, 13 Aug 2007 21:55:01 +0000 (14:55 -0700)]
2007-08-3 1 Dan Hipschman <dsh@google.com>

gcc/
2007-08-3 1 Dan Hipschman  <dsh@google.com>

PR 32953
* c-format.c (check_format_arg): Move check for zero-length
format strings below the check for unterminated strings.

testsuite/
2007-08-13  Dan Hipschman  <dsh@google.com>

PR 32953
* gcc.dg/format/array-1.c: Add an additional test for
unterminated format strings of length 1.

From-SVN: r127399

17 years agore PR fortran/32926 (ICE with external function as argument)
Paul Thomas [Mon, 13 Aug 2007 21:02:00 +0000 (21:02 +0000)]
re PR fortran/32926 (ICE with external function as argument)

2007-08-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32926
* match.c (gfc_match_call): Do not create a new symtree in the
case where the existing symbol is external and not referenced.

2007-08-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32926
* gfortran.dg/external_procedures_3.f90: New test.

From-SVN: r127398

17 years agore PR fortran/32827 (IMPORT fails for TYPE when also used in INTERFACE)
Paul Thomas [Mon, 13 Aug 2007 20:58:00 +0000 (20:58 +0000)]
re PR fortran/32827 (IMPORT fails for TYPE when also used in INTERFACE)

2007-08-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32827
* decl.c (variable_decl): Check for an imported symbol
by looking for its symtree and testing for the imported
attribute.
(gfc_match_import): Remove change of symbol's namespace
and set the attribute imported instead.
* symbol.c (gfc_get_sym_tree): It is not an error if a
symbol is imported.
* gfortran.h : Add the 'imported' to symbol_attribute.

2007-08-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32827
* gfortran.dg/import6.f90: New test.

From-SVN: r127397

17 years agore PR c/30427 (~ vector float is accepted)
Andrew Pinski [Mon, 13 Aug 2007 20:06:15 +0000 (13:06 -0700)]
re PR c/30427 (~ vector float is accepted)

2007-08-13  Andrew Pinski  <pinskia@gmail.com>

        PR C/30427
        * c-typeck.c (build_unary_op <case BIT_NOT_EXPR>): Reject vector float
        types.

2007-08-13  Andrew Pinski  <pinskia@gmail.com>

        PR C/30427
        *  gcc.dg/vector-1.c: New test.

From-SVN: r127396

17 years ago* acinclude.m4 (GTHREAD_USE_WEAK) Define to 0 for mingw32.
Danny Smith [Mon, 13 Aug 2007 12:21:35 +0000 (12:21 +0000)]
* acinclude.m4 (GTHREAD_USE_WEAK) Define to 0 for mingw32.

* configure: Regenerate.

From-SVN: r127395

17 years agoRevert GPLv3 patch to arm_neon.h
Nick Clifton [Mon, 13 Aug 2007 10:05:38 +0000 (10:05 +0000)]
Revert GPLv3 patch to arm_neon.h

From-SVN: r127394

17 years agopr21255-4.c: Skip for PIC.
Richard Sandiford [Mon, 13 Aug 2007 09:25:08 +0000 (09:25 +0000)]
pr21255-4.c: Skip for PIC.

gcc/testsuite/
* gcc.dg/pr21255-4.c: Skip for PIC.
* gcc.dg/tree-ssa/loop-1.c: Allow bsrf as well as jsr for SH targets.

From-SVN: r127393

17 years agoattr-isr.c: Skip for PIC.
Richard Sandiford [Mon, 13 Aug 2007 09:24:46 +0000 (09:24 +0000)]
attr-isr.c: Skip for PIC.

gcc/testsuite/
* gcc.dg/attr-isr.c: Skip for PIC.
* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.
* gcc.dg/attr-isr-trapa.c: Likewise.
* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.dg/pragma-isr-trapa.c: Likewise.
* gcc.dg/pragma-isr-trapa2.c: Likewise.

From-SVN: r127392

17 years agore PR fortran/32962 (b = conjg(transpose(a)) is erroneous if b is an allocatable...
Paul Thomas [Mon, 13 Aug 2007 06:16:03 +0000 (06:16 +0000)]
re PR fortran/32962 (b = conjg(transpose(a)) is erroneous if b is an allocatable array)

2007-08-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32962
* trans-array.c (gfc_conv_array_transpose): Set the offset
of the destination to zero if the loop is zero based.

2007-08-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32962
* gfortran.dg/transpose_1.f90: New test.

From-SVN: r127391

17 years agoconfigure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS, baseargs): Pass --silent if $silent.
Ralf Wildenhues [Mon, 13 Aug 2007 01:24:29 +0000 (01:24 +0000)]
configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS, baseargs): Pass --silent if $silent.

* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS, baseargs): Pass
--silent if $silent.
* configure: Regenerate.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>
From-SVN: r127390

17 years agoDaily bump.
GCC Administrator [Mon, 13 Aug 2007 00:20:37 +0000 (00:20 +0000)]
Daily bump.

From-SVN: r127388

17 years agore PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)
Francois-Xavier Coudert [Sun, 12 Aug 2007 21:21:08 +0000 (21:21 +0000)]
re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)

PR fortran/29600

* intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
* iresolve.c (gfc_resolve_achar): Handle the KIND argument.
* check.c (gfc_check_achar): Check for the optional KIND argument.
* simplify.c (gfc_simplify_achar): Use KIND argument.
* intrinsic.h (gfc_check_achar, gfc_simplify_achar,
gfc_resolve_achar): Adjust prototypes.

* gfortran.dg/intrinsics_kind_argument_1.f90: Add test for ACHAR
intrinsic.

From-SVN: r127385

17 years agore PR fortran/30964 (optional arguments to random_seed)
Francois-Xavier Coudert [Sun, 12 Aug 2007 20:45:29 +0000 (20:45 +0000)]
re PR fortran/30964 (optional arguments to random_seed)

PR fortran/30964
PR fortran/33054

* trans-expr.c (gfc_conv_function_call): When no formal argument
list is available, we still substitute missing optional arguments.
* check.c (gfc_check_random_seed): Correct the check on the
number of arguments to RANDOM_SEED.
* intrinsic.c (add_subroutines): Add a resolution function to
RANDOM_SEED.
* iresolve.c (gfc_resolve_random_seed): New function.
* intrinsic.h (gfc_resolve_random_seed): New prototype.

* intrinsics/random.c (random_seed): Rename into random_seed_i4.
(random_seed_i8): New function.
* gfortran.map (GFORTRAN_1.0): Remove _gfortran_random_seed,
add _gfortran_random_seed_i4 and _gfortran_random_seed_i8.
* libgfortran.h (iexport_proto): Replace random_seed by
random_seed_i4 and random_seed_i8.
* runtime/main.c (init): Call the new random_seed_i4.

* gfortran.dg/random_4.f90: New test.
* gfortran.dg/random_5.f90: New test.
* gfortran.dg/random_6.f90: New test.
* gfortran.dg/random_7.f90: New test.

From-SVN: r127383

17 years agore PR fortran/32860 (Support %ld (for "long") for gfc_warning)
Francois-Xavier Coudert [Sun, 12 Aug 2007 20:39:18 +0000 (20:39 +0000)]
re PR fortran/32860 (Support %ld (for "long") for gfc_warning)

PR fortran/32860

* error.c (error_uinteger): New function.
(error_integer): Call error_uinteger.
(error_print): Handle %u, %lu, %li and %ld format specifiers.
* interface.c (compare_actual_formal): Use the new %lu specifier.

* c-format.c (gcc_gfc_length_specs): New array.
(gcc_gfc_char_table): Add unsigned specifier, and references to
the l length modifier.
(format_types_orig): Use the new gcc_gfc_length_specs.

* gcc.dg/format/gcc_gfc-1.c: Updated with new formats.

From-SVN: r127382

17 years agore PR fortran/31629 (option to make module entities PRIVATE by default)
Francois-Xavier Coudert [Sun, 12 Aug 2007 20:19:59 +0000 (20:19 +0000)]
re PR fortran/31629 (option to make module entities PRIVATE by default)

PR fortran/31629

* lang.opt (-fmodule-private): New option.
* gfortran.h (gfc_option_t): Add flag_module_private member.
* invoke.texi (-fmodule-private): Document the new option.
* module.c (gfc_check_access): Allow the -fmodule-private option
to modify the default behaviour.
* options.c (gfc_init_options): Initialize flag_module_private.
(gfc_handle_option): Handle -fmodule-private.

* gfortran.dg/module_private_1.f90: New test.

From-SVN: r127381

17 years agore PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)
Francois-Xavier Coudert [Sun, 12 Aug 2007 19:57:01 +0000 (19:57 +0000)]
re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)

PR fortran/29600

* intrinsic.c (add_functions): Add KIND arguments to COUNT,
IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
and VERIFY.
* iresolve.c (gfc_resolve_count): Add kind argument.
(gfc_resolve_iachar): New function.
(gfc_resolve_ichar): Add kind argument.
(gfc_resolve_index_func): Likewise.
(gfc_resolve_lbound): Likewise.
(gfc_resolve_len): Likewise.
(gfc_resolve_len_trim): Likewise.
(gfc_resolve_scan): Likewise.
(gfc_resolve_size): New function.
(gfc_resolve_ubound): Add kind argument.
(gfc_resolve_verify): Likewise.
* trans-decl.c (gfc_get_extern_function_decl): Allow specific
intrinsics to have 4 arguments.
* check.c (gfc_check_count): Add kind argument.
(gfc_check_ichar_iachar): Likewise.
(gfc_check_index): Likewise.
(gfc_check_lbound): Likewise.
(gfc_check_len_lentrim): New function.
(gfc_check_scan): Add kind argument.
(gfc_check_size): Likewise.
(gfc_check_ubound): Likewise.
(gfc_check_verify): Likewise.
* intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
* simplify.c (get_kind): Whitespace fix.
(int_expr_with_kind): New function.
(gfc_simplify_iachar): Add kind argument.
(gfc_simplify_iachar): Likewise.
(gfc_simplify_ichar): Likewise.
(gfc_simplify_index): Likewise.
(simplify_bound_dim): Likewise.
(simplify_bound): Likewise.
(gfc_simplify_lbound): Likewise.
(gfc_simplify_len): Likewise.
(gfc_simplify_len_trim): Likewise.
(gfc_simplify_scan): Likewise.
(gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
(gfc_simplify_size): Add kind argument.
(gfc_simplify_ubound): Likewise.
(gfc_simplify_verify): Likewise.
* intrinsic.h: Update prototypes and add new ones.
* trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
gfc_conv_intrinsic_index_scan_verify.
(gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
(gfc_conv_intrinsic_function): Call
gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
SCAN and VERIFY intrinsics.

* gfortran.dg/intrinsics_kind_argument_1.f90: New test.
* gfortran.dg/pure_dummy_length_1.f90: Adapt to new error wording.

From-SVN: r127380

17 years agoMAINTAINERS (Various Maintainers): Add myself as loop infrastructure maintainer.
Zdenek Dvorak [Sun, 12 Aug 2007 19:49:35 +0000 (21:49 +0200)]
MAINTAINERS (Various Maintainers): Add myself as loop infrastructure maintainer.

* MAINTAINERS (Various Maintainers): Add myself as
loop infrastructure maintainer.  Update my e-mail
address.

From-SVN: r127379

17 years agoemit-rtl.c (try_split): Relink the insns with REG_LIBCALL note and with REG_RETVAL...
Sa Liu [Sun, 12 Aug 2007 18:08:43 +0000 (18:08 +0000)]
emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note and with REG_RETVAL note after split.

2007-08-12  Sa Liu  <saliu@de.ibm.com>

       * emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note
       and with REG_RETVAL note after split.

From-SVN: r127376

17 years agomips.c (mips_sched_reorder): Mark cycle parameter as ATTRIBUTE_UNUSED.
David Daney [Sun, 12 Aug 2007 05:43:05 +0000 (05:43 +0000)]
mips.c (mips_sched_reorder): Mark cycle parameter as ATTRIBUTE_UNUSED.

* config/mips/mips.c (mips_sched_reorder):  Mark cycle parameter
as ATTRIBUTE_UNUSED.

From-SVN: r127371

17 years agors6000.h (CC1_CPU_SPEC): Define as empty string if HAVE_LOCAL_CPU_DETECT not defined.
David Edelsohn [Sun, 12 Aug 2007 02:46:54 +0000 (02:46 +0000)]
rs6000.h (CC1_CPU_SPEC): Define as empty string if HAVE_LOCAL_CPU_DETECT not defined.

2007-08-11  David Edelsohn  <edelsohn@gnu.org>
            Segher Boessenkool  <segher@kernel.crashing.org>

        * config/rs6000/rs6000.h (CC1_CPU_SPEC): Define as empty string if
        HAVE_LOCAL_CPU_DETECT not defined.

Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r127370

17 years agoDaily bump.
GCC Administrator [Sun, 12 Aug 2007 00:17:40 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r127368

17 years agocgraphunit.c (record_cdtor_fn): Declare all cdtors always inlined.
Jan Hubicka [Sat, 11 Aug 2007 23:14:24 +0000 (01:14 +0200)]
cgraphunit.c (record_cdtor_fn): Declare all cdtors always inlined.

* cgraphunit.c (record_cdtor_fn): Declare all cdtors always inlined.
(cgraph_process_new_functions): Honor previous value of
disregard_inline_limits.
* ipa-inline.c (compute_inline_parameters): Likewise.

From-SVN: r127365

17 years agore PR fortran/31189 (Support backtracing for non-library errors)
Francois-Xavier Coudert [Sat, 11 Aug 2007 21:52:22 +0000 (21:52 +0000)]
re PR fortran/31189 (Support backtracing for non-library errors)

PR fortran/31189

* runtime/backtrace.c (show_backtrace): Skip _gfortrani_handler
when displaying backtrace.
* runtime/compile_options.c: Include <signal.h>.
(handler): New function.
(set_options): Set signal handlers for backtrace.
* libgfortran.h (handler): Add prototype.

* invoke.texi (-fbacktrace): Document the new behaviour.

Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
From-SVN: r127364

17 years agore PR fortran/32937 (segfault with string and -fdefault-integer-8)
Francois-Xavier Coudert [Sat, 11 Aug 2007 21:31:35 +0000 (21:31 +0000)]
re PR fortran/32937 (segfault with string and -fdefault-integer-8)

PR fortran/32937

* trans-array.c (gfc_conv_expr_descriptor): Use
gfc_conv_const_charlen to generate backend_decl of right type.
* trans-expr.c (gfc_conv_expr_op): Use correct return type.
(gfc_build_compare_string): Use int type instead of default
integer kind for single character comparison.
(gfc_conv_aliased_arg): Give backend_decl the right type.
* trans-decl.c (gfc_build_intrinsic_function_decls): Make
compare_string return an int.

* gfortran.dg/char_length_6.f90: New test.

* intrinsics/string_intrinsics.c (compare_string): Return an int.
* libgfortran.h (compare_string): Likewise.

From-SVN: r127363

17 years agoalias.h (alias_set_type): Define new type.
Ian Lance Taylor [Sat, 11 Aug 2007 17:21:56 +0000 (17:21 +0000)]
alias.h (alias_set_type): Define new type.

./: * alias.h (alias_set_type): Define new type.
(ALIAS_SET_MEMORY_BARRIER): Use it.
* rtl.h: Include alias.h.
(struct mem_attrs): Use alias_set_type.
* tree.h: Include alias.h
(struct tree_type): Use alias_set_type.
(struct tree_struct_field_tag): Likewise.
(struct tree_decl_common): Likewise.
* alias.c (struct alias_set_entry): Use alias_set_type.
(get_alias_set_entry, alias_set_subset_of): Likewise.
(alias_sets_conflict_p): Likewise.
(alias_sets_must_conflict_p): Likewise.
(objects_must_conflict_p): Likewise.
(get_alias_set, new_alias_set): Likewise.
(record_alias_subset, record_component_aliases): Likewise.
(varargs_set, frame_set): Change to alias_set_type.
(get_varargs_alias_set): Use alias_set_type.
(get_frame_alias_set): Likewise.
* builtins.c (setjmp_alias_set): Change to alias_set_type.
* dse.c (struct store_info): Use alias_set_type.
(struct read_info, struct clear_alias_mode_holder): Likewise.
(clear_alias_set_lookup, canon_address): Likewise.
(record_store, check_mem_read_rtx): Likewise.
(dse_record_singleton_alias_set): Likewise.
(dse_invalidate_singleton_alias_set): Likewise.
* emit-rtl.c (get_mem_attrs): Likewise.
(set_mem_attributes_minus_bitpos): Likewise.
(set_mem_alias_set): Likewise.
* expr.c (store_constructor_field, store_field): Likewise.
* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
* langhooks.c (lhd_get_alias_set): Likewise.
* langhooks-def.h (lhd_get_alias_set): Likewise.
* reload1.c (alter_reg): Likewise.
* tree-flow.h (struct fieldoff): Likewise.
* tree-ssa-alias.c (struct alias_map_d): Likewise.
(may_alias_p, get_smt_for, create_sft): Likewise.
* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
(merge_smts_into): Likewise.
* varasm.c (const_alias_set): Likewise.
* c-common.c (strict_aliasing_warning): Likewise.
(c_common_get_alias_set): Likewise.
* dse.h (dse_record_singleton_alias_set): Update declaration.
(dse_invalidate_singleton_alias_set): Likewise.
* emit-rtl.h (set_mem_alias_set): Likewise.
* c-common.h (c_common_get_alias_set): Likewise.
* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
* print-tree.c (print_node): Likewise.
* config/alpha/alpha.c (alpha_sr_alias_set): Change to
alias_set_type.
(alpha_setup_incoming_varargs): Use alias_set_type.
* config/i386/i386.c (setup_incoming_varargs_64): Use
alias_set_type.
(setup_incoming_varargs_ms_64): Likewise.
(ix86_GOT_alias_set): Likewise.
* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
(set): Change to alias_set_type.
(get_TOC_alias_set): Use alias_set_type.
* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
declaration.
* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
* config/sparc/sparc.c (sparc_sr_alias_set): Change to
alias_set_type.
(struct_value_alias_set): Likewise.
* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
ada/:
* misc.c (gnat_get_alias_set): Change return type to
alias_set_type.
cp/:
* cp-objcp-common.c (cxx_get_alias_set): Change return type to
alias_set_type.
* cp/cp-tree.h (cxx_get_alias_set): Update declaration.
fortran:/
* f95-lang.c (gfc_get_alias_set): Change return type to
alias_set_type.

From-SVN: r127362

17 years agovxworks-dummy.h (TARGET_VXWORKS): Define.
Richard Sandiford [Sat, 11 Aug 2007 16:52:47 +0000 (16:52 +0000)]
vxworks-dummy.h (TARGET_VXWORKS): Define.

gcc/
* config/vxworks-dummy.h (TARGET_VXWORKS): Define.
* config/vxworks.h (TARGET_VXWORKS): Override.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define
"mips" if TARGET_VXWORKS.

From-SVN: r127361

17 years agocalls.c (avoid_likely_spilled_reg): New function.
Richard Sandiford [Sat, 11 Aug 2007 16:51:07 +0000 (16:51 +0000)]
calls.c (avoid_likely_spilled_reg): New function.

gcc/
* calls.c (avoid_likely_spilled_reg): New function.
(expand_call): Use it.

From-SVN: r127360

17 years agodecl.c, utils2.c: Fix whitespace in last change.
Kaveh R. Ghazi [Sat, 11 Aug 2007 16:38:51 +0000 (16:38 +0000)]
decl.c, utils2.c: Fix whitespace in last change.

        * decl.c, utils2.c: Fix whitespace in last change.

From-SVN: r127359

17 years agodecl.c (compare_field_bitpos): Constify.
Kaveh R. Ghazi [Sat, 11 Aug 2007 13:34:32 +0000 (13:34 +0000)]
decl.c (compare_field_bitpos): Constify.

* decl.c (compare_field_bitpos): Constify.
* utils2.c (compare_elmt_bitpos): Likewise.

From-SVN: r127358

17 years agoc-typeck.c (build_c_cast): Add OPT_Wcast_qual to warnings.
Kaveh R. Ghazi [Sat, 11 Aug 2007 13:32:52 +0000 (13:32 +0000)]
c-typeck.c (build_c_cast): Add OPT_Wcast_qual to warnings.

* c-typeck.c (build_c_cast): Add OPT_Wcast_qual to warnings.

From-SVN: r127357

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

From-SVN: r127355

17 years agore PR fortran/31270 (print subscript value and array bounds when out-of-bounds error...
Francois-Xavier Coudert [Fri, 10 Aug 2007 22:12:04 +0000 (22:12 +0000)]
re PR fortran/31270 (print subscript value and array bounds when out-of-bounds error occurs)

PR fortran/31270

* trans.c (gfc_trans_runtime_check): Reorder arguments and
add extra variable arguments. Hand them to the library function.
* trans.h (gfc_trans_runtime_check): Update prototype.
* trans-array.c (gfc_trans_array_bound_check): Issue more
detailled error messages.
(gfc_conv_array_ref): Likewise.
(gfc_conv_ss_startstride): Likewise.
(gfc_trans_dummy_array_bias): Reorder arguments to
gfc_trans_runtime_check.
* trans-expr.c (gfc_conv_substring): Issue more detailled
error messages.
(gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
* trans-stmt.c (gfc_trans_goto): Likewise.
* trans-io.c (set_string): Reorder arguments to
gfc_trans_runtime_check and issue a more detailled error message.
* trans-decl.c (gfc_build_builtin_function_decls): Make
runtime_error and runtime_error_at handle a variable number of
arguments.
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
to gfc_trans_runtime_check.
(gfc_conv_intrinsic_minmax): Likewise.
(gfc_conv_intrinsic_repeat): Issue more detailled error messages.

* runtime/error.c (runtime_error_at): Add a variable number of
arguments.
* libgfortran.h (runtime_error_at): Update prototype.

From-SVN: r127352

17 years agopredicates.md (const_call_insn_operand): Invoke SYMBOL_REF_LONG_CALL_P only on SYMBOL...
Adam Nemet [Fri, 10 Aug 2007 22:11:43 +0000 (22:11 +0000)]
predicates.md (const_call_insn_operand): Invoke SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.

* config/mips/predicates.md (const_call_insn_operand): Invoke
SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.

From-SVN: r127351

17 years agogcc.doxy: Rename from tree-ssa.doxy.
Diego Novillo [Fri, 10 Aug 2007 21:08:32 +0000 (17:08 -0400)]
gcc.doxy: Rename from tree-ssa.doxy.

* gcc.doxy: Rename from tree-ssa.doxy.

From-SVN: r127350

17 years agotree-ssa.doxy: Update for doxygen 1.5.
Diego Novillo [Fri, 10 Aug 2007 20:02:33 +0000 (16:02 -0400)]
tree-ssa.doxy: Update for doxygen 1.5.

* tree-ssa.doxy: Update for doxygen 1.5.
Include all the files in the middle and back ends.

From-SVN: r127349

17 years agore PR target/33042 (Bootstrap failure on ppc64)
David Edelsohn [Fri, 10 Aug 2007 18:48:33 +0000 (18:48 +0000)]
re PR target/33042 (Bootstrap failure on ppc64)

        PR target/33042
        * config/rs6000/driver-rs6000.c: Include link.h.
        Use ElfW instead of wordsize-specif typedef.

From-SVN: r127348

17 years agoname-lookup.c (do_nonmember_using_decl): Print an error for ambiguous type lookups.
Ollie Wild [Fri, 10 Aug 2007 18:12:12 +0000 (18:12 +0000)]
name-lookup.c (do_nonmember_using_decl): Print an error for ambiguous type lookups.

gcc/cp/
* name-lookup.c (do_nonmember_using_decl): Print an error for ambiguous
type lookups.
(ambiguous_decl): Construct tree of ambiguous types.  Remove extaneous
function parameter.
(unqualified_namespace_lookup): Fix ambiguous_decl call.
(lookup_using_namespace): Fix ambiguous_decl call.
(qualified_lookup_using_namespace): Fix ambiguous_decl call.

gcc/testsuite/
* g++.dg/lookup/using18.C: New test.

From-SVN: r127347

17 years agosystem.h (CONST_CAST): New.
Kaveh R. Ghazi [Fri, 10 Aug 2007 17:53:58 +0000 (17:53 +0000)]
system.h (CONST_CAST): New.

* system.h (CONST_CAST): New.
* c-decl.c (c_make_fname_decl): Use it.
* c-lex.c (cb_ident, lex_string): Likewise.
* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
give_switch, set_multilib_dir): Likewise.
* gengtype-parse.c (string_seq, typedef_name): Likewise.
* passes.c (execute_one_pass): Likewise.
* prefix.c (update_path): Likewise.
* pretty-print.c (pp_base_destroy_prefix): Likewise.
* tree.c (build_string): Likewise.

cp:
* call.c (name_as_c_string): Use CONST_CAST.
* decl.c (build_decl): Likewise.
* parser.c (cp_parser_string_literal): Likewise.

fortran:
* gfortranspec.c (lang_specific_driver): Use CONST_CAST.
* options.c (gfc_post_options): Likewise.
* parse.c (parse_omp_structured_block): Likewise.
* st.c (gfc_free_statement): Likewise.

java:
* jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
* jcf.h (JCF_FINISH): Likewise.

From-SVN: r127344

17 years agotree-flow-inline.h (is_exec_stmt): Remove.
Aldy Hernandez [Fri, 10 Aug 2007 17:29:23 +0000 (17:29 +0000)]
tree-flow-inline.h (is_exec_stmt): Remove.

* tree-flow-inline.h (is_exec_stmt): Remove.
(is_label_stmt): Remove.
* tree-flow.h: Remove prototypes for is_exec_stmt, get_filename, and
is_label_stmt.

From-SVN: r127343

17 years agolower-subreg.c (resolve_shift_zext): Don't adjust src_reg_num for wordmode operands.
Andreas Krebbel [Fri, 10 Aug 2007 17:16:57 +0000 (17:16 +0000)]
lower-subreg.c (resolve_shift_zext): Don't adjust src_reg_num for wordmode operands.

2007-08-10  Andreas Krebbel  <krebbel1@de.ibm.com>

* lower-subreg.c (resolve_shift_zext): Don't adjust
src_reg_num for wordmode operands.

From-SVN: r127342

17 years agomips.c (TARGET_SCHED_INIT): Define.
Sandra Loosemore [Fri, 10 Aug 2007 16:35:49 +0000 (12:35 -0400)]
mips.c (TARGET_SCHED_INIT): Define.

2007-08-10  Sandra Loosemore  <sandra@codesourcery.com>
    David Ung  <davidu@mips.com>

        gcc/
* config/mips/mips.c (TARGET_SCHED_INIT): Define.
(TARGET_SCHED_REORDER2): Define.
(mips_maybe_swap_ready): New.
(mips_last_74k_agen_insn): New.
(mips_74k_agen_init): New.
(mips_74k_agen_reorder): New function to group loads and stores
in the ready queue.
(mips_sched_init): New.
(mips_sched_reorder): Don't do initialization here.  Call
mips_74k_agen_reorder.
(mips_variable_issue): Call mips_74k_agen_init.

Co-Authored-By: David Ung <davidu@mips.com>
From-SVN: r127341

17 years ago* tree-flow-inline.h (get_filename): Remove.
Aldy Hernandez [Fri, 10 Aug 2007 15:42:54 +0000 (15:42 +0000)]
* tree-flow-inline.h (get_filename): Remove.

From-SVN: r127339

17 years agomips-protos.h (mips_address_insns): Add a boolean argument.
Richard Sandiford [Fri, 10 Aug 2007 15:40:26 +0000 (15:40 +0000)]
mips-protos.h (mips_address_insns): Add a boolean argument.

gcc/
* config/mips/mips-protos.h (mips_address_insns): Add a boolean
argument.
(mips_fetch_insns): Delete in favor of...
(mips_load_store_insns): ...this new function.
* config/mips/mips.c (mips_address_insns): Add a boolean argument
to say whether multiword moves _might_ be split.
(mips_fetch_insns): Delete in favor of...
(mips_load_store_insns): ...this new function.
(mips_rtx_costs): Update the call to mips_address_insns.
(mips_address_cost): Likewise.
* config/mips/mips.md (length): Use mips_load_store_insns instead
of mips_fetch_insns.
* config/mips/constraints.md (R): Use mips_address_insns rather
than mips_fetch_insns.  Assume that the move never needs to be split.

From-SVN: r127338

17 years agocls_multi_ushort.c, [...]: Remove xfail for mips64*-*-*.
David Daney [Fri, 10 Aug 2007 15:38:23 +0000 (15:38 +0000)]
cls_multi_ushort.c, [...]: Remove xfail for mips64*-*-*.

* testsuite/libffi.call/cls_multi_ushort.c,
testsuite/libffi.call/cls_align_uint16.c,
testsuite/libffi.call/nested_struct1.c,
testsuite/libffi.call/nested_struct3.c,
testsuite/libffi.call/cls_7_1_byte.c,
testsuite/libffi.call/nested_struct5.c,
testsuite/libffi.call/cls_double.c,
testsuite/libffi.call/nested_struct7.c,
testsuite/libffi.call/cls_sint.c,
testsuite/libffi.call/nested_struct9.c,
testsuite/libffi.call/cls_20byte1.c,
testsuite/libffi.call/cls_multi_sshortchar.c,
testsuite/libffi.call/cls_align_sint64.c,
testsuite/libffi.call/cls_3byte2.c,
testsuite/libffi.call/cls_multi_schar.c,
testsuite/libffi.call/cls_multi_uchar.c,
testsuite/libffi.call/cls_19byte.c,
testsuite/libffi.call/cls_9byte1.c,
testsuite/libffi.call/cls_align_float.c,
testsuite/libffi.call/closure_fn1.c,
testsuite/libffi.call/problem1.c,
testsuite/libffi.call/closure_fn3.c,
testsuite/libffi.call/cls_sshort.c,
testsuite/libffi.call/closure_fn5.c,
testsuite/libffi.call/cls_align_double.c,
testsuite/libffi.call/nested_struct.c,
testsuite/libffi.call/cls_2byte.c,
testsuite/libffi.call/nested_struct10.c,
testsuite/libffi.call/cls_4byte.c,
testsuite/libffi.call/cls_6byte.c,
testsuite/libffi.call/cls_8byte.c,
testsuite/libffi.call/cls_multi_sshort.c,
testsuite/libffi.call/cls_align_sint16.c,
testsuite/libffi.call/cls_align_uint32.c,
testsuite/libffi.call/cls_20byte.c,
testsuite/libffi.call/cls_float.c,
testsuite/libffi.call/nested_struct2.c,
testsuite/libffi.call/cls_5_1_byte.c,
testsuite/libffi.call/nested_struct4.c,
testsuite/libffi.call/cls_24byte.c,
testsuite/libffi.call/nested_struct6.c,
testsuite/libffi.call/cls_64byte.c,
testsuite/libffi.call/nested_struct8.c,
testsuite/libffi.call/cls_uint.c,
testsuite/libffi.call/cls_multi_ushortchar.c,
testsuite/libffi.call/cls_schar.c,
testsuite/libffi.call/cls_uchar.c,
testsuite/libffi.call/cls_align_uint64.c,
testsuite/libffi.call/cls_ulonglong.c,
testsuite/libffi.call/cls_align_longdouble.c,
testsuite/libffi.call/cls_1_1byte.c,
testsuite/libffi.call/cls_12byte.c,
testsuite/libffi.call/cls_3_1byte.c,
testsuite/libffi.call/cls_3byte1.c,
testsuite/libffi.call/cls_4_1byte.c,
testsuite/libffi.call/cls_6_1_byte.c,
testsuite/libffi.call/cls_16byte.c,
testsuite/libffi.call/cls_18byte.c,
testsuite/libffi.call/closure_fn0.c,
testsuite/libffi.call/cls_9byte2.c,
testsuite/libffi.call/closure_fn2.c,
testsuite/libffi.call/closure_fn4.c,
testsuite/libffi.call/cls_ushort.c,
testsuite/libffi.call/closure_fn6.c,
testsuite/libffi.call/cls_5byte.c,
testsuite/libffi.call/cls_align_pointer.c,
testsuite/libffi.call/cls_7byte.c,
testsuite/libffi.call/cls_align_sint32.c,
testsuite/libffi.special/unwindtest_ffi_call.cc,
testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.

From-SVN: r127337

17 years agore PR libffi/28313 (libffi has not been ported to mips64-linux-gnu)
David Daney [Fri, 10 Aug 2007 15:35:55 +0000 (15:35 +0000)]
re PR libffi/28313 (libffi has not been ported to mips64-linux-gnu)

PR libffi/28313
* configure.ac: Don't treat mips64 as a special case.
* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
* configure: Regenerate
* Makefile.in: Ditto.
* fficonfig.h.in: Ditto.
* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
(FFI_DEFAULT_ABI): Set for n64 case.
(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
(ffi_closure_N32): New function.
(.eh_frame): New section
* src/mips/o32.S: Clean up comments.
(ffi_closure_O32): Pass ffi_closure parameter in $12.
* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
_MIPS_SIM == _ABIN32 throughout.
(FFI_MIPS_STOP_HERE): New, use in place of
ffi_stop_here.
(ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
to support n32/n64 ABIs.
(calc_n32_struct_flags): Rewrite.
(calc_n32_return_struct_flags): Remove unused variable.  Reverse
position of flag bits.
(ffi_prep_cif_machdep): Rewrite n32 portion.
(ffi_call): Enable for n64.  Add special handling for small structure
return values.
(ffi_prep_closure_loc): Add n32 and n64 support.
(ffi_closure_mips_inner_O32): Add cast to silence warning.
(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.

From-SVN: r127336

17 years agore PR c++/17763 (Wrong context in error message for template parameter)
Paolo Carlini [Fri, 10 Aug 2007 14:57:52 +0000 (14:57 +0000)]
re PR c++/17763 (Wrong context in error message for template parameter)

/cp
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

PR c++/17763
* error.c (dump_expr): Consistently use the *_cxx_*
variants of the pretty-print functions.

/testsuite
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

PR c++/17763
* g++.dg/other/error16.C: New.

From-SVN: r127335

17 years agore PR fortran/32933 (ICE in simplify_subreg with -fdefault-integer-8)
Francois-Xavier Coudert [Fri, 10 Aug 2007 13:20:46 +0000 (13:20 +0000)]
re PR fortran/32933 (ICE in simplify_subreg with -fdefault-integer-8)

PR fortran/32933

* trans-decl.c (gfc_build_builtin_function_decls): Change
prototype for associated.
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
result of __builtin_isnan into a boolean.
(gfc_conv_intrinsic_strcmp): Cleanup.
(gfc_conv_associated): Convert the result of the associated
function into a boolean.

* intrinsics/associated.c: Change return type of associated into
a C int.

From-SVN: r127334

17 years agore PR fortran/33039 (Read NAMELIST: reads wrong namelist name)
Jerry DeLisle [Fri, 10 Aug 2007 12:39:46 +0000 (12:39 +0000)]
re PR fortran/33039 (Read NAMELIST:  reads wrong namelist name)

2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33039
* gfortran.dg/namelist_37.f90: New test.

From-SVN: r127333

17 years agore PR fortran/33039 (Read NAMELIST: reads wrong namelist name)
Jerry DeLisle [Fri, 10 Aug 2007 12:36:01 +0000 (12:36 +0000)]
re PR fortran/33039 (Read NAMELIST:  reads wrong namelist name)

2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33039
* io/list_read.c (find_nml_name): Check for a space after a namelist
name match.

From-SVN: r127332

17 years agore PR c++/22256 (diagnostic shows wrong type for conversion operator)
Paolo Carlini [Fri, 10 Aug 2007 08:56:34 +0000 (08:56 +0000)]
re PR c++/22256 (diagnostic shows wrong type for conversion operator)

/cp
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

PR c++/22256
* decl.c (check_special_function_return_type): Just error
on return type specified for conversion operator.

/testsuite
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

PR c++/22256
* g++.dg/conversion/op3.C: New.

From-SVN: r127331

17 years agoDaily bump.
GCC Administrator [Fri, 10 Aug 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r127329

17 years agomips.opt (mhard-float, [...]): Make these control TARGET_HARD_FLOAT_ABI and TARGET_SO...
Sandra Loosemore [Thu, 9 Aug 2007 22:42:11 +0000 (18:42 -0400)]
mips.opt (mhard-float, [...]): Make these control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI...

2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.opt (mhard-float, msoft-float):  Make these
control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI, rather
than TARGET_HARD_FLOAT and TARGET_SOFT_FLOAT.
* config/mips/mips.h (mips16_hard_float): Delete.
(TARGET_HARD_FLOAT_ABI, TARGET_SOFT_FLOAT_ABI):  Delete these
definitions, and replace with....
(TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
* config/mips/mips.c (mips16_hard_float): Delete.  Replace
all references with (TARGET_MIPS16 && TARGET_HARD_FLOAT_ABI).
(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Update comments.
(override_options):  Replace MASK_SOFT_FLOAT references with
MASK_SOFT_FLOAT_ABI.  Delete twiddling with MASK_SOFT_FLOAT
and mips16_hard_float when TARGET_MIPS16.

From-SVN: r127325

17 years agore PR fortran/32987 (TAB in FORMAT: accept extension, warn with -std=f*)
Tobias Burnus [Thu, 9 Aug 2007 22:02:32 +0000 (00:02 +0200)]
re PR fortran/32987 (TAB in FORMAT: accept extension, warn with -std=f*)

2007-08-09  Tobias Burnus  <burnus@net-b.de>

PR fortran/32987
* io.c (format_token): Add FMT_ERROR.
(next_char_not_space): Print error/warning when
'\t' are used in format specifications.
(format_lex): Propagate error.
(check_format): Ditto.

2007-08-09  Tobias Burnus  <burnus@net-b.de>

PR fortran/32987
* io/format.c (next_char): Treat '\t' as ' ' in format specification.

2007-08-09  Tobias Burnus  <burnus@net-b.de>

PR fortran/32987
* gfortran.dg/fmt_tab_1.f90: New.
* gfortran.dg/fmt_tab_2.f90: New.

From-SVN: r127324

17 years agore PR c/32796 (internal compiler error: tree check: expected integer_type or enumeral...
Andrew Pinski [Thu, 9 Aug 2007 21:39:08 +0000 (21:39 +0000)]
re PR c/32796 (internal compiler error: tree check: expected integer_type or enumeral_type or boolean_type or real_type, have pointer_type in int_fits_type_p)

2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c/32796
        * c-typeck.c (build_binary_op): Check for non pointer types before
        calling int_fits_type_p.

2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c/32796
        * gcc.c-torture/compile/pr32796.c: New test.

From-SVN: r127323

17 years agore PR middle-end/32813 (ICE for array expression in empty if statement, compiled...
Andrew Pinski [Thu, 9 Aug 2007 21:36:27 +0000 (21:36 +0000)]
re PR middle-end/32813 (ICE for array expression in empty if statement, compiled with -fbounds-check)

2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/32813
        * fold-const.c (omit_one_operand): Return only the ommitted expression
        if the result is an empty statement.
        (pedantic_omit_one_operand): Likewise.

2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/32813
        * gfortran.fortran-torture/compile/emptyif-1.f90: New test.
        * lib/fortran-torture.exp (fortran-torture): Use TORTURE_OPTIONS instead
        of just -O.

From-SVN: r127322

17 years agore PR fortran/33001 (error with hexadecimal DATA)
Tobias Burnus [Thu, 9 Aug 2007 21:27:52 +0000 (23:27 +0200)]
re PR fortran/33001 (error with hexadecimal DATA)

2007-08-09  Tobias Burnus  <burnus@net-b.de>

PR fortran/33001
* arith.c (arith_error): Point in the error message
to -fno-range-check.

From-SVN: r127321

17 years agoc-typeck.c (readonly_error): Improve error for assignment.
Daniel Berlin [Thu, 9 Aug 2007 21:13:30 +0000 (21:13 +0000)]
c-typeck.c (readonly_error): Improve error for assignment.

2007-08-09  Daniel Berlin  <dberlin@dberlin.org>

* c-typeck.c (readonly_error): Improve error for assignment.

* c-pretty-print.c (pp_c_additive_expression): Handle pointer-plus
expression.
(pp_c_expression): Ditto.
2007-08-09  Daniel Berlin  <dberlin@dberlin.org>

* typeck2.c (readonly_error): Handle general expressions.
* error.c (dump_expr): Handle POINTER_PLUS_EXPR

From-SVN: r127320

17 years agosimplify-rtx.c (simplify_binary_operation_1): Removed erroneous break that was preven...
Simon Baldwin [Thu, 9 Aug 2007 18:30:49 +0000 (18:30 +0000)]
simplify-rtx.c (simplify_binary_operation_1): Removed erroneous break that was preventing simplify_associative_operation()...

        * simplify-rtx.c (simplify_binary_operation_1): Removed erroneous
        break that was preventing simplify_associative_operation() for xor.

From-SVN: r127319

17 years agotm.texi (CLZ_DEFINED_VALUE_AT_ZERO, [...]): Document change in interpretation of...
Sandra Loosemore [Thu, 9 Aug 2007 14:08:54 +0000 (10:08 -0400)]
tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, [...]): Document change in interpretation of value from boolean to tri-state integer.

2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
    Nigel Stephens  <nigel@mips.com>

gcc/
* doc/tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO):
Document change in interpretation of value from boolean to
tri-state integer.
* optabs.c (expand_ffs, expand_ctz): New functions to compute
ffs and ctz using clz.
(expand_unop):  Call them.
* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its
result value.
(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Likewise, to
enable the new ffs expansion on this target.

Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r127318

17 years agooptabs.c (expand_widen_pattern_expr): Use optabs accestors.
Jan Hubicka [Thu, 9 Aug 2007 14:01:22 +0000 (16:01 +0200)]
optabs.c (expand_widen_pattern_expr): Use optabs accestors.

* optabs.c (expand_widen_pattern_expr): Use optabs accestors.
(expand_ternary_op): Likewise.
(expand_vec_shift_expr): Likewise.
(expand_binop_directly): Likewise.
(expand_binop): Likewise.
(sign_expand_binop): Likewise.
(expand_twoval_unop): Likewise.
(expand_twoval_binop): Likewise.
(expand_twoval_binop_libfunc): Likewise.
(widen_clz): Likewise.
(widen_bswap): Likewise.
(expand_parity): Likewise.
(expand_unop): Likewise.
(expand_abs_nojump): Likewise.
(expand_copysign): Likewise.
(emit_no_conflict_block): Likewise.
(emit_libcall_block): Likewise.
(can_compare_p): Likewise.
(prepare_cmp_insn): Likewise.
(emit_cmp_and_jump_insn_1): Likewise.
(prepare_float_lib_cmp): Likewise.
(emit_conditional_add): Likewise.
(gen_add2_insn): Likewise.
(have_add2_insn): Likewise.
(gen_sub2_insn): Likewise.
(have_sub2_insn): Likewise.
(can_extend_p): Likewise.
(can_fix_p): Likewise.
(can_float_p): Likewise.
(expand_float): Likewise.
(expand_fix): Likewise.
(expand_sfix_optab): Likewise.
(new_optab): Likewise.
(new_convert_optab): Likewise.
(init_libfuncs): Likewise.
(init_interclass_conv_libfuncs): Likewise.
(init_intraclass_conv_libfuncs): Likewise.
(set_conv_libfunc): Likewise.
(init_optabs): Likewise.
(debug_optab_libfuncs): Likewise.
(gen_cond_trap): Likewise.
* optabs.h (optab_handler, convert_optab_hanlder): New.
* genopinit.c: Update optabs generation table.
* reload.c (find_reloads_address_1): Use optabs accestors.
* builtins.c (expand_builtin_mathfn): Likewise.
(expand_builtin_mathfn_2): Likewise.
(expand_builtin_mathfn_3): Likewise.
(expand_builtin_interclass_mathfn): Likewise.
(expand_builtin_sincos): Likewise.
(expand_builtin_cexpi): Likewise.
(expand_builtin_powi): Likewise.
(expand_builtin_strlen): Likewise.
* dojump.c (do_jump): Likewise.
* expr.c (convert_move): Likewise.
(move_by_pieces): Likewise.
(move_by_pieces_ninsns): Likewise.
(can_store_by_pieces): Likewise.
(store_by_pieces_1): Likewise.
(emit_move_via_integer): Likewise.
(emit_move_complex): Likewise.
(emit_move_ccmode): Likewise.
(emit_move_insn_1): Likewise.
(emit_single_push_insn): Likewise.
(store_constructor): Likewise.
(expand_expr_real_1): Likewise.
(do_store_flag): Likewise.
* ada/misc.c (gnat_compute_largest_alignment): Likewise.
(enumerate_modes): Likewise.
* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
(supportable_widening_operation): Likewise.
(supportable_narrowing_operation): Likewise.
* expmed.c (store_bit_field_1): Likewise.
(extract_bit_field_1): Likewise.
(expand_mult_highpart_optab): Likewise.
(expand_smod_pow2): Likewise.
(expand_divmod): Likewise.
(emit_store_flag): Likewise.
* tree-vect-patterns.c
(vect_pattern_recog_1): Likewise.
* tree-ssa-loop-prefetch.c
(nontemporal_store_p): Likewise.
* tree-vect-transform.c (vect_model_reduction_cost): Likewise.
(vect_create_epilog_for_reduction): Likewise.
(vectorizable_reduction): Likewise.
(vectorizable_operation): Likewise.
(vect_strided_store_supported): Likewise.
(vectorizable_store): Likewise.
(vect_strided_load_supported): Likewise.
(vectorizable_load): Likewise.
* combine.c (simplify_comparison): Likewise.
* tree-vect-generic.c
(type_for_widest_vector_mode): Likewise.
(expand_vector_operations_1): Likewise.
* config/spu/spu.c (spu_expand_mov): Likewise.
(spu_emit_vector_compare): Likewise.
* config/rs6000/rs6000.c
(rs6000_emit_vector_compare): Likewise.
* stmt.c (add_case_node): Likewise.
* reload1.c (gen_reload):

From-SVN: r127317

17 years agotree.h (fixed_zerop): Declare as taking a const_tree.
Michael Matz [Thu, 9 Aug 2007 13:56:45 +0000 (13:56 +0000)]
tree.h (fixed_zerop): Declare as taking a const_tree.

        * tree.h (fixed_zerop): Declare as taking a const_tree.
        * tree.c (fixed_zerop): Take a const_tree.

From-SVN: r127316

17 years agotree-vect-transform.c (vectorizable_store): Remove call to copy_virtual_operands...
Ira Rosen [Thu, 9 Aug 2007 10:56:11 +0000 (10:56 +0000)]
tree-vect-transform.c (vectorizable_store): Remove call to copy_virtual_operands() and call mark_symbols_for_renaming() for...

* tree-vect-transform.c (vectorizable_store): Remove call to
copy_virtual_operands() and call mark_symbols_for_renaming() for
the created vector store.
(vect_setup_realignment): Don't call copy_virtual_operands() and
update_vuses_to_preheader().
(vectorizable_load): Don't call copy_virtual_operands().
(update_vuses_to_preheader): Remove.

From-SVN: r127315

17 years agolibjava.exp (libjava_invoke): Log the invocation.
Andrew Haley [Thu, 9 Aug 2007 09:42:57 +0000 (09:42 +0000)]
libjava.exp (libjava_invoke): Log the invocation.

        * testsuite/lib/libjava.exp (libjava_invoke): Log the invocation.

From-SVN: r127314

17 years agoffitest.h (ffi_type_mylong): Remove definition.
David Daney [Thu, 9 Aug 2007 02:02:37 +0000 (02:02 +0000)]
ffitest.h (ffi_type_mylong): Remove definition.

* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
specifiers.
* testsuite/libffi.call/nested_struct1.c (main): Ditto.
* testsuite/libffi.call/cls_sint.c (main): Ditto.
* testsuite/libffi.call/nested_struct9.c (main): Ditto.
* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
* testsuite/libffi.call/closure_fn1.c (main): Ditto.
* testsuite/libffi.call/closure_fn3.c (main): Ditto.
* testsuite/libffi.call/return_dbl2.c (main): Ditto.
* testsuite/libffi.call/cls_sshort.c (main): Ditto.
* testsuite/libffi.call/return_fl3.c (main): Ditto.
* testsuite/libffi.call/closure_fn5.c (main): Ditto.
* testsuite/libffi.call/nested_struct.c (main): Ditto.
* testsuite/libffi.call/nested_struct10.c (main): Ditto.
* testsuite/libffi.call/return_ll1.c (main): Ditto.
* testsuite/libffi.call/cls_8byte.c (main): Ditto.
* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
* testsuite/libffi.call/cls_20byte.c (main): Ditto.
* testsuite/libffi.call/nested_struct2.c (main): Ditto.
* testsuite/libffi.call/cls_24byte.c (main): Ditto.
* testsuite/libffi.call/nested_struct6.c (main): Ditto.
* testsuite/libffi.call/cls_uint.c (main): Ditto.
* testsuite/libffi.call/cls_12byte.c (main): Ditto.
* testsuite/libffi.call/cls_16byte.c (main): Ditto.
* testsuite/libffi.call/closure_fn0.c (main): Ditto.
* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
* testsuite/libffi.call/closure_fn2.c (main): Ditto.
* testsuite/libffi.call/return_dbl1.c (main): Ditto.
* testsuite/libffi.call/closure_fn4.c (main): Ditto.
* testsuite/libffi.call/closure_fn6.c (main): Ditto.
* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.

From-SVN: r127312

17 years agoDaily bump.
GCC Administrator [Thu, 9 Aug 2007 00:17:46 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r127310

17 years agore PR fortran/32902 (Document integer KIND of SIZEOF())
Francois-Xavier Coudert [Wed, 8 Aug 2007 23:36:24 +0000 (23:36 +0000)]
re PR fortran/32902 (Document integer KIND of SIZEOF())

PR fortran/32902
* intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.

From-SVN: r127307

17 years agotree.def (FIXED_POINT_TYPE): New type.
Chao-ying Fu [Wed, 8 Aug 2007 22:29:12 +0000 (22:29 +0000)]
tree.def (FIXED_POINT_TYPE): New type.

* tree.def (FIXED_POINT_TYPE): New type.
(FIXED_CST): New constant.
(FIXED_CONVERT_EXPR): New expr.
* doc/c-tree.texi (Types): Document FIXED_POINT_TYPE.
(Expressions): Document FIXED_CST and FIXED_CONVERT_EXPR.
* tree.h (struct tree_base): Add saturating_flag.
Remove one bit of spare for saturating_flag.
(NUMERICAL_TYPE_CHECK): Support FIXED_POINT_TYPE.
(NON_SAT_FIXED_POINT_TYPE_P, SAT_FIXED_POINT_TYPE_P,
FIXED_POINT_TYPE_P): Define.
(TYPE_SATURATING): Define.
(TREE_FIXED_CST_PTR, TREE_FIXED_CST): Define.
(struct tree_fixed_cst): New.
(TYPE_IBIT, TYPE_FBIT): Define.
(tree_node): Add fixed_cst.
(enum tree_index): Add new enumeration values of
TI_SAT_SFRACT_TYPE, TI_SAT_FRACT_TYPE, TI_SAT_LFRACT_TYPE,
TI_SAT_LLFRACT_TYPE, TI_SAT_USFRACT_TYPE, TI_SAT_UFRACT_TYPE,
TI_SAT_ULFRACT_TYPE, TI_SAT_ULLFRACT_TYPE, TI_SFRACT_TYPE,
TI_FRACT_TYPE, TI_LFRACT_TYPE, TI_LLFRACT_TYPE, TI_USFRACT_TYPE,
TI_UFRACT_TYPE, TI_ULFRACT_TYPE, TI_ULLFRACT_TYPE,
TI_SAT_SACCUM_TYPE, TI_SAT_ACCUM_TYPE, TI_SAT_LACCUM_TYPE,
TI_SAT_LLACCUM_TYPE, TI_SAT_USACCUM_TYPE, TI_SAT_UACCUM_TYPE,
TI_SAT_ULACCUM_TYPE, TI_SAT_ULLACCUM_TYPE, TI_SACCUM_TYPE,
TI_ACCUM_TYPE, TI_LACCUM_TYPE, TI_LLACCUM_TYPE, TI_USACCUM_TYPE,
TI_UACCUM_TYPE, TI_ULACCUM_TYPE, TI_ULLACCUM_TYPE,
TI_QQ_TYPE, TI_HQ_TYPE,_TYPE, TI_SQ_TYPE, TI_DQ_TYPE, TI_TQ_TYPE,
TI_UQQ_TYPE, TI_UHQ_TYPE, TI_USQ_TYPE, TI_UDQ_TYPE, TI_UTQ_TYPE,
TI_SAT_QQ_TYPE, TI_SAT_HQ_TYPE, TI_SAT_SQ_TYPE, TI_SAT_DQ_TYPE,
TI_SAT_TQ_TYPE, TI_SAT_UQQ_TYPE, TI_SAT_UHQ_TYPE, TI_SAT_USQ_TYPE,
TI_SAT_UDQ_TYPE, TI_SAT_UTQ_TYPE, TI_HA_TYPE, TI_SA_TYPE, TI_DA_TYPE,
TI_TA_TYPE, TI_UHA_TYPE, TI_USA_TYPE, TI_UDA_TYPE, TI_UTA_TYPE,
TI_SAT_HA_TYPE, TI_SAT_SA_TYPE, TI_SAT_DA_TYPE, TI_SAT_TA_TYPE,
TI_SAT_UHA_TYPE, TI_SAT_USA_TYPE, TI_SAT_UDA_TYPE, TI_SAT_UTA_TYPE.
(sat_short_fract_type_node, sat_fract_type_node,
sat_long_fract_type_node, sat_long_long_fract_type_node,
sat_unsigned_short_fract_type_node, sat_unsigned_fract_type_node,
sat_unsigned_long_fract_type_node,
sat_unsigned_long_long_fract_type_node, short_fract_type_node,
fract_type_node, long_fract_type_node, long_long_fract_type_node,
unsigned_short_fract_type_node, unsigned_fract_type_node,
unsigned_long_fract_type_node, unsigned_long_long_fract_type_node,
sat_short_accum_type_node, sat_accum_type_node,
sat_long_accum_type_node, sat_long_long_accum_type_node,
sat_unsigned_short_accum_type_node, sat_unsigned_accum_type_node,
sat_unsigned_long_accum_type_node,
sat_unsigned_long_long_accum_type_node, short_accum_type_node,
accum_type_node, long_accum_type_node, long_long_accum_type_node,
unsigned_short_accum_type_node, unsigned_accum_type_node,
unsigned_long_accum_type_node, unsigned_long_long_accum_type_node,
qq_type_node, hq_type_node, sq_type_node, dq_type_node, tq_type_node,
uqq_type_node, uhq_type_node, usq_type_node, udq_type_node,
utq_type_node, sat_qq_type_node, sat_hq_type_node, sat_sq_type_node,
sat_dq_type_node, sat_tq_type_node, sat_uqq_type_node,
sat_uhq_type_node, sat_usq_type_node, sat_udq_type_node,
sat_utq_type_node, ha_type_node, sa_type_node, da_type_node,
ta_type_node, uha_type_node, usa_type_node, uda_type_node,
uta_type_node, sat_ha_type_node, sat_sa_type_node, sat_da_type_node,
sat_ta_type_node, sat_uha_type_node, sat_usa_type_node,
sat_uda_type_node, sat_uta_type_node): New macro.
(make_fract_type, make_accum_type): Declare.
(make_signed_fract_type, make_unsigned_fract_type,
make_sat_signed_fract_type, make_sat_unsigned_fract_type,
make_signed_accum_type, make_unsigned_accum_type,
make_sat_signed_accum_type, make_sat_unsigned_accum_type,
make_or_reuse_signed_fract_type, make_or_reuse_unsigned_fract_type,
make_or_reuse_sat_signed_fract_type,
make_or_reuse_sat_unsigned_fract_type, make_or_reuse_signed_accum_type,
make_or_reuse_unsigned_accum_type, make_or_reuse_sat_signed_accum_type,
make_or_reuse_sat_unsigned_accum_type): New macro.
(fixed_zerop): Declare.
* defaults.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
LONG_LONG_ACCUM_TYPE_SIZE): Define.
* treestruct.def: Add TS_FIXED_CST.
* Makefile.in (c-pretty-print.o): Add dependence on fixed-value.h.
(tree.o): Likewise.
(tree-dump.o): Likewise.
(print-tree.o): Likewise.
(tree-pretty-print.o): Likewise.
(fold-const.o): Likewise.
* tree-complex.c (some_nonzerop): Handle FIXED_CST.
* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle FIXED_CST.
(is_gimple_min_invariant): Handle FIXED_CST.
* stor-layout.c (int_mode_for_mode): Handle MODE_FRACT, MODE_UFRACT,
MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
(layout_type): Handle FIXED_POINT_TYPE.
(make_fract_type, make_accum_type): New functions.
* tree-browser.c (browse_tree): Handle FIXED_POINT_TYPE.
* tree-dump.c (fixed-value.h): New include.
(dump_fixed): New function.
(dequeue_and_dump): Handle FIXED_POINT_TYPE and FIXED_CST.
* tree-inline.c (remap_type_1): Handle FIXED_POINT_TYPE.
(estimate_num_insns_1): Handle FIXED_CST and FIXED_CONVERT_EXPR.
* tree-pretty-print.c (fixed-value.h): New include.
(dump_generic_node): Handle FIXED_POINT_TYPE, FIXED_CST, and
FIXED_CONVERT_EXPR.
* tree-scalar-evolution.c (get_scalar_evolution): Handle FIXED_CST.
* tree-ssa-loop-im.c (for_each_index): Handle FIXED_CST.
* tree-ssa-pre.c (poolify_tree): Handle FIXED_CST.
* tree-ssa-reassoc.c (break_up_subtract_bb): We can do reassociation
for non-saturating fixed-point types.
(reassociate_bb): Likewise.
* emit-rtl.c (fixed-value.h): New include.
(fconst0, fconst1): New array.
(init_emit_once): Initialize fconst0 and fconst1 for fixed-point modes.
* tree-vect-generic.c expand_vector_operation): Support
MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and
MODE_VECTOR_UACCUM.
(type_for_widest_vector_mode): Add one parameter for the
saturating flag.
Check scalar FRACT, UFRACT, ACCUM, and UACCUM mode to select their
vector mode.
Pass the satp parameter to type_for_mode for fixed-point types.
(expand_vector_operations_1): Pass the saturating flag to
type_for_widest_vector_mode.
Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
and MODE_VECTOR_UACCUM.
* tree-vect-transform.c (vect_is_simple_cond): Support FIXED_CST.
(vectorizable_condition): Likewise.
* tree.c (fixed-value.h): New include.
(tree_code_size): Support FIXED_CST.
(build_fixed): New function.
(build_one_cst): Support FIXED_POINT_TYPE for accum types.
(fixed_zerop): New function.
(tree_node_structure): Support FIXED_CST.
(type_contains_placeholder_1): Support FIXED_POINT_TYPE.
(build_type_attribute_qual_variant): Handle FIXED_POINT_TYPE.
(type_hash_eq): Handle FIXED_POINT_TYPE.
(simple_cst_equal): Support FIXED_CST.
(iterative_hash_expr): Handle FIXED_CST.
(get_unwidened): Make sure type is not FIXED_POINT_TYPE.
(get_narrower): Likewise.
(variably_modified_type_p): Handle FIXED_POINT_TYPE.
(make_or_reuse_fract_type, make_or_reuse_accum_type): New functions.
(build_common_tree_nodes_2): Use MAKE_FIXED_TYPE_NODE_FAMILY and
MAKE_FIXED_MODE_NODE macros to initialize fixed-point type
nodes.
(build_vector_type_for_mode): Handle MODE_VECTOR_FRACT,
MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
(initializer_zerop): Support FIXED_CST.
(walk_tree): Handle FIXED_CST and FIXED_POINT_TYPE.
* dwarf2out.c (base_type_die): Use DW_ATE_signed_fixed or
DW_ATE_unsigned_fixed to describe FIXED_POINT_TYPE.
(is_base_type): Handle FIXED_POINT_TYPE.
(add_type_attribute): Handle FIXED_POINT_TYPE.
(gen_type_die_with_usage): Handle FIXED_POINT_TYPE.
* print-tree.c (fixed-value.h): New include.
(print_node_brief): Support FIXED_CST.
(print_node): Support FIXED_POINT_TYPE and FIXED_CST.
* c-pretty-print.c (fixed-value.h): New include.
(pp_c_type_specifier): Handle FIXED_POINT_TYPE.  Need to pass
TYPE_SATURATING to c_common_type_for_mode for fixed-point modes.
(pp_c_direct_abstract_declarator): Handle FIXED_POINT_TYPE.
Support fixed-point types for inner items in VECTOR_TYPE.
(pp_c_direct_declarator): Likewise.
(pp_c_declarator): Likewise.
(pp_c_fixed_constant): New function.
(pp_c_constant): Handle FIXED_CST.
(pp_c_primary_expression): Likewise.
(pp_c_expression): Likewise.
* fold-const.c (fixed-value.h): New include.
(negate_expr_p): Return true for FIXED_CST.
(fold_negate_expr): Support FIXED_CST.
(split_tree): Support FIXED_CST.
(const_binop): Support FIXED_CST.
(fold_convert_const_int_from_fixed): New function to convert from
fixed to int.
(fold_convert_const_real_from_fixed): New function to convert from
fixed to real.
(fold_convert_const_fixed_from_fixed): New function to convert from
fixed to another fixed.
(fold_convert_const_fixed_from_int): New function to convert from
int to fixed.
(fold_convert_const_fixed_from_real): New function to convert from
real to fixed.
(fold_convert_const): Support conversions from fixed to int, from
fixed to real, from fixed to fixed, from int to fixed, and from real
to fixed.
(fold_convert): Support FIXED_CST and FIXED_POINT_TYPE.
(operand_equal_p): Support FIXED_CST.
(make_range): For fixed-point modes, we need to pass the
saturating flag as the 2nd parameter.
(tree_swap_operands_p): Handle FIXED_CST.
(fold_plusminus_mult_expr): For fract modes, we cannot generate
constant 1.
(fold_unary): Support FIXED_CONVERT_EXPR.
(fold_binary): Handle FIXED_CST.
Make sure the type is not saturating, before associating operations.
Ex: A + B + C, A * B * C, (A1 * C1) +/- (A2 * C2).
(tree_expr_nonnegative_warnv_p): Handle FIXED_CST.
(fold_negate_const): Support FIXED_CST.
(fold_relational_const): Support FIXED_CST.
* gimplify.c (omp_firstprivatize_type_sizes): Handle FIXED_POINT_TYPE.
(gimplify_expr): Handle FIXED_CST.
(gimplify_type_sizes): Handle FIXED_POINT_TYPE.
* ipa-prop.c (ipa_callsite_compute_param): Support FIXED_CST.
* ipa-type-escape.c (type_to_consider): Handle FIXED_POINT_TYPE.
* doc/tm.texi (Type Layout): Document SHORT_FRACT_TYPE_SIZE,
FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
LONG_LONG_ACCUM_TYPE_SIZE.
* dbxout.c (dbxout_type): Handle FIXED_POINT_TYPE.
* c-aux-info.c (gen_type): Handle FIXED_POINT_TYPE.
* tree-sra.c (is_sra_scalar_type): Support FIXED_POINT_TYPE.
* expmed.c (extract_bit_field): Support MODE_FRACT, MODE_UFRACT,
MODE_ACCUM, and MODE_UACCUM.
* tree-vectorizer.c (vect_is_simple_reduction): Check for saturating
fixed-point types to disable reduction.
* explow.c (promote_mode): Support FIXED_POINT_TYPE.

From-SVN: r127306

17 years agonatVMInetAddressPosix.cc (java::net::VMInetAddress::getLocalHostname): Allocate buffe...
Samuel Thibault [Wed, 8 Aug 2007 22:24:40 +0000 (22:24 +0000)]
natVMInetAddressPosix.cc (java::net::VMInetAddress::getLocalHostname): Allocate buffer dynamically.

2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * java/net/natVMInetAddressPosix.cc
        (java::net::VMInetAddress::getLocalHostname) [!MAXHOSTNAMELEN]:
        Allocate buffer dynamically.

From-SVN: r127305

17 years agox-rs6000: New file.
David Edelsohn [Wed, 8 Aug 2007 19:33:24 +0000 (19:33 +0000)]
x-rs6000: New file.

        * config/rs6000/x-rs6000: New file.
        * config/rs6000/darwin.h (CC1_SPEC): Add cc1_cpu.
        * config/rs6000/rs6000.h (EXTRA_SPECS): Add cc1_cpu.
        (EXTRA_SPEC_FUNCTIONS): Define.
        (HAVE_LOCAL_CPU_DETECT): Define.
        (CC1_CPU_SPEC): Define.
        * config/rs6000/driver-rs6000.c: New file.
        * config/rs6000/aix.h (CC1_SPEC): Define.
        * config/rs6000/sysv4.h (CC1_SPEC): Add cc1_cpu.
        * config.host: Add x-rs6000 to host_xmake_file if host and target
        are rs6000 or powerpc.

From-SVN: r127304

17 years agot-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.
Paolo Bonzini [Wed, 8 Aug 2007 16:05:51 +0000 (18:05 +0200)]
t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.

2007-08-08  Paolo Bonzini <paolo.bonzini@lu.unisi.ch>

* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.

From-SVN: r127301

17 years agoinvoke.texi (-mcode-readable): Document.
Richard Sandiford [Wed, 8 Aug 2007 15:57:48 +0000 (15:57 +0000)]
invoke.texi (-mcode-readable): Document.

gcc/
2007-08-08  Richard Sandiford  <richard@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>
    Chao-ying Fu  <fu@mips.com>
    Nigel Stephens  <nigel@mips.com>
    David Ung  <davidu@mips.com>

* doc/invoke.texi (-mcode-readable): Document.
* config/mips/mips.opt (mcode-readable): New option.
* config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type.
* config/mips/mips.h (mips_code_readable_setting): New enum.
(mips_code_readable): Declare.
(TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros.
(TARGET_MIPS16_SHORT_JUMP_TABLES): New macro.
(JUMP_TABLES_IN_TEXT_SECTION): Use it.
(CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise.  Remove
boiler-plate comments.
(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
* config/mips/mips.c (mips_code_readable): New variable.
(mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for
MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES.  Use both the
context and -mcode-readable setting to restrict the use of
SYMBOL_PC_RELATIVE for MIPS16 constant pool references.
Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed.
(mips_symbolic_constant_p): Handle SYMBOL_32_HIGH.
(mips_blocks_for_constant_p): Only return false for
TARGET_MIPS16_PCREL_LOADS.
(mips_symbol_insns_1): Treat HIGHs as 2 extended instructions
for MIPS16.  Handle SYMBOL_32_HIGH.
(mips_const_insns): Allow HIGHs for MIPS16 too.
(mips_unspec_address_offset): New function, split out from...
(mips_unspec_address): ...here.
(mips_output_move): Handle MIPS16 HIGH moves.  Use "li" to load
16-bit symbolic constants.  Assert approropiate conditions for
using the "la" and "dla" macros.
(mips_handle_option): Handle -mcode-readable=.
(override_options): Use %hi/%lo relocations for TARGET_MIPS16 too.
Set up mips_lo_relocs[SYMBOL_32_HIGH].
(mips_strip_unspec_address): New function, split out from...
(print_operand_reloc): ...here.
(print_operand): Pass constants through mips_strip_unspec_address.
(print_operand_address): Likewise.
(mips_output_mi_thunk): Remove guard of mips16_lay_out_constants.
(mips_select_rtx_section): Remove MIPS16 handling.
(mips16_gp_pseudo_reg): Check currently_expanding_to_rtl.
(mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC.
(mips16_lay_out_constants): Do nothing unless
TARGET_MIPS16_PCREL_LOADS.
(mips_avoid_hazards): Remove guard of mips16_lay_out_constants.
* config/mips/mips.md: Split HIGHs for MIPS16.
(tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES.

gcc/testsuite/
* gcc.target/mips/code-readable-1.c: New test.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.

Co-Authored-By: Chao-ying Fu <fu@mips.com>
Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r127300

17 years agomips-protos.h (mips_emit_move): Declare.
Richard Sandiford [Wed, 8 Aug 2007 15:46:08 +0000 (15:46 +0000)]
mips-protos.h (mips_emit_move): Declare.

gcc/
* config/mips/mips-protos.h (mips_emit_move): Declare.
* config/mips/mips.c (mips_emit_move): New function.
(mips_force_temporary): Use mips_emit_move instead of emit_move_insn.
(mips_legitimize_const_move): Likewise.
(mips_legitimize_move): Likewise.
(mips_split_64bit_move): Likewise.
(mips_restore_gp): Likewise.
(mips_load_call_address): Likewise.
(mips_emit_fcc_reload): Likewise.
(mips_set_return_address): Likewise.
(mips_block_move_straight): Likewise.
(mips_block_move_loop): Likewise.
(mips_setup_incoming_varargs): Likewise.
(mips_save_reg): Likewise.
(mips_expand_prologue): Likewise.
(mips_restore_reg): Likewise.
(mips_expand_epilogue): Likewise.
(mips_output_mi_thunk): Likewise.
(build_mips16_call_stub): Likewise.
(mips_builtin_branch_and_move): Likewise.
* config/mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise.
* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
(fixuns_truncdfdi2): Likewise.
(fixuns_truncsfsi2): Likewise.
(fixuns_truncsfdi2): Likewise.
(loadgp_absolute): Likewise.
(builtin_setjmp_setup): Likewise.
(builtin_longjmp): Likewise.
(untyped_call): Likewise.

From-SVN: r127299

17 years agomips-protos.h (mips_split_symbol): Add a mode and an "rtx *" argument.
Richard Sandiford [Wed, 8 Aug 2007 15:40:27 +0000 (15:40 +0000)]
mips-protos.h (mips_split_symbol): Add a mode and an "rtx *" argument.

gcc/
* config/mips/mips-protos.h (mips_split_symbol): Add a mode and
an "rtx *" argument.  Return a bool.
* config/mips/mips.c (mips_split_symbol): Accept arbitrary source
values and return true if they can be split.  Take the same kind of
mode argument as mips_symbol_insns.  Add a "lo_sum_out" parameter
and store the lo_sum there if nonnull.  Use the symbol type to
determine whether a $gp or HIGH is needed.
(mips_legitimize_address): Update call to mips_split_symbol and
simplify accordingly.
(mips_legitimize_const_move): Likewise.
* config/mips/mips.md: In the combine define_split,
check mips_split_symbol instead of splittable_symbolic_operand.
Update use of mips_split_symbol in the generator code.
* config/mips/predicates.md (splittable_symbolic_operand): Delete.

From-SVN: r127298

17 years agomips.c (mips_symbolic_address_p): Delete.
Richard Sandiford [Wed, 8 Aug 2007 15:31:00 +0000 (15:31 +0000)]
mips.c (mips_symbolic_address_p): Delete.

gcc/
* config/mips/mips.c (mips_symbolic_address_p): Delete.
(mips_symbol_insns_1): New function, split out from...
(mips_symbol_insns): ...here.  Take a mode argument.  Treat loads
and stores separately from load addresses.
(mips_classify_address): Replace uses of mips_symbolic_address_p
with uses of mips_symbol_insns.
(mips_address_insns): Update calls to mips_symbol_insns.
(mips_const_insns): Likewise.
(mips_legitimize_address): Likewise.

From-SVN: r127297

17 years agomips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
Richard Sandiford [Wed, 8 Aug 2007 15:26:03 +0000 (15:26 +0000)]
mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.

gcc/
* config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
* config/mips/mips.c (mips_classify_symbol): Skip TARGET_ABICALLS
block for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS.
Return SYMBOL_FORCE_TO_MEM instead of SYMBOL_ABSOLUTE for
non-call contexts if TARGET_MIPS16.
(mips_symbolic_constant_p): Handle SYMBOL_FORCE_TO_MEM.
(mips_symbolic_address_p): Likewise.  Remove special TARGET_MIPS16
code for SYMBOL_ABSOLUTE.
(mips_symbol_insns): Likewise.

From-SVN: r127296

17 years agomips-protos.h (mips_symbol_context): New enumeration.
Richard Sandiford [Wed, 8 Aug 2007 15:22:16 +0000 (15:22 +0000)]
mips-protos.h (mips_symbol_context): New enumeration.

gcc/
* config/mips/mips-protos.h (mips_symbol_context): New enumeration.
* config/mips/mips.c (mips_classify_symbol): Take a context argument.
(mips_symbolic_constant_p): Likewise.  Update the call to
mips_classify_symbol.
(mips_classify_address): Update the calls to mips_symbolic_constant_p.
(mips_const_insns): Likewise.  Update the call to mips_classify_symbol.
(mips_legitimize_address): Update the call to mips_symbolic_constant_p.
(print_operand_reloc): Add a context argument.  Update the call to
mips_symbolic_constant_p.
(print_operand): Update the calls to print_operand_reloc.
(print_operand_address): Use print_operand_reloc rather than
print_operand.
(mips_rewrite_small_data_p): Add a context argument.  Update the call
to mips_symbolic_constant_p.
(mips_small_data_pattern_1): Make DATA the containing mem.
Update the call to mips_rewrite_small_data_p.
(mips_rewrite_small_data_1): Likewise.
(mips_use_anchors_for_symbol_p): Update the call to
mips_symbolic_constant_p.
* config/mips/predicates.md (const_call_insn_operand): Likewise.
(splittable_symbolic_operand): Likewise.
(move_operand): Likewise.
(absolute_symbolic_operand): Likewise.
(got_disp_operand): Likewise.
(got_page_ofst_operand): Likewise.

From-SVN: r127295

17 years agomips-protos.h (SYMBOL_GENERAL): Rename to...
Richard Sandiford [Wed, 8 Aug 2007 15:06:05 +0000 (15:06 +0000)]
mips-protos.h (SYMBOL_GENERAL): Rename to...

gcc/
* config/mips/mips-protos.h (SYMBOL_GENERAL): Rename to...
(SYMBOL_ABSOLUTE): ...this.
(SYMBOL_SMALL_DATA): Rename to...
(SYMBOL_GP_RELATIVE): ...this.
(SYMBOL_CONSTANT_POOL): Rename to...
(SYMBOL_PC_RELATIVE): ...this.
* config/mips/mips.c (mips_classify_symbol, mips_symbolic_constant_p)
(mips_symbolic_address_p, mips_symbol_insns, override_options)
(mips_rewrite_small_data_p, mips_use_anchors_for_symbol_p): Update
after above changes.
* config/mips/predicates.md (const_call_insn_operand): Likewise.
(general_symbolic_operand): Rename to...
(absolute_symbolic_operand): ...this.
* config/mips/mips.md: Update after above changes.

From-SVN: r127294

17 years agoRemove profitability check
Vladimir Yanovsky [Wed, 8 Aug 2007 12:21:37 +0000 (12:21 +0000)]
Remove profitability check

Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r127293

17 years agore PR classpath/32844 (EnumSet causes code to be miscompiled)
Dalibor Topic [Wed, 8 Aug 2007 08:00:32 +0000 (08:00 +0000)]
re PR classpath/32844 (EnumSet causes code to be miscompiled)

2007-07-31  Dalibor Topic  <robilad@kaffe.org>

        PR 32844
        * java/util/EnumSet.java:
        Made class abstract per API spec.
        (size, iterator, add, addAll, clear, contains,
        containsAll, remove, removeAll, retainAll) Moved
        into an anonymous inner class in of(T).
        (allOf, noneOf, copyOf, of, range) Made more
        implementation independent.
        (of(T)) return an instance of an anonymous class
        implementing EmptySet.

From-SVN: r127291

17 years agognu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add -profile option, add pie...
Samuel Thibault [Wed, 8 Aug 2007 06:35:17 +0000 (06:35 +0000)]
gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add -profile option, add pie support.

2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * gcc/config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add
        -profile option, add pie support.
        (ENDFILE_SPEC): New spec.
        * gcc/config/gnu.h (LIB_SPEC): Add -profile option.

From-SVN: r127290

17 years agognu.h (CPP_SPEC): Add -pthread option.
Samuel Thibault [Wed, 8 Aug 2007 06:34:06 +0000 (06:34 +0000)]
gnu.h (CPP_SPEC): Add -pthread option.

2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * gcc/config/i386/gnu.h (CPP_SPEC): Add -pthread option.
        * gcc/config/gnu.h (LIB_SPEC): Likewise.

From-SVN: r127289

17 years agoDaily bump.
GCC Administrator [Wed, 8 Aug 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r127287

17 years agocommon.opt (finstrument-functions-exclude-function-list): New option.
Ian Lance Taylor [Tue, 7 Aug 2007 23:44:59 +0000 (23:44 +0000)]
common.opt (finstrument-functions-exclude-function-list): New option.

./: * common.opt (finstrument-functions-exclude-function-list): New
option.
(finstrument-functions-exclude-file-list): New option.
* opts.c (char_p): Define and DEF_VEC.
(flag_instrument_functions_exclude_functions): New static
variable.
(flag_instrument_functions_exclude_files): New static variable.
(add_instrument_functions_exclude_list): New static function.
(flag_instrument_functions_exclude_p): New function.
(common_handle_option): Handle new options.
* flags.h (flag_instrument_functions_exclude_p): Declare.
* gimplify.c (gimplify_function_tree): Call
flag_instrument_functions_exclude_p.
* doc/invoke.texi (Option Summary): Mention new options.
(Code Gen Options): Document new options.
testsuite/:
* gcc.dg/instrument-1.c: New test.
* gcc.dg/instrument-2.c: New test.
* gcc.dg/instrument-3.c: New test.

From-SVN: r127284

17 years agore PR rtl-optimization/32776 (ICE RTL check: expected code 'reg', have 'concatn'...
Ian Lance Taylor [Tue, 7 Aug 2007 22:43:55 +0000 (22:43 +0000)]
re PR rtl-optimization/32776 (ICE RTL check: expected code 'reg', have 'concatn' in rhs_regno, at rtl.h:972)

PR rtl-optimization/32776
* lower-subreg.c (resolve_clobber): Call resolve_reg_notes.
(resolve_use): Likewise.
(decompose_multiword_subregs): Remove "changed" local variable.

From-SVN: r127282