gcc.git
17 years agoconfigure.in: Update error message for missing GMP/MPFR.
Kaveh R. Ghazi [Sun, 3 Dec 2006 14:37:06 +0000 (14:37 +0000)]
configure.in: Update error message for missing GMP/MPFR.

* configure.in: Update error message for missing GMP/MPFR.

* configure: Regenerate.

From-SVN: r119465

17 years agore PR fortran/29642 (Fortran 2003: VALUE Attribute (call by value not call by referen...
Paul Thomas [Sun, 3 Dec 2006 07:18:22 +0000 (07:18 +0000)]
re PR fortran/29642 (Fortran 2003: VALUE Attribute (call by value not call by reference for actual arguments))

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

PR fortran/29642
* trans-expr.c (gfc_conv_variable): A character expression with
the VALUE attribute needs an address expression; otherwise all
other expressions with this attribute must not be dereferenced.
(gfc_conv_function_call): Pass expressions with the VALUE
attribute by value, using gfc_conv_expr.
* symbol.c (check_conflict): Add strings for INTENT OUT, INOUT
and VALUE.  Apply all the constraints associated with the VALUE
attribute.
(gfc_add_value): New function.
(gfc_copy_attr): Call it for VALUE attribute.
* decl.c (match_attr_spec): Include the VALUE attribute.
(gfc_match_value): New function.
* dump-parse-tree.c (gfc_show_attr): Include VALUE.
* gfortran.h : Add value to the symbol_attribute structure and
add a prototype for gfc_add_value
* module.c (mio_internal_string): Include AB_VALUE in enum.
(attr_bits): Provide the VALUE string for it.
(mio_symbol_attribute): Read or apply the VLUE attribute.
* trans-types.c (gfc_sym_type): Variables with the VLAUE
attribute are not passed by reference!
* resolve.c (was_declared): Add value to those that return 1.
(resolve_symbol): Value attribute requires dummy attribute.
* match.h : Add prototype for gfc_match_public.
* parse.c (decode_statement): Try to match a VALUE statement.

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

PR fortran/29642
* gfortran.dg/value_1.f90 : New test.
* gfortran.dg/value_2.f90 : New test.
* gfortran.dg/value_3.f90 : New test.
* gfortran.dg/value_4.f90 : New test.
* gfortran.dg/value_4.c : Called from value_4.f90.

From-SVN: r119461

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

From-SVN: r119459

17 years agore PR target/30040 (-mtune=native is wrong for Core 2 Duo and Core Duo)
H.J. Lu [Sat, 2 Dec 2006 22:18:25 +0000 (22:18 +0000)]
re PR target/30040 (-mtune=native is wrong for Core 2 Duo and Core Duo)

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

PR target/30040
* config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
(bit_SSSE3): New.
(host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
processor detection.

* config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
-march=native if there is no -mtune=*.

* config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
coretypes.h.

From-SVN: r119454

17 years agoconfigure.tgt: Force initial-exec TLS model on Linux only.
Eric Botcazou [Sat, 2 Dec 2006 20:01:34 +0000 (21:01 +0100)]
configure.tgt: Force initial-exec TLS model on Linux only.

* configure.tgt: Force initial-exec TLS model on Linux only.

From-SVN: r119452

17 years agoacinclude.m4: Allow OPTIMIZE_CXXFLAGS to be set by configure.host.
Howard Hinnant [Sat, 2 Dec 2006 17:06:57 +0000 (17:06 +0000)]
acinclude.m4: Allow OPTIMIZE_CXXFLAGS to be set by configure.host.

2006-12-02  Howard Hinnant  <hhinnant@apple.com>

* acinclude.m4: Allow OPTIMIZE_CXXFLAGS to be set by configure.host.
* configure.host: Set OPTIMIZE_CXXFLAGS to -fvisibility-inlines-hidden
for x86/darwin.
* configure: Regenerate.

From-SVN: r119450

17 years agore PR c++/30033 (ICE on valid with --std=c++0x (static_assert))
Andrew Pinski [Sat, 2 Dec 2006 17:01:04 +0000 (09:01 -0800)]
re PR c++/30033 (ICE on valid with --std=c++0x (static_assert))

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

        PR C++/30033
        * decl.c (cp_tree_node_structure): Handle STATIC_ASSERT.

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

        PR C++/30033
        *  g++.dg/cpp0x/static_assert4.C: New testcase.

From-SVN: r119449

17 years agofix testcase from previous commit
Lee Millward [Sat, 2 Dec 2006 16:54:35 +0000 (16:54 +0000)]
fix testcase from previous commit

From-SVN: r119448

17 years agoconfigure.in: Update MPFR version in error message.
Kaveh R. Ghazi [Sat, 2 Dec 2006 16:52:15 +0000 (16:52 +0000)]
configure.in: Update MPFR version in error message.

* configure.in: Update MPFR version in error message.

* configure: Regenerate.

gcc:
* doc/install.texi: Update recommended MPFR version.  Remove
obsolete reference to cumulative patch.

gcc/testsuite:
* gcc.dg/torture/builtin-sin-mpfr-1.c: Update MPFR comment.

From-SVN: r119447

17 years agore PR c/27953 (ICE with invalid function definitions)
Lee Millward [Sat, 2 Dec 2006 16:34:26 +0000 (16:34 +0000)]
re PR c/27953 (ICE with invalid function definitions)

PR c/27953
* c-decl.c (store_parm_decls_oldstyle): Robustify
        * gcc.dg/pr27953.c: New test.

From-SVN: r119446

17 years agoi386.c (pentium4_cost, [...]): Update 32bit memcpy/memset decriptors.
Jan Hubicka [Sat, 2 Dec 2006 13:16:27 +0000 (14:16 +0100)]
i386.c (pentium4_cost, [...]): Update 32bit memcpy/memset decriptors.

* config/i386/i386.c (pentium4_cost, nocona_cost): Update
32bit memcpy/memset decriptors.
(decide_alg): With -minline-all-stringops and sizes that are best
to be copied via libcall still work hard enough to pick non-libcall
strategy.

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

17 years ago* config/i386/i386.c: Fix a comment typo.
Kazu Hirata [Sat, 2 Dec 2006 02:47:07 +0000 (02:47 +0000)]
* config/i386/i386.c: Fix a comment typo.

From-SVN: r119443

17 years agobuiltins.c, [...]: Fix comment typos.
Kazu Hirata [Sat, 2 Dec 2006 02:26:04 +0000 (02:26 +0000)]
builtins.c, [...]: Fix comment typos.

* builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
config/i386/i386.c, config/i386/i386.h, config/mips/mips.h,
config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c,
config/sh/sh4-300.md, config/spu/spu-builtins.def,
config/spu/spu-c.c, config/spu/spu-modes.def,
config/spu/spu.c, config/spu/spu.md,
config/spu/spu_internals.h, config/spu/vmx2spu.h,
fold-const.c, fwprop.c, predict.c, tree-data-ref.h,
tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c,
tree-vectorizer.c, tree-vrp.c: Fix comment typos.  Follow
spelling conventions.

From-SVN: r119442

17 years ago* doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.
Kazu Hirata [Sat, 2 Dec 2006 02:06:52 +0000 (02:06 +0000)]
* doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.

From-SVN: r119441

17 years ago* name-lookup.c: Follow spelling conventions.
Kazu Hirata [Sat, 2 Dec 2006 01:44:17 +0000 (01:44 +0000)]
* name-lookup.c: Follow spelling conventions.

From-SVN: r119440

17 years agoMakefile.in, [...]: Fix comment typos.
Kazu Hirata [Sat, 2 Dec 2006 01:03:11 +0000 (01:03 +0000)]
Makefile.in, [...]: Fix comment typos.

* Makefile.in, mingw32.h, trans.c: Fix comment typos.
* gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
Fix typos.

From-SVN: r119437

17 years agomt_allocator.h (__pool_base::_M_get_align): Remove redundant const qualifier on the...
Paolo Carlini [Sat, 2 Dec 2006 00:31:34 +0000 (00:31 +0000)]
mt_allocator.h (__pool_base::_M_get_align): Remove redundant const qualifier on the return type.

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

* include/ext/mt_allocator.h (__pool_base::_M_get_align): Remove
redundant const qualifier on the return type.

From-SVN: r119435

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

From-SVN: r119433

17 years agodecl.c (poplevel): Check DECL_INITIAL invariant.
Geoffrey Keating [Fri, 1 Dec 2006 23:01:05 +0000 (23:01 +0000)]
decl.c (poplevel): Check DECL_INITIAL invariant.

* decl.c (poplevel): Check DECL_INITIAL invariant.
(duplicate_decls): Preserve DECL_INITIAL when eliminating
a new definition in favour of an old declaration.
(start_preparsed_function): Define and document value of
DECL_INITIAL before and after routine.
(finish_function): Check DECL_INITIAL invariant.
* parser.c
(cp_parser_function_definition_from_specifiers_and_declarator):
Skip duplicate function definitions.

From-SVN: r119427

17 years agospu.c (spu_immediate): Remove trailing comma.
Trevor Smigiel [Fri, 1 Dec 2006 22:51:06 +0000 (22:51 +0000)]
spu.c (spu_immediate): Remove trailing comma.

* config/spu/spu.c (spu_immediate): Remove trailing comma.
(reloc_diagnostic): Call warning when -mwarn-reloc is specified.
* config/spu/spu.md: (zero_extendhisi2): Expand instead of split for
better optimization.
(floatv4siv4sf2): New.
(fix_truncv4sfv4si2): New.
(floatunsv4siv4sf2): New.
(fixuns_truncv4sfv4si2): New.
(addv16qi3): New.
(subv16qi3): New.
(negv16qi2): New.
(mulv8hi3): New.
(mulsi3): Remove.
(mul<mode>3): New.
(_mulv4si3): New.
(cmp<mode>): Don't accept constant arguments for DI, TI and SF.
* config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with
spu_resolve_overloaded_builtin instead of static inline functions.

From-SVN: r119424

17 years agofold-const.c (fold_binary): Use the precision of the type instead of the size of...
Eric Botcazou [Fri, 1 Dec 2006 22:46:45 +0000 (22:46 +0000)]
fold-const.c (fold_binary): Use the precision of the type instead of the size of its mode to compute the...

* fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the
type instead of the size of its mode to compute the highest and
lowest possible values.  Still check the size of the mode before
flipping the signedness of the comparison.

From-SVN: r119422

17 years agopredicates.md (spu_mov_operand): Add.
Trevor Smigiel [Fri, 1 Dec 2006 22:43:18 +0000 (22:43 +0000)]
predicates.md (spu_mov_operand): Add.

        * config/spu/predicates.md (spu_mov_operand): Add.
        * config/spu/spu.c (spu_expand_extv): Remove unused code.
        (print_operand_address, print_operand): Handle addresses containing AND.
        (spu_split_load, spu_split_store): Use updated movti pattern.
        * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and
        stores in mov patterns for correct operation of reload.
        (lq, lq_<mode>, stq, stq_<mode>): Remove.

From-SVN: r119421

17 years agore PR c++/30022 (ICE on vector operand in division)
Volker Reichelt [Fri, 1 Dec 2006 21:35:25 +0000 (21:35 +0000)]
re PR c++/30022 (ICE on vector operand in division)

PR c++/30022
* typeck.c (type_after_usual_arithmetic_conversions):
Fix assertion for vector types.
(build_binary_op): Use temporary for inner type of vector types.

* g++.dg/ext/vector5.C: New test.

From-SVN: r119416

17 years agore PR c++/30021 (ICE on invalid parameter for main)
Volker Reichelt [Fri, 1 Dec 2006 21:28:35 +0000 (21:28 +0000)]
re PR c++/30021 (ICE on invalid parameter for main)

PR c++/30021
* c-common.c (check_main_parameter_types): Check for error_mark_node.

* g++.dg/other/main1.C: New test.

From-SVN: r119415

17 years agore PR libfortran/29568 (implement unformatted files with subrecords (Intel style))
Thomas Koenig [Fri, 1 Dec 2006 21:04:38 +0000 (21:04 +0000)]
re PR libfortran/29568 (implement unformatted files with subrecords (Intel style))

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

PR libfortran/29568
* gfortran.dg/convert_implied_open.f90:  Change to
new default record length.
* gfortran.dg/unf_short_record_1.f90:  Adapt to
new error message.
* gfortran.dg/unformatted_subrecords_1.f90:  New test.

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

PR libfortran/29568
* gfortran.h (gfc_option_t):  Add max_subrecord_length.
(top level): Define MAX_SUBRECORD_LENGTH.
* lang.opt:  Add option -fmax-subrecord-length=.
* trans-decl.c:  Add new function set_max_subrecord_length.
(gfc_generate_function_code): If we are within the main
program and max_subrecord_length has been set, call
set_max_subrecord_length.
* options.c (gfc_init_options):  Add defaults for
max_subrecord_lenght, convert and record_marker.
(gfc_handle_option):  Add handling for
-fmax_subrecord_length.
* invoke.texi:  Document the new default for
-frecord-marker=<n>.

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

PR libfortran/29568
* libgfortran/libgfortran.h (compile_options_t):  Add
record_marker. (top level):  Define GFC_MAX_SUBRECORD_LENGTH.
* runtime/compile_options.c (set_record_marker):  Change
default to four-byte record marker.
(set_max_subrecord_length):  New function.
* runtime/error.c (translate_error):  Change error message
for short record on unformatted read.
* io/io.h (gfc_unit):  Add recl_subrecord, bytes_left_subrecord
and continued.
* io/file_pos.c (unformatted_backspace):  Change default of record
marker size to four bytes.  Loop over subrecords.
* io/open.c:  Default recl is max_offset.  If
compile_options.max_subrecord_length has been set, set set
u->recl_subrecord to its value, to the maximum value otherwise.
* io/transfer.c (top level):  Add prototypes for us_read, us_write,
next_record_r_unf and next_record_w_unf.
(read_block_direct):  Separate codepaths for unformatted direct
and unformatted sequential.  If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request.  Loop over subrecords.  Set an error if the
user has set a recl and the read was short.
(write_buf):  Separate codepaths for unformatted direct and
unformatted sequential. If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request.  Loop over subrecords.  Set an error if the
user has set a recl and the read was short.
(us_read):  Add parameter continued (to indicate that bytes_left
should not be intialized).  Change default of record marker size
to four bytes. Use subrecord.  If the subrecord length is smaller than
zero, this indicates a continuation.
(us_write):  Add parameter continued (to indicate that the continued
flag should be set).  Use subrecord.
(pre_position):  Use 0 for continued on us_write and us_read calls.
(skip_record):  New function.
(next_record_r_unf):  New function.
(next_record_r):  Use next_record_r_unf.
(write_us_marker):  Default size for record markers is four bytes.
(next_record_w_unf):  New function.
(next_record_w):  Use next_record_w_unf.

From-SVN: r119412

17 years agocommon.opt (ftree-combine-temps): Remove.
Andrew MacLeod [Fri, 1 Dec 2006 19:53:29 +0000 (19:53 +0000)]
common.opt (ftree-combine-temps): Remove.

* common.opt (ftree-combine-temps): Remove.
* tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
(coalesce_ssa_name): Don't check for combine-temps.
(coalesce_vars): Remove.
(check_replaceable): Use num_imm_uses.
(remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't
check for combine-temps.
(rewrite_out_of_ssa): Never create a ref_count in the var_map.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
to register_ssa_partition calls.
* tree-ssa-live.c (register_ssa_partition): Remove prototype.
(init_var_map, delete_var_map): remove refernces to ref_count.
(create_ssa_var_map): Never calculate a ref count.
(type_var_init): Remove.
* tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
(SSA_VAR_MAP_REF_COUNT): Delete.
(create_ssa_var_map): Change Prototype to have no parameters.
(version_ref_count): Delete.
(register_ssa_partition): Remove 'is_use' paramater and don't set the
ref_count vector.
(type_var_num, type_var, type_var_first_partition,
type_var_next_partition, type_var_dump, type_var_delete,
type_var_remove_partition, type_var_find, type_var_compact,
type_var_decompact): Remove.

* gcc.dg/max-1.c: Remove reference to -fno-tree-lrs option.

From-SVN: r119409

17 years agobfin.md (pushsi_insn, popsi_insn): Set correct addrtype attribute.
Bernd Schmidt [Fri, 1 Dec 2006 17:53:42 +0000 (17:53 +0000)]
bfin.md (pushsi_insn, popsi_insn): Set correct addrtype attribute.

* config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
attribute.

From-SVN: r119408

17 years agore PR c++/29433 (using boost::MPL requires lots of memory)
Richard Guenther [Fri, 1 Dec 2006 16:37:38 +0000 (16:37 +0000)]
re PR c++/29433 (using boost::MPL requires lots of memory)

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

PR c++/29433
* dwarf2out.c (struct pubname_struct): Make name const.
(add_pubtype): Do not xstrdup identifiers.

From-SVN: r119404

17 years agore PR c++/29066 (ptrmemfunc_vbit_in_delta is broken)
Ryan Mansfield [Fri, 1 Dec 2006 15:55:11 +0000 (15:55 +0000)]
re PR c++/29066 (ptrmemfunc_vbit_in_delta is broken)

2006-12-01  Ryan Mansfield  <rmansfield@qnx.com>

        PR c++/29066
        * typeck.c (build_binary_op):  Fix pointer to member function
        comparison for ptrmemfunc_vbit_in_delta targets.

2006-12-01  Ryan Mansfield  <rmansfield@qnx.com>

        PR c++/29066
        * g++.dg/expr/pr29066.c: New.

From-SVN: r119403

17 years agobfin.c (bfin_valid_add): Fix the logic that ensures multiword accesses are in range.
Bernd Schmidt [Fri, 1 Dec 2006 15:49:55 +0000 (15:49 +0000)]
bfin.c (bfin_valid_add): Fix the logic that ensures multiword accesses are in range.

* config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
multiword accesses are in range.

From-SVN: r119402

17 years ago[multiple changes]
H.J. Lu [Fri, 1 Dec 2006 14:49:15 +0000 (06:49 -0800)]
[multiple changes]

2006-12-01  Zdenek Dvorak <dvorakz@suse.cz>

PR tree-optimization/29921
* tree-ssa-ccp.c (canonicalize_float_value): New function.
(set_lattice_value): Use canonicalize_float_value.

2006-12-01  H.J. Lu  <hongjiu.lu@intel.com>
    Zdenek Dvorak <dvorakz@suse.cz>

PR tree-optimization/29921
* gcc.dg/pr29921-2.c: New test.

From-SVN: r119401

17 years agospu.c (spu_builtin_range): Move from spu-c.c
Andrew Pinski [Fri, 1 Dec 2006 02:38:47 +0000 (02:38 +0000)]
spu.c (spu_builtin_range): Move from spu-c.c

2006-11-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu.c (spu_builtin_range): Move from spu-c.c
        (TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete.
        (spu_cpu_cpp_builtins): Remove.
        (spu_override_options): Don't set warn_main.
        (spu_force_reg): Move from spu-c.c.
        (spu_check_builtin_parm): Likewise.
        (expand_builtin_args): Likewise.
        (spu_expand_builtin_1): Likewise.
        (spu_expand_builtin): Likewise.
        * config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set
        warn_main and targetm.resolve_overloaded_builtin.
        * config/spu/spu-c.c (spu_builtin_range): Remove.
        (spu_check_builtin_parm): Remove.
        (expand_builtin_args): Remove.
        (spu_expand_builtin_1): Remove.
        (spu_expand_builtin): Remove.
        (spu_cpu_cpp_builtins): Moved from spu.c
        (spu_force_reg): Remove.

From-SVN: r119397

17 years agore PR target/24036 ([e500] ICE in subreg_offset_representable_p, at rtlanal.c:3143)
Joseph Myers [Fri, 1 Dec 2006 02:25:22 +0000 (02:25 +0000)]
re PR target/24036 ([e500] ICE in subreg_offset_representable_p, at rtlanal.c:3143)

2006-12-01  Joseph Myers  <joseph@codesourcery.com>
            David Edelsohn  <edelsohn@gnu.org>

PR target/24036
* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
* defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
HARD_REGNO_NREGS_WITH_PADDING): Define.
* config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
HARD_REGNO_NREGS_WITH_PADDING): Define.
* rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
Use new macros to detect modes with holes; do not look at integer
units.
(subreg_offset_representable_p): Check for and disallow cases
where the modes use different numbers of bits from registers.
* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
constant for soft-float.
(rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
containing doubles.
(rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
in E500 double case.
* config/rs6000/rs6000.md (movtf): Allow soft-float.
(movtf_softfloat): New.

Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r119395

17 years agoi386-cpuid.h (bit_SSE3): New.
H.J. Lu [Fri, 1 Dec 2006 00:29:08 +0000 (00:29 +0000)]
i386-cpuid.h (bit_SSE3): New.

2006-11-30  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/i386-cpuid.h (bit_SSE3): New.
(i386_get_cpuid): New function.
(i386_cpuid_ecx): Likewise.
(i386_cpuid_edx): Likewise.
(i386_cpuid): Updated to call i386_cpuid_edx.

* gcc.target/i386/sse3-addsubpd.c: New file.
* gcc.target/i386/sse3-addsubps.c: Likewise.
* gcc.target/i386/sse3-haddpd.c: Likewise.
* gcc.target/i386/sse3-haddps.c: Likewise.
* gcc.target/i386/sse3-hsubpd.c: Likewise.
* gcc.target/i386/sse3-hsubps.c: Likewise.
* gcc.target/i386/sse3-lddqu.c: Likewise.
* gcc.target/i386/sse3-movddup.c: Likewise.
* gcc.target/i386/sse3-movshdup.c: Likewise.
* gcc.target/i386/sse3-movsldup.c: Likewise.

From-SVN: r119390

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

From-SVN: r119388

17 years agore PR c++/18313 (Missing warning for superfluous const's in return types)
Dirk Mueller [Thu, 30 Nov 2006 23:08:27 +0000 (23:08 +0000)]
re PR c++/18313 (Missing warning for superfluous const's in return types)

2006-12-01  Dirk Mueller  <dmueller@suse.de>

        PR c++/18313
        * decl.c (grokdeclarator): Warn for type qualifiers on return
        type for non-dependent types.
        * pt.c (tsubst_function_type): Warn for type qualifiers on
        return type for dependent types.

        * g++.dg/warn/Wreturn-type-4.C: New testcase.

From-SVN: r119382

17 years agosimplify-rtx.c (simplify_rtx): Use simplify_subreg rather than simplify_gen_subreg.
Richard Sandiford [Thu, 30 Nov 2006 21:54:20 +0000 (21:54 +0000)]
simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than simplify_gen_subreg.

gcc/
* simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than
simplify_gen_subreg.

From-SVN: r119380

17 years agortti.c (get_tinfo_decl): Handle return value from pushdecl_top_level_and_finish.
Geoffrey Keating [Thu, 30 Nov 2006 21:53:57 +0000 (21:53 +0000)]
rtti.c (get_tinfo_decl): Handle return value from pushdecl_top_level_and_finish.

* rtti.c (get_tinfo_decl): Handle return value from
pushdecl_top_level_and_finish.

From-SVN: r119379

17 years agoImplement coalesce list with hash table instead of linked list.
Andrew MacLeod [Thu, 30 Nov 2006 21:36:32 +0000 (21:36 +0000)]
Implement coalesce list with hash table instead of linked list.

* tree-ssa-live.c (create_coalesce_list): Create a hash table.
(COALESCE_HASH_FN): New.  Define hash function.
(partition_pair_map_hash): New.  Hash value for a partition pair.
(partition_pair_map_eq): New.  Equality for hash pairs.
(create_coalesce_list): Create hash table.
(delete_coalesce_list): Free hash table.
(find_partition_pair): Find/create pairs in hash table.
(compare_pairs):  Sort pairs in ascending order now.
(num_coalesce_pairs): New.  Number of pairs in hash table.
(struct partition_pair_iterator): Iterator struct for pair table.
(first_partition_pair): Iterator function for first pair.
(end_partition_pair_p): Iterator function for end of iteration.
(next_partition_pair): Iterator function for next pair.
(FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs.
(sort_coalesce_list): Sort pairs from hash table into an array.
(pop_best_coalesce): Take pairs from the array.
(dump_coalesce_list): Update to use hash table or sorted array.
* tree-ssa-live.h (struct partition_pair_d): Remove next field.
(struct coalesce_list_d): Add hash table related fields.

From-SVN: r119378

17 years agore PR middle-end/30028 (bcopy is wrongly converted to memcpy)
Jan Hubicka [Thu, 30 Nov 2006 19:36:02 +0000 (20:36 +0100)]
re PR middle-end/30028 (bcopy is wrongly converted to memcpy)

PR middle-end/30028
* builtins.c (fold_builtin_memory_op): Fix typo in the check for
memmove/bcopy->memcpy conversion.

From-SVN: r119375

17 years agotm.texi (MAX_OFILE_ALIGNMENT): Document default.
Carlos O'Donell [Thu, 30 Nov 2006 19:25:08 +0000 (19:25 +0000)]
tm.texi (MAX_OFILE_ALIGNMENT): Document default.

gcc/

2006-11-30  Carlos O'Donell  <carlos@codesourcery.com>

* doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default.
* config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT):
Default is the largest alignment supported for 32-bit ELF and
representable on a 32-bit host.

From-SVN: r119374

17 years agodfp-bit.c (DFP_TO_INT): Use wider precision.
Janis Johnson [Thu, 30 Nov 2006 17:58:03 +0000 (17:58 +0000)]
dfp-bit.c (DFP_TO_INT): Use wider precision.

gcc/
* config/dfp-bit.c (DFP_TO_INT): Use wider precision.
testsuite/
* gcc.dg/dfp/convert-int-max.c: New test.
* gcc.dg/dfp/convert-int-max-fold.c: New test.

From-SVN: r119368

17 years agore PR driver/29931 (following argv[0] symlink in process_command breaks symlinked...
Andrew Stubbs [Thu, 30 Nov 2006 17:05:45 +0000 (17:05 +0000)]
re PR driver/29931 (following argv[0] symlink in process_command breaks symlinked-together toolchain)

include:
2006-05-03  Andrew Stubbs  <andrew.stubbs@st.com>
            J"orn Rennecke <joern.rennecke@st.com>

PR driver/29931
* libiberty.h (make_relative_prefix_ignore_links): Declare.

libiberty:
2006-05-03  Andrew Stubbs  <andrew.stubbs@st.com>
            J"orn Rennecke <joern.rennecke@st.com>

PR driver/29931
* make-relative-prefix.c (make_relative_prefix_1): New function,
broken out of make_relative_prefix.  Make link resolution dependent
on new parameter.
(make_relative_prefix): Use make_relative_prefix_1.
(make_relative_prefix_ignore_links): New function.

Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>
From-SVN: r119366

17 years agotree-ssa-operands.h (struct ssa_operands): New.
Jan Hubicka [Thu, 30 Nov 2006 15:30:01 +0000 (16:30 +0100)]
tree-ssa-operands.h (struct ssa_operands): New.

* tree-ssa-operands.h (struct ssa_operands): New.
* tree-flow-inline.h (gimple_ssa_operands): New function.
* tree-flow.h: (struct gimple_df): Add ssa_operands.
* Makefile.in: Remove gt-tree-ssa-operands.h
* tree-ssa-operands.c: Do not include gt-tree-ssa-operands.h
(free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs,
operand_memory, operand_memory_index, ops_active): Remove statics.
(ALLOC_OPTYPE): Update.
(operand_build_sort_virtual): Update.
(ssa_operands_active): Update.
(init_ssa_operands): Update.
(fini_ssa_operands): Update.
(ssa_operand_alloc): Update.
(INITIALIZE_USE): Update.
(finalize_ssa_use_ops): Update.
(finalize_ssa_v_may_def_ops): Update.
(finalize_ssa_vuse_ops): Update.
(finalize_ssa_v_must_def_ops): Update.

From-SVN: r119363

17 years agotree-vectorizer.h (vectorizable_function): Export.
Richard Guenther [Thu, 30 Nov 2006 14:30:00 +0000 (14:30 +0000)]
tree-vectorizer.h (vectorizable_function): Export.

2006-11-30  Richard Guenther  <rguenther@suse.de>

* tree-vectorizer.h (vectorizable_function): Export.
* tree-vect-transform.c (vectorizable_function): Likewise.
        * tree-vect-patterns.c (vect_recog_pow_pattern): Set
        type_in to scalar type in recognition of squaring.
Make sure the target can vectorize sqrt in recognition
of sqrt, set type_in to vector type in this case.

* gcc.dg/vect/vect-pow-1.c: Rename ...
* gcc.dg/vect/fast-math-vect-pow-1.c: ... to this.  Use
floats instead of doubles, check successful vectorization.

From-SVN: r119362

17 years agoi386.md (R10_REG): New constant.
Uros Bizjak [Thu, 30 Nov 2006 10:57:34 +0000 (11:57 +0100)]
i386.md (R10_REG): New constant.

* config/i386/i386.md (R10_REG): New constant.
* config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG.
(ix86_emit_restore_regs_using_mov): Ditto.
(ix86_expand_call): Ditto.
(x86_output_mi_thunk): Ditto. Also use R10_REG.

From-SVN: r119360

17 years agocselib.c (cselib_init): Use special MEM rtx form for callmem.
Steven Bosscher [Thu, 30 Nov 2006 07:24:03 +0000 (07:24 +0000)]
cselib.c (cselib_init): Use special MEM rtx form for callmem.

* cselib.c (cselib_init): Use special MEM rtx form for callmem.
* alias.c (canon_true_dependence): Update comment.

From-SVN: r119358

17 years agocgraphunit.c (cgraph_finalize_compilation_unit): Add a newline at the end of a diagno...
Steven Bosscher [Thu, 30 Nov 2006 07:22:04 +0000 (07:22 +0000)]
cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline at the end of a diagnostics message.

* cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline
at the end of a diagnostics message.

* alloc-pool.c (pool_free): Postpone clearing the pool entry
until after asserting that it was allocated in the right pool.

* cfgrtl.c (print_rtl_with_bb): Print predecessor and
successor edge information as well.  Make output of live regs
on exit consistent with live regs on entry.

From-SVN: r119357

17 years agore PR target/29852 (x86_64: SSE version missing for fmod{d,s,x}f3)
Uros Bizjak [Thu, 30 Nov 2006 06:54:47 +0000 (07:54 +0100)]
re PR target/29852 (x86_64: SSE version missing for fmod{d,s,x}f3)

PR target/29852
* config/i386/i386.md (*truncxfsf2_mixed, *truncxfdf2_mixed): Enable
insn patterns for TARGET_80387.
(*truncxfsf2_i387, *truncxfdf2_i387): Remove.
(*truncxfsf2_i387_1): Rename to *truncxfsf2_i387.
(*truncxfdf2_i387_1): Rename to *truncxfdf2_i387.
(fmod<mode>3, remainder<mode>3): Enable expaders for SSE math.
Generate truncxf<mode>2 insn patterns for strict SSE math.

From-SVN: r119356

17 years agoi386.md (movsf_1): Enable pattern for standard 80387 constants before reload when...
Uros Bizjak [Thu, 30 Nov 2006 06:47:24 +0000 (07:47 +0100)]
i386.md (movsf_1): Enable pattern for standard 80387 constants before reload when optimizing for size.

* config/i386/i386.md (movsf_1): Enable pattern for standard
80387 constants before reload when optimizing for size.
(*movdf_nointeger, *movdf_integer): Ditto.
(*movxf_nointeger, *movxf_integer): Disable patterns for standard
80387 constants before reload when not optimizing for size.

(*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float
extension of XFmode input operands.

From-SVN: r119355

17 years agocrt0.c (__dso_handle): Define.
Andrew Pinski [Thu, 30 Nov 2006 03:37:34 +0000 (03:37 +0000)]
crt0.c (__dso_handle): Define.

2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/crt0.c (__dso_handle): Define.

From-SVN: r119354

17 years agoemit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially when clearing the used...
Kaz Kojima [Thu, 30 Nov 2006 03:13:29 +0000 (03:13 +0000)]
emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially when clearing the used flags.

* emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially
when clearing the used flags.

From-SVN: r119353

17 years agospu.md (extend_compare): Fix whitespace formatting.
Andrew Pinski [Thu, 30 Nov 2006 01:19:00 +0000 (01:19 +0000)]
spu.md (extend_compare): Fix whitespace formatting.

2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu.md (extend_compare): Fix whitespace formatting.

From-SVN: r119350

17 years agore PR target/29945 (ICE in simplify_subreg with simple code in libgfortran)
Andrew Pinski [Thu, 30 Nov 2006 01:05:58 +0000 (01:05 +0000)]
re PR target/29945 (ICE in simplify_subreg with simple code in libgfortran)

2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/29945
        * config/spu/spu.md  (extend_compare<mode>): New pattern.
        (extend_compare): Change to expand and use the above pattern.

2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/29945
        * gcc.c-torture/compile/pr29945.c: New testcase.

From-SVN: r119348

17 years agoDaily bump.
GCC Administrator [Thu, 30 Nov 2006 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r119345

17 years agovect.exp: Skip PowerPC targets not supporting -maltivec.
Joseph Myers [Thu, 30 Nov 2006 00:12:49 +0000 (00:12 +0000)]
vect.exp: Skip PowerPC targets not supporting -maltivec.

* gcc.dg/vect/vect.exp: Skip PowerPC targets not supporting
-maltivec.

From-SVN: r119338

17 years ago* dfp-bit.c (DFP_TO_INT): Fix rounding mode.
Janis Johnson [Wed, 29 Nov 2006 23:11:01 +0000 (23:11 +0000)]
* dfp-bit.c (DFP_TO_INT): Fix rounding mode.

From-SVN: r119335

17 years agothrow_allocator.h: Consistent @file markup.
Benjamin Kosnik [Wed, 29 Nov 2006 20:59:22 +0000 (20:59 +0000)]
throw_allocator.h: Consistent @file markup.

2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>

* include/ext/throw_allocator.h: Consistent @file markup.
* include/ext/type_traits.h: Same.
* include/debug/hash_map: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/formatter.h: Same.
* include/debug/bitset: Same.
* include/debug/set: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_sequence.h: Same.
* include/debug/hash_set: Same.
* include/debug/functions.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/safe_iterator.tcc: Same.
* include/debug/vector: Same.
* include/debug/map.h: Same.
* include/debug/deque: Same.
* include/debug/hash_map.h: Same.
* include/debug/string: Same.
* include/debug/macros.h: Same.
* include/debug/list: Same.
* include/debug/debug.h: Same.
* include/debug/map: Same.
* include/debug/safe_iterator.h: Same.
* include/debug/multimap.h: Same.
* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
* config/cpu/generic/atomic_word.h: Same.
* include/tr1/memory: Same.
* include/tr1/random: Same.
* include/std/std_queue.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_set.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_utility.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_string.h: Same.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* libsupc++/typeinfo: Same.
* libsupc++/exception: Same.
* libsupc++/exception_defines.h: Same.
* libsupc++/new: Same.

* include/ext/bitmap_allocator.h: Change namespace __balloc to
__detail.
* src/bitmap_allocator.cc: Same.

* include/bits/cpp_type_traits.h: Change __true_type and
__false_type from global to namespace std scope.
* include/ext/slist: Same.
* include/ext/vstring.h: Same.
* include/ext/vstring.tcc: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/sso_string_base.h: Same.

* include/bits/codecvt.h: Adjust markup so that correct namespace
scope information is in all files.
* include/bits/locale_facets.h: Same. Include ctype_base directly.
* config/os/windiss/ctype_base.h: Add in namespace markup.
* config/os/newlib/ctype_base.h: Same.
* config/os/aix/ctype_base.h: Same.
* config/os/vxworks/ctype_base.h: Same.
* config/os/hpux/ctype_base.h: Same.
* config/os/mingw32/ctype_base.h: Same.
* config/os/gnu-linux/ctype_base.h: Same.
* config/os/tpf/ctype_base.h: Same.
* config/os/uclibc/ctype_base.h: Same.
* config/os/djgpp/ctype_base.h: Same.
* config/os/qnx/qnx6.1/ctype_base.h: Same.
* config/os/bsd/netbsd/ctype_base.h: Same.
* config/os/bsd/darwin/ctype_base.h: Same.
* config/os/bsd/freebsd/ctype_base.h: Same.
* config/os/irix/irix5.2/ctype_base.h: Same.
* config/os/irix/irix6.5/ctype_base.h: Same.
* config/os/solaris/solaris2.5/ctype_base.h: Same.
* config/os/solaris/solaris2.6/ctype_base.h: Same.
* config/os/solaris/solaris2.7/ctype_base.h: Same.
* config/os/generic/ctype_base.h: Same.
* include/tr1/mu_iterate.h: Same.
* include/tr1/tuple: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/tuple_defs.h: Same.
* include/tr1/random.tcc: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.

* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
number changes.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.

* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
* docs/html/17_intro/license.html: Updated info for generated docs.
* docs/doxygen/guide.html: Adjust.
* docs/doxygen/run_doxygen: Adjust.
* docs/doxygen/mainpage.html: Same.
* docs/doxygen/doxygroups.cc: Same.
* docs/doxygen/Intro.3: Same.
* docs/doxygen/tables.html: Same.

From-SVN: r119334

17 years agoprefetch-3.c: Allow x86_64, but require ilp32.
Eric Christopher [Wed, 29 Nov 2006 19:31:24 +0000 (19:31 +0000)]
prefetch-3.c: Allow x86_64, but require ilp32.

2006-11-29  Eric Christopher  <echristo@apple.com>

        * gcc.dg/tree-ssa/prefetch-3.c: Allow x86_64, but require ilp32.

From-SVN: r119333

17 years ago* gcc.dg/dfp/convert-int.c: Remove dg-do compile, fix comment.
Janis Johnson [Wed, 29 Nov 2006 18:37:48 +0000 (18:37 +0000)]
* gcc.dg/dfp/convert-int.c: Remove dg-do compile, fix comment.

From-SVN: r119331

17 years ago* gcc.dg/dfp/convert-bfp.c: Skip long double conversions.
Janis Johnson [Wed, 29 Nov 2006 18:36:55 +0000 (18:36 +0000)]
* gcc.dg/dfp/convert-bfp.c: Skip long double conversions.

From-SVN: r119330

17 years agodecRound.c: Move declarations to new file, update comments.
Janis Johnson [Wed, 29 Nov 2006 18:34:56 +0000 (18:34 +0000)]
decRound.c: Move declarations to new file, update comments.

libdecnumber/
* decRound.c: Move declarations to new file, update comments.
* decRound.h: New file.
gcc/
* mklibgcc.in: Fix dependencies for dfp-bit.c.
* config/dfp-bit.h (CONTEXT_ROUND): Delete.
(DFP_INIT_ROUNDMODE): Define.
* config/dfp-bit.c: Replace CONTEXT_ROUND with DFP_INIT_ROUNDMODE.

From-SVN: r119329

17 years agohaifa-sched.c: Remove define LINE_NOTE(INSN).
Tehila Meyzels [Wed, 29 Nov 2006 18:24:14 +0000 (18:24 +0000)]
haifa-sched.c: Remove define LINE_NOTE(INSN).

2006-11-29  Tehila Meyzels  <tehila@il.ibm.com>

      * haifa-sched.c: Remove define LINE_NOTE(INSN).
      Remove line_note_head.
      Update documentation.
      (associate_line_notes_with_blocks): Kill.
      (extend_bb): Remove basic block argument, put void instead.
      Remove line number handling for each bb.
      (save_line_notes): Kill.
      (restore_line_notes): Kill.
      (sched_init): Remove line_note_head initialization.
      Change extend_bb call.
      (sched_finish): Remove free of line_note_head.
      (add_block): Change extend_bb call.
      * sched-ebb.c (schedule_ebb): Remove save_line_notes,
      rm_line_notes and restore_line_notes calls.
      (schedule_ebbs): Remove rm_redundant_line_notes.
      * sched-int.h (struct haifa_insn_data): Remove line_note.
      (save_line_notes): Remove declaration.
      (restore_line_notes): Remove declaration.
      * modulo-sched.c (loop_canon_p): Update debug info printing
      by using insn locators instead of line note.
      (sms_schedule): Update debug info printing, by using insn
      locators instead of line note.
      * sched-rgn.c (debug_dependencies): Remove handling of case
      n>0 (line number), since it's a dead code.
      (schedule_region): Remove save_line_notes and
      restore_line_notes calls.

From-SVN: r119328

17 years agopredicates.md (gpc_reg_operand): Check invalid_e500_subreg.
Joseph Myers [Wed, 29 Nov 2006 17:33:59 +0000 (17:33 +0000)]
predicates.md (gpc_reg_operand): Check invalid_e500_subreg.

* config/rs6000/predicates.md (gpc_reg_operand): Check
invalid_e500_subreg.
* config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
SImode subregs of SPE vectors.
* config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
* jump.c (true_regnum): Require subregs to satisfy
subreg_offset_representable_p.

From-SVN: r119324

17 years agoMakefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h, since it no longer exists.
Daniel Berlin [Wed, 29 Nov 2006 17:17:56 +0000 (17:17 +0000)]
Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h, since it no longer exists.

2006-11-29  Daniel Berlin  <dberlin@dberlin.org>
    Steven Bosscher <stevenb.gcc@gmail.com>

* Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h,
since it no longer exists.

Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com>
From-SVN: r119323

17 years agore PR tree-optimization/23744 (VRP does not merge discontinuous ranges of PHIs)
Duncan Sands [Wed, 29 Nov 2006 16:00:07 +0000 (17:00 +0100)]
re PR tree-optimization/23744 (VRP does not merge discontinuous ranges of PHIs)

PR tree-optimization/23744
* tree-vrp.c (vrp_meet): do not require ranges to intersect.
* testsuite/gcc.dg/tree-ssa/pr23744.c: new test.
* testsuite/gcc.dg/tree-ssa/update-threading.c: xfail.

From-SVN: r119320

17 years agore PR c++/29022 (ICE using operator int in invalid class hierarchy)
Lee Millward [Wed, 29 Nov 2006 15:19:39 +0000 (15:19 +0000)]
re PR c++/29022 (ICE using operator int in invalid class hierarchy)

PR c++/29022
* parser.c (cp_parser_class_head): Move processing
of any base classes to...
(cp_parser_class_specifier) ...here. Take an extra
tree* parameter for any base classes. Only process
them if the opening brace was found.

* g++.dg/inherit/virtual2.C: New test.
* g++.dg/inherit/virtual3.C: Likewise.
* g++.old-deja/g++.bugs/900121_05.C: Adjust error markers.
* g++.dg/inherit/error2.C: Likewise.
* g++.dg/template/instantiate1.C: Likewise.

From-SVN: r119318

17 years ago* doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
Jie Zhang [Wed, 29 Nov 2006 14:52:31 +0000 (14:52 +0000)]
* doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.

From-SVN: r119315

17 years agosh.opt (minline-ic_invalidate): New option.
J"orn Rennecke [Wed, 29 Nov 2006 14:35:38 +0000 (14:35 +0000)]
sh.opt (minline-ic_invalidate): New option.

* sh.opt (minline-ic_invalidate): New option.
(musermode): Adjust comment.
* sh.c (sh_initialize_trampoline): Emit library call unless
is set; if it is set, don't emit library call if we can use icbi
instead.
* sh.md (ic_invalidate_line, ic_invalidate_line_sh4a): Also use
icbi for TARGET_SH4_300.
* t-sh (LIB1ASMFUNCS_CACHE): Set.
* doc/invoke.texi: Document -minline-ic_invalidate; Update
-musermode documentation.

From-SVN: r119314

17 years agogthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, [...]): Define.
Jim Tison [Wed, 29 Nov 2006 13:00:12 +0000 (13:00 +0000)]
gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, [...]): Define.

2006-11-29  Jim Tison  <jtison@us.ibm.com>

* gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
__gthread_recursive_mutex_init): Define.

From-SVN: r119311

17 years agors6000.c (rs6000_gimplify_va_arg): If STRICT_ALIGNMENT and the type is more aligned...
Joseph Myers [Wed, 29 Nov 2006 12:49:06 +0000 (12:49 +0000)]
rs6000.c (rs6000_gimplify_va_arg): If STRICT_ALIGNMENT and the type is more aligned than the saved registers...

* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
STRICT_ALIGNMENT and the type is more aligned than the saved
registers, copy via a temporary.

From-SVN: r119307

17 years agore PR tree-optimization/29984 (SPE GCC segfaults with MAX_EXPR <a, a>)
Andrew Pinski [Wed, 29 Nov 2006 07:23:11 +0000 (23:23 -0800)]
re PR tree-optimization/29984 (SPE GCC segfaults with MAX_EXPR <a, a>)

2006-11-28  Andrew Pinski  <pinskia@gmail.com>

        PR tree-opt/29984
        * gcc.dg/tree-ssa/reassoc-12.c: New test.

2006-11-28  Andrew Pinski  <pinskia@gmail.com>

        PR tree-opt/29984
        * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR
        and MIN_EXRP.

From-SVN: r119303

17 years agoDaily bump.
GCC Administrator [Wed, 29 Nov 2006 00:17:52 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r119301

17 years ago* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.
Bob Wilson [Tue, 28 Nov 2006 21:22:14 +0000 (21:22 +0000)]
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.

From-SVN: r119296

17 years agoPrivatize SSA variables into gimple_df.
Jan Hubicka [Tue, 28 Nov 2006 14:42:37 +0000 (15:42 +0100)]
Privatize SSA variables into gimple_df.

* tree-flow-inline.h
(gimple_in_ssa_p, gimple_aliases_computed_p, gimple_addressable_vars,
gimple_call_clobbered_vars, gimple_referenced_vars, gimple_global_var,
gimple_nonlocal_all): New accessors.
(first_referenced_var): Update.
(mark_stmt_modified): Update.
(is_call_clobbered): Update.
(mark_call_clobbered): Update.
(clear_call_clobbered): Update.
(mark_non_addressable): Update.
* tree-vrp.c (get_value_range): Update.
* tree-into-ssa.c (in_ssa_p): Kill.
(get_default_def_for): Update.
(rewrite_into_ssa): Update.
* tree-complex.c (init_parameter_lattice_values): Update.
(update_complex_assignment): Update.
(update_parameter_components): Update.
(expand_complex_libcall): Update.
(expand_complex_operations_1): Update.
* tree-tailcall.c (arg_needs_copy_p): Update.
(add_virtual_phis): Update.
(tree_optimize_tail_calls_1): Update.
* tree-ssa-dse.c (memory_ssa_name_same): Update.
* tree-ssa-copyrename.c
(copy_rename_partition_coalesce): Update.
* tree-ssa-math-opts.c (execute_cse_reciprocals): Update.
* tree-ssa-propagate.c (set_rhs): Update.
* tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars,
addressable_vars, global_var):Kill.
(set_initial_properties): Update.
(init_alias_info): Update.
(finalize_ref_all_pointers): Update.
(setup_pointers_and_addressables): Update.
(maybe_create_global_var): Update.
(create_global_var): Update.
(dump_points_to_info): Update.
* function.h (struct gimple_df): Forward declare.
(struct function): Add GIMPLE_DF field.
* gimplify.c (force_gimple_operand): Update.
* tree-dfa.c (referenced_vars, default_defs): KIll.
(make_rename_temp): Update.
(dump_variable): Update.
(referenced_var_lookup): Update.
(referenced_var_check_and_insert): Update.
(default_def): Rename to ...
(gimple_default_def): ... this one; accept cfun argument.
(set_default_def): Update.
* tree-cfgcleanup.c (modified_noreturn_calls): Kill.
(cleanup_control_flow): Update.
* tree-ssa-pre.c (compute_avail): Update
* tree-ssa-live.c (calculate_live_on_entry): Update.
* tree-ssa.c (verify_use): Update.
(verify_call_clobbering): Update.
(verify_call_clobbering): Update.
(init_tree_ssa): Update.
(delete_tree_ssa): Update.
* tree-outof-ssa.c (coalesce_ssa_name): Update.
(rewrite_out_of_ssa): Update.
* tree-flow.h (gimple_df): New structure collecting dataflow variables.
(FREE_SSANAMES, SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS): New
private accessors.
(in_ssa_p, modified_noreturn_calls, referenced_vars, default_defs,
ssa_names, global_var, nonlocal_all, call_clobbered_vars,
addressable_vars, aliases_computed_p): Kill.
(default_def): Rename to...
(gimple_default_def): ... this one.
(defaule_def_fn): Kill.
(num_referenced_vars, ssa_names, num_ssa_names): Update.
* tree-ssa-structalias.c (nonlocal_all): Kill.
(get_constraint_exp_from_ssa_var): Update.
(create_nonlocal_var): Update.
(get_constraint_for): Update.
(update_alias_info): Update.
(find_global_initializers): Update.
(intra_create_variable_infos): Update.
(intra_create_variable_infos):
(find_what_p_points_to): Update.
(init_alias_heapvars): Update.
* tree-cfg.c (remove_bb): Update.
(gimplify_val): Update.
* tree-ssa-reassoc.c (get_rank): Update.
(init_reassoc): Update.
* tree-ssanames.c: Do not include gt-tree-ssanames.h
(ssa_names, free_ssanames): Kill.
(init_ssanames): Update.
(make_ssa_name): Update.
(release_ssa_name): Update.
(release_defs): Update.
(replace_ssa_name_symbol): Update.
* tree-ssa-operands.c (access_can_touch_variable): Update.
(add_virtual_operand): Update.
(add_call_clobber_ops): Update.
(add_call_read_ops): Update.
(get_call_expr_operands): Update.
(get_asm_expr_operands): Update.

From-SVN: r119294

17 years agoOops, wrong file committed.
Jan Hubicka [Tue, 28 Nov 2006 14:30:49 +0000 (14:30 +0000)]
Oops, wrong file committed.

From-SVN: r119293

17 years agobuiltins.c: Include tree-flow.h.
Jan Hubicka [Tue, 28 Nov 2006 14:20:04 +0000 (15:20 +0100)]
builtins.c: Include tree-flow.h.

* builtins.c: Include tree-flow.h.
(fold_builtin_memory_op): Be more aggressive on converting memcpy to
assignment; convert memmove to memcpy for sizes greater than 1 where
alignment of operands prohibit the partial overlap.

From-SVN: r119292

17 years agore PR c++/29735 (ICE on "main" returning vector)
Jakub Jelinek [Tue, 28 Nov 2006 12:56:53 +0000 (13:56 +0100)]
re PR c++/29735 (ICE on "main" returning vector)

PR c++/29735
* decl.c (grokfndecl): Check main's type after applying
attributes, not before.

* g++.dg/warn/main-3.C: New test.

From-SVN: r119287

17 years ago* sv.po, tr.po: Update.
Joseph Myers [Tue, 28 Nov 2006 12:04:32 +0000 (12:04 +0000)]
* sv.po, tr.po: Update.

From-SVN: r119284

17 years agoinvoke.texi (large-stack-frame, [...]): New params.
Jan Hubicka [Tue, 28 Nov 2006 10:53:16 +0000 (11:53 +0100)]
invoke.texi (large-stack-frame, [...]): New params.

* invoke.texi (large-stack-frame, large-stack-frame-growth): New params.
* cgraph.c (dump_cgraph_node): Dump stack usage.
* cgraph.h (cgraph_local_info): Add estimated_self_stack_size.
(cgraph_global_info): Add estimated_stack_size and stack_frame_offset.
* cgraphunit.c (cgraph_analyze_function): Analyze stack sizes.
* ipa-inline.c (cgraph_clone_inlined_nodes): Propagate stack usage.
(cgraph_check_inline_limits): Limit stack growth.
* cfgexpand.c: Include tree-inline.h.
(account_stack_vars): New function.
(expand_one_var): New param to just account the stack; return estimated
size.
(expand_used_vars_for_block): Update call of expand_one_var.
(account_used_vars_for_block): New function.
(estimated_stack_frame_size): Likewise.
(init_vars_expansion, fini_vars_expansion): Break out from..
(expand_used_vars): ... here.
* tree-inline.h (estimated_stack_frame_size): Declare.
* params.def (PARAM_LARGE_STACK_FRAME, PARAM_STACK_FRAME_GROWTH): New.

From-SVN: r119281

17 years agoggc-page.c (ggc_print_statistics): Use %ul and a cast to unsigned long for printing...
Richard Guenther [Tue, 28 Nov 2006 10:03:49 +0000 (10:03 +0000)]
ggc-page.c (ggc_print_statistics): Use %ul and a cast to unsigned long for printing OBJECT_SIZE.

2006-11-28  Richard Guenther  <rguenther@suse.de>

* ggc-page.c (ggc_print_statistics): Use %ul and a cast to
unsigned long for printing OBJECT_SIZE.

From-SVN: r119280

17 years agopack-test-1.c: Use __alignof__ to determine natural alignments.
Nathan Sidwell [Tue, 28 Nov 2006 07:44:11 +0000 (07:44 +0000)]
pack-test-1.c: Use __alignof__ to determine natural alignments.

* gcc.dg/pack-test-1.c: Use __alignof__ to determine natural
alignments.

From-SVN: r119277

17 years agolocks.h: Enable use of either file on either target to support multilibs from one...
Mike Stump [Tue, 28 Nov 2006 06:05:25 +0000 (06:05 +0000)]
locks.h: Enable use of either file on either target to support multilibs from one to the...

* sysdep/x86-64/locks.h: Enable use of either file on either
target to support multilibs from one to the other.
* sysdep/i386/locks.h: Likewise.

From-SVN: r119276

17 years agore PR fortran/29976 (ICE on optional arg)
Paul Thomas [Tue, 28 Nov 2006 05:39:42 +0000 (05:39 +0000)]
re PR fortran/29976 (ICE on optional arg)

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

PR fortran/29976
* trans-expr.c (gfc_conv_missing_dummy): Remove build_int_const
and replace with cast to type of se->expr of integer_zero_node.

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

PR fortran/29976
* gfortran.dg/missing_optional_dummy_3.f90

From-SVN: r119273

17 years agore PR fortran/20880 (USE association of procedure's own interface)
Paul Thomas [Tue, 28 Nov 2006 05:36:07 +0000 (05:36 +0000)]
re PR fortran/20880 (USE association of procedure's own interface)

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

PR fortran/20880
* resolve.c (resolve_fl_procedure): Error if procedure is
ambiguous modified to require attr.referenced.

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

PR fortran/20880
* gfortran.dg/interface_3.f90: Modify errors.

From-SVN: r119272

17 years agoclass.c (build_vcall_offset_vtbl_entries): Do not add vcall entries for a primary...
Mark Mitchell [Tue, 28 Nov 2006 02:19:02 +0000 (02:19 +0000)]
class.c (build_vcall_offset_vtbl_entries): Do not add vcall entries for a primary construction virtual table.

* class.c (build_vcall_offset_vtbl_entries): Do not add vcall
entries for a primary construction virtual table.

From-SVN: r119271

17 years agogcc-defs.exp (${tool}_check_compile): xfail test cases that fail to link due to reloc...
Ben Elliston [Tue, 28 Nov 2006 02:14:26 +0000 (02:14 +0000)]
gcc-defs.exp (${tool}_check_compile): xfail test cases that fail to link due to relocation overflows on spu-*-*.

* lib/gcc-defs.exp (${tool}_check_compile): xfail test cases that
fail to link due to relocation overflows on spu-*-*.

From-SVN: r119270

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

From-SVN: r119267

17 years agoalias.c (init_alias_analysis): Remove simplification loop after propagating pointers.
Steven Bosscher [Mon, 27 Nov 2006 23:15:38 +0000 (23:15 +0000)]
alias.c (init_alias_analysis): Remove simplification loop after propagating pointers.

        * alias.c (init_alias_analysis): Remove simplification loop
        after propagating pointers.

From-SVN: r119262

17 years agoxtensa-config.h (XSHAL_ABI): New.
Bob Wilson [Mon, 27 Nov 2006 20:15:58 +0000 (20:15 +0000)]
xtensa-config.h (XSHAL_ABI): New.

* xtensa-config.h (XSHAL_ABI): New.
(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New.

From-SVN: r119261

17 years agoi386.c (x86_ext_80387_constants): Add m_K8, m_CORE2 and m_GENERIC64.
Uros Bizjak [Mon, 27 Nov 2006 19:50:40 +0000 (20:50 +0100)]
i386.c (x86_ext_80387_constants): Add m_K8, m_CORE2 and m_GENERIC64.

        * config/i386/i386.c (x86_ext_80387_constants): Add m_K8, m_CORE2
        and m_GENERIC64.

From-SVN: r119260

17 years ago* config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default.
Bob Wilson [Mon, 27 Nov 2006 18:48:57 +0000 (18:48 +0000)]
* config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default.

From-SVN: r119259

17 years agoc-common.c (constant_fits_type_p): Delete.
Roger Sayle [Mon, 27 Nov 2006 18:47:41 +0000 (18:47 +0000)]
c-common.c (constant_fits_type_p): Delete.

2006-11-27  Roger Sayle  <roger@eyesopen.com>
    Manuel Lopez-Ibanez <manu@gcc.gnu.org>

* c-common.c (constant_fits_type_p): Delete.
(unsigned_conversion_warning): Delete.
(conversion_warning): Integrate Wconversion warning from
unsigned_conversion_warning.
(convert_and_check): Integrate Woverflow warning from
unsigned_conversion_warning.  Reorganize and simplify to avoid
dependence upon the middle-end setting TREE_OVERFLOW on integral
conversions, by using int_fits_type_p directly.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r119258

17 years agoinvoke.texi: Fixed typo.
Tobias Burnus [Mon, 27 Nov 2006 16:43:12 +0000 (17:43 +0100)]
invoke.texi: Fixed typo.

2006-11-27  Tobias Burnus  <burnus@net-b.de>

       * doc/invoke.texi: Fixed typo.

From-SVN: r119257

17 years agore PR target/29319 (ICE unrecognizable insn: offset too large for larl (breaks glibc))
Michael Matz [Mon, 27 Nov 2006 16:34:19 +0000 (16:34 +0000)]
re PR target/29319 (ICE unrecognizable insn: offset too large for larl (breaks glibc))

2006-11-27  Michael Matz  <matz@suse.de>
            Andreas Krebbel  <krebbel1@de.ibm.com>

PR target/29319
* config/s390/predicates.md (larl_operand): Check addend of larl
operand to be in range of -/+2GB.
* config/s390/s390.c (legitimize_pic_address): Likewise.
Changed type of variable even to HOST_WIDE_INT.

2006-11-27  Michael Matz  <matz@suse.de>
            Andreas Krebbel  <krebbel1@de.ibm.com>

PR target/29319
* gcc.dg/20061127-1.c: New testcase.

Co-Authored-By: Andreas Krebbel <krebbel1@de.ibm.com>
From-SVN: r119256

17 years ago20061124-1.c: Add exit() function prototype.
Uros Bizjak [Mon, 27 Nov 2006 16:10:36 +0000 (17:10 +0100)]
20061124-1.c: Add exit() function prototype.

* gcc.dg/20061124-1.c: Add exit() function prototype.

From-SVN: r119253

17 years agoexpr.c (emit_block_move_via_libcall): Export.
Jan Hubicka [Mon, 27 Nov 2006 16:00:26 +0000 (17:00 +0100)]
expr.c (emit_block_move_via_libcall): Export.

* expr.c (emit_block_move_via_libcall): Export.
(clear_storage_via_libcall): Rename to ...
(set_storage_via_libcall): ... this one; handle arbitrary value to set.
(clear_storage): Update to set_storage_via_libcall.
* expr.h (emit_block_move_via_libcall): Declare
* config/i386/i386.h (stringop_alg): New enum.
(MAX_STRINGOP_ALGS): New constant.
(stringop_algs): New struct.
(processor_costs): Add memcpy/memset descriptors.
(TARGET_REP_MOVEL_OPTIMAL): Remove.
* config/i386/i386.md (movsi_insv_1_rex64): New pattern.
(strmovsi, strmovdi, strsetsi, strsetdi): Update; accept all operands
for memset.
* config/i386/i386.opt (minline-stringops-dynamically,
mstringop-strategy): New
parameters.
* config/i386/i386-prostos.h (ix86_expand_movmem): Update prototype.
(ix86_expand-clrmem): Rename to ...
(ix86_expand_setmem): ... this one; update prototype.
* config/i386/i386.c (DUMMY_STRINGOP_ALGS): New constant.
(size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
geode_cost, k6_cost, athlon_cost, k8_cost, pentium4_cost,
nocona_cost, core2_cost, generic_cost, generic64_cost,
generic32_cost): Add memcpy/memset descriptors.
(x86_rep_movl_optimal): Remove.
(stringop_alg): New static variable.
(ix86_expand_aligntest): Handle predictions.
(override_options): Add strgop_alg handling.
(predict_jump): New function.
(scale_counter): New function.
(expand_set_or_movmem_via_loop): New function.
(expand_movmem_via_rep_mov): New function.
(expand_setmem_via_rep_stots): New function.
(emit_strmov): New function.
(expand_movmem_epilogue): New function.
(expand_setmem_epilogue_via_loop): New function.
(expand_setmem_epilogue): New function.
(expand_movmem_prologue): New function.
(expand_setmem_prologue): New function.
(decide_alg): New function.
(decide_alignment): New function.
(ix86_exand_movmem): Rewrite.
(promote_duplicated_reg): New function.
(ix86_expand_clrmem): Rename to ...
(ix86_expand_setmem): ... this one. Rewrite.

* invoke.texi (minline-stringops-dynamically): New command line option.
(mstringop-strategy): Likewise.

From-SVN: r119252

17 years agocfgexpand.c (construct_exit_block): Don't disturb end of last BB.
Jan Hubicka [Mon, 27 Nov 2006 15:21:36 +0000 (15:21 +0000)]
cfgexpand.c (construct_exit_block): Don't disturb end of last BB.

* cfgexpand.c (construct_exit_block): Don't disturb end of last BB.
* rtl.texi (NOTE_INSN_FUNCTION_END): Remove.
* final.c (final_scan_insn): Don't scan NOTE_INSN_FUNCTION_END.
* insn-notes.def (FUNCTION_END): Remove.
* jump.c (delete_related_insns): Don't worry about FUNCTION_END.
(redicect_jump_2): Don't accept -1 parameter to remove FUNCTION_END
note.
* ifcvt.c (dead_or_predictable): Update call of redirect_jump_2.
* function.c (expand_function_end): Don't emit NOTE_INSN_FUNCTION_END
* cfglayout.c (duplicate_insn_chain): Don't worry about
NOTE_FUNCTION_END.

From-SVN: r119251

17 years agocfgexpand.c (construct_exit_block): Don't disturb end of last BB.
Jan Hubicka [Mon, 27 Nov 2006 15:07:10 +0000 (16:07 +0100)]
cfgexpand.c (construct_exit_block): Don't disturb end of last BB.

* cfgexpand.c (construct_exit_block): Don't disturb end of last BB.
* rtl.texi (NOTE_INSN_FUNCTION_END): Remove.
* final.c (final_scan_insn): Don't scan NOTE_INSN_FUNCTION_END.
* insn-notes.def (FUNCTION_END): Remove.
* jump.c (delete_related_insns): Don't worry about FUNCTION_END.
(redicect_jump_2): Don't accept -1 parameter to remove FUNCTION_END
note.
* ifcvt.c (dead_or_predictable): Update call of redirect_jump_2.
* function.c (expand_function_end): Don't emit NOTE_INSN_FUNCTION_END
* cfglayout.c (duplicate_insn_chain): Don't worry about
NOTE_FUNCTION_END.

From-SVN: r119250

17 years agotarget.h (struct gcc_target): Add builtin_vectorized_function target hook.
Richard Guenther [Mon, 27 Nov 2006 12:41:51 +0000 (12:41 +0000)]
target.h (struct gcc_target): Add builtin_vectorized_function target hook.

2006-11-27  Richard Guenther  <rguenther@suse.de>
Zdenek Dvorak <dvorakz@suse.cz>

* target.h (struct gcc_target): Add builtin_vectorized_function
target hook.
* target-def.h (TARGET_VECTORIZE): Likewise.
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
Document new target hook.
* targhooks.h (default_builtin_vectorized_function): Declare.
* targhooks.c (default_builtin_vectorized_function): Define.
* tree-vectorizer.h (stmt_vec_info_type): Add call_vec_info_type.
(vectorizable_call): Declare.
* tree-vect-analyze.c (vect_analyze_operations): Call
vectorizable_call.
* tree-vect-transform.c (vectorizable_function): New static function.
(build_vectorized_function_call): Likewise.
(vectorizable_call): New function.
(vect_transform_stmt): Handle vectorizable calls.

Co-Authored-By: Zdenek Dvorak <dvorakz@suse.cz>
From-SVN: r119249