1. 31 Mar, 2008 10 commits
    • builtins.c (expand_builtin_setjmp_receiver): Update call of get_arg_pointer_save_area. · bd60bab2
      
      	* builtins.c (expand_builtin_setjmp_receiver): Update call of
      	get_arg_pointer_save_area.
      	* expr.c (init_expr): Just clear out rtl.expr.
      	* function.c (free_after_compilation): Clear out whole RTL structure.
      	(get_func_frame_size): Merge into ...
      	(get_frame_size): ... this one.
      	(assign_stack_local_1): Merge into ...
      	(assign_stack_local): ... this one.
      	(expand_function_end): Update call of get_arg_pointer_save_area.
      	(get_art_pointer_save_area): Remove cfun argument.
      	* function.h (emit_status): regno_pointer_align does not need length
      	attribute. Move x_regno_reg_rtx to ...
      	(regno_reg_rtx): ... new global array.
      	(reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
      	(pending_stack_adjust, inhibit_defer_pop, saveregs_value,
      	apply_args_value, forced_labels, stack_pointer_delta): Update accestors.
      	(struct varasm_status): Move here from varasm.c
      	(struct rtl_data): New. Move here some fields from struct function.
      	(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
      	frame_offset, stack_check_probe_note, arg_pointer_save_area,
      	used_temp_slots avail_temp_slots, temp_slot_level,
      	nonlocal_goto_handler_labels): Update accesstors.
      	(rtl): New global variable.
      	(struct function): Move some fileds to rtl_data.
      	(get_arg_pointer_save_area): Update prototype.
      	* emit-rtl.c (rtl): Declare.
      	(regno_reg_rtx): Declare.
      	(first_insn, last_insn, cur_insn_uid, last_location, first_label_num): Update.
      	(gen_reg_rtx): Update.
      	(init_virtual_regs): Do not tate emit_status argument.
      	(init_emit): Do not allocate emit.
      	* varasm.c (varasm_statuc): Move to function.h.
      	(n_deferred_constatns): Update accestor.
      	(init_varasm_status): Do not allocate varasm_status.
      	(force_const_mem, get_pool_size, output_constant_pool): Update.
      	* stmt.c (force_label_rtx): Do not use x_ prefixes.
      	(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
      
      From-SVN: r133759
      Jan Hubicka committed
    • utils2.c (find_common_type): Document assumption on t1/t2 vs lhs/rhs. · 2566855a
      2008-03-31  Olivier Hainque  <hainque@adacore.com>
                  Eric Botcazou  <botcazou@adacore.com>
      
              ada/
              * utils2.c (find_common_type): Document assumption on t1/t2 vs
              lhs/rhs. Force use of lhs type if smaller, whatever the modes.
      
              testsuite/
              * gnat.dg/assign_from_packed.adb: New testcase.
      
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r133757
      Olivier Hainque committed
    • re PR rtl-optimization/35729 (const volatile variable access incorrectly hoisted out of loop) · 66f91b93
      	PR rtl-optimization/35729
      	* loop-invariant.c (check_maybe_invariant): Disallow volatile memory
      	references.
      
      	* gcc.dg/pr35729.c: New test.
      
      From-SVN: r133755
      Zdenek Dvorak committed
    • Add missing ChangeLog entry for revision 133750. · 6b20c50f
      From-SVN: r133754
      H.J. Lu committed
    • re PR target/32000 (x86 backend uses aligned load on unaligned memory) · 66e1ecfe
      gcc/
      
      2008-03-31  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/32000
      	* config/i386/i386.md (*movti_internal): Emit unaligned SSE
      	load/store if memory is unaligned.
      	(*movti_rex64): Likewise.
      
      	* config/i386/predicates.md (misaligned_operand): New.
      
      gcc/testsuite/
      
      2008-03-31  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/32000
      	* gcc.target/i386/pr32000-1.c: New.
      
      From-SVN: r133753
      H.J. Lu committed
    • Removed, causes resource issues on some environments. · 9b1b8df2
      From-SVN: r133750
      Arnaud Charlet committed
    • re PR tree-optimization/35431 (ICE with complex integer, invalid gimple) · 550386ad
      2008-03-31  Andrew Pinski  <pinskia@gmail.com>
      
              PR tree-opt/35431
              * tree-ssa-phiopt.c (conditional_replacement): Return early for
              complex types.
      
      2008-03-31  Andrew Pinski  <pinskia@gmail.com>
      
              PR tree-opt/35431
              * gcc.c-torture/compile/pr35431.c: New testcase.
      
      From-SVN: r133749
      Andrew Pinski committed
    • constraints.md: Add 'j' constraint. · 4e483a22
      gcc/
      2008-03-31  Jan Beulich  <jbeulich@novell.com>
      
      	* config/ia64/constraints.md: Add 'j' constraint.
      	* config/ia64/ia64.md (movsi_internal): Add addp4 case.
      	(movdi_internal): Likewise.
      
      From-SVN: r133748
      Jan Beulich committed
    • error27.C: Use -fno-finite-math-only on sh* targets. · 5b6a73c3
      	* g++.dg/other/error27.C: Use -fno-finite-math-only on sh*
      	targets.
      
      From-SVN: r133746
      Kaz Kojima committed
    • Daily bump. · 9c94e7ed
      From-SVN: r133744
      GCC Administrator committed
  2. 30 Mar, 2008 10 commits
    • re PR c++/35245 (FAIL: g++.dg/other/anon5.C) · 089a8423
      	PR c++/35245
      	* g++.dg/other/anon5.C: Skip on hppa*-*-hpux*.
      
      From-SVN: r133739
      John David Anglin committed
    • re PR c++/35578 (Error about misplaced 'friend' word is issued on a wrong line) · adcc62c7
      	PR c++/35578
      	* parser.c (cp_parser_decl_specifier_seq): Add location to error
      	message.
      
      	* g++.dg/parse/friend8.C: New test.
      
      From-SVN: r133738
      Volker Reichelt committed
    • re PR c/35748 (ICE with cast to invalid union) · 39ffbac9
      	PR c/35748
      	* c-typeck.c (build_c_cast): Skip invalid fields in unions.
      
      	* gcc.dg/union-cast-4.c: New test.
      
      From-SVN: r133737
      Volker Reichelt committed
    • re PR target/35757 (Incorrect contraint on sse4_1_blendp<ssemodesuffixf2c>) · 23594c97
      gcc/
      
      2008-03-30  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/35757
      	* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Issue
      	proper error message for the third argument on blendpd and
      	blendps.
      
      	* config/i386/sse.md (blendbits): New.
      	(sse4_1_blendp<ssemodesuffixf2c>): Use it.
      
      gcc/testsuite/
      
      2008-03-30  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/35757
      	* gcc.target/i386/sse4_1-blendps-2.c: New.
      	* gcc.target/i386/sse4_1-pblendw-2.c: Likewise.
      
      From-SVN: r133736
      H.J. Lu committed
    • a-textio.ads, [...]: Fix comment typos. · e14c931f
      gcc/ada/
      	* a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
      	einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
      	exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
      	exp_pakd.ads, exp_prag.adb, exp_smem.adb,
      	exp_tss.ads, exp_util.adb, exp_util.ads,
      	exp_vfpt.adb, freeze.adb, freeze.ads,
      	frontend.adb, g-alleve.adb, g-altcon.adb,
      	g-altive.ads, g-alveop.ads, g-alvevi.ads,
      	g-arrspl.adb, g-busorg.ads, g-calend.adb,
      	g-calend.ads, g-casuti.ads, g-cgideb.adb,
      	g-comlin.adb, g-comlin.ads, g-curexc.ads,
      	g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
      	g-dirope.adb, g-dirope.ads, g-dynhta.ads,
      	g-dyntab.adb, g-encstr.ads, g-excact.ads,
      	g-except.ads, g-expect.ads, g-heasor.adb,
      	g-hesora.adb, g-hesorg.adb, g-htable.ads,
      	g-locfil.ads, g-md5.adb, g-md5.ads,
      	g-memdum.ads, g-moreex.ads, g-os_lib.adb,
      	g-pehage.adb, g-pehage.ads, g-regexp.adb,
      	g-regexp.ads, g-regpat.adb, g-regpat.ads,
      	g-soccon-aix.ads, g-soccon-darwin.ads,
      	g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
      	g-soccon-hpux.ads, g-soccon-irix.ads,
      	g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
      	g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
      	g-soccon-mingw.ads, g-soccon-solaris-64.ads,
      	g-soccon-solaris.ads, g-soccon-tru64.ads,
      	g-soccon-vms.ads, g-soccon-vxworks.ads,
      	g-soccon.ads, g-socket.adb, g-socket.ads,
      	g-socthi-mingw.adb, g-socthi-vms.adb,
      	g-socthi-vxworks.adb, g-soliop-mingw.ads,
      	g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
      	g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
      	typos.
      
      From-SVN: r133735
      Ralf Wildenhues committed
    • internal_pack_1.f90: Added complex to test case. · 8ae6e4a4
      2008-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* gfortran.dg/internal_pack_1.f90:  Added complex to test case.
      	* gfortran.dg/internal_pack_2.f90:  Likewise.
      	* gfortran.dg/intrinsic_spread_1.f90:  Likewise.
      	* gfortran.dg/intrinsic_spread_2.f90:  Likewise.
      	* gfortran.dg/intrinsic_pack_1.f90:  Likewise.
      	* gfortran.dg/intrinsic_pack_2.f90:  Likewise.
      	* gfortran.dg/intrinsic_unpack_1.f90:  Likewise.
      	* gfortran.dg/intrinsic_unpack_2.f90:  Likewise.
      
      From-SVN: r133733
      Thomas Koenig committed
    • fold-const.c (fold_binary): Add missing conversions. · 8f0e2671
      	* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.
      
      From-SVN: r133732
      Eric Botcazou committed
    • re PR middle-end/31023 (Fold is agnostic of integer sub-types) · 96648603
      2008-03-30  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/31023
      	* fold-const.c (fold_sign_changed_comparison): Do leave
      	conversions to base-types alone.
      
      From-SVN: r133731
      Richard Guenther committed
    • re PR fortran/35740 (a = conjg(transpose(a)) still gives wrong results, see bug 31994) · 23d1b451
      2008-03-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/35740
      	* resolve.c (resolve_function, resolve_call): If the procedure
      	is elemental do not look for noncopying intrinsics.
      
      2008-03-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/35740
      	* gfortran.dg/transpose_conjg_1.f90: New test.
      
      From-SVN: r133729
      Paul Thomas committed
    • Daily bump. · 05c7cda3
      From-SVN: r133726
      GCC Administrator committed
  3. 29 Mar, 2008 8 commits
  4. 28 Mar, 2008 12 commits
    • re PR libfortran/32972 (performance of pack/unpack) · 75f2543f
      2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/32972
      	PR libfortran/32512
      	* Makefile.am:  Add new variable, i_spread_c, containing
      	pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
      	spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
      	spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
      	* Makefile.in:  Regenerated.
      	* libgfortran.h:  Add prototypes for spread_i1, spread_i2,
      	spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
      	spread_c4, spread_c8, spread_c10, spread_c16,
      	spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
      	spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
      	spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
      	spread_scalar_c10 and spread_scalar_c16.
      	Add macros to isolate both type and size information
      	from array descriptors with a single mask operation.
      	* intrinsics/spread_generic.c:  Add calls to specific
      	spread functions.
      	* m4/spread.m4:  New file.
      	* generated/spread_i1.c:  New file.
      	* generated/spread_i2.c:  New file.
      	* generated/spread_i4.c:  New file.
      	* generated/spread_i8.c:  New file.
      	* generated/spread_i16.c:  New file.
      	* generated/spread_r4.c:  New file.
      	* generated/spread_r8.c:  New file.
      	* generated/spread_r10.c:  New file.
      	* generated/spread_r16.c:  New file.
      	* generated/spread_c4.c:  New file.
      	* generated/spread_c8.c:  New file.
      	* generated/spread_c10.c:  New file.
      	* generated/spread_c16.c:  New file.
      
      2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/32972
      	PR libfortran/32512
      	* intrinsic_spread_1.f90:  New file.
      	* intrinsic_spread_2.f90:  New file.
      	* intrinsic_spread_3.f90:  New file.
      
      From-SVN: r133702
      Thomas Koenig committed
    • re PR fortran/34714 (ICE-on-invalid in gfc_conv_descriptor_dtype) · 01d2a7d7
      gcc/fortran:
      2008-03-28  Daniel Franke  <franke.daniel@gmail.com>
                  Paul Richard Thomas <paul.richard.thomas@gmail.com>
      
      	PR fortran/34714
              * primary.c (match_variable): Improved matching of function
              result variables.
              * resolve.c (resolve_allocate_deallocate): Removed checks if
              the actual argument for STAT is a variable.
      
      gcc/testsuite:
      2008-03-28  Daniel Franke  <franke.daniel@gmail.com>
      
              PR fortran/34714
              * gfortran.dg/alloc_alloc_expr_3.f90: New test.
              * gfortran.dg/allocate_stat.f90: Adjusted error-match text.
              * gfortran.dg/func_assign.f90: Likewise.
              * gfortran.dg/implicit_11.f90: Likewise.
              * gfortran.dg/proc_assign_1.f90: Likewise.
              * gfortran.dg/proc_assign_2.f90: Likewise.
              * gfortran.dg/procedure_lvalue.f90: Likewise.
      								
      
      
      Co-Authored-By: Paul Richard Thomas <paul.richard.thomas@gmail.com>
      
      From-SVN: r133701
      Daniel Franke committed
    • re PR fortran/35699 (run-time abort writing zero sized section to direct access file) · 716aaa59
      2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/35699
      	* gfortran.dg/direct_io_10.f: New test.
      
      From-SVN: r133700
      Jerry DeLisle committed
    • re PR fortran/35699 (run-time abort writing zero sized section to direct access file) · fc8bc175
      2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/35699
      	* io/transfer.c (write_buf):  Don't pad the record, just return if the
      	data is NULL.  (next_record_w): If there are bytes left in the record
      	for unformatted direct I/O, pad out the record with zero bytes.
      
      From-SVN: r133699
      Jerry DeLisle committed
    • sse.md (*and<mode>3): Pass <MODE>mode instead of V4SFmode to ix86_binary_operator_ok. · ad387dad
      2008-03-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/sse.md (*and<mode>3): Pass <MODE>mode instead
      	of V4SFmode to ix86_binary_operator_ok.
      
      From-SVN: r133693
      H.J. Lu committed
    • i386.c (override_options): Initialize ix86_veclib_handler to ix86_veclibabi_svml… · 9aba5d22
      i386.c (override_options): Initialize ix86_veclib_handler to ix86_veclibabi_svml when -mveclibabi=svml is used.
      
              * config/i386/i386.c (override_options): Initialize
              ix86_veclib_handler to ix86_veclibabi_svml when
              -mveclibabi=svml is used.
              (ix86_veclibabi_svml): New function for SVML ABI style
              vectorization support.
              * doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
      
      testsuite/ChangeLog:
      
              * gcc.target/i386/vectorize6.c: New test.
      
      From-SVN: r133692
      Uros Bizjak committed
    • acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set glibcxx_ld_is_gold. · d60a2d4d
      	* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
      	glibcxx_ld_is_gold.  Check for gold in --gc-sections test.
      	(GLIBCXX_ENABLE_SYMVERS): Check for gold.
      	* aclocal.m4, configure: Rebuild.
      
      From-SVN: r133689
      Ian Lance Taylor committed
    • re PR fortran/35721 (ASSOCIATED returns false when strides confusing) · 3e08bbcf
      2008-03-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/35721
              * intrinsics/associated.c (associated): Ignore different
              stride of pointer vs. target if only one element is referred.
      
      2008-03-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/35721
              * gfortran.dg/associated_target_2.f90: New.
      
      From-SVN: r133684
      Tobias Burnus committed
    • re PR rtl-optimization/19580 (missed load/store motion) · 626f4dd8
      2008-03-28  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/19580
      	* gcc.dg/tree-ssa/loop-34.c: New testcase.
      
      From-SVN: r133683
      Richard Guenther committed
    • Makefile.in (POSTCOMPILE): New variable. · 161031e3
      	* Makefile.in (POSTCOMPILE): New variable.
      	(.c.o): Use it.
      
      From-SVN: r133682
      Tom Tromey committed
    • fold-const.c (tree_unary_nonnegative_warnv_p): Make it public. · 2d3cd5d5
      2008-03-28  Rafael Espindola  <espindola@google.com>
      
      	* fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
      	(tree_binary_nonnegative_warnv_p): Make it public.
      	(tree_single_nonnegative_warnv_p): Make it public.
      	(tree_invalid_nonnegative_warnv_p): Make it public.
      	(tree_unary_nonzero_warnv_p): Make it public.
      	(tree_binary_nonzero_warnv_p): Make it public
      	(tree_single_nonzero_warnv_p): Make it public.
      	* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops): New function.
      	(extract_range_from_binary_expr): Split the expr argument.
      	(extract_range_from_unary_expr): Split the expr argument.
      	(extract_range_from_comparison): Split the expr argument.
      	(extract_range_from_expr): Use the new aux functions.
      	(vrp_evaluate_conditional_warnv): Use
      	vrp_evaluate_conditional_warnv_with_ops.
      	* tree.h (tree_unary_nonzero_warnv_p): Declare.
      	(tree_binary_nonzero_warnv_p): Declare.
      	(tree_single_nonzero_warnv_p): Declare.
      	(tree_expr_nonzero_warnv_p): Declare.
      	(tree_unary_nonnegative_warnv_p): Declare.
      	(tree_binary_nonnegative_warnv_p): Declare.
      	(tree_single_nonnegative_warnv_p): Declare.
      	(tree_invalid_nonnegative_warnv_p): Declare.
      
      From-SVN: r133681
      Rafael Avila de Espindola committed
    • re PR tree-optimization/30317 (VRP cannot extract a range from (unsigned int) i + 0x0ffffffff > 4) · 2ab8dbf4
      2008-03-28  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/30317
      	PR tree-optimization/30911
      	PR tree-optimization/34793
      	* tree-vrp.c (set_and_canonicalize_value_range): New function.
      	(struct assert_locus_d): New member EXPR.
      	(register_new_assert_for): Add EXPR parameter to support
      	ASSERT_EXPR <name, expr OP limit>.
      	(register_edge_assert_for_1): Adjust callers.
      	(find_assert_locations): Likewise.
      	(process_assert_insertions_for): Build condition from
      	expression.
      	(extract_range_from_assert): Handle ASSERT_EXPRs
      	of the form ASSERT_EXPR <name, expr OP limit>.
      	(register_edge_assert_for_2): New helper registering
      	asserts for comparisons.  Recognize range tests of the form
      	(unsigned)i - CST1 OP CST2.
      	(register_edge_assert_for_1): Use it.
      	(register_edge_assert_for): Likewise.
      	* tree.def (ASSERT_EXPR): Document extra allowed conditional
      	expressions.
      	(needs_overflow_infinity): Integer sub-types
      	do not need overflow infinities.
      	(vrp_val_is_max): The extreme values of integer sub-types
      	are those of the base type.
      	(vrp_val_is_min): Likewise.
      
      	* gcc.dg/tree-ssa/vrp35.c: New testcase.
      	* gcc.dg/tree-ssa/vrp36.c: Likewise.
      	* gcc.dg/tree-ssa/vrp37.c: Likewise.
      
      From-SVN: r133680
      Richard Guenther committed