gcc.git
13 years agoia64: Remove ia64_dwarf2out_def_steady_cfa.
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

13 years agoia64: Issue REG_CFA_REGISTER for ar.pfs at alloc insn.
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

13 years agoarm: Use REG_CFA_REGISTER instead of UNSPEC_STACK_ALIGN.
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

13 years agovax: Emit prologue as rtl.
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

13 years ago* g++.dg/rtti/anon-ns1.C: Allow for null-termination.
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

13 years agoPromote the function argument before checking non-legitimate constant.
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

13 years agoFix PR47654: Loop blocking should strip-mine at least two loops.
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

13 years agoFix computation of precision.
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

13 years agoCorrect computation of max.
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

13 years agoCorrect typo.
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

13 years agore PR c++/49598 ([C++0x] Ice on lambda with implicit capture by value.)
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

13 years agoc-common.c (c_common_nodes_and_builtins): Build all common tree nodes first.
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

13 years ago07-05-2011 Razya Ladelsky <razya@il.ibm.com>
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

13 years agoDon't propagate hard registers in forward_propagate_subreg.
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

13 years agore PR tree-optimization/49518 (ICE in vect_enhance_data_refs_alignment, at tree-vect...
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

13 years agorun_acats (which): Extract last field from type -p, type output only if command succe...
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

13 years agoDaily bump.
GCC Administrator [Tue, 5 Jul 2011 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r175840

13 years agocp-demangle.c (d_expression): Handle 'this'.
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

13 years agoDR 1207 PR c++/49589
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

13 years agoerror.c (dump_template_bindings): Don't print typenames for a partial instantiation.
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

13 years ago* error.c (type_to_string): Avoid redundant akas.
Jason Merrill [Mon, 4 Jul 2011 21:43:49 +0000 (17:43 -0400)]
* error.c (type_to_string): Avoid redundant akas.

From-SVN: r175833

13 years agore PR fortran/49623 (Segfault of "gfortran -L" if no argument follows the "-L")
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

13 years agore PR rtl-optimization/49619 (ICE in simplify_subreg, at simplify-rtx.c:5362)
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

13 years agore PR rtl-optimization/49472 (Compiler segfault on valid code)
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

13 years agore PR debug/49602 (verify_ssa failed (definition does not dominate use) with "-O2...
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

13 years agore PR target/49600 (Bad SSE2 int->float split in i386.md)
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

13 years agore PR target/34734 ([avr] attribute((progmem)) not handled properly in C++)
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

13 years agore PR target/44643 ([avr] ICE in c-typeck.c)
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

13 years agoextend.texi (AVR Built-in Functions): Update documentation of __builtin_avr_fmul*.
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

13 years agore PR tree-optimization/49615 (internal compiler error: verify_stmts failed / LHS...
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

13 years agot-avr (intfuncs16): Add _clrsbXX2.
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

13 years agoIn gcc/objc/: 2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>
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

13 years agoDaily bump.
GCC Administrator [Mon, 4 Jul 2011 00:19:16 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r175793

13 years agoPR 49296 Fix wrong PR number in ChangeLog
Janne Blomqvist [Sun, 3 Jul 2011 17:37:30 +0000 (20:37 +0300)]
PR 49296 Fix wrong PR number in ChangeLog

From-SVN: r175789

13 years agore PR tree-optimization/49610 (Segfault with -ftree-vectorize (or -O3))
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

13 years agoDaily bump.
GCC Administrator [Sun, 3 Jul 2011 00:17:52 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r175785

13 years agotree.h (TYPE_ARTIFICIAL): New flag.
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

13 years agore PR fortran/49562 ([OOP] assigning value to type-bound function)
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

13 years agoDaily bump.
GCC Administrator [Sat, 2 Jul 2011 00:17:54 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r175775

13 years agore PR c++/49605 (-Wdelete-non-virtual-dtor is not picky enough)
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

13 years agoMake-lang.in (gnat1): Prepend '+' to the command.
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

13 years agotree-object-size.c (pass_through_call): Handle BUILT_IN_ASSUME_ALIGNED.
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

13 years agoMake-lang.in (cp/decl.o): Depend on pointer-set.h.
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

13 years agore PR c++/48261 (internal compiler error: in lookup_template_function, at cp/pt.c...
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

13 years agore PR c++/48593 (Wrong return type when applying address operator to inherited, templ...
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

13 years agore PR c++/48883 (?: ternary operator fails in certain contexts - link error)
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

13 years agoDarwin has case-insensitive filesystems
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

13 years agore PR debug/49408 (member function template id not matching linkage name)
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

13 years agotree-sra.c (tree_non_mode_aligned_mem_p): Also ignore MEM_REFs.
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

13 years agore PR c++/49085 (Crash with SIGSEGV during compilation.)
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

13 years agoUse proper mode for stack save area.
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

13 years agoconfig-list.mk (LIST): Append OPT-enable-obsolete to alpha-dec-osf5.1, mips-sgi-irix6.5.
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

13 years agore PR middle-end/49596 (FAIL: gcc.dg/torture/pr43879_1.c)
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

13 years agotree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
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

13 years agoconfig.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
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

13 years agore PR libmudflap/49549 (Use of --noinhibit-exec is unportable)
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

13 years agotree-pretty-print.c (dump_generic_code): Print [idx]= and [idx1 ...
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

13 years agoconfig.gcc (score-*-elf): Remove score7.o.
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

13 years agore PR middle-end/49603 (177.mesa in SPEC CPU 2000 failed to build)
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

13 years agocorrect changelog
Jason Merrill [Fri, 1 Jul 2011 00:54:27 +0000 (20:54 -0400)]
correct changelog

From-SVN: r175744

13 years agore PR c++/49387 (t.cxx:140: error: too many initializers for ‘const __class_type_info...
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

13 years agoDaily bump.
GCC Administrator [Fri, 1 Jul 2011 00:17:43 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r175742

13 years agore PR c++/49569 (-std=gnu++0x causes segmentation fault)
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

13 years ago* pt.c (iterative_hash_template_arg): Use cp_tree_operand_length.
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

13 years agore PR c++/49355 (new T({""}) crashes G++ when struct T { std::string foobar };)
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

13 years agotree-sra.c (struct access): Rename total_scalarization to grp_total_scalarization
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

13 years agore PR c++/48481 (C++ overloading memory hog)
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

13 years ago* g++.dg/cpp0x/named.C: Test subobject of xvalue.
Jason Merrill [Thu, 30 Jun 2011 21:09:55 +0000 (17:09 -0400)]
* g++.dg/cpp0x/named.C: Test subobject of xvalue.

From-SVN: r175731

13 years agoi386: Always use TARGET_DEEP_BRANCH_PREDICTION.
Richard Henderson [Thu, 30 Jun 2011 21:08:54 +0000 (14:08 -0700)]
i386: Always use TARGET_DEEP_BRANCH_PREDICTION.

While it could be possible to output_set_got such that we can
individually annotate the instructions, it's simpler to simply
admit that all processors currently being manufactured do want
deep branch prediction.  At which point all of the complication
simply goes away.

        * config/i386/i386.h (X86_TUNE_DEEP_BRANCH_PREDICTION): Remove.
        (TARGET_DEEP_BRANCH_PREDICTION): Remove.
        * config/i386/i386.c: Don't include dwarf2out.h.
        (initial_ix86_tune_features): Remove X86_TUNE_DEEP_BRANCH_PREDICTION.
        (output_set_got): Don't test TARGET_DEEP_BRANCH_PREDICTION, delete
        all code dead thereafter.  Don't do dwarf2out_flush_queued_reg_saves.
        (ix86_expand_prologue): Set REG_CFA_FLUSH_QUEUE on set_got insn.
        (machopic_output_stub): Don't test TARGET_DEEP_BRANCH_PREDICTION.

From-SVN: r175730

13 years agodwarf2out: Add REG_CFA_FLUSH_QUEUE.
Richard Henderson [Thu, 30 Jun 2011 21:04:23 +0000 (14:04 -0700)]
dwarf2out: Add REG_CFA_FLUSH_QUEUE.

        * reg-notes.def (REG_CFA_FLUSH_QUEUE): New.
        * dwarf2out.c (dwarf2out_frame_debug): Handle it.
        * final.c (final_scan_insn): Look for it, and invoke
        dwarf2out_frame_debug before the insn if found.

From-SVN: r175729

13 years agodwarf2out: Handle pc_rtx as return column in REG_CFA_OFFSET too.
Richard Henderson [Thu, 30 Jun 2011 21:01:06 +0000 (14:01 -0700)]
dwarf2out: Handle pc_rtx as return column in REG_CFA_OFFSET too.

        * dwarf2out.c (dwarf2out_frame_debug_cfa_offset): Allow PC_RTX
        as a source, and interpret that as DWARF_FRAME_RETURN_COLUMN.

From-SVN: r175728

13 years agodwarf2out: Convert regs_saved_in_regs to VEC.
Richard Henderson [Thu, 30 Jun 2011 20:59:41 +0000 (13:59 -0700)]
dwarf2out: Convert regs_saved_in_regs to VEC.

        * dwarf2out.c (struct reg_saved_in_data): Provide a typedef.
        Define a vector of this type.
        (regs_saved_in_regs): Use a VEC.
        (num_regs_saved_in_regs): Remove.
        (compare_reg_or_pc): New.
        (record_reg_saved_in_reg): Split out from...
        (dwarf2out_flush_queued_reg_saves): ... here.
        (clobbers_queued_reg_save): Update for VEC.
        (reg_saved_in): Likewise.
        (dwarf2out_frame_debug_init): Likewise.
        (dwarf2out_reg_save_reg): Use record_reg_saved_in_reg.
        (dwarf2out_frame_debug_cfa_register): Likewise.

From-SVN: r175727

13 years agore PR tree-optimization/49572 (gcc.dg/tree-ssa/20030709-2.c scan-tree-dump-times...
Eric Botcazou [Thu, 30 Jun 2011 19:32:23 +0000 (19:32 +0000)]
re PR tree-optimization/49572 (gcc.dg/tree-ssa/20030709-2.c scan-tree-dump-times cddce2 ".rtmem" 0)

PR tree-optimization/49572
* tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
type of the RHS instead of that of the LHS for the expression type.

From-SVN: r175721

13 years agodf-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro unconditionally.
Eric Botcazou [Thu, 30 Jun 2011 17:56:50 +0000 (17:56 +0000)]
df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro unconditionally.

* df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro
unconditionally.

From-SVN: r175718

13 years agoopts.c (finish_options): Do not disable IPA-PTA during ltrans.
Richard Guenther [Thu, 30 Jun 2011 14:03:25 +0000 (14:03 +0000)]
opts.c (finish_options): Do not disable IPA-PTA during ltrans.

2011-06-30  Richard Guenther  <rguenther@suse.de>

* opts.c (finish_options): Do not disable IPA-PTA during ltrans.
* tree-ssa-structalias.c (create_variable_info_for): Do not
add initial constraints for non-var-decls.  Properly handle
globals in other ltrans partitions.
(intra_create_variable_infos): Manually create constraints for
the fake no-alias parameter.
(ipa_pta_execute): Dump the cgraph, handle ltrans partitions properly
and assert there are no clones.

From-SVN: r175707

13 years agore PR tree-optimization/46787 (Does not vectorize loop with load from scalar variable)
Richard Guenther [Thu, 30 Jun 2011 13:27:43 +0000 (13:27 +0000)]
re PR tree-optimization/46787 (Does not vectorize loop with load from scalar variable)

2011-06-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/46787
* tree-data-ref.c (dr_address_invariant_p): Remove.
(find_data_references_in_stmt): Invariant accesses are ok now.
* tree-vect-stmts.c (vectorizable_load): Handle invariant
loads.
* tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
invariant loads.

* gcc.dg/vect/vect-121.c: New testcase.

From-SVN: r175704

13 years agore PR tree-optimization/49094 (ARM aligned(1) attribute is sometimes dropped)
Martin Jambor [Thu, 30 Jun 2011 13:24:19 +0000 (15:24 +0200)]
re PR tree-optimization/49094 (ARM aligned(1) attribute is sometimes dropped)

2011-06-30  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/49094
* tree-sra.c (tree_non_mode_aligned_mem_p): New function.
(build_accesses_from_assign): Use it.

* testsuite/gcc.dg/tree-ssa/pr49094.c: New test.

From-SVN: r175703

13 years ago* de.po: Update.
Joseph Myers [Thu, 30 Jun 2011 12:26:08 +0000 (13:26 +0100)]
* de.po: Update.

From-SVN: r175698

13 years agotree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN...
Jakub Jelinek [Thu, 30 Jun 2011 10:43:59 +0000 (12:43 +0200)]
tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN_ASSUME_ALIGNED.

* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
handling of BUILT_IN_ASSUME_ALIGNED.

From-SVN: r175695

13 years agore PR debug/49364 ([4.7 regressions] Empty .debug_abbrev sections confuse SGI nm)
Jakub Jelinek [Thu, 30 Jun 2011 10:26:32 +0000 (12:26 +0200)]
re PR debug/49364 ([4.7 regressions] Empty .debug_abbrev sections confuse SGI nm)

PR debug/49364
* dwarf2out.c (output_abbrev_section): Don't return early
if abbrev_die_table_in_use is 1.
(dwarf2out_finish): Instead don't call output_abbrev_section
nor emit abbrev_section_label in that case.

From-SVN: r175694

13 years agore PR fortran/49540 (Memory-hog with large DATA stmt)
Jakub Jelinek [Thu, 30 Jun 2011 10:25:40 +0000 (12:25 +0200)]
re PR fortran/49540 (Memory-hog with large DATA stmt)

PR fortran/49540
* gfortran.h (gfc_constructor): Add repeat field.
* trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
* array.c (current_expand): Add repeat field.
(expand_constructor): Copy repeat.
* constructor.c (node_free, node_copy, gfc_constructor_get,
gfc_constructor_lookup): Handle repeat field.
(gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
* data.h (gfc_assign_data_value): Add mpz_t * argument.
(gfc_assign_data_value_range): Removed.
* constructor.h (gfc_constructor_advance): Removed.
(gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
* data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
also handle overwriting a range with a single entry.
(gfc_assign_data_value_range): Removed.
* resolve.c (check_data_variable): Adjust gfc_assign_data_value
call.  Use gfc_assign_data_value instead of
gfc_assign_data_value_expr.

* gfortran.dg/pr49540-1.f90: New test.
* gfortran.dg/pr49540-2.f90: New test.

From-SVN: r175693

13 years agore PR ada/49511 (acats test setup fails on HP-UX using posix shell)
Rainer Orth [Thu, 30 Jun 2011 10:04:52 +0000 (10:04 +0000)]
re PR ada/49511 (acats test setup fails on HP-UX using posix shell)

PR ada/49511
* ada/acats/run_acats (which): Use last field of type -p output.

From-SVN: r175690

13 years agore PR libobjc/36610 (objc_msg_sendv is broken for targets which pass argument via...
Dominique d'Humieres [Thu, 30 Jun 2011 10:02:45 +0000 (12:02 +0200)]
re PR libobjc/36610 (objc_msg_sendv is broken for targets which pass argument via registers)

2011-06-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
    Iain Sandoe  <iains@gcc.gnu.org>

PR libobjc/36610
* objc.dg/torture/forward-1.m: Remove dg-xfail-run-if.
Only skip on 64-bit *-*-darwin8* && !objc2.

Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>
From-SVN: r175689

13 years agov850.h (CPP_SPEC): Define __v850e__ when compiling for the V850E.
Nick Clifton [Thu, 30 Jun 2011 09:13:49 +0000 (09:13 +0000)]
v850.h (CPP_SPEC): Define __v850e__ when compiling for the V850E.

* config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling
for the V850E.

From-SVN: r175688

13 years agore PR tree-optimization/38752 (ICE in set_uids_in_ptset, at tree-ssa-structalias...
Richard Guenther [Thu, 30 Jun 2011 08:44:18 +0000 (08:44 +0000)]
re PR tree-optimization/38752 (ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4817)

2011-06-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/38752
* gcc.c-torture/compile/pr38752.c: New testcase.

From-SVN: r175684

13 years agotree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN...
Jakub Jelinek [Thu, 30 Jun 2011 08:06:01 +0000 (10:06 +0200)]
tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.

* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.

From-SVN: r175682

13 years agotree-vect-loop.c (vect_determine_vectorization_factor): Handle both pattern and origi...
Ira Rosen [Thu, 30 Jun 2011 06:37:41 +0000 (06:37 +0000)]
tree-vect-loop.c (vect_determine_vectorization_factor): Handle both pattern and original statements if necessary.

        * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
        both pattern and original statements if necessary.
        (vect_transform_loop): Likewise.
        * tree-vect-patterns.c (vect_pattern_recog): Update documentation.
        * tree-vect-stmts.c (vect_mark_relevant): Add new argument.
        Mark the pattern statement only if the original statement doesn't
        have its own uses.
        (process_use): Call vect_mark_relevant with additional parameter.
        (vect_mark_stmts_to_be_vectorized): Likewise.
        (vect_get_vec_def_for_operand): Use vectorized pattern statement.
        (vect_analyze_stmt): Handle both pattern and original statements
        if necessary.
        (vect_transform_stmt): Don't store vectorized pattern statement
        in the original statement.
        (vect_is_simple_use_1): Use related pattern statement only if the
        original statement is irrelevant.
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.

From-SVN: r175681

13 years agoDaily bump.
GCC Administrator [Thu, 30 Jun 2011 00:18:02 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175678

13 years agore PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for...
Jason Merrill [Wed, 29 Jun 2011 22:28:15 +0000 (18:28 -0400)]
re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays)

PR c++/49216
* init.c (build_new_1): Pass {} down to build_vec_init.
(build_vec_init): Handle it.

From-SVN: r175674

13 years agoDR 1207 PR c++/49003
Jason Merrill [Wed, 29 Jun 2011 21:19:31 +0000 (17:19 -0400)]
DR 1207 PR c++/49003

DR 1207
PR c++/49003
* cp-tree.h (struct saved_scope): Add x_current_class_ptr,
x_current_class_ref.
(current_class_ptr, current_class_ref): Use them.
* decl.c (build_this_parm): Handle getting the class type.
* parser.c (cp_parser_late_return_type_opt): Set up 'this'
for use within the trailing return type.

From-SVN: r175671

13 years agopt.c (tsubst_decl): In unevaluated operand, don't tsubst DECL_INITIAL unless our...
Jason Merrill [Wed, 29 Jun 2011 21:19:22 +0000 (17:19 -0400)]
pt.c (tsubst_decl): In unevaluated operand, don't tsubst DECL_INITIAL unless our type use auto.

* pt.c (tsubst_decl) [VAR_DECL]: In unevaluated operand,
don't tsubst DECL_INITIAL unless our type use auto.

From-SVN: r175670

13 years agoset.h, [...]: Remove base class default constructor calls.
François Dumont [Wed, 29 Jun 2011 20:11:50 +0000 (22:11 +0200)]
set.h, [...]: Remove base class default constructor calls.

2011-06-29  François Dumont  <francois.cppdevs@free.fr>

* include/debug/set.h, unordered_map, multiset.h, forward_list,
unordered_set, vector, deque, string, list, multimap.h: Remove base
class default constructor calls.
* include/debug/map.h: Likewise and cleanup several redefinition of
base iterator typedef.

From-SVN: r175665

13 years agoAuto-vectorizer generates 128-bit AVX insns by default for bdver1.
Changpeng Fang [Wed, 29 Jun 2011 17:53:49 +0000 (17:53 +0000)]
Auto-vectorizer generates 128-bit AVX insns by default for bdver1.

* config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask option.
* config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL entry.
(TARGET_AVX128_OPTIMAL): New definition.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_TUNE_AVX128_OPTIMAL entry.
(ix86_option_override_internal): Enable the generation
of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
(ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
(ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.

From-SVN: r175661

13 years agore PR c++/49272 (FAIL: g++.old-deja/g++.jason/rfg10.C (test for errors, line 11))
Jason Merrill [Wed, 29 Jun 2011 17:38:53 +0000 (13:38 -0400)]
re PR c++/49272 (FAIL: g++.old-deja/g++.jason/rfg10.C  (test for errors, line 11))

PR c++/49272
* g++.old-deja/g++.jason/rfg10.C: Accept other overflow error too.

From-SVN: r175659

13 years agore PR c++/49520 ([C++0x] using-declaration and operator&& confuses constexpr)
Jason Merrill [Wed, 29 Jun 2011 17:15:16 +0000 (13:15 -0400)]
re PR c++/49520 ([C++0x] using-declaration and operator&& confuses constexpr)

PR c++/49520
* semantics.c (constexpr_fn_retval): Handle CLEANUP_POINT_EXPR here.
(massage_constexpr_body): Not here.

From-SVN: r175658

13 years agore PR c++/49554 ([C++0x] lambda capture causes "cannot call member function ... witho...
Jason Merrill [Wed, 29 Jun 2011 17:15:06 +0000 (13:15 -0400)]
re PR c++/49554 ([C++0x] lambda capture causes "cannot call member function ... without object")

PR c++/49554
* semantics.c (lambda_proxy_type): New.
(build_capture_proxy): Use it.
* cp-tree.h (DECLTYPE_FOR_LAMBDA_PROXY): New.
* pt.c (tsubst) [DECLTYPE_TYPE]: Use them.

From-SVN: r175657

13 years agore PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subre...
Ulrich Weigand [Wed, 29 Jun 2011 16:19:08 +0000 (16:19 +0000)]
re PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subreg:X (reg:Y) 0) (const_int))))

PR rtl-optimization/49114
* reload.c (push_reload): Define in_subreg_loc and out_subreg_loc
only if LIMIT_RELOAD_CLASS to avoid -Werror build breaks.

From-SVN: r175652

13 years agore PR tree-optimization/49539 (ICE building gnattools)
Eric Botcazou [Wed, 29 Jun 2011 16:02:56 +0000 (16:02 +0000)]
re PR tree-optimization/49539 (ICE building gnattools)

PR tree-optimization/49539
* tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
names by means of stmt_references_abnormal_ssa_name.
(associate_plusminus): Call can_propagate_from before propagating
from definition statements.
(ssa_forward_propagate_and_combine): Remove superfluous newline.

From-SVN: r175650

13 years agore PR c++/45923 (constexpr diagnostics, more more)
Jason Merrill [Wed, 29 Jun 2011 14:34:58 +0000 (10:34 -0400)]
re PR c++/45923 (constexpr diagnostics, more more)

PR c++/45923
* class.c (explain_non_literal_class): New.
(finalize_literal_type_property): Call it.
* cp-tree.h: Declare it.
* semantics.c (ensure_literal_type_for_constexpr_object): Call it.
(is_valid_constexpr_fn): Likewise.
(massage_constexpr_body): Split out from...
(register_constexpr_fundef): ...here.
(is_instantiation_of_constexpr): New.
(expand_or_defer_fn_1): Leave DECL_SAVED_TREE alone in that case.
(explain_invalid_constexpr_fn): New.
(cxx_eval_call_expression): Call it.
(potential_constant_expression_1): Likewise.  Avoid redundant errors.
* method.c (process_subob_fn): Diagnose non-constexpr.
(walk_field_subobs): Likewise.
(synthesized_method_walk): Don't shortcut if we want diagnostics.
(explain_implicit_non_constexpr): New.
(defaulted_late_check): Use it.
* call.c (build_cxx_call): Remember location.

From-SVN: r175646

13 years agomethod.c (maybe_explain_implicit_delete): Use pointer_set instead of htab.
Jason Merrill [Wed, 29 Jun 2011 14:34:47 +0000 (10:34 -0400)]
method.c (maybe_explain_implicit_delete): Use pointer_set instead of htab.

* method.c (maybe_explain_implicit_delete): Use pointer_set
instead of htab.

From-SVN: r175645