1. 03 Dec, 2006 6 commits
    • re PR target/30041 (FAIL: gcc.target/i386/sse3-movddup.c (internal compiler error)) · 7372c0a4
              PR target/30041
              * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
              operands[1] in insn constraint.  Correct type attribute to sselog1.
      
      From-SVN: r119468
      Uros Bizjak committed
    • re PR libstdc++/29989 (missed #undef min/max in <limits>) · 6bd70157
      2006-12-03  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/29989
      	* include/bits/stl_algobase.h: Remove min and max #undefs.
      
      From-SVN: r119467
      Paolo Carlini committed
    • pr16105.c: Remove xfail on vect_no_align targets. · a77f72d3
              * gcc.dg/vect/pr16105.c: Remove xfail on vect_no_align targets. Add
              test for loop versioning on vect_no_align targets.
              * gcc.dg/vect/pr20122.c: Likewise.
              * gcc.dg/vect/vect-105.c: Likewise.
              * gcc.dg/vect/vect-42.c: Likewise.
              * gcc.dg/vect/vect-43.c: Likewise.
              * gcc.dg/vect/vect-74.c: Likewise.
              * gcc.dg/vect/vect-75.c: Likewise.
              * gcc.dg/vect/vect-multitypes-3.c: Likewise.
              * gcc.dg/vect/vect-multitypes-6.c: Likewise.
              * gcc.dg/vect/vect-8.c: Remove xfail on vect_no_align targets.
              * gcc.dg/vect/vect-30.c: Remove xfail on vect_no_align targets.
      
      From-SVN: r119466
      Dorit Nuzman committed
    • configure.in: Update error message for missing GMP/MPFR. · dbee1fb3
      	* configure.in: Update error message for missing GMP/MPFR.
      
      	* configure: Regenerate.
      
      From-SVN: r119465
      Kaveh R. Ghazi committed
    • re PR fortran/29642 (Fortran 2003: VALUE Attribute (call by value not call by… · 06469efd
      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
      Paul Thomas committed
    • Daily bump. · 3c5e8e44
      From-SVN: r119459
      GCC Administrator committed
  2. 02 Dec, 2006 15 commits
  3. 01 Dec, 2006 17 commits
    • decl.c (poplevel): Check DECL_INITIAL invariant. · 72c4a4ca
      	* 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
      Geoffrey Keating committed
    • spu.c (spu_immediate): Remove trailing comma. · 01975fc7
      	* 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
      Trevor Smigiel committed
    • fold-const.c (fold_binary): Use the precision of the type instead of the size of… · f0dbdfbb
      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
      Eric Botcazou committed
    • predicates.md (spu_mov_operand): Add. · 09aad82b
              * 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
      Trevor Smigiel committed
    • re PR c++/30022 (ICE on vector operand in division) · 01c15146
      	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
      Volker Reichelt committed
    • re PR c++/30021 (ICE on invalid parameter for main) · d8e1d619
      	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
      Volker Reichelt committed
    • re PR libfortran/29568 (implement unformatted files with subrecords (Intel style)) · 07b3bbf2
      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
      Thomas Koenig committed
    • common.opt (ftree-combine-temps): Remove. · 7c6a62dd
      
      	* 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
      Andrew MacLeod committed
    • bfin.md (pushsi_insn, popsi_insn): Set correct addrtype attribute. · 35e3ced9
      	* config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
      	attribute.
      
      From-SVN: r119408
      Bernd Schmidt committed
    • re PR c++/29433 (using boost::MPL requires lots of memory) · e01e0201
      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
      Richard Guenther committed
    • re PR c++/29066 (ptrmemfunc_vbit_in_delta is broken) · c3a88be8
      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
      Ryan Mansfield committed
    • bfin.c (bfin_valid_add): Fix the logic that ensures multiword accesses are in range. · 5308e943
      	* config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
      	multiword accesses are in range.
      
      From-SVN: r119402
      Bernd Schmidt committed
    • [multiple changes] · fbb5445b
      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
      H.J. Lu committed
    • spu.c (spu_builtin_range): Move from spu-c.c · b66b813d
      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
      Andrew Pinski committed
    • re PR target/24036 ([e500] ICE in subreg_offset_representable_p, at rtlanal.c:3143) · 8521c414
      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
      Joseph Myers committed
    • i386-cpuid.h (bit_SSE3): New. · 877c1c55
      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
      H.J. Lu committed
    • Daily bump. · c928f426
      From-SVN: r119388
      GCC Administrator committed
  4. 30 Nov, 2006 2 commits