platform/upstream/gcc.git
17 years agoNew out of ssa Coalescer.
Andrew MacLeod [Sun, 10 Dec 2006 21:25:40 +0000 (21:25 +0000)]
New out of ssa Coalescer.

2006-12-10  Andrew MacLeod  <amacleod@redhat.com>

* common.opt (-ftree-lrs): Remove live range splitting option.
* makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies.
* opts.c (decode_options): Remove flag_tree_live_range_split.
* tree-flow.h (struct var_ann_d): Rename fields from root_ to base_.
* tree-flow-inline.h (single_imm_use_p): New.  Check for single use.
* tree-outof-ssa.c: Remove header files which aren't needed.
(SSANORM_*): Remove flags.
(print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands,
coalesce_result_decls_and_copies, coalesce_asm_operands): Remove.
(coalesce_ssa_name): Move to tree-ssa-coalesce.c.
(assign_vars): Use Basevar instead of root_var structure.
(replace_def_variable): Dont do anything if def is replaceable.
(remove_ssa_form): Integrate functional changes.
(rewrite_out_of_ssa): Remove live-range_split option.
* tree-ssa-coalesce.c: New File for ssa-name coalescing.
(coalesce_cost): Calculate the cost of a coalesce.
(coalesce_cost_bb): Calculate the coalesce cost within a BB.
(coalesce_cost_edge): Calculate the coalesce cost on an edge.
(pop_cost_one_pair): Remove the best coalesce with cost 1 from the list.
(pop_best_coalesce): Remove the best coalesce from the list.
(coalesce_pair_map_hash): Calculate coalesce pair hash.
(coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function.
(create_coalesce_list): Create a coalesce list object.
(delete_coalesce_list): Free a coalesce list object.
(find_coalesce_pair): Find matching pair in the coalesce list.
(add_cost_one_coalesce): Add a coalesce to the "cost one" list.
(add_coalesce): Add a coalesce to the coalesce list.
(compare_pairs): Comparision function to determine pair sorted order.
(num_coalesce_pairs): Number of coalesced pairs.
(first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair):
Coalesce pair iterator functions.
(sort_coalesce_list): Sort coalesce pairs in order of expense.
(dump_coalesce_list): Show coalesce list.
(ssa_conflicts_new): Create an SSA conflict graph.
(ssa_conflicts_delete): Delete an SSA conflict graph.
(ssa_conflicts_test_p): Test for conflicts.
(ssa_conflicts_add_one): Add a single conflict.
(ssa_conflicts_add): Add a conflict pair.
(ssa_conflicts_merge): Merge conflicts.
(struct live_track_d): Struct for tracking live partitions.
(new_live_track): Create new live_track object.
(delete_live_track): Delete a live_track object.
(live_track_remove_partition): Remove a partition from the live list.
(live_track_add_partition): Add a partition from the live list.
(live_track_clear_var): Take VAR from the live list.
(live_track_live_p): Is var live?
(live_track_process_use): Make var come alive.
(live_track_process_def): Make var go dead, add conflicts.
(live_track_init): Initialize to a live on exit set.
(live_track_clear_base_vars): Clear live partitions.
(build_ssa_conflict_graph): Build a conflict graph.
(print_exprs): Common debug output routine.
(abnormal_corrupt): Output info about a failed coalesce across an
abnormal edge.
(fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE.
(create_outofssa_var_map): Create a var map and coalesce list.
(attempt_coalesce): Coalesce a pair.
(coalesce_partitions): Coalesce all pairs in a coalesce list.
(coalesce_ssa_name): Entry point.  Determine what ssa_names to coalesce.
* tree-ssa-live.c: Remove header files which aren't needed.
(var_map_base_init): New.  Initialize a basevar list.
(var_map_base_fini): New.  Finish a basevar list.
(init_var_map): Initialize new fields.
(delete_var_map): Free new fields.
(var_union): Use renamed fields.
(compact_var_map): Remove.
(partition_to_view_init): Use renamed fields, change order of an if.
(partition_view_fini): Use renamed fields.
(partition_view_normal): Create basevar list if requested.
(partition_view_bitmap): Create a view based on a bitmap of partitions.
(change_partition_var): Use renamed fields.
(create_ssa_var_map): Remove.
(tpa_init, tpa_remove_partition, tpa_delete, tpa_compact,
root_var_init): Remove.
(partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list,
delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce,
compare_pairs, num_coalesce_pairs, first_partition_pair,
end_partition_pair_p, next_partition_pair, sort_coalesce_list,
pop_best_coalesce, add_conflicts_if_valid, set_if_valid,
build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list,
tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there.
(dump_var_map): Use renamed fields.
* tree-ssa-live.h (struct  _var_map): Modify fields.
(partition_to_var, version_to_var, var_to_partition): Use renamed
fields.
(basevar_index): New.  Index of the base variable of a partition.
(num_basevars): New.  Number of unique base variables in partition map.
(register_ssa_partition): Use renamed fields.
(struct tree_partition_associator_d): Remove.
(tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition,
tpa_find_tree, tpa_decompact, root_var_init, root_var_num,
root_var, root_var_first_partition, root_var_next_partition,
root_var_dump, root_var_delete, root_var_remove_partition,
root_var_find, root_var_compact, root_var_decompact): Remove.
(struct partition_pair, struct coalesce_list_d): Moved to
tree-ssa-coalesce.c
* tree-ssa-ter.c: Remove header files which aren't needed.

From-SVN: r119711

17 years agogfortran.texi: Update Fortran 2003 section.
Tobias Burnus [Sun, 10 Dec 2006 21:22:49 +0000 (22:22 +0100)]
gfortran.texi: Update Fortran 2003 section.

2006-12-10  Tobias Burnus  <burnus@net-b.de>

* gfortran.texi: Update Fortran 2003 section.

From-SVN: r119710

17 years agore PR fortran/23994 (PROTECTED attribute (F2003) is not implemented)
Tobias Burnus [Sun, 10 Dec 2006 19:53:07 +0000 (20:53 +0100)]
re PR fortran/23994 (PROTECTED attribute (F2003) is not implemented)

fortran/
2006-12-10  Tobias Burnus  <burnus@net-b.de>

    PR fortran/23994
    * interface.c (compare_actual_formal): PROTECTED is incompatible
with intent(out).
    * symbol.c (check_conflict): Check for PROTECTED conflicts.
      (gfc_add_protected): New function.
      (gfc_copy_attr): Copy PROTECTED attribute.
    * decl.c (match_attr_spec): Add PROTECTED support.
      (gfc_match_protected): New function.
    * dump-parse-tree.c (gfc_show_attr): Add PROTECTED support.
    * gfortran.h (gfc_symbol): Add protected flag.
      Add gfc_add_protected prototype.
    * expr.c (gfc_check_pointer_assign): Add PROTECTED support.
    * module.c (ab_attribute, attr_bits, mio_symbol_attribute,
mio_symbol_attribute):
       Add PROTECTED support.
    * resolve.c (resolve_equivalence): Add PROTECTED support.
    * match.c (gfc_match_assignment,)gfc_match_pointer_assignment:
       Check PROTECTED attribute.
    * match.h: Add gfc_match_protected prototype.
    * parse.c (decode_statement): Match PROTECTED statement.
    * primary.c (match_variable): Add PROTECTED support.

testsuite/
2006-12-10  Tobias Burnus  <burnus@net-b.de>

    PR fortran/23994
    * gfortran.dg/protected_1.f90: New test.
    * gfortran.dg/protected_2.f90: New test.
    * gfortran.dg/protected_3.f90: New test.
    * gfortran.dg/protected_4.f90: New test.
    * gfortran.dg/protected_5.f90: New test.
    * gfortran.dg/protected_6.f90: New test.

From-SVN: r119709

17 years agore PR bootstrap/30134 (Bootstrap error: "libffi has not been ported to powerpc64...
Andreas Tobler [Sun, 10 Dec 2006 19:32:30 +0000 (19:32 +0000)]
re PR bootstrap/30134 (Bootstrap error:  "libffi has not been ported to powerpc64-apple-darwin8.8.0")

2006-12-10  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/30134
* configure.in: Correct x86 darwin support for libjava to powerpc
and i?86 only.
* configure: Regenerate.

From-SVN: r119708

17 years agovalarray-inst.cc (__gslice_to_index): Optimize performance.
Paolo Carlini [Sun, 10 Dec 2006 16:47:27 +0000 (16:47 +0000)]
valarray-inst.cc (__gslice_to_index): Optimize performance.

2006-12-10  Paolo Carlini  <pcarlini@suse.de>

* src/valarray-inst.cc (__gslice_to_index): Optimize performance.
* testsuite/performance/26_numerics/valarray_gslice_to_index.cc: New.

From-SVN: r119707

17 years agocse.c: (struct cse_basic_block_data): Remove LAST field.
Steven Bosscher [Sun, 10 Dec 2006 10:59:19 +0000 (10:59 +0000)]
cse.c: (struct cse_basic_block_data): Remove LAST field.

* cse.c: (struct cse_basic_block_data): Remove LAST field.
(struct branch_path): Remove BRANCH and TAKEN fields. Add new
BB field.
(cse_visited_basic_blocks): New static bitmap.
(cse_end_of_basic_block, cse_basic_block): Remove.
(cse_find_path, cse_dump_path, cse_prescan_path,
cse_extended_basic_block): New static functions.
(cse_insn): Don't CSE over setjmp calls.  Use the CFG to find
basic block boundaries.  Don't record jump equivalences here.
Update the CFG after doing in-place replacement of the SET_SRC.
(cse_main): Rewrite.  Look for extended basic block headers
and call cse_extended_basic_block on them until all paths that
start at this header are exhausted.
(rest_of_handle_cse): Verify that the CFG is incrementally updated
and correct after cse_main.
Don't call delete_trivially_dead_insns, let cfgcleanup do that.
(rest_of_handle_cse2): Verify the CFG here, too, after cse_main.
(pass_cse): Add TODO_verify_flow.
(pass_cse2): Likewise.

From-SVN: r119706

17 years agoreload1.c (choose_reload_regs): Don't set byte offset when resolving subregs of hard...
Rask Ingemann Lambertsen [Sun, 10 Dec 2006 10:37:48 +0000 (11:37 +0100)]
reload1.c (choose_reload_regs): Don't set byte offset when resolving subregs of hard regs.

2006-12-04  Rask Ingemann Lambertsen  <rask@sygehus.dk>

* reload1.c (choose_reload_regs): Don't set byte offset when
resolving subregs of hard regs.

From-SVN: r119705

17 years agoc-opts.c (c_common_parse_file): Unconditionally give a warning, suitable for the...
Zack Weinberg [Sun, 10 Dec 2006 05:09:29 +0000 (05:09 +0000)]
c-opts.c (c_common_parse_file): Unconditionally give a warning, suitable for the language, if set_yydebug is true.

* c-opts.c (c_common_parse_file): Unconditionally give a warning,
suitable for the language, if set_yydebug is true.
* c-pragma.h: Define enum pragma_omp_clause here.  Don't define
YYDEBUG or declare yydebug.
* c-parser.c (yydebug, enum pragma_omp_clause): Delete.
* cp/parser.c: Likewise.

From-SVN: r119704

17 years agoDaily bump.
GCC Administrator [Sun, 10 Dec 2006 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r119702

17 years agore PR other/29975 ([meta-bugs] ICEs with CP2K)
Paul Thomas [Sat, 9 Dec 2006 21:13:29 +0000 (21:13 +0000)]
re PR other/29975 ([meta-bugs] ICEs with CP2K)

2006-12-09  Paul Thomas <pault@gcc.gnu.org>

PR fortran/29975
PR fortran/30068
PR fortran/30096
* interface.c (compare_type_rank_if): Reject invalid generic
interfaces.
(check_interface1): Give a warning for nonreferred to ambiguous
interfaces.
(check_sym_interfaces): Check whether an ambiguous interface is
referred to.  Do not check host associated interfaces since these
cannot be ambiguous with the local versions.
(check_uop_interface, gfc_check_interfaces): Update call to
check_interface1.
* symbol.c (gfc_get_sym_tree, gfc_get_sym_tree): Allow adding
unambiguous procedures to generic interfaces.
* gfortran.h (symbol_attribute): Added use_only and
ambiguous_interfaces.
* module.c (load_need): Set the use_only flag, if needed.
* resolve.c (resolve_fl_procedure): Warn for nonreferred
interfaces.
* expr.c (find_array_section): Fix initializer array contructor.

2006-12-09  Paul Thomas <pault@gcc.gnu.org>
    Tobias Burnus <burnus@gcc.gnu.org>

PR fortran/29975
PR fortran/30068
* gfortran.dg/interface_4.f90: Test adding procedure to generic
interface.
* gfortran.dg/interface_5.f90: Test warning for not-referenced-to
ambiguous interfaces.
* gfortran.dg/interface_6.f90: Test invalid, ambiguous interface.
* gfortran.dg/interface_7.f90: Test invalid, ambiguous interface.
* gfortran.dg/interface_8.f90: Test warning for not-referenced-to
ambiguous interfaces.
* gfortran.dg/interface_1.f90: Change dg-error into a dg-warning.
* gfortran.dg/array_initializer_2.f90: Add initializer array
constructor test.

PR fortran/30096
* gfortran.dg/interface_9.f90: Test that host interfaces are
not checked for ambiguity with the local version.

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

17 years agore PR fortran/29464 ([4.1 only] problem with duplicate USE, ONLY of procedure in...
Paul Thomas [Sat, 9 Dec 2006 20:52:27 +0000 (20:52 +0000)]
re PR fortran/29464 ([4.1 only] problem with duplicate USE, ONLY of procedure in INTERFACE)

2006-11-25  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29464
* module.c (load_generic_interfaces): Add symbols for all the
local names of an interface.  Share the interface amongst the
symbols.
* gfortran.h : Add generic_copy to symbol_attribute.
* symbol.c (free_symbol): Only free interface if generic_copy
is not set.

2006-11-25  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29464
* gfortran.dg/module_interface_2.f90: New test.

From-SVN: r119696

17 years agore PR fortran/29941 ([4.1 only] gfortran reports error with len of assumed size chara...
Paul Thomas [Sat, 9 Dec 2006 20:41:51 +0000 (20:41 +0000)]
re PR fortran/29941 ([4.1 only] gfortran reports error with len of assumed size character array)

2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29941
* resolve.c (resolve_function): Add LEN to the functions not
checked for assumed size actual args.

2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29941
* gfortran.dg/assumed_len.f90: New test.

From-SVN: r119695

17 years agoimplicit-typename1.C: Qualify types.
Richard Guenther [Sat, 9 Dec 2006 17:40:13 +0000 (17:40 +0000)]
implicit-typename1.C: Qualify types.

2006-12-09  Richard Guenther  <rguenther@suse.de>

* g++.dg/warn/implicit-typename1.C: Qualify types.
* g++.dg/parse/crash12.C: Likewise.
* g++.dg/tree-ssa/pr22444.C: Likewise.

From-SVN: r119693

17 years agocgraph.c: Update copyright.
Jan Hubicka [Sat, 9 Dec 2006 15:36:55 +0000 (16:36 +0100)]
cgraph.c: Update copyright.

* cgraph.c: Update copyright.
* cgraph.h: Likewise
(cgraph_update_pending_function): Remove prototype.
* cgraphunit.c: Update copyright; update overall comment.
(cgraph_assemble_pending_functions): Make local.

From-SVN: r119691

17 years agohaifa-sched.c (schedule_block): Remove excessive sanity check.
Maxim Kuvyrkov [Sat, 9 Dec 2006 13:05:44 +0000 (13:05 +0000)]
haifa-sched.c (schedule_block): Remove excessive sanity check.

2006-12-09  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

* haifa-sched.c (schedule_block): Remove excessive sanity check.

From-SVN: r119688

17 years agoarray_2.f90: Added sqrt test.
Tobias Burnus [Sat, 9 Dec 2006 09:39:30 +0000 (10:39 +0100)]
array_2.f90: Added sqrt test.

2006-12-09  Tobias Burnus  <burnus@net-b.de>

       * gfortran.dg/array_2.f90: Added sqrt test.

From-SVN: r119687

17 years agospu-protos.h (spu_split_immediate): Renamed from spu_split_address.
Trevor Smigiel [Sat, 9 Dec 2006 01:22:39 +0000 (01:22 +0000)]
spu-protos.h (spu_split_immediate): Renamed from spu_split_address.

        * config/spu/spu-protos.h (spu_split_immediate): Renamed from
        spu_split_address.
        (cpat_const_p, gen_cpat_const): Add.
        * config/spu/spu.c (immediate_class): New enum.
        (cpat_info, classify_immediate): New.
        (print_operand): Use S, D, T instead of F, G, H.  Use
        classify_immediate.  Handle cpat cases.
        (spu_split_immediate):  Renamed from spu_split_address.  Split all
        immediates that can be split.
        (immediate_load_p): Use classify_immediate.
        (spu_legitimate_constant_p): Accept everything except some cases of
        CONST_VECTOR.
        (spu_expand_move): Use spu_split_immedate.
        (fsmbi_const_p): Use classify_immediate.
        (cpat_const_p): New.
        (gen_cpat_const: New.
        * config/spu/constraints.md (j,k,l): New constraints for cpat
        instructions.
        * config/spu/spu.md (unnamed splitter): Change address splitter to
        handle all immediates.
        (_mov<mode>, _movdi, _movti): Handle i, j, k constraints for cpat
        instructions.
        (cpat, _cpat, splitter): Generate a TImode constant for cpat patterns
        when possible.

From-SVN: r119682

17 years agoconfigure.in: Add x86 darwin support for libjava.
Sandro Tolaini [Sat, 9 Dec 2006 00:21:52 +0000 (01:21 +0100)]
configure.in: Add x86 darwin support for libjava.

* configure.in: Add x86 darwin support for libjava.
* configure: Regenerate.

From-SVN: r119678

17 years agoDaily bump.
GCC Administrator [Sat, 9 Dec 2006 00:18:33 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r119676

17 years agoconfigure.ac: Fix x86 darwin builds.
Mike Stump [Fri, 8 Dec 2006 23:54:21 +0000 (23:54 +0000)]
configure.ac: Fix x86 darwin builds.

* configure.ac: Fix x86 darwin builds.
* darwin_stop_world.c: Likewise.
* include/private/gcconfig.h: Likewise.
* connfigure: Regenerate.

From-SVN: r119670

17 years agore PR target/30039 (HPPA: Incorrect code generated on 64bit host)
John David Anglin [Fri, 8 Dec 2006 23:41:03 +0000 (23:41 +0000)]
re PR target/30039 (HPPA: Incorrect code generated on 64bit host)

PR target/30039
* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
patterns.  Correct length of high:DI instruction sequence.

From-SVN: r119669

17 years agot-darwin (TARGET_LIBGCC2_CFLAGS): Build libgcc with -mmacosx-version-min=10.4.
Mike Stump [Fri, 8 Dec 2006 22:22:51 +0000 (22:22 +0000)]
t-darwin (TARGET_LIBGCC2_CFLAGS): Build libgcc with -mmacosx-version-min=10.4.

* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
libgcc with -mmacosx-version-min=10.4.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
G4 for 10.5+ unless doing kernel builds.

From-SVN: r119666

17 years agore PR target/30120 (silent miscompilation of argument passing)
Uros Bizjak [Fri, 8 Dec 2006 18:20:25 +0000 (19:20 +0100)]
re PR target/30120 (silent miscompilation of argument passing)

        PR target/30120
        * reg-stack.c (convert_regs_entry): Mark current argument passing
        registers as live.

        * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing
        of float arguments in x87 registers.

testsuite/ChangeLog:

        * gcc.target/i386/x87regparm-1.c: XFAIL.
        * gcc.target/i386/x87regparm-2.c: XFAIL.
        * gcc.target/i386/x87regparm-3.c: XFAIL.
        * gcc.target/i386/x87regparm-4.c: XFAIL.

From-SVN: r119663

17 years ago2006-12-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
Manuel López-Ibáñez [Fri, 8 Dec 2006 18:14:21 +0000 (18:14 +0000)]
2006-12-08  Manuel Lopez-Ibanez <manu@gcc.gnu.org>

* lib/target-supports.exp
(check_effective_target_large_long_double): New.
* gcc.dg/Wconversion-real.c : Use it.
* gcc.dg/Wconversion-integer.c : Fix for targets where char is
unsigned.

From-SVN: r119662

17 years agopa.h (LEGITIMATE_CONSTANT_P): Simplify.
John David Anglin [Fri, 8 Dec 2006 17:28:59 +0000 (17:28 +0000)]
pa.h (LEGITIMATE_CONSTANT_P): Simplify.

* pa.h (LEGITIMATE_CONSTANT_P): Simplify.

From-SVN: r119661

17 years agorecog.c (mode_dependent_address_p): Identify pre-increment...
Mark Shinwell [Fri, 8 Dec 2006 16:37:42 +0000 (16:37 +0000)]
recog.c (mode_dependent_address_p): Identify pre-increment...

gcc/
* recog.c (mode_dependent_address_p): Identify pre-increment,
pre-decrement, post-increment and post-decrement addressing as always
being mode-dependent.
* config/m32c/m32c.c (m32c_mode_dependent_address): Delete.
* config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete.
* config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
PRE_INC and POST_INC checks.
* config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
PRE_INC, POST_DEC and POST_INC cases.
* config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
Delete POST_INC and PRE_DEC cases.
* config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
no-op.
* config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
no-op.
* config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete
PRE_INC and PRE_DEC cases.
* config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
(GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/vax/vax.c (vax_mode_dependent_address_p): Delete
auto-increment cases.
* config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete
auto-increment cases.
* config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.

gcc/testsuite/
* gcc.c-torture/execute/mode-dependent-address.c: New test.

From-SVN: r119660

17 years agoNew TER code.
Andrew MacLeod [Fri, 8 Dec 2006 14:07:53 +0000 (14:07 +0000)]
New TER code.

2006-12-08  Andrew MacLeod  <amacleod@redhat.com>

* Makefile.in: Add new file tree-ssa-ter.c.
* tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table,
free_temp_expr_table, add_value_to_version_list,
add_value_to_partition_list, remove_value_from_partition_list,
add_dependence, check_replaceable, finish_expr, mark_replaceable,
kill_expr, kill_virtual_exprs, find_replaceable_in_bb,
find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c.
* tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add
prototypes.
* tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c.
(struct value_expr_d): Remove.
(struct temp_expr_table_d): Rename fields, add explicit vector of
replaceable expressions instead of sharing. Change value_expr_p's to
bitmap.  Delete free_list.
(new_temp_expr_table): Rename fields, count number of ssa_names in
each partition.
(free_temp_expr_table): Rename field, free new fields.
(new_value_expr, free_value_expr, find_value_in_list, add_value_to_list,
add_info_to_list, remove_value_from_list): Delete.
(version_to_be_replaced_p): New. Is an ssa-name replaceable?
(make_dependent_on_partition): New. Set bit in version list, allocating
a bitmap if need be.
(add_to_partition_kill_list): New.  Set bit in the partition list,
allocating a bitmap if need be.
(remove_from_partition_kill_list): New.  Remove a bit from the
partition list, free the bitmap if it is empty.
(add_dependence): Use renamed field, cleanup. Don't add a dependence
on partitions with only one member.
(is_replaceable_p): New.  Split out replaceability check from
check_replaceable.
(process_replaceable): New. Replacement code split from
check_replaceable.
(check_replaceable): Removed.
(finished_with_expr): Renamed from finish_expr.
(kill_expr): Use renamed fields. Less parameters.
(kill_virtual_exprs): Less parameters.
(mark_replaceable): Use renamed fields.
(find_replaceable_in_bb): Use renamed fields, cleanup.
(find_replaceable_exprs): Use renamed routines, cleanup.
(dump_replaceable_exprs): don;t go past end of ssa_names list.
(debug_ter): New.  Debug routine to dump state.

From-SVN: r119657

17 years agoFix ChangeLog.
Eric Botcazou [Fri, 8 Dec 2006 13:34:03 +0000 (13:34 +0000)]
Fix ChangeLog.

From-SVN: r119656

17 years agobfin.c (effective_address_32bit_p): Return true for anything involving the GOT.
Bernd Schmidt [Fri, 8 Dec 2006 12:42:44 +0000 (12:42 +0000)]
bfin.c (effective_address_32bit_p): Return true for anything involving the GOT.

* config/bfin/bfin.c (effective_address_32bit_p): Return true for
anything involving the GOT.
(bfin_adjust_cost): Don't take the REGNO of a MEM.
(trapping_loads_p): Look inside the pattern of an insn to find the
SET.
* config/bfin/bfin.md (attr "type"): Add movcc.
(insn_reservation "alu"): Likewise.
(movsicc_insn1, movsicc_insn2): Change type to movcc.

From-SVN: r119655

17 years agotestsuite_hooks.cc (set_memory_limits): Don't set RLIMIT_AS below 16MB on x86_64...
Jakub Jelinek [Fri, 8 Dec 2006 10:06:51 +0000 (11:06 +0100)]
testsuite_hooks.cc (set_memory_limits): Don't set RLIMIT_AS below 16MB on x86_64-linux.

* testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
RLIMIT_AS below 16MB on x86_64-linux.

From-SVN: r119652

17 years agore PR fortran/27546 (IMPORT is broken)
Tobias Burnus [Fri, 8 Dec 2006 09:45:44 +0000 (10:45 +0100)]
re PR fortran/27546 (IMPORT is broken)

fortran/
2006-12-08  Tobias Burnus  <burnus@net-b.de>

    PR fortran/27546
    * trans-decl.f90 (gfc_create_module_variable): Allow imported symbols
      in interface bodys in modules.

testsuite/
2006-12-08  Tobias Burnus  <burnus@net-b.de>

    PR fortran/27546
    * gfortran.dg/import4.f90: New test for IMPORT in modules.

From-SVN: r119651

17 years agoCorrectly wrap my changelog entry.
Andrew Pinski [Fri, 8 Dec 2006 08:11:44 +0000 (00:11 -0800)]
Correctly wrap my changelog entry.

From-SVN: r119650

17 years agore PR c++/29732 (ICE on invalid friend declaration)
Mark Mitchell [Fri, 8 Dec 2006 06:27:22 +0000 (06:27 +0000)]
re PR c++/29732 (ICE on invalid friend declaration)

PR c++/29732
* cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
(explicit_class_specialization_p): Declare.
* pt.c (explicit_class_specialization_p): New function.
* parser.c (cp_parser_init_declarator): Check correct number of
template parameters for in-class function definitions.
(cp_parser_check_declrator_template_parameters): Stop looking for
template classes when we find an explicit specialization.
PR c++/29732
* g++.dg/template/crash65.C: New test.
* g++.dg/template/spec16.C: Tweak error markers.

From-SVN: r119649

17 years agoAdd a PR reference for the patch which fixed PR 27558.
Andrew Pinski [Fri, 8 Dec 2006 04:50:02 +0000 (20:50 -0800)]
Add a PR reference for the patch which fixed PR 27558.

2006-04-20  Jakub Jelinek  <jakub@redhat.com>

        * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
        TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
        than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).

From-SVN: r119648

17 years agoMakefile.def (dependencies): Add dependency for install-target-libssp and install...
Mike Stump [Fri, 8 Dec 2006 02:03:42 +0000 (02:03 +0000)]
Makefile.def (dependencies): Add dependency for install-target-libssp and install-target-libgomp on install-gcc.

* Makefile.def (dependencies): Add dependency for
install-target-libssp and install-target-libgomp on
install-gcc.
* Makefile.in: Regenerate.

From-SVN: r119645

17 years agoDaily bump.
GCC Administrator [Fri, 8 Dec 2006 00:18:05 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r119642

17 years agospu-c.c (spu_build_overload_builtin): Delete.
Andrew Pinski [Thu, 7 Dec 2006 23:40:46 +0000 (23:40 +0000)]
spu-c.c (spu_build_overload_builtin): Delete.

2006-12-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu-c.c (spu_build_overload_builtin): Delete.
        (spu_resolve_overloaded_builtin): Check for non scalar instead
        of vector type and check the function call argument type also for non scalar.
        Call build_function_call instead of spu_build_overload_builtin.

2006-12-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.target/spu: New directory.
        * gcc.target/spu/spu.exp: New file.
        * gcc.target/spu/intrinsics-1.c: New test.

From-SVN: r119637

17 years agospu.c (array_to_constant): Correct the order of arguments to the calls of hwint_to_co...
Trevor Smigiel [Thu, 7 Dec 2006 22:11:51 +0000 (22:11 +0000)]
spu.c (array_to_constant): Correct the order of arguments to the calls of hwint_to_const_double.

* config/spu/spu.c (array_to_constant): Correct the order of arguments
to the calls of hwint_to_const_double.

From-SVN: r119635

17 years agore PR c++/29980 (ICE using attribute in invalid declaration)
Lee Millward [Thu, 7 Dec 2006 19:16:38 +0000 (19:16 +0000)]
re PR c++/29980 (ICE using attribute in invalid declaration)

        PR c++/29980
        * cp_parser_elaborated_type_specifier: Check
        the return value of check_elaborated_type_specifier.

        * g++.dg/ext/attrib27.C: New test.
        * g++.dg/parse/struct-as-enum1.C: Adjust error markers.
        * g++.dg/parse/typedef5.C: Likewise.

From-SVN: r119633

17 years ago* config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to elf_record_gcc_switches.
Nick Clifton [Thu, 7 Dec 2006 17:44:10 +0000 (17:44 +0000)]
* config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to elf_record_gcc_switches.

From-SVN: r119630

17 years ago* treelang/compile/var_defs.tree: Adjust.
Mike Stump [Thu, 7 Dec 2006 16:48:11 +0000 (16:48 +0000)]
* treelang/compile/var_defs.tree: Adjust.

From-SVN: r119628

17 years ago* ru.po: New.
Joseph Myers [Thu, 7 Dec 2006 16:45:47 +0000 (16:45 +0000)]
* ru.po: New.

From-SVN: r119625

17 years agoexpr.c (string_constant): Account for non-zero lower bound arrays.
Andrew MacLeod [Thu, 7 Dec 2006 14:39:37 +0000 (14:39 +0000)]
expr.c (string_constant): Account for non-zero lower bound arrays.

2006-12-07  Andrew Macleod  <amacleod@redhat.com>

* expr.c (string_constant): Account for non-zero lower bound arrays.

From-SVN: r119623

17 years agobuiltins.c (expand_builtin_pow): Adjust predicates for pow to cbrt expansion to unsaf...
Richard Guenther [Thu, 7 Dec 2006 14:24:11 +0000 (14:24 +0000)]
builtins.c (expand_builtin_pow): Adjust predicates for pow to cbrt expansion to unsafe math and !HONOR_NANS for...

2006-12-07  Richard Guenther  <rguenther@suse.de>

* builtins.c (expand_builtin_pow): Adjust predicates for
pow to cbrt expansion to unsafe math and !HONOR_NANS for
negative base.

From-SVN: r119622

17 years agoi386.c (nocona_cost, [...]): Update preffered memcpy/memset codegen.
Jan Hubicka [Thu, 7 Dec 2006 12:56:02 +0000 (13:56 +0100)]
i386.c (nocona_cost, [...]): Update preffered memcpy/memset codegen.

* i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
codegen.

From-SVN: r119620

17 years agotree-vrp.c (compare_values): Short circuit INTEGER_CST...
Jan Hubicka [Thu, 7 Dec 2006 12:54:09 +0000 (13:54 +0100)]
tree-vrp.c (compare_values): Short circuit INTEGER_CST...

* tree-vrp.c (compare_values): Short circuit INTEGER_CST;
use fold_constant_to_binary; tolerate wrong type constants.
(value_intersect_p): Do just two tests.

From-SVN: r119619

17 years agobfin.c (print_operand): New modifier 'N' for constants.
Bernd Schmidt [Thu, 7 Dec 2006 11:06:08 +0000 (11:06 +0000)]
bfin.c (print_operand): New modifier 'N' for constants.

* config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
lshifthi3): Use it, and fix the order of alternatives.

From-SVN: r119616

17 years agocommon.opt (record-gcc-switches): New command line switch.
Nick Clifton [Thu, 7 Dec 2006 10:54:13 +0000 (10:54 +0000)]
common.opt (record-gcc-switches): New command line switch.

* common.opt (record-gcc-switches): New command line switch.
* target.h (print_switch_type): New enum.
  (print_switch_fn_type): New typedef for a function pointer.
  (struct gcc_target): Add record_gcc_switches and record_gcc_switches_section fields.
* target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a default definition.
  (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default definition.
* toplev.c (print_single_switch): Simplify by providing a pointer to function that will format and output the switch appropriately.
  (print_switch_values): Likewise.
  (print_to_asm_out_file): New function.
  (print_to_stderr): New function.
  (init_asm_output): If flag_record_gcc_switches is set then if the target supports recording the switches then emit them into the assembler output file, otherwise tell the user that the switch is not supported.
* varasm.c (eld_record_gcc_switches): New function.  Example handler for the record_gcc_switches target hook.
* doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new target hook.
  (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise.
* doc/invoke.texi (-frecord-gcc-switches): Document.

From-SVN: r119615

17 years agore PR target/29794 (cc1 segfaults with -O3 -msched-control-spec)
Maxim Kuvyrkov [Thu, 7 Dec 2006 10:02:35 +0000 (10:02 +0000)]
re PR target/29794 (cc1 segfaults with -O3 -msched-control-spec)

2006-12-07  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

PR target/29794
* sched-rgn.c (add_block1): Use correct initializer.

From-SVN: r119613

17 years agotree-vect-transform.c (vectorizable_call): Fix leftover of TREE_OPERAND to GIMPLE_STM...
Richard Guenther [Thu, 7 Dec 2006 09:38:37 +0000 (09:38 +0000)]
tree-vect-transform.c (vectorizable_call): Fix leftover of TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.

2006-12-07  Richard Guenther  <rguenther@suse.de>

* tree-vect-transform.c (vectorizable_call): Fix leftover of
TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.

From-SVN: r119612

17 years agoMakefile.am (std_headers_rename): Remove.
Benjamin Kosnik [Thu, 7 Dec 2006 09:35:57 +0000 (09:35 +0000)]
Makefile.am (std_headers_rename): Remove.

2006-12-06  Benjamin Kosnik  <bkoz@redhat.com>

* include/Makefile.am (std_headers_rename): Remove.
(c_base_headers_rename): Remove.
(std_headers): Adjust to true names.
(c_base_headers): Adjust to true names.
(stamp-c_base, stamp_std, stamp_c_base_extra): Adjust.
* configure: Regenerate.
* include/Makefile.in: Regenerate.

        * include/std/std_algorithm.h: To...
        * include/std/std_bitset.h: To...
        * include/std/std_complex.h: To...
        * include/std/std_deque.h: To...
        * include/std/std_fstream.h: To...
        * include/std/std_functional.h: To...
        * include/std/std_iomanip.h: To...
        * include/std/std_iosfwd.h: To...
        * include/std/std_ios.h: To...
        * include/std/std_iostream.h: To...
        * include/std/std_istream.h: To...
        * include/std/std_iterator.h: To...
        * include/std/std_limits.h: To...
        * include/std/std_list.h: To...
        * include/std/std_locale.h: To...
        * include/std/std_map.h: To...
        * include/std/std_memory.h: To...
        * include/std/std_numeric.h: To...
        * include/std/std_ostream.h: To...
        * include/std/std_queue.h: To...
        * include/std/std_set.h: To...
        * include/std/std_sstream.h: To...
        * include/std/std_stack.h: To...
        * include/std/std_stdexcept.h: To...
        * include/std/std_streambuf.h: To...
        * include/std/std_string.h: To...
        * include/std/std_utility.h: To...
        * include/std/std_valarray.h: To...
        * include/std/std_vector.h: To...
        * include/std/algorithm: ...this.
        * include/std/bitset: ...this.
        * include/std/complex: ...this.
        * include/std/deque: ...this.
        * include/std/fstream: ...this.
        * include/std/functional: ...this.
        * include/std/iomanip: ...this.
        * include/std/iosfwd: ...this.
        * include/std/ios: ...this.
        * include/std/iostream: ...this.
        * include/std/istream: ...this.
        * include/std/iterator: ...this.
        * include/std/limits: ...this.
        * include/std/list: ...this.
        * include/std/locale: ...this.
        * include/std/map: ...this.
        * include/std/memory: ...this.
        * include/std/numeric: ...this.
        * include/std/ostream: ...this.
        * include/std/queue: ...this.
        * include/std/set: ...this.
        * include/std/sstream: ...this.
        * include/std/stack: ...this.
        * include/std/stdexcept: ...this.
        * include/std/streambuf: ...this.
        * include/std/string: ...this.
        * include/std/utility: ...this.
        * include/std/valarray: ...this.
        * include/std/vector: ...this.

        * include/c_std/std_cassert.h: To...
        * include/c_std/std_cctype.h: To...
        * include/c_std/std_cerrno.h: To...
        * include/c_std/std_cfloat.h: To...
        * include/c_std/std_ciso646.h: To...
        * include/c_std/std_climits.h: To...
        * include/c_std/std_clocale.h: To...
        * include/c_std/std_cmath.h: To...
        * include/c_std/std_csetjmp.h: To...
        * include/c_std/std_csignal.h: To...
        * include/c_std/std_cstdarg.h: To...
        * include/c_std/std_cstddef.h: To...
        * include/c_std/std_cstdio.h: To...
        * include/c_std/std_cstdlib.h: To...
        * include/c_std/std_cstring.h: To...
        * include/c_std/std_ctime.h: To...
        * include/c_std/std_cwchar.h: To...
        * include/c_std/std_cwctype.h: To...
        * include/c_std/cassert: ...this.
        * include/c_std/cctype: ...this.
        * include/c_std/cerrno: ...this.
        * include/c_std/cfloat: ...this.
        * include/c_std/ciso646: ...this.
        * include/c_std/climits: ...this.
        * include/c_std/clocale: ...this.
        * include/c_std/cmath: ...this.
        * include/c_std/csetjmp: ...this.
        * include/c_std/csignal: ...this.
        * include/c_std/cstdarg: ...this.
        * include/c_std/cstddef: ...this.
        * include/c_std/cstdio: ...this.
        * include/c_std/cstdlib: ...this.
        * include/c_std/cstring: ...this.
        * include/c_std/ctime: ...this.
        * include/c_std/cwchar: ...this.
        * include/c_std/cwctype: ...this.

        * include/c/std_cassert.h: To...
        * include/c/std_cctype.h: To...
        * include/c/std_cerrno.h: To...
        * include/c/std_cfloat.h: To...
        * include/c/std_ciso646.h: To...
        * include/c/std_climits.h: To...
        * include/c/std_clocale.h: To...
        * include/c/std_cmath.h: To...
        * include/c/std_csetjmp.h: To...
        * include/c/std_csignal.h: To...
        * include/c/std_cstdarg.h: To...
        * include/c/std_cstddef.h: To...
        * include/c/std_cstdio.h: To...
        * include/c/std_cstdlib.h: To...
        * include/c/std_cstring.h: To...
        * include/c/std_ctime.h: To...
        * include/c/std_cwchar.h: To...
        * include/c/std_cwctype.h: To...
        * include/c/cassert: ...this.
        * include/c/cctype: ...this.
        * include/c/cerrno: ...this.
        * include/c/cfloat: ...this.
        * include/c/ciso646: ...this.
        * include/c/climits: ...this.
        * include/c/clocale: ...this.
        * include/c/cmath: ...this.
        * include/c/csetjmp: ...this.
        * include/c/csignal: ...this.
        * include/c/cstdarg: ...this.
        * include/c/cstddef: ...this.
        * include/c/cstdio: ...this.
        * include/c/cstdlib: ...this.
        * include/c/cstring: ...this.
        * include/c/ctime: ...this.
        * include/c/cwchar: ...this.
        * include/c/cwctype: ...this.

From-SVN: r119611

17 years agore PR fortran/29711 ([4.2 only] error_print does not support %N$X)
Tobias Burnus [Thu, 7 Dec 2006 09:15:41 +0000 (10:15 +0100)]
re PR fortran/29711 ([4.2 only] error_print does not support %N$X)

2006-12-06  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29711
       * error.c (error_print): Fix handling of printf-style position specifiers
         of the form "%3$d"

From-SVN: r119609

17 years agoDaily bump.
GCC Administrator [Thu, 7 Dec 2006 00:17:56 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r119606

17 years agore PR c++/29730 (ICE on invalid declaration of template member)
Mark Mitchell [Wed, 6 Dec 2006 22:54:51 +0000 (22:54 +0000)]
re PR c++/29730 (ICE on invalid declaration of template member)

PR c++/29730
* parser.c (cp_parser_init_declarator): Reject initialization of
functions.
PR c++/29730
* g++.dg/template/crash64.C: New test.
* g++.dg/parse/crash27.C: Adjust error markers.

From-SVN: r119601

17 years agopa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR not GIMPLE_MODIFY_STMT.
Aldy Hernandez [Wed, 6 Dec 2006 22:08:49 +0000 (22:08 +0000)]
pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR not GIMPLE_MODIFY_STMT.

PR/30079
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR
not GIMPLE_MODIFY_STMT.

From-SVN: r119600

17 years agore PR libfortran/29810 (Unsatisfied symbol "fmodl" in libgfortran shared library)
Francois-Xavier Coudert [Wed, 6 Dec 2006 21:49:55 +0000 (22:49 +0100)]
re PR libfortran/29810 (Unsatisfied symbol "fmodl" in libgfortran shared library)

PR libfortran/29810
* intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions.
* c99_protos.h (fmodf, fmodl, floorl): New prototypes.
* configure.ac: Check for fmodf, fmod and fmodl.
* configure: Regenerate.
* config.h.in: Regenerate.

From-SVN: r119599

17 years agore PR libfortran/30009 ([4.1 only] Unformatted reads exceeding storage units gives...
Thomas Koenig [Wed, 6 Dec 2006 19:25:44 +0000 (19:25 +0000)]
re PR libfortran/30009 ([4.1 only] Unformatted reads exceeding storage units gives EOF instead of ERR)

2006-12-06  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/30009
PR libfortran/30056
* gfortran.dg/read_eof_4.f90:  Add tests.
* gfortran.dg/readwrite_unf_direct_eor_1.f90:  New test.
* gfortran.dg/unf_read_corrupted_1.f90: New test.

2006-12-06  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/30009
PR libfortran/30056
* libgfortran.h:  Add ERROR_CORRUPT_FILE to error_codes.
* runtime/error.c (translate_error):  Add handling for
ERROR_CORRUPT_FILE.
* io/transfer.c (read_block_direct):  Add comment about
EOR for stream files.
Remove test for no bytes left for direct access files.
Generate an ERROR_SHORT_RECORD if the read was short.
For unformatted sequential files:  Check endfile condition.
Remove test for no bytes left.  End of file here means
that the file structure has been corrupted.  Pre-position
the file for the next record in case of error.
(write_buf):  Whitespace fix.  Subtract the number of bytes
written from bytes_left.

From-SVN: r119592

17 years ago* ansidecl.h (ATTRIBUTE_PACKED): Define.
Nick Clifton [Wed, 6 Dec 2006 18:08:51 +0000 (18:08 +0000)]
* ansidecl.h (ATTRIBUTE_PACKED): Define.

From-SVN: r119587

17 years agotree-vrp.c (operand_less_p): New.
Jan Hubicka [Wed, 6 Dec 2006 16:32:17 +0000 (17:32 +0100)]
tree-vrp.c (operand_less_p): New.

* tree-vrp.c (operand_less_p): New.
(compare_values, value_inside_range): Rewrite in terms of
operand_less_p.

From-SVN: r119583

17 years agoi386.md (DIRFLAG_REG): Remove constant.
Uros Bizjak [Wed, 6 Dec 2006 14:56:10 +0000 (15:56 +0100)]
i386.md (DIRFLAG_REG): Remove constant.

* config/i386/i386.md (DIRFLAG_REG): Remove constant.
(type): Remove cld.
(length_immediate): Do not depend on cld type attribute.
(length_address): Ditto.
(modrm): Ditto.
(memory): Ditto.
(cld): Remove insn pattern.
(strmov_singleop): Do not use DIRFLAG_REG.
(*strmovdi_rex_1): Ditto.
(*strmovsi_1): Ditto.
(*strmovsi_rex_1): Ditto.
(*strmovhi_1): Ditto.
(*strmovhi_rex_1): Ditto.
(*strmovqi_1): Ditto.
(*strmovqi_rex_1): Ditto.
(rep_mov): Ditto.
(*rep_movdi_rex64): Ditto.
(*rep_movsi): Ditto.
(*rep_movsi_rex64): Ditto.
(*rep_movqi): Ditto.
(*rep_movqi_rex64): Ditto.
(strset_singleop): Ditto.
(*strsetdi_rex_1): Ditto.
(*strsetsi_1): Ditto.
(*strsetsi_rex_1): Ditto.
(*strsethi_1): Ditto.
(*strsethi_rex_1): Ditto.
(*strsetqi_1): Ditto.
(*strsetqi_rex_1): Ditto.
(rep_stos): Ditto.
(*rep_stosdi_rex64): Ditto.
(*rep_stossi): Ditto.
(*rep_stossi_rex64): Ditto.
(*rep_stosqi): Ditto.
(*rep_stosqi_rex64): Ditto.
(cmpstrnsi): Do not generate cld insn.
(cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
(*cmpstrnqi_nz_1): Ditto.
(*cmpstrnqi_nz_rex_1): Ditto.
(cmpstrnqi_1): Ditto.
(*cmpstrnqi_1): Ditto.
(*cmpstrnqi_rex_1): Ditto.
(strlenqi_1): Ditto.
(*strlenqi_1): Ditto.
(*strlenqi_rex_1): Ditto.

* config/i386/geode.md (shift): Do not depend on cld type attribute.
* config/i386/pentium.md (pent_cld): Remove insn reservation.
* config/i386/athlon.md (athlon_decode): Do not depend on cld
type attribute.
* config/i386/ppro.md (ppro_cld): Remove insn reservation.
* config/i386/k6.md (k6_alux_only): Do not depend on cld type
attribute.
(k6_alux_only_load): Ditto.
(k6_alux_only_store): Ditto.

* config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
Do not emit cld instruction.
(ix86_expand_setmem): Ditto.
(ix86_expand_strlen): Do not emit cld instruction.

From-SVN: r119581

17 years agobfin.c (bfin_rtx_costs): Add a number of new cases, tweak old ones.
Bernd Schmidt [Wed, 6 Dec 2006 12:45:36 +0000 (12:45 +0000)]
bfin.c (bfin_rtx_costs): Add a number of new cases, tweak old ones.

* config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
old ones.

From-SVN: r119579

17 years agogdbinit.in: Set complaints to 0.
Diego Novillo [Wed, 6 Dec 2006 11:24:41 +0000 (11:24 +0000)]
gdbinit.in: Set complaints to 0.

* gdbinit.in: Set complaints to 0.

From-SVN: r119578

17 years agoChangeLog: Use tabs instead of spaces.
Uros Bizjak [Wed, 6 Dec 2006 07:14:23 +0000 (08:14 +0100)]
ChangeLog: Use tabs instead of spaces.

* ChangeLog: Use tabs instead of spaces.

From-SVN: r119576

17 years agore PR c++/29729 (ICE with template class in template function)
Mark Mitchell [Wed, 6 Dec 2006 05:12:46 +0000 (05:12 +0000)]
re PR c++/29729 (ICE with template class in template function)

PR c++/29729
* decl2.c (check_member_template): Move check for member
templates in local classes to ...
* parser.c (cp_parser_template_declaration_after_export):
... here.
PR c++/29729
* g++.dg/template/crash63.C: New test.

From-SVN: r119575

17 years agostatistics.h (ALONE_PASS_MEM_STAT, [...]): New macros.
Jan Hubicka [Wed, 6 Dec 2006 01:37:38 +0000 (02:37 +0100)]
statistics.h (ALONE_PASS_MEM_STAT, [...]): New macros.

* statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
ALONE_MEM_STAT_DECL): New macros.
* bitmap.h: Include statistics.h
(struct bitmap_head_def): Add variant with pointer to bitmap descriptor.
(bitmap_initialize_stat): Rename from bitmap_initialize; add statistics.
(bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare.
* bitmap.c: Include hashtab.h
(bitmap_descriptor): New.
(bitmap_hash): New static variable
(hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead):
New static functions.
(bitmap_register): New.
(bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from,
bitmap_obstack_release): Do accounting.
(bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do
accounting.
(bitmap_gc_alloc_stat): Likewise.
(bitmap_obstack_free, bitmap_find_bit): Do statictics.
(print_statistics, dump_bitmap_statistics): New functions.
* toplev.c (finalize): Dump bitmap statistics.

From-SVN: r119573

17 years agoreload1.c (delete_output_reload): Count occurrences in CALL_INSN_FUNCTION_USAGE.
Bernd Schmidt [Wed, 6 Dec 2006 00:25:29 +0000 (00:25 +0000)]
reload1.c (delete_output_reload): Count occurrences in CALL_INSN_FUNCTION_USAGE.

* reload1.c (delete_output_reload): Count occurrences in
CALL_INSN_FUNCTION_USAGE.
* rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without
crashing at the end of the list.

From-SVN: r119571

17 years agoDaily bump.
GCC Administrator [Wed, 6 Dec 2006 00:17:45 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r119569

17 years agoMissed commit
Daniel Berlin [Tue, 5 Dec 2006 23:51:59 +0000 (23:51 +0000)]
Missed commit

From-SVN: r119564

17 years agotree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
Daniel Berlin [Tue, 5 Dec 2006 23:46:28 +0000 (23:46 +0000)]
tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.

2006-12-05  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
Optimize to avoid marking more SMT's as used when they aren't.

From-SVN: r119562

17 years agolocalefwd.h: Consistent @file placement...
Benjamin Kosnik [Tue, 5 Dec 2006 23:24:07 +0000 (23:24 +0000)]
localefwd.h: Consistent @file placement...

2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/localefwd.h: Consistent @file placement, use
        include/ as part of the path for files that have shadows instead of no
        name.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/postypes.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config: Same.
* include/bits/valarray_array.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/c/std_cerrno.h: Same.
* include/precompiled/extc++.h: Same.
* include/precompiled/stdtr1c++.h: Same.
* include/precompiled/stdc++.h: Same.
* include/tr1/cinttypes: Same.
* include/tr1/fenv.h: Same.
* include/tr1/mu_iterate.h: Same.
* include/tr1/cstdio: Same.
* include/tr1/limits.h: Same.
* include/tr1/ctgmath: Same.
* include/tr1/cstdarg: Same.
* include/tr1/tuple: Same.
* include/tr1/float.h: Same.
* include/tr1/stdint.h: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cfenv: Same.
* include/tr1/wctype.h: Same.
* include/tr1/ref_fwd.h: Same.
* include/tr1/bind_repeat.h: Same.
* include/tr1/utility: Same.
* include/tr1/climits: Same.
* include/tr1/type_traits: Same.
* include/tr1/stdlib.h: Same.
* include/tr1/cwchar: Same.
* include/tr1/stdio.h: Same.
* include/tr1/ref_wrap_iterate.h: Same.
* include/tr1/cstdint: Same.
* include/tr1/memory: Same.
* include/tr1/cstdbool: Same.
* include/tr1/cwctype: Same.
* include/tr1/bind_iterate.h: Same.
* include/tr1/math.h: Same.
* include/tr1/random: Same.
* include/tr1/tuple_defs.h: Same.
* include/tr1/cstdlib: Same.
* include/tr1/unordered_map: Same.
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/cctype: Same.
* include/tr1/random.tcc: Same.
* include/tr1/wchar.h: Same.
* include/tr1/hashtable: Same.
* include/tr1/cmath: Same.
* include/tr1/stdbool.h: Same.
* include/tr1/ctime: Same.
* include/tr1/functional: Same.
* include/tr1/unordered_set: Same.
* include/tr1/inttypes.h: Same.
* include/tr1/functional_iterate.h: Same.
* include/tr1/repeat.h: Same.
* include/tr1/complex: Same.
* include/tr1/cfloat: Same.
* include/tr1/ctype.h: Same.
* include/tr1/stdarg.h: Same.
* include/tr1/tgmath.h: Same.
* include/tr1/array: Same.
* include/tr1/common.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_queue.h: Same.
* include/std/std_algorithm.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_ios.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_set.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_functional.h: Same.
* include/std/std_numeric.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_utility.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_string.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cerrno.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_climits.h: Same.
* include/c_std/std_cassert.h: Same.
* include/c_std/cmath.tcc
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cfloat.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.

* config/locale/gnu/c_locale.h: Namespace scope in all files.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/c++locale_internal.h: Same.
* config/locale/gnu/time_members.h: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/ieee_1003.1-2001/messages_members.h: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/messages_members.h: Same.
* config/locale/generic/time_members.h: Same.
* config/allocator/mt_allocator_base.h: Same.
* config/allocator/malloc_allocator_base.h: Same.
* config/allocator/new_allocator_base.h: Same.
* config/allocator/pool_allocator_base.h: Same.
* config/allocator/bitmap_allocator_base.h: Same.
* config/os/windiss/ctype_noninline.h: Same.
* config/os/windiss/os_defines.h: Same.
* config/os/windiss/ctype_inline.h: Same.
* config/os/newlib/ctype_noninline.h: Same.
* config/os/newlib/os_defines.h: Same.
* config/os/newlib/ctype_inline.h: Same.
* config/os/aix/ctype_noninline.h: Same.
* config/os/aix/os_defines.h: Same.
* config/os/aix/ctype_inline.h: Same.
* config/os/vxworks/ctype_noninline.h: Same.
* config/os/vxworks/os_defines.h: Same.
* config/os/vxworks/ctype_inline.h: Same.
* config/os/hpux/ctype_noninline.h: Same.
* config/os/hpux/os_defines.h: Same.
* config/os/hpux/ctype_inline.h: Same.
* config/os/mingw32/ctype_noninline.h: Same.
* config/os/mingw32/os_defines.h: Same.
* config/os/mingw32/ctype_inline.h: Same.
* config/os/gnu-linux/ctype_noninline.h: Same.
* config/os/gnu-linux/os_defines.h: Same.
* config/os/gnu-linux/ctype_inline.h: Same.
* config/os/tpf/ctype_noninline.h: Same.
* config/os/tpf/os_defines.h: Same.
* config/os/tpf/ctype_inline.h: Same.
* config/os/uclibc/ctype_noninline.h: Same.
* config/os/uclibc/os_defines.h: Same.
* config/os/uclibc/ctype_inline.h: Same.
* config/os/djgpp/ctype_noninline.h: Same.
* config/os/djgpp/os_defines.h: Same.
* config/os/djgpp/ctype_inline.h: Same.
* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
* config/os/qnx/qnx6.1/ctype_inline.h: Same.
* config/os/bsd/netbsd/ctype_noninline.h: Same.
* config/os/bsd/netbsd/ctype_inline.h: Same.
* config/os/bsd/darwin/ctype_noninline.h: Same.
* config/os/bsd/darwin/ctype_inline.h: Same.
* config/os/bsd/freebsd/ctype_noninline.h: Same.
* config/os/bsd/freebsd/ctype_inline.h: Same.
* config/os/irix/irix5.2/ctype_noninline.h: Same.
* config/os/irix/irix5.2/ctype_inline.h: Same.
* config/os/irix/irix6.5/ctype_noninline.h: Same.
* config/os/irix/irix6.5/ctype_inline.h: Same.
* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
* config/os/solaris/solaris2.5/ctype_inline.h: Same.
* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
* config/os/solaris/solaris2.6/ctype_inline.h: Same.
* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
* config/os/solaris/solaris2.7/ctype_inline.h: Same.
* config/os/generic/ctype_noninline.h: Same.
* config/os/generic/os_defines.h: Same.
* config/os/generic/ctype_inline.h: Same.
* config/cpu/arm/cxxabi_tweaks.h: Same.
* config/cpu/powerpc/cpu_defines.h: Same.
* config/cpu/generic/cxxabi_tweaks.h: Same.
* config/cpu/generic/cpu_defines.h: Same.
* config/cpu/generic/atomic_word.h: Same.
* config/io/c_io_stdio.h: Same.
* config/abi/compatibility.h: Same.

* docs/doxygen/user.cfg.in: Adjust file list.

From-SVN: r119561

17 years agoi386.c (x86_output_aligned_bss): Move out of COMMON_ASM_OP ifdef.
Eric Christopher [Tue, 5 Dec 2006 22:35:13 +0000 (22:35 +0000)]
i386.c (x86_output_aligned_bss): Move out of COMMON_ASM_OP ifdef.

2006-12-05  Eric Christopher  <echristo@apple.com>

* config/i386/i386.c (x86_output_aligned_bss): Move out
of COMMON_ASM_OP ifdef.

From-SVN: r119560

17 years agore PR c++/29728 (ICE on invalid initializer in template function)
Mark Mitchell [Tue, 5 Dec 2006 21:33:20 +0000 (21:33 +0000)]
re PR c++/29728 (ICE on invalid initializer in template function)

PR c++/29728
* decl.c (check_array_designated_initializer): New function.
(maybe_deduce_size_from_array_init): Use it.
(reshape_init_array): Likewise.
PR c++/29728
* g++.dg/template/crash62.C: New test.

From-SVN: r119558

17 years agore PR fortran/30003 ([4.1 only] Expressions with side effects in array references)
Paul Thomas [Tue, 5 Dec 2006 19:45:25 +0000 (19:45 +0000)]
re PR fortran/30003 ([4.1 only] Expressions with side effects in array references)

2006-12-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30003
* trans-array.c (gfc_trans_create_temp_array): Set the section
ends to zero.
(gfc_conv_array_transpose): Likewise.
(gfc_conv_section_startstride): Declare an expression for end,
set it from a the array reference and evaluate it for the info
structure. Zero the ends in the ss structure and set end, used
in the bounds check, from the info structure.
trans.h: Add and end array to the gfc_ss_info structure.

2006-12-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30003
* gfortran.dg/allocatable_function_1.f90: Increase the number
of expected calls of free to 10; the lhs section reference is
now evaluated so there is another call to bar.  Change the
comment appropriately.
* gfortran.dg/array_section_1.f90: New test.

From-SVN: r119556

17 years agodarwin.h (DARWIN_EXTRA_SPECS): New.
Eric Christopher [Tue, 5 Dec 2006 19:40:54 +0000 (19:40 +0000)]
darwin.h (DARWIN_EXTRA_SPECS): New.

2006-12-05  Eric Christopher  <echristo@apple.com>

        * config/darwin.h (DARWIN_EXTRA_SPECS): New.
        (STARTFILE_SPEC): Use.
        (DARWIN_DYLIB1_SPEC): New.
        (DARWIN_CRT1_SPEC): New.
        * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use
        DARWIN_EXTRA_SPECS.
        * config/i386/darwin.h: Ditto.
        * config/rs6000/darwin.h: Ditto.

From-SVN: r119555

17 years agore PR fortran/29912 ([4.1 only] Gfortran: string array functions behaving incorrectly...)
Paul Thomas [Tue, 5 Dec 2006 19:32:59 +0000 (19:32 +0000)]
re PR fortran/29912 ([4.1 only] Gfortran: string array functions behaving incorrectly...)

2006-12-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29912
* trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the
lhs and rhs character lengths are not constant and equal for
character array valued functions.

2006-12-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29912
* gfortran.dg/char_result_12.f90: New test.

From-SVN: r119554

17 years agoCommit missing changelog entry
Daniel Berlin [Tue, 5 Dec 2006 19:31:51 +0000 (19:31 +0000)]
Commit missing changelog entry

From-SVN: r119553

17 years agoDR 543, [Ready].
Paolo Carlini [Tue, 5 Dec 2006 19:25:48 +0000 (19:25 +0000)]
DR 543, [Ready].

2006-12-05  Paolo Carlini  <pcarlini@suse.de>

DR 543, [Ready].
* include/bits/slice_array.h (slice::slice()): Implement the
resolution.
* include/bits/gslice.h (gslice::_Indexer::_Indexer()): Add.
(gslice::gslice()): Use it.
* testsuite/26_numerics/valarray/dr543.cc: New.
* docs/html/ext/howto.html: Add an entry for DR 543.

From-SVN: r119552

17 years ago* doc/include/texinfo.tex: Update to version 2006-11-08.17.
Brooks Moses [Tue, 5 Dec 2006 18:50:57 +0000 (18:50 +0000)]
* doc/include/texinfo.tex: Update to version 2006-11-08.17.

From-SVN: r119551

17 years agotree-vrp.c (pass_vrp): Remove PROP_smt_usage.
Daniel Berlin [Tue, 5 Dec 2006 18:39:13 +0000 (18:39 +0000)]
tree-vrp.c (pass_vrp): Remove PROP_smt_usage.

2006-12-05  Daniel Berlin  <dberlin@dberlin.org>

* tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
* tree-complex.c (pass_lower_complex): Ditto.
* tree-ssa-ccp.c (pass_ccp): Ditto.
(pass_store_ccp): Ditto.
* tree-ssa-dom.c (pass_dominator): Ditto.
(pass_phi_only_cprop): Ditto.
* tree-sra.c (pass_sra): Ditto.
* tree-ssa-forwprop.c (pass_forwprop): Ditto.
* tree-flow.h (updating_used_alone): Remove.
(updating_used_alone): Ditto.
* tree-ssa-alias.c (updating_used_alone): Remove variable.
(lhs_may_store_to): Remove function.
(recalculate_used_alone): Ditto.
(compute_may_aliases): Remove used_alone calculation.
* tree.h (struct tree_memory_tag): Remove is_used_alone and
old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE.
* tree-pass.h (PROP_smt_usage): Remove.
* passes.c (execute_todo): Remove used alone recalculation.
(execute_one_pass): Ditto.
* tree-ssa-operands.c (add_virtual_operand): Remove used_alone
stuff.

From-SVN: r119550

17 years agore PR tree-optimization/14784 ([Tree-ssa] alias analysis deficiency)
Zdenek Dvorak [Tue, 5 Dec 2006 18:26:20 +0000 (19:26 +0100)]
re PR tree-optimization/14784 ([Tree-ssa] alias analysis deficiency)

PR tree-optimization/14784
* tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix.

From-SVN: r119549

17 years agoRevert accidental change.
Aldy Hernandez [Tue, 5 Dec 2006 17:53:35 +0000 (17:53 +0000)]
Revert accidental change.

From-SVN: r119547

17 years agoMerge gimple-tuples-branch into mainline.
Aldy Hernandez [Tue, 5 Dec 2006 17:26:05 +0000 (17:26 +0000)]
Merge gimple-tuples-branch into mainline.

From-SVN: r119546

17 years agoconfig.host: Remove extra blank line.
H.J. Lu [Tue, 5 Dec 2006 16:04:35 +0000 (16:04 +0000)]
config.host: Remove extra blank line.

2006-12-05  H.J. Lu  <hongjiu.lu@intel.com>

* config.host: Remove extra blank line.

From-SVN: r119544

17 years agoconfig.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if target is also...
Bernd Schmidt [Tue, 5 Dec 2006 15:45:51 +0000 (15:45 +0000)]
config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if target is also an x86 variant.

* config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if
target is also an x86 variant.

From-SVN: r119543

17 years agoi386.c (ix86_builtin_vectorized_function): Declare.
Richard Guenther [Tue, 5 Dec 2006 15:42:54 +0000 (15:42 +0000)]
i386.c (ix86_builtin_vectorized_function): Declare.

2006-12-05  Richard Guenther  <rguenther@suse.de>

* config/i386/i386.c (ix86_builtin_vectorized_function): Declare.
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define.
(ix86_builtin_vectorized_function): New function to vectorize
sqrt.

* gcc.dg/vect/vect.exp: Add support for -fno-math-errno tests.
* gcc.dg/vect/vect-pow-2.c: Rename to ...
* gcc.dg/vect/no-math-errno-vect-pow-1.c: ... this.  Require
vect_double, xfail for spu*-*-*.

From-SVN: r119542

17 years agotuple: Consistent include guards.
Benjamin Kosnik [Tue, 5 Dec 2006 10:57:09 +0000 (10:57 +0000)]
tuple: Consistent include guards.

2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

* include/tr1/tuple: Consistent include guards.
* include/tr1/type_traits: Same.
* include/tr1/array: Same.

From-SVN: r119539

17 years agobfin.c (output_file_start): Fix comment which referred to ia64_override_options.
Bernd Schmidt [Tue, 5 Dec 2006 10:35:36 +0000 (10:35 +0000)]
bfin.c (output_file_start): Fix comment which referred to ia64_override_options.

* config/bfin/bfin.c (output_file_start): Fix comment which referred to
ia64_override_options.

From-SVN: r119536

17 years agocfgexpand.c (expand_one_var): Guard expand_one_stack_var by really_expand.
Jan Hubicka [Tue, 5 Dec 2006 10:15:28 +0000 (11:15 +0100)]
cfgexpand.c (expand_one_var): Guard expand_one_stack_var by really_expand.

* cfgexpand.c (expand_one_var): Guard expand_one_stack_var by
really_expand.

From-SVN: r119535

17 years agortlanal.c (note_uses): Deal with SEQUENCEs.
Bernd Schmidt [Tue, 5 Dec 2006 08:49:56 +0000 (08:49 +0000)]
rtlanal.c (note_uses): Deal with SEQUENCEs.

* rtlanal.c (note_uses): Deal with SEQUENCEs.
* config/bfin/bfin.c: Include "timevar.h".
(bfin_flag_schedule_insns2, splitting_for_sched,
bfin_flag_var_tracking): New variables.
(print_operand): Handle '%!'.
(override_options): Disable normal sched2 pass, instead set
bfin_flag_schedule_insns2 for reorg to handle it.
(output_file_start): Likewise for var-tracking.
(bfin_optimize_loop): Take some care not to stumble over SEQUENCEs.
(gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p):
New functions.
(bfin_reorg): Do second scheduling pass here, and call
bfin_gen_bundles.  Use type_for_anomaly and trapping_loads_p instead
of examining insns directly.  If bfin_flag_var_tracking, call
var-tracking pass when done with everything else.
* config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid.
* config/bfin/bfin.md (UNSPEC_32BIT): New constant.
(movsi_insn32): New pattern, with two new splits to create it
before the final scheduling pass.
(neghi2): Not a dsp32 insn, rather alu0.
(movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn,
movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2,
extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2,
mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2,
ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2,
movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low,
movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi,
ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3,
addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3,
subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3,
addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3,
flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi,
flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3,
flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts,
flag_macv2hi_parts_acconly, flag_macinitv2hi_parts,
flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl,
mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3,
lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store
variants instead of ';'.
(ror_one, rol_one): Likewise.  Make them dsp32 insns.
(ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants.
(align8, align16, align24): Now named patterns; also using '%!'.
(mnop): New insn.

From-SVN: r119534

17 years agodarwin.h, [...]: Fix comment typos.
Kazu Hirata [Tue, 5 Dec 2006 08:27:27 +0000 (08:27 +0000)]
darwin.h, [...]: Fix comment typos.

* config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c,
tree-vect-generic.c, tree-vect-transform.c: Fix comment typos.

From-SVN: r119533

17 years agospu-protos.c (spu_split_address): Add.
Trevor Smigiel [Tue, 5 Dec 2006 03:55:38 +0000 (03:55 +0000)]
spu-protos.c (spu_split_address): Add.

* config/spu/spu-protos.c (spu_split_address): Add.
* config/spu/spu.c (spu_split_address): Add.
(print_operand): Handle HIGH.
(spu_legitimate_address):  Don't test for aligned CONST.
(spu_expand_mov):  Don't split addresses here.
* config/spu/constraints.md (A): Don't test legitimate_const.
* config/spu/spu.md: Add split of movsi patterns for PIC mode.
(ceq_di): Use correct predicates.

From-SVN: r119532

17 years agodarwin.h: Update copyright notice.
Eric Christopher [Tue, 5 Dec 2006 02:23:18 +0000 (02:23 +0000)]
darwin.h: Update copyright notice.

2006-12-04  Eric Christopher  <echristo@apple.com>

        * config/darwin.h: Update copyright notice.
        * config/i386/darwin.h: Ditto.

From-SVN: r119531

17 years agore PR libfortran/30005 (Open errors (not/already exists etc.): show also the file...
Jerry DeLisle [Tue, 5 Dec 2006 00:51:26 +0000 (00:51 +0000)]
re PR libfortran/30005 (Open errors (not/already exists etc.): show also the file name)

2006-12-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/30005
* io/open.c: Add errno.h include.
(new_unit): Add new error messages with file name for file open.

From-SVN: r119530

17 years agotree-ssa-alias.c (compute_flow_sensitive_aliasing): Call set_used_smts.
Daniel Berlin [Tue, 5 Dec 2006 00:44:24 +0000 (00:44 +0000)]
tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call set_used_smts.

2006-12-04  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call
set_used_smts.
* tree-ssa-structalias.c (set_used_smts): Export.
(find_what_p_points_to): Don't call set_used_smts here.
* tree-ssa-structalias.h (set_used_smts): Add prototype.

From-SVN: r119528

17 years agoDaily bump.
GCC Administrator [Tue, 5 Dec 2006 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r119524

17 years agocp-objcp-common.c (cp_expr_size): Return NULL in the case size is undefined.
Jan Hubicka [Mon, 4 Dec 2006 22:51:42 +0000 (23:51 +0100)]
cp-objcp-common.c (cp_expr_size): Return NULL in the case size is undefined.

* cp-objcp-common.c (cp_expr_size): Return NULL in the case
size is undefined.

* builtins.c (fold_builtin_memory_op): Check that expr_size match.
* explow.c (expr_size, int_expr_size): Assert that size is non_NULL.

From-SVN: r119515

17 years agoMAINTAINERS (Non-Algorithmic Maintainers): New section.
Richard Guenther [Mon, 4 Dec 2006 22:29:46 +0000 (22:29 +0000)]
MAINTAINERS (Non-Algorithmic Maintainers): New section.

2006-12-04  Richard Guenther  <rguenther@suse.de>

* MAINTAINERS (Non-Algorithmic Maintainers): New section.
(Non-Algorithmic Maintainers): Move over non-algorithmic
loop optimizer maintainers, add myself as a non-algorithmic
middle-end maintainer.

From-SVN: r119514

17 years agore PR libgomp/29949 (implement argument checking for user accessable runtime routines)
Daniel Franke [Mon, 4 Dec 2006 21:35:19 +0000 (16:35 -0500)]
re PR libgomp/29949 (implement argument checking for user accessable runtime routines)

PR libgomp/29949
* env.c (omp_set_num_threads): Set illegal thread count to 1.

From-SVN: r119511

17 years agoPR libstdc++/29989 (again)
Paolo Carlini [Mon, 4 Dec 2006 21:11:52 +0000 (21:11 +0000)]
PR libstdc++/29989 (again)

2006-12-04  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/29989 (again)
* include/bits/c++config: #undef min and max.
* testsuite/18_support/numeric_limits/29989.cc: New.

From-SVN: r119510

17 years agoMAINTAINERS (Write After Approval): Add myself.
Daniel Franke [Mon, 4 Dec 2006 20:45:41 +0000 (15:45 -0500)]
MAINTAINERS (Write After Approval): Add myself.

2006-12-04  Daniel Franke  <franke.daniel@gmail.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r119509