Jason Merrill [Wed, 6 Jul 2011 21:22:16 +0000 (17:22 -0400)]
re PR c++/49568 (g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX)
PR c++/49568
* method.c (make_thunk, use_thunk): Copy DECL_COMDAT.
From-SVN: r175938
Daniel Carrera [Wed, 6 Jul 2011 20:57:03 +0000 (20:57 +0000)]
trans-array.c (gfc_array_allocate): Rename allocatable_array
2011-07-06 Daniel Carrera <dcarrera@gmail.com>
* trans-array.c (gfc_array_allocate): Rename allocatable_array
* to
allocatable. Rename function gfc_allocate_array_with_status to
gfc_allocate_allocatable_with_status. Update function call for
gfc_allocate_with_status.
* trans-opemp.c (gfc_omp_clause_default_ctor): Rename function
gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.
* trans-stmt.c (gfc_trans_allocate): Update function call for
gfc_allocate_with_status. Rename function gfc_allocate_array_with_status
to gfc_allocate_allocatable_with_status.
* trans.c (gfc_call_malloc): Add new parameter
* gfc_allocate_with_status
so it uses the library for memory allocation when -fcoarray=lib.
(gfc_allocate_allocatable_with_status): Renamed from
gfc_allocate_array_with_status.
(gfc_allocate_allocatable_with_status): Update function call for
gfc_allocate_with_status.
* trans.h (gfc_coarray_type): New enum.
(gfc_allocate_with_status): Update prototype.
(gfc_allocate_allocatable_with_status): Renamed from
gfc_allocate_array_with_status.
* trans-decl.c (generate_coarray_sym_init): Use the new constant
GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.
From-SVN: r175937
Ian Lance Taylor [Wed, 6 Jul 2011 19:51:58 +0000 (19:51 +0000)]
libgo: Use GOCFLAGS when compiling tests.
From Uros Bizjak.
From-SVN: r175930
Jonathan Wakely [Wed, 6 Jul 2011 18:40:36 +0000 (18:40 +0000)]
re PR other/49658 (Typo in gcc/doc/extend.texi)
2011-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
PR other/49658
* doc/extend.texi (Compound Literals): Fix typo.
From-SVN: r175928
Ian Lance Taylor [Wed, 6 Jul 2011 18:38:24 +0000 (18:38 +0000)]
json: fix test when rand returns 0.
Fixes using gccgo when optimizing, which changes the order of
calls to rand. Same patch proposed upstream.
From-SVN: r175927
Uros Bizjak [Wed, 6 Jul 2011 17:48:43 +0000 (19:48 +0200)]
mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
* mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
From-SVN: r175926
James Greenhalgh [Wed, 6 Jul 2011 17:26:15 +0000 (17:26 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
2011-07-06 James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add
__ARM_FEATURE_DSP.
From-SVN: r175925
Basile Starynkevitch [Wed, 6 Jul 2011 16:37:09 +0000 (16:37 +0000)]
configure.ac (plugin-version.h): Generate GCCPLUGIN_VERSION_MAJOR...
2011-07-06 Basile Starynkevitch <basile@starynkevitch.net>
* configure.ac (plugin-version.h): Generate
GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
macros.
* configure: Regenerate.
* doc/plugins.texi (Building GCC plugins): Mention
GCCPLUGIN_VERSION ... constant macros in plugin-version.h.
From-SVN: r175923
Georg-Johann Lay [Wed, 6 Jul 2011 16:05:18 +0000 (16:05 +0000)]
target-supports.exp (check_profiling_available): Disable profiling with -fprofile-generate for target avr.
* lib/target-supports.exp (check_profiling_available): Disable
profiling with -fprofile-generate for target avr.
From-SVN: r175922
Bernd Schmidt [Wed, 6 Jul 2011 14:44:30 +0000 (14:44 +0000)]
machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
* combine.c (make_extraction, gen_lowpart_or_truncate,
apply_distributive_law, simplify_comparison,
reg_truncated_to_mode, record_truncated_value): Use it.
* cse.c (notreg_cost): Likewise.
* expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
* expr.c (convert_move, convert_modes): Likewise.
* optabs.c (expand_binop, expand_unop): Likewise.
* postreload.c (move2add_last_label): Likewise.
* regmove.c (optimize_reg_copy_3): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
From-SVN: r175921
Joseph Myers [Wed, 6 Jul 2011 14:24:35 +0000 (15:24 +0100)]
* config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.
From-SVN: r175919
Bernd Schmidt [Wed, 6 Jul 2011 14:21:51 +0000 (14:21 +0000)]
* simplify-rtx.c (simplify_ternary_operation): Remove dead code.
From-SVN: r175918
Bernd Schmidt [Wed, 6 Jul 2011 14:21:03 +0000 (14:21 +0000)]
cse.c (find_comparison_args): Use val_mode_signbit_set_p.
* cse.c (find_comparison_args): Use val_mode_signbit_set_p.
* simplify-rtx.c (mode_signbit_p): Use GET_MODE_PRECISION.
(val_mode_signbit_p, val_mode_signbit_set_p): New functions.
(simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation,
simplify_const_relational_operation): Use them. Use
GET_MODE_MASK for masking and sign-extensions.
* combine.c (set_nonzero_bits_and_sign_copies, simplify_set,
combine_simplify_rtx, force_to_mode, reg_nonzero_bits_for_combine,
simplify_shift_const_1, simplify_comparison): Likewise.
* expr.c (convert_modes): Likewise.
* rtlanal.c (nonzero_bits1, canonicalize_condition): Likewise.
* expmed.c (emit_cstore, emit_store_flag_1, emit_store_flag):
Likewise.
* rtl.h (val_mode_signbit_p, val_mode_signbit_set_p): Declare.
From-SVN: r175917
Richard Guenther [Wed, 6 Jul 2011 14:05:54 +0000 (14:05 +0000)]
re PR tree-optimization/49645 (g++.dg/tree-ssa/pr8781.C FAILs on Tru64 UNIX)
2011-07-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49645
* c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global
register variables.
* tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences
in type qualification here ...
(copy_reference_ops_from_ref): ... not here.
(vn_reference_lookup_3): ... or here.
(copy_reference_ops_from_ref): Record decl bases as MEM[&decl].
(vn_reference_lookup): Do the lookup with a valueized ao-ref.
* g++.dg/tree-ssa/pr8781.C: Disable SRA.
From-SVN: r175916
Ian Lance Taylor [Wed, 6 Jul 2011 13:58:39 +0000 (13:58 +0000)]
install.texi (Configuration): It's --enable-gnu-indirect-function, not --enable-indirect-function.
* doc/install.texi (Configuration): It's
--enable-gnu-indirect-function, not --enable-indirect-function.
From-SVN: r175915
Bernd Schmidt [Wed, 6 Jul 2011 13:36:16 +0000 (13:36 +0000)]
simplify-rtx.c (simplify_const_binary_operation): Use the shift_truncation_mask hook instead of performing modulo by width.
* simplify-rtx.c (simplify_const_binary_operation): Use the
shift_truncation_mask hook instead of performing modulo by
width. Compare against mode precision, not bitsize.
* combine.c (combine_simplify_rtx, simplify_shift_const_1):
Use shift_truncation_mask instead of constructing the value
manually.
From-SVN: r175913
H.J. Lu [Wed, 6 Jul 2011 13:19:04 +0000 (13:19 +0000)]
Use pointer_mode for address computation.
gcc/
2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47383
* tree-ssa-address.c (addr_for_mem_ref): Use pointer_mode for
address computation and convert to address_mode if needed.
gcc/testsuite/
2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47383
* gcc.dg/pr47383.c: New.
From-SVN: r175912
Rainer Orth [Wed, 6 Jul 2011 11:56:46 +0000 (11:56 +0000)]
re PR tree-optimization/49647 (gcc.dg/tree-ssa/
20030807-7.c XPASSes everywhere)
PR tree-optimization/49647
* gcc.dg/tree-ssa/
20030807-7.c: Remove xfail *-*-*.
From-SVN: r175910
Richard Guenther [Wed, 6 Jul 2011 10:03:05 +0000 (10:03 +0000)]
tree.c (build_common_tree_nodes_2): Merge with build_common_tree_nodes.
2011-07-06 Richard Guenther <rguenther@suse.de>
* tree.c (build_common_tree_nodes_2): Merge with
build_common_tree_nodes.
* tree.h (build_common_tree_nodes): Adjust prototype.
(build_common_tree_nodes_2): Remove.
* doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
* doc/tm.texi (lang_hooks.builtin_function): Regenerate.
c-family/
* c-common.c (c_common_nodes_and_builtins):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
fortran/
* f95-lang.c (gfc_init_decl_processing):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
go/
* go-lang.c (go_langhook_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
java/
* decl.c (java_init_decl_processing):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
lto/
* lto-lang.c (lto_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
ada/
* gcc-interface/misc.c (gnat_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
Re-initialize boolean_false_node.
From-SVN: r175906
Eric Botcazou [Wed, 6 Jul 2011 08:46:41 +0000 (08:46 +0000)]
re PR testsuite/49542 (2 failures in the vectorization testsuite in 64-bit mode)
PR testsuite/49542
* gcc.dg/vect/pr33804.c: XFAIL if vect_no_align unconditionally.
* gcc.dg/vect/slp-multitypes-3.c: XFAIL on SPARC unconditionally.
From-SVN: r175905
Jason Merrill [Wed, 6 Jul 2011 04:20:39 +0000 (00:20 -0400)]
re PR c++/48157 (Unable to match function call to member function template)
PR c++/48157
* pt.c (tsubst_qualified_id): Preserve TEMPLATE_ID_EXPR in
partial instantiation.
From-SVN: r175904
GCC Administrator [Wed, 6 Jul 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175900
Thomas Schwinge [Tue, 5 Jul 2011 22:14:37 +0000 (00:14 +0200)]
libgcc/
* config.host (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove
md_unwind_header by splitting out of...
(i[34567]86-*-linux*): ... this.
* config.host (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
Remove md_unwind_header by splitting out of...
(x86_64-*-linux*): ... this.
From-SVN: r175892
Jakub Jelinek [Tue, 5 Jul 2011 18:43:04 +0000 (20:43 +0200)]
re PR tree-optimization/49618 (When building uClibc with GCC 4.6.1 old_atexit is miscompiled)
PR tree-optimization/49618
* tree-eh.c (tree_could_trap_p) <case CALL_EXPR>: For DECL_WEAK
t recurse on the decl.
<case FUNCTION_DECL, case VAR_DECL>: For DECL_WEAK decls
return true if expr isn't known to be defined in current
TU or some other LTO partition.
From-SVN: r175884
Georg-Johann Lay [Tue, 5 Jul 2011 18:27:57 +0000 (18:27 +0000)]
pr44023.c: Add dg-require-effective-target int32plus
* gcc.dg/pr44023.c: Add dg-require-effective-target int32plus
* gcc.dg/pr43402.c: Ditto.
From-SVN: r175882
Thomas Koenig [Tue, 5 Jul 2011 18:16:17 +0000 (18:16 +0000)]
memory.c (internal_malloc_size): If size is zero, allocate a single byte.
2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
* runtime/memory.c (internal_malloc_size): If size is zero,
allocate a single byte.
* m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
for the argument of internal_malloc_size.
* m4/spread.m4 (spread_'rtype_code`): Likewise.
* m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
for zero size for the argument of internal_malloc_size.
* m4/eoshift3.m4: Don't check for zero size for the argument of
internal_malloc_size.
* intrinsics/pack_generic.c (pack_internal): Likewise.
(pack_s_internal): Likewise.
* intrinsics/cshift0.c (cshift0): Likewise.
* intrinsics/spread_generic.c (spread_internal): Likewise.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.c: Regenerated.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_i16.c: Regenerated.
* generated/pack_i1.c: Regenerated.
* generated/pack_i2.c: Regenerated.
* generated/pack_i4.c: Regenerated.
* generated/pack_i8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.
* generated/pack_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/spread_c10.c: Regenerated.
* generated/spread_c16.c: Regenerated.
* generated/spread_c4.c: Regenerated.
* generated/spread_c8.c: Regenerated.
* generated/spread_i16.c: Regenerated.
* generated/spread_i1.c: Regenerated.
* generated/spread_i2.c: Regenerated.
* generated/spread_i4.c: Regenerated.
* generated/spread_i8.c: Regenerated.
* generated/spread_r10.c: Regenerated.
* generated/spread_r16.c: Regenerated.
* generated/spread_r4.c: Regenerated.
* generated/spread_r8.c: Regenerated.
From-SVN: r175880
Georg-Johann Lay [Tue, 5 Jul 2011 18:03:04 +0000 (18:03 +0000)]
* gcc.dg/cpp/pragma-3.c: Add dg-require-effective-target fopenmp.
From-SVN: r175879
Michael Meissner [Tue, 5 Jul 2011 17:45:38 +0000 (17:45 +0000)]
Add --param case-values-threshold
From-SVN: r175878
Janis Johnson [Tue, 5 Jul 2011 17:16:17 +0000 (17:16 +0000)]
* gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".
From-SVN: r175877
Richard Henderson [Tue, 5 Jul 2011 17:14:16 +0000 (10:14 -0700)]
dwarf2out: Remove unused text-based unwind entry points.
The dwarf2out_cfi_label function is privatized, the
dwarf2out_def_cfa function is merged into its last user.
The others really are unused.
* dwarf2out.c (dwarf2out_cfi_label): Make static.
(dwarf2out_flush_queued_reg_saves): Make static.
(dwarf2out_reg_save): Remove.
(dwarf2out_return_save): Remove.
(dwarf2out_return_reg): Remove.
(dwarf2out_reg_save_reg): Remove.
(dwarf2out_def_cfa): Merge into ...
(dwarf2out_frame_init): ... here.
* dwarf2out.h, tree.h: Remove declarations as necessary.
From-SVN: r175876
Richard Henderson [Tue, 5 Jul 2011 17:10:29 +0000 (10:10 -0700)]
ia64: Remove TARGET_DWARF_HANDLE_FRAME_UNSPEC hook.
Use an empty REG_FRAME_RELATED_EXPR instead.
* config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): Remove.
(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
(ia64_expand_epilogue): Emit an empty FRAME_RELATED_EXPR for
the alloc insn.
From-SVN: r175875
Richard Henderson [Tue, 5 Jul 2011 17:08:58 +0000 (10:08 -0700)]
ia64: Remove dead code in process_epilogue.
* config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
(IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
(process_epilogue): Don't call dwarf2out_def_cfa.
From-SVN: r175874
Richard Henderson [Tue, 5 Jul 2011 17:08:52 +0000 (10:08 -0700)]
ia64: Use pc_rtx to save the return address.
When actually emitting dwarf2, this now produces proper results.
When emitting ia64 unwind info, this removes a hard-coded assumption.
* config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
indicate the return address save.
(process_cfa_register): Likewise.
From-SVN: r175873
Richard Henderson [Tue, 5 Jul 2011 17:06:09 +0000 (10:06 -0700)]
ia64: Remove ia64_dwarf2out_def_steady_cfa.
This defines nothing that we can't deduce already, so remove it.
* config/ia64/ia64.c (ia64_dwarf2out_def_steady_cfa): Remove.
(process_cfa_adjust_cfa, ia64_asm_unwind_emit): Don't call it.
From-SVN: r175872
Richard Henderson [Tue, 5 Jul 2011 17:05:04 +0000 (10:05 -0700)]
ia64: Issue REG_CFA_REGISTER for ar.pfs at alloc insn.
* config/ia64/ia64.c (ia64_expand_prologue): Emit REG_CFA_REGISTER
for ar.pfs save at alloc insn.
From-SVN: r175871
Richard Henderson [Tue, 5 Jul 2011 17:03:41 +0000 (10:03 -0700)]
arm: Use REG_CFA_REGISTER instead of UNSPEC_STACK_ALIGN.
This requires a bit of extra preparation in arm_unwind_emit, in
order to handle the change for ARM unwinding.
* config/arm/arm.c (arm_dwarf_handle_frame_unspec): Remove.
(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
(arm_expand_prologue): Use REG_CFA_REGISTER to mark the
stack pointer save.
(arm_unwind_emit_set): Don't recognize UNSPEC_STACK_ALIGN.
(arm_unwind_emit): Walk REG_NOTES for unwinding notes. Emit
proper unwind info for a REG_CFA_REGISTER save of stack pointer.
* config/arm/arm.md (UNSPEC_STACK_ALIGN): Remove.
From-SVN: r175870
Richard Henderson [Tue, 5 Jul 2011 16:58:42 +0000 (09:58 -0700)]
vax: Emit prologue as rtl.
Not that there's much rtl to emit, since the CALL instruction
interpreting the procedure entry mask does almost all the work.
However, it means we're no longer emitting dwarf2 via the
text-based entry points.
* config/vax/vax.md (define_c_enum unspecv): New. Define the
VUNSPEC_* constants here instead of via define_constants.
(VUNSPEC_PEM): New constant.
(procedure_entry_mask): New insn.
(prologue): New expander.
* config/vax/vax.c (vax_add_reg_cfa_offset): New.
(vax_expand_prologue): Rename from vax_output_function_prologue;
emit rtl instead of text.
(TARGET_ASM_FUNCTION_PROLOGUE): Remove.
(print_operand): Add 'x' prefix.
From-SVN: r175869
Jason Merrill [Tue, 5 Jul 2011 16:36:59 +0000 (12:36 -0400)]
* g++.dg/rtti/anon-ns1.C: Allow for null-termination.
From-SVN: r175867
H.J. Lu [Tue, 5 Jul 2011 15:47:40 +0000 (15:47 +0000)]
Promote the function argument before checking non-legitimate constant.
2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47715
* calls.c (precompute_register_parameters): Promote the function
argument before checking non-legitimate constant.
From-SVN: r175864
Sebastian Pop [Tue, 5 Jul 2011 14:50:34 +0000 (14:50 +0000)]
Fix PR47654: Loop blocking should strip-mine at least two loops.
PR tree-optimization/47654
* graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool.
(lst_do_strip_mine_loop): Return an int.
(lst_do_strip_mine): Same.
(scop_do_strip_mine): Same.
(scop_do_block): Loop blocking should strip-mine at least two loops.
* graphite-interchange.c (lst_interchange_select_outer): Return an int.
(scop_do_interchange): Same.
* graphite-poly.h (scop_do_interchange): Update declaration.
(scop_do_strip_mine): Same.
* gcc.dg/graphite/block-pr47654.c: New.
From-SVN: r175861
Sebastian Pop [Tue, 5 Jul 2011 14:50:27 +0000 (14:50 +0000)]
Fix computation of precision.
* graphite-clast-to-gimple.c (precision_for_value): Removed.
(precision_for_interval): Removed.
(gcc_type_for_interval): Use mpz_sizeinbase.
From-SVN: r175860
Sebastian Pop [Tue, 5 Jul 2011 14:50:21 +0000 (14:50 +0000)]
Correct computation of max.
* graphite-ppl.h (value_max): Correct computation of max.
From-SVN: r175859
Sebastian Pop [Tue, 5 Jul 2011 14:50:13 +0000 (14:50 +0000)]
Correct typo.
* graphite-clast-to-gimple.c (clast_name_to_index): Add missing space.
From-SVN: r175858
Jason Merrill [Tue, 5 Jul 2011 14:47:21 +0000 (10:47 -0400)]
re PR c++/49598 ([C++0x] Ice on lambda with implicit capture by value.)
PR c++/49598
* semantics.c (finish_id_expression): convert_from_reference.
From-SVN: r175857
Richard Guenther [Tue, 5 Jul 2011 14:39:30 +0000 (14:39 +0000)]
c-common.c (c_common_nodes_and_builtins): Build all common tree nodes first.
2011-07-05 Richard Guenther <rguenther@suse.de>
c-family/
* c-common.c (c_common_nodes_and_builtins): Build all common
tree nodes first.
* c-decl.c (c_init_decl_processing): Defer building common
tree nodes to c_common_nodes_and_builtins.
cp/
* decl.c (cxx_init_decl_processing): Defer building common
tree nodes to c_common_nodes_and_builtins.
From-SVN: r175856
Razya Ladelsky [Tue, 5 Jul 2011 13:08:01 +0000 (13:08 +0000)]
07-05-2011 Razya Ladelsky <razya@il.ibm.com>
* tree-cfg.c (gimple_duplicate_sese_tail): Remove handling of
the loop's number of iterations.
* tree-parloops.c (transform_to_exit_first_loop): Add the
handling of the loop's number of iterations before the call
to gimple_duplicate_sese_tail.
Insert the stmt caclculating the new rhs of the loop's
condition stmt to the preheader instead of iters_bb.
* testsuite/gcc.dg/autopar/pr49580.c: New test.
From-SVN: r175851
H.J. Lu [Tue, 5 Jul 2011 12:47:35 +0000 (12:47 +0000)]
Don't propagate hard registers in forward_propagate_subreg.
2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/47449
* fwprop.c (forward_propagate_subreg): Don't propagate hard
register nor zero/sign extended hard register.
From-SVN: r175849
Richard Guenther [Tue, 5 Jul 2011 11:24:26 +0000 (11:24 +0000)]
re PR tree-optimization/49518 (ICE in vect_enhance_data_refs_alignment, at tree-vect-data-refs.c:1555)
2011-07-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49518
PR tree-optimization/49628
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
irrelevant and invariant data-references.
(vect_analyze_data_ref_access): For invariant loads clear the
group association.
* g++.dg/torture/pr49628.C: New testcase.
* gcc.dg/torture/pr49518.c: Likewise.
From-SVN: r175847
Rainer Orth [Tue, 5 Jul 2011 10:22:50 +0000 (10:22 +0000)]
run_acats (which): Extract last field from type -p, type output only if command succeeded.
* ada/acats/run_acats (which): Extract last field from type -p,
type output only if command succeeded.
From-SVN: r175843
GCC Administrator [Tue, 5 Jul 2011 00:17:59 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r175840
Jason Merrill [Mon, 4 Jul 2011 21:44:11 +0000 (17:44 -0400)]
cp-demangle.c (d_expression): Handle 'this'.
* cp-demangle.c (d_expression): Handle 'this'.
(d_print_comp) [DEMANGLE_COMPONENT_FUNCTION_PARAM]: Likewise.
From-SVN: r175836
Jason Merrill [Mon, 4 Jul 2011 21:44:04 +0000 (17:44 -0400)]
DR 1207 PR c++/49589
DR 1207
PR c++/49589
* mangle.c (write_expression): Handle 'this'.
* parser.c (cp_parser_postfix_dot_deref_expression): Allow
incomplete *this.
* semantics.c (potential_constant_expression_1): Check that
DECL_CONTEXT is set on 'this'.
From-SVN: r175835
Jason Merrill [Mon, 4 Jul 2011 21:43:57 +0000 (17:43 -0400)]
error.c (dump_template_bindings): Don't print typenames for a partial instantiation.
* error.c (dump_template_bindings): Don't print typenames
for a partial instantiation.
(dump_function_decl): If we aren't printing function arguments,
print template arguments as <args> rather than [with ...].
(dump_expr): Don't print return type or template header.
[BASELINK]: Use BASELINK_FUNCTIONS rather than get_first_fn.
* pt.c (dependent_template_arg_p): Handle null arg.
From-SVN: r175834
Jason Merrill [Mon, 4 Jul 2011 21:43:49 +0000 (17:43 -0400)]
* error.c (type_to_string): Avoid redundant akas.
From-SVN: r175833
Jakub Jelinek [Mon, 4 Jul 2011 21:12:57 +0000 (23:12 +0200)]
re PR fortran/49623 (Segfault of "gfortran -L" if no argument follows the "-L")
PR fortran/49623
* gfortranspec.c (lang_specific_driver): Ignore options with
CL_ERR_MISSING_ARG errors.
From-SVN: r175830
Jakub Jelinek [Mon, 4 Jul 2011 21:04:54 +0000 (23:04 +0200)]
re PR rtl-optimization/49619 (ICE in simplify_subreg, at simplify-rtx.c:5362)
PR rtl-optimization/49619
* combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
pass VOIDmode as op0_mode to recursive call, and return temp even
when different from tor, just if it is not IOR of the original
PLUS arguments.
* gcc.dg/pr49619.c: New test.
From-SVN: r175825
Jakub Jelinek [Mon, 4 Jul 2011 18:53:56 +0000 (20:53 +0200)]
re PR rtl-optimization/49472 (Compiler segfault on valid code)
PR rtl-optimization/49472
* simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
negating MULT, negate the second operand instead of first.
(simplify_binary_operation_1) <case MULT>: If one operand is
a NEG and the other is MULT, don't attempt to optimize by
negation of the MULT operand if it only moves the NEG operation
around.
* gfortran.dg/pr49472.f90: New test.
From-SVN: r175821
Jakub Jelinek [Mon, 4 Jul 2011 17:19:52 +0000 (19:19 +0200)]
re PR debug/49602 (verify_ssa failed (definition does not dominate use) with "-O2 -g")
PR debug/49602
* tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
get_current_def return value if it can't be trusted to be
the current value of the variable in the current bb.
* gcc.dg/pr49602.c: New test.
From-SVN: r175818
Uros Bizjak [Mon, 4 Jul 2011 16:26:08 +0000 (18:26 +0200)]
re PR target/49600 (Bad SSE2 int->float split in i386.md)
PR target/49600
* config/i386/i386.md (SSE2 int->float split): Push operand 1 in
general register to memory for !TARGET_INTER_UNIT_MOVES.
From-SVN: r175817
Georg-Johann Lay [Mon, 4 Jul 2011 12:48:04 +0000 (12:48 +0000)]
re PR target/34734 ([avr] attribute((progmem)) not handled properly in C++)
PR target/34734
PR target/44643
* gcc.target/avr/avr.exp: Run over cpp files, too.
* gcc.target/avr/torture/avr-torture.exp: Ditto.
* gcc.target/avr/progmem.h: New file.
* gcc.target/avr/exit-abort.h: New file.
* gcc.target/avr/progmem-error-1.c: New file.
* gcc.target/avr/progmem-error-1.cpp: New file.
* gcc.target/avr/progmem-warning-1.c: New file.
* gcc.target/avr/torture/progmem-1.c: New file.
* gcc.target/avr/torture/progmem-1.cpp: New file.
From-SVN: r175811
Georg-Johann Lay [Mon, 4 Jul 2011 12:28:02 +0000 (12:28 +0000)]
re PR target/44643 ([avr] ICE in c-typeck.c)
PR target/44643
* config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
instead of TREE_READONLY.
From-SVN: r175809
Georg-Johann Lay [Mon, 4 Jul 2011 12:20:35 +0000 (12:20 +0000)]
extend.texi (AVR Built-in Functions): Update documentation of __builtin_avr_fmul*.
* doc/extend.texi (AVR Built-in Functions): Update documentation
of __builtin_avr_fmul*.
* config/avr/avr.c (avr_init_builtins): Don't depend on
AVR_HAVE_MUL.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Ditto.
* config/avr/avr.md (fmul): Rename to fmul_insn.
(fmuls): Rename to fmuls_insn.
(fmulsu): Rename to fmulsu_insn.
(fmul,fmuls,fmulsu): New expander.
(*fmul.call,*fmuls.call,*fmulsu.call): New Insn.
* config/avr/t-avr (LIB1ASMFUNCS): Add _fmul, _fmuls, _fmulsu.
* config/avr/libgcc.S (__fmul): New function.
(__fmuls): New function.
(__fmulsu,__fmulsu_exit): New function.
From-SVN: r175807
Richard Guenther [Mon, 4 Jul 2011 12:06:17 +0000 (12:06 +0000)]
re PR tree-optimization/49615 (internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member)
2011-07-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49615
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
basic-block index check.
* g++.dg/torture/pr49615.C: New testcase.
From-SVN: r175803
Georg-Johann Lay [Mon, 4 Jul 2011 10:02:34 +0000 (10:02 +0000)]
t-avr (intfuncs16): Add _clrsbXX2.
libgcc/
* config/avr/t-avr (intfuncs16): Add _clrsbXX2.
gcc/
* longlong.h (count_leading_zeros, count_trailing_zeros,
COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
resp. 64.
From-SVN: r175800
Nicola Pero [Mon, 4 Jul 2011 08:02:50 +0000 (08:02 +0000)]
In gcc/objc/: 2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>
Refactored encoding code into objc-encoding.h and objc-encoding.c.
* objc-act.c (util_obstack, util_firstobj, encode_type_qualifiers,
encode_type, generating_instance_variables, objc_method_parm_type,
objc_encoded_type_size, encode_method_prototype,
objc_build_encode_expr, pointee_is_readonly, encode_pointer,
encode_array, encode_vector, encode_aggregate_fields,
encode_aggregate_within, encode_next_bitfield,
encode_gnu_bitfield, encode_field_decl,
objc_v2_encode_property_attr): Moved to objc-encoding.h and
objc-encoding.c. No change in the actual code.
Include objc-encoding.h.
(objc_init): Added TODO.
(objc_build_property_setter_name): Made non-static so it can be
called from objc-encoding.c.
* objc-act.h (OBJC_ENCODE_INLINE_DEFS,
OBJC_ENCODE_DONT_INLINE_DEFS): Moved to objc-encoding.h.
* objc-runtime-shared-support.h (objc_v2_encode_property_attr,
encode_method_prototype, encode_field_decl,
generating_instance_variables): Moved to objc-encoding.h.
(objc_build_property_setter_name): Declare.
* objc-encoding.c: New.
* objc-encoding.h: New.
* objc-gnu-runtime-abi-01.c: Include objc-encoding.h.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-runtime-shared-support.c: Likewise.
* Make-lang.in (OBJC_OBJS): Added objc-encoding.o.
(objc/objc-lang.o): Reordered dependencies.
(objc/objc-runtime-shared-support.o): Reordered dependencies.
Added dependencies on objc-encoding.h and on $(GGC_H),
$(DIAGNOSTIC_CORE_H), $(FLAGS_H) and input.h.
(objc/objc-gnu-runtime-abi-01.o): Likewise.
(objc/objc-next-runtime-abi-01.o): Likewise.
(objc/objc-next-runtime-abi-02.o): Likewise.
(objc/objc-act.o): Reordered dependencies. Added dependency on
objc-encoding.h.
(objc/objc-encoding.o): New rule.
* objc-encoding.c (encode_type): Use "%<%T%>" format when printing
warning "unknown type %<%T%> found during Objective-C encoding"
instead of using gen_type_name.
In gcc/objcp/:
2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>
* Make-lang.in (OBJCXX_OBJS): Added objc-encoding.o.
(objcp/objcp-lang.o): Reordered dependencies. Depend on GGC_H.
(objcp/objcp-decl.o): Reordered dependencies.
(objcp/objc-runtime-shared-support.o): Reordered dependencies.
Updated them to be identical to the corresponding new objc/ ones,
with the addition of objcp-decl.h.
(objcp/objc-runtime-shared-support.o): Likewise.
(objcp/objc-gnu-runtime-abi-01.o): Likewise.
(objcp/objc-next-runtime-abi-01.o): Likewise.
(objcp/objc-next-runtime-abi-02.o): Likewise.
(objcp/objcp-act.o): Reordered dependencies. Added dependency on
objc-encoding.h.
(objcp/objc-encoding.o): New rule.
From-SVN: r175797
GCC Administrator [Mon, 4 Jul 2011 00:19:16 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r175793
Janne Blomqvist [Sun, 3 Jul 2011 17:37:30 +0000 (20:37 +0300)]
PR 49296 Fix wrong PR number in ChangeLog
From-SVN: r175789
Ira Rosen [Sun, 3 Jul 2011 10:14:55 +0000 (10:14 +0000)]
re PR tree-optimization/49610 (Segfault with -ftree-vectorize (or -O3))
PR tree-optimization/49610
* tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has
a basic block.
From-SVN: r175786
GCC Administrator [Sun, 3 Jul 2011 00:17:52 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r175785
Eric Botcazou [Sat, 2 Jul 2011 18:13:47 +0000 (18:13 +0000)]
tree.h (TYPE_ARTIFICIAL): New flag.
* tree.h (TYPE_ARTIFICIAL): New flag.
* dwarf2out.c (modified_type_die): Add a DW_AT_artificial attribute to
the DIE of the type if it is artificial.
(gen_array_type_die): Likewise.
(gen_enumeration_type_die): Likewise.
(gen_struct_or_union_type_die): Likewise.
* lto-streamer-in.c (unpack_ts_base_value_fields): Use TYPE_ARTIFICIAL.
* lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
ada/
* gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
the type according to the ARTIFICIAL_P parameter.
(create_type_decl): Likewise.
(create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
Co-Authored-By: Nicolas Setton <setton@adacore.com>
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r175781
Janus Weil [Sat, 2 Jul 2011 11:08:41 +0000 (13:08 +0200)]
re PR fortran/49562 ([OOP] assigning value to type-bound function)
2011-07-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/49562
* expr.c (gfc_check_vardef_context): Handle type-bound procedures.
2011-07-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/49562
* gfortran.dg/typebound_proc_23.f90: New.
From-SVN: r175779
GCC Administrator [Sat, 2 Jul 2011 00:17:54 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r175775
Jonathan Wakely [Fri, 1 Jul 2011 22:24:42 +0000 (22:24 +0000)]
re PR c++/49605 (-Wdelete-non-virtual-dtor is not picky enough)
2011-07-01 Jonathan Wakely <jwakely.gcc@gmail.com>
PR c++/49605
* init.c (build_delete): Only warn for sfk_deleting_destructor.
From-SVN: r175771
Eric Botcazou [Fri, 1 Jul 2011 21:43:59 +0000 (21:43 +0000)]
Make-lang.in (gnat1): Prepend '+' to the command.
* gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
(gnatbind): Likewise.
From-SVN: r175769
Jakub Jelinek [Fri, 1 Jul 2011 21:15:05 +0000 (23:15 +0200)]
tree-object-size.c (pass_through_call): Handle BUILT_IN_ASSUME_ALIGNED.
* tree-object-size.c (pass_through_call): Handle
BUILT_IN_ASSUME_ALIGNED.
From-SVN: r175768
Jakub Jelinek [Fri, 1 Jul 2011 21:14:14 +0000 (23:14 +0200)]
Make-lang.in (cp/decl.o): Depend on pointer-set.h.
* Make-lang.in (cp/decl.o): Depend on pointer-set.h.
(cp/class.o): Likewise.
(cp/error.o): Likewise.
(cp/name-lookup.o): Likewise.
(cp/decl2.o): Likewise. Don't depend on $(POINTER_SET_H).
From-SVN: r175767
Jason Merrill [Fri, 1 Jul 2011 20:24:38 +0000 (16:24 -0400)]
re PR c++/48261 (internal compiler error: in lookup_template_function, at cp/pt.c:6227)
PR c++/48261
* pt.c (lookup_template_function): Handle non-function.
From-SVN: r175766
Jason Merrill [Fri, 1 Jul 2011 20:24:25 +0000 (16:24 -0400)]
re PR c++/48593 (Wrong return type when applying address operator to inherited, template dependend member, using a typedef)
PR c++/48593
* pt.c (tsubst_qualified_id): Check PTRMEM_OK_P.
* tree.c (build_qualified_name): Set PTRMEM_OK_P.
* semantics.c (finish_parenthesized_expr): Clear PTRMEM_OK_P on
SCOPE_REF, too.
* cp-tree.h (PTRMEM_OK_P): Apply to SCOPE_REF, too.
(QUALIFIED_NAME_IS_TEMPLATE): Switch to lang flag 1.
From-SVN: r175765
Jason Merrill [Fri, 1 Jul 2011 20:24:08 +0000 (16:24 -0400)]
re PR c++/48883 (?: ternary operator fails in certain contexts - link error)
PR c++/48883
PR c++/49609
* pt.c (resolve_nondeduced_context): Call mark_used.
From-SVN: r175764
Joel Brobecker [Fri, 1 Jul 2011 17:51:05 +0000 (17:51 +0000)]
Darwin has case-insensitive filesystems
HFS+, the FS on Darwin, is case insensitive. So this patch adjusts
filename_cmp.c to ignore the casing when comparing filenames on Darwin.
include/ChangeLog:
* filenames.h (HAVE_CASE_INSENSITIVE_FILE_SYSTEM): Define
on Darwin, as well as on the systems that use a DOS-like
filesystem.
libiberty/ChangeLog:
* filename_cmp.c (filename_cmp, filename_ncmp): Add handling of
HAVE_CASE_INSENSITIVE_FILE_SYSTEM.
From-SVN: r175762
Jan Kratochvil [Fri, 1 Jul 2011 17:16:44 +0000 (17:16 +0000)]
re PR debug/49408 (member function template id not matching linkage name)
libiberty/
PR debug/49408
* cp-demangle.c (d_print_comp): Suppress argument list for function
references by the '&' unary operator. Keep also already processed
variant without the argument list. Suppress argument list types for
function call used in an expression.
* testsuite/demangle-expected: Fix excessive argument list types in
`test for typed function in decltype'. New testcase for no argument
list types printed. 3 new testcases for function references by the
'&' unary operator..
From-SVN: r175761
Martin Jambor [Fri, 1 Jul 2011 15:46:17 +0000 (17:46 +0200)]
tree-sra.c (tree_non_mode_aligned_mem_p): Also ignore MEM_REFs.
2011-07-01 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (tree_non_mode_aligned_mem_p): Also ignore MEM_REFs.
From-SVN: r175760
Jason Merrill [Fri, 1 Jul 2011 13:36:17 +0000 (09:36 -0400)]
re PR c++/49085 (Crash with SIGSEGV during compilation.)
PR c++/49085
* semantics.c (finish_offsetof): Complain about incomplete type.
From-SVN: r175758
H.J. Lu [Fri, 1 Jul 2011 12:57:11 +0000 (12:57 +0000)]
Use proper mode for stack save area.
2011-07-01 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/48016
* explow.c (update_nonlocal_goto_save_area): Use proper mode
for stack save area.
* function.c (expand_function_start): Likewise.
From-SVN: r175756
Rainer Orth [Fri, 1 Jul 2011 11:27:00 +0000 (11:27 +0000)]
config-list.mk (LIST): Append OPT-enable-obsolete to alpha-dec-osf5.1, mips-sgi-irix6.5.
* config-list.mk (LIST): Append OPT-enable-obsolete to
alpha-dec-osf5.1, mips-sgi-irix6.5.
From-SVN: r175754
Richard Guenther [Fri, 1 Jul 2011 11:13:13 +0000 (11:13 +0000)]
re PR middle-end/49596 (FAIL: gcc.dg/torture/pr43879_1.c)
2011-07-01 Richard Guenther <rguenther@suse.de>
PR middle-end/49596
* cgraph.h (varpool_all_refs_explicit_p): Not analyzed nodes
may have unknown refs.
From-SVN: r175753
Kai Tietz [Fri, 1 Jul 2011 10:00:25 +0000 (12:00 +0200)]
tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
2011-07-01 Kai Tietz <ktietz@redhat.com>
* tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
2011-07-01 Kai Tietz <ktietz@redhat.com>
* gcc.dg/tree-ssa/bitwise-sink.c: New test.
From-SVN: r175752
Rainer Orth [Fri, 1 Jul 2011 09:25:29 +0000 (09:25 +0000)]
config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
* config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
* doc/install.texi (Specific, alpha*-dec-osf5.1): Document it.
(Specific, mips-sgi-irix6): Likewise.
From-SVN: r175751
Rainer Orth [Fri, 1 Jul 2011 08:59:20 +0000 (08:59 +0000)]
re PR libmudflap/49549 (Use of --noinhibit-exec is unportable)
libmudflap:
PR libmudflap/49549
* testsuite/lib/libmudflap.exp (load_gcc_lib): Load
target-supports.exp.
* testsuite/libmudflap.cth/cthfrags.exp: Only pass
--noinhibit-exec to GNU ld.
gcc:
PR libmudflap/49549
* doc/sourcebuild.texi (Effective-Target Keywords): Document gld.
gcc/testsuite:
PR libmudflap/49549
* lib/target-supports.exp (check_effective_target_gld): New proc.
From-SVN: r175749
Jakub Jelinek [Fri, 1 Jul 2011 08:21:09 +0000 (10:21 +0200)]
tree-pretty-print.c (dump_generic_code): Print [idx]= and [idx1 ...
* tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
[idx]= and [idx1 ... idx2]= before initializers if needed for
array initializers.
From-SVN: r175748
Chen Liqin [Fri, 1 Jul 2011 07:51:38 +0000 (07:51 +0000)]
config.gcc (score-*-elf): Remove score7.o.
2011-07-01 Chen Liqin <liqin.gcc@gmail.com>
* config.gcc (score-*-elf): Remove score7.o.
* config/score/t-score-elf: Likewise.
* config/score/score.c: Merge score7 to score.c and remove forwarding functions.
* config/score/score7.c: Deleted.
* config/score/score7.h: Deleted.
From-SVN: r175747
Richard Guenther [Fri, 1 Jul 2011 06:56:18 +0000 (06:56 +0000)]
re PR middle-end/49603 (177.mesa in SPEC CPU 2000 failed to build)
2011-07-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49603
* tree-vect-stmts.c (vectorizable_load): Remove unnecessary
assert.
* gcc.dg/torture/pr49603.c: New testcase.
From-SVN: r175746
Jason Merrill [Fri, 1 Jul 2011 00:54:27 +0000 (20:54 -0400)]
correct changelog
From-SVN: r175744
Jason Merrill [Fri, 1 Jul 2011 00:53:10 +0000 (20:53 -0400)]
re PR c++/49387 (t.cxx:140: error: too many initializers for ‘const __class_type_info_pseudo’)
PR c++/49387
* rtti.c (get_pseudo_ti_index): Call complete_type.
From-SVN: r175743
GCC Administrator [Fri, 1 Jul 2011 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r175742
Jason Merrill [Fri, 1 Jul 2011 00:03:58 +0000 (20:03 -0400)]
re PR c++/49569 (-std=gnu++0x causes segmentation fault)
PR c++/49569
* method.c (implicitly_declare_fn): Set DECL_PARM_LEVEL and
DECL_PARM_INDEX on rhs parm.
From-SVN: r175738
Jason Merrill [Fri, 1 Jul 2011 00:03:43 +0000 (20:03 -0400)]
* pt.c (iterative_hash_template_arg): Use cp_tree_operand_length.
From-SVN: r175737
Jason Merrill [Fri, 1 Jul 2011 00:03:34 +0000 (20:03 -0400)]
re PR c++/49355 (new T({""}) crashes G++ when struct T { std::string foobar };)
PR c++/49355
* tree.c (stabilize_init): Handle aggregate initialization.
From-SVN: r175736
Martin Jambor [Thu, 30 Jun 2011 21:54:29 +0000 (23:54 +0200)]
tree-sra.c (struct access): Rename total_scalarization to grp_total_scalarization
2011-06-30 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (struct access): Rename total_scalarization to
grp_total_scalarization
(completely_scalarize_var): New function.
(sort_and_splice_var_accesses): Set total_scalarization in the
representative access.
(analyze_access_subtree): Propagate total scalarization accross the
tree, no holes in totally scalarized trees, simplify coverage
computation.
(analyze_all_variable_accesses): Call completely_scalarize_var instead
of completely_scalarize_record.
* testsuite/gcc.dg/tree-ssa/sra-12.c: New test.
From-SVN: r175733
Jason Merrill [Thu, 30 Jun 2011 21:10:03 +0000 (17:10 -0400)]
re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
* name-lookup.c (struct arg_lookup): Add fn_set.
(add_function): Check it.
(lookup_arg_dependent_1): Initialize it.
From-SVN: r175732