gcc.git
13 years agore PR middle-end/18908 (Missed folding opportunities with bools)
Richard Guenther [Wed, 20 Jul 2011 13:35:20 +0000 (13:35 +0000)]
re PR middle-end/18908 (Missed folding opportunities with bools)

2011-07-20  Richard Guenther  <rguenther@suse.de>

PR middle-end/18908
* tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
ADDR_EXPR folding.  Canonicalize X ^ ~0 as ~X.

* gcc.dg/tree-ssa/pr18908.c: New testcase.
* gcc.dg/tree-ssa/bitwise-sink.c: Adjust.

From-SVN: r176508

13 years agofrv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS.
Vladimir Makarov [Wed, 20 Jul 2011 13:06:02 +0000 (13:06 +0000)]
frv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS.

2011-07-20  Vladimir Makarov  <vmakarov@redhat.com>

* config/frv/frv.c (frv_register_move_cost): Define explicitly
costs for subclasses of GR_REGS.

From-SVN: r176507

13 years agore PR target/49780 ([x32] internal compiler error: in create_mem_ref, at tree-ssa...
Uros Bizjak [Wed, 20 Jul 2011 12:58:28 +0000 (14:58 +0200)]
re PR target/49780 ([x32] internal compiler error: in create_mem_ref, at tree-ssa-address.c:806)

PR target/49780
* config/i386/predicates.md (no_seg_addres_operand): No more special.
* config/i386/i386.c (ix86_decompose_address): Allow only subregs
of DImode hard registers in base.
(ix86_legitimate_address_p): Allow SImode and DImode base and index
registers.

From-SVN: r176506

13 years agotree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.
Richard Guenther [Wed, 20 Jul 2011 12:12:26 +0000 (12:12 +0000)]
tree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.

2011-07-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (new_var_info): Allocate oldsolution
lazily.
(unify_nodes): Deal with that.
(solve_graph): Likewise.

From-SVN: r176505

13 years agosafe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const _Iterator...
Paolo Carlini [Wed, 20 Jul 2011 09:40:11 +0000 (09:40 +0000)]
safe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)): Fix typo.

2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
_Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
Fix typo.

From-SVN: r176500

13 years agoarm.c (arm_canonicalize_comparison): Add case to canonicalize left operand from ZERO_...
Chung-Lin Tang [Wed, 20 Jul 2011 06:21:36 +0000 (06:21 +0000)]
arm.c (arm_canonicalize_comparison): Add case to canonicalize left operand from ZERO_EXTEND to AND.

2011-07-20  Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.c (arm_canonicalize_comparison): Add case to
canonicalize left operand from ZERO_EXTEND to AND.

testsuite/
* gcc.target/arm/combine-movs.c: New.
* gcc.target/arm/unsigned-extend-2.c: New.

From-SVN: r176495

13 years agoDaily bump.
GCC Administrator [Wed, 20 Jul 2011 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176494

13 years agotarget.def (class_max_nregs): New hook.
Anatoly Sokolov [Tue, 19 Jul 2011 22:34:31 +0000 (02:34 +0400)]
target.def (class_max_nregs): New hook.

* target.def (class_max_nregs): New hook.
* doc/tm.texi.in (TARGET_CLASS_MAX_NREGS): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_class_max_nregs): New function.
* targhooks.h (default_class_max_nregs): Declare.
* ira.h (target_ira): Change type x_ira_reg_class_max_nregs and
x_ira_reg_class_min_nregs arrays to unsigned char.
* ira.c (setup_reg_class_nregs): Use TARGET_CLASS_MAX_NREGS target
hook instead of CLASS_MAX_NREGS macro.
* reginfo.c (restore_register_info): Ditto.
* ira-conflicts.c (process_regs_for_copy): Use
ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
Change type rclass and aclass vars to reg_class_t.
* ira-costs.c (record_reg_classes): Use ira_reg_class_max_nregs
array instead of CLASS_MAX_NREGS macro. Change type rclass var to
reg_class_t.
* reload.c (combine_reloads, find_reloads, find_reloads_address_1):
Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.

* config/i386/i386.h (CLASS_MAX_NREGS): Remove.
* config/i386/i386.c (ix86_class_max_nregs): New function.
(ix86_register_move_cost): Use TARGET_CLASS_MAX_NREGS target hook
instead of CLASS_MAX_NREGS macro.
(TARGET_CLASS_MAX_NREGS): Define.
* config/avr/avr.h (CLASS_MAX_NREGS): Remove.
* config/avr/avr-protos.h (class_max_nregs): Remove declaration.
* config/avr/avr.c (class_max_nregs): Remove function.
* config/alpha/alpha.h (CLASS_MAX_NREGS): Remove.
* config/spu/spu.h (CLASS_MAX_NREGS): Remove.
* config/mep/mep.h (CLASS_MAX_NREGS): Remove.
* config/m32r/m32r.h (CLASS_MAX_NREGS): Remove.
* config/microblaze/microblaze.h (CLASS_MAX_NREGS): Remove.
* config/xtensa/xtensa.h (CLASS_MAX_NREGS): Remove.
* config/stormy16/stormy16.h (CLASS_MAX_NREGS): Remove.
* config/lm32/lm32.h (CLASS_MAX_NREGS): Remove.
* config/moxie/moxie.h (CLASS_MAX_NREGS): Remove.
* config/iq2000/iq2000.h (CLASS_MAX_NREGS): Remove.
* config/mn10300/mn10300.h (CLASS_MAX_NREGS): Remove.
* config/score/score.h (CLASS_MAX_NREGS): Remove.
* config/vax/vax.h (CLASS_MAX_NREGS): Remove.
* config/h8300/h8300.h (CLASS_MAX_NREGS): Remove.
* config/v850/v850.h (CLASS_MAX_NREGS): Remove.

From-SVN: r176490

13 years agocif-code.def (OVERWRITABLE): Fix typo and move around.
Eric Botcazou [Tue, 19 Jul 2011 20:20:27 +0000 (20:20 +0000)]
cif-code.def (OVERWRITABLE): Fix typo and move around.

* cif-code.def (OVERWRITABLE): Fix typo and move around.
(TARGET_OPTIMIZATION_MISMATCH): Delete.
(EH_PERSONALITY): Fix typo.
(NON_CALL_EXCEPTIONS): Fix message.
(OPTIMIZATION_MISMATCH): Adjust message.
* ipa-inline.c (can_inline_edge_p): Use CIF_OPTIMIZATION_MISMATCH.

From-SVN: r176488

13 years agosafe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.
François Dumont [Tue, 19 Jul 2011 19:39:45 +0000 (21:39 +0200)]
safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.

2011-07-19  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
        safe_unordered_sequence.tcc, safe_local_iterator.h,
        safe_local_iterator.tcc: New, support for unordered sequence safe
        local iterators.
        * include/Makefile.am: Add previous files.
        * include/Makefile.in: Regenerate.
        * include/debug/unordered_map, unordered_set: Implement
        _Safe_unordered_sequence and expose _Safe_local_iterator.
        * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
        _Safe_iterator::_M_get_distance static method to expose it as
        __get_distance function and use it in _Safe_local_iterator type.
        * include/debug/formatter.h: Add __msg_local_iter_compare_bad
        _Debug_msg_id enum entry to notify invalid comparison between local
        iterators from different buckets. Add _Parameter constructor from
        _Safe_local_iterator.
        * include/debug/functions.h: Add __valid_range overload for
        _Safe_local_iterator.
        * src/debug.cc: Add _Safe_unordered_sequence_base and
        _Safe_local_iterator_base methods implementations.
        * config/abi/pre/gnu.ver: Add export of some
        _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
        * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
        simulate use of a singular iterator.
        * testsuite/util/debug/unordered_checks.h: New, several functions
        to simulate classic invalid usage of unordered sequence local
        iterators.
        * testsuite/23_containers/unordered_map/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multimap/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_set/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multiset/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.

From-SVN: r176487

13 years agoconfigure.ac: Add --enable-build-poststage1-with-cxx.
Ian Lance Taylor [Tue, 19 Jul 2011 18:33:25 +0000 (18:33 +0000)]
configure.ac: Add --enable-build-poststage1-with-cxx.

./: * configure.ac: Add --enable-build-poststage1-with-cxx.  If set,
make C++ a boot_language.  Set and substitute
POSTSTAGE1_CONFIGURE_FLAGS.
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): New variable.
(STAGE[+id+]_CONFIGURE_FLAGS): Add $(POSTSTAGE1_CONFIGURE_FLAGS).
* configure, Makefile.in: Rebuild.
gcc/:
* doc/install.texi (Configuration): Document
--enable-build-poststage1-with-cxx.

From-SVN: r176480

13 years agognu-user.h: Copy from linux.h.
Robert Millan [Tue, 19 Jul 2011 18:00:27 +0000 (18:00 +0000)]
gnu-user.h: Copy from linux.h.

gcc/
2011-07-19  Robert Millan  <rmh@gnu.org>

* config/mips/gnu-user.h: Copy from linux.h.  Update comments.
(GLIBC_DYNAMIC_LINKER): Remove.

* config/mips/gnu-user64.h: Copy from linux64.h.  Update comments.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
(GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
(BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove.
(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32,
GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32.

* config/mips/linux.h: Remove everything except for ...
(GLIBC_DYNAMIC_LINKER): ... this macro.

* config/mips/linux64.h: Remove everything except for ...
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
(GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
(BIONIC_DYNAMIC_LINKERN32): ... these macros.
(GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64)
(GNU_USER_LINK_EMULATIONN32): New macros.

* config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* |
mips-*-linux*): Use the new headers.

From-SVN: r176479

13 years agortl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.
Richard Sandiford [Tue, 19 Jul 2011 17:44:58 +0000 (17:44 +0000)]
rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.

gcc/
* rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.
Add offset_known_p and size_known_p fields.
(MEM_OFFSET_KNOWN_P): Update accordingly.
(MEM_OFFSET, MEM_SIZE_KNOWN_P, MEM_SIZE): Likewise.
* emit-rtl.c (mem_attrs_htab_hash): Update after mem_attrs changes.
(mem_attrs_eq_p, set_mem_attributes_minus_bitpos, set_mem_offset)
(clear_mem_offset, set_mem_size, clear_mem_size, change_address)
(adjust_address_1, widen_memory_access, set_mem_attrs_for_spill)
(init_emit_regs): Likewise.

From-SVN: r176478

13 years agortl.texi (MEM_OFFSET_KNOWN_P): Document.
Richard Sandiford [Tue, 19 Jul 2011 17:43:27 +0000 (17:43 +0000)]
rtl.texi (MEM_OFFSET_KNOWN_P): Document.

gcc/
* doc/rtl.texi (MEM_OFFSET_KNOWN_P): Document.
(MEM_OFFSET): Change from returning an rtx to returning a
HOST_WIDE_INT.
* rtl.h (MEM_OFFSET_KNOWN_P): New macro.
(MEM_OFFSET): Return a HOST_WIDE_INT rather than an rtx.
* emit-rtl.h (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_offset): Declare.
* alias.c (ao_ref_from_mem): Adjust uses of MEM_OFFSET, using
MEM_OFFSET_KNOWN_P to test whether the offset is known, and
MEM_OFFSET to get a HOST_WIDE_INT offset.
(nonoverlapping_memrefs_p): Likewise.  Adjust calls to...
(adjust_offset_for_component_ref): Take a bool "known_p"
parameter and a HOST_WIDE_INT "offset" parameter.
* builtins.c (get_memory_rtx): As for ao_ref_from_mem.
Adjust calls to set_mem_offset, passing a HOST_WIDE_INT rather
than an rtx.  Use clear_mem_offset to clear the offset.
* cfgcleanup.c (merge_memattrs): Likewise.
* dwarf2out.c (tls_mem_loc_descriptor): Likewise.
* function.c (assign_parm_find_stack_rtl): Likewise.
(assign_parm_setup_stack): Likewise.
* print-rtl.c (print_rtx): Likewise.
* reload.c (find_reloads_subreg_address): Likewise.
* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
* var-tracking.c (INT_MEM_OFFSET): Likewise.
* emit-rtl.c (set_reg_attrs_from_value): Likewise.
(get_mem_align_offset): Likewise.
(set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_offset): New function.
* config/mips/mips.c (r10k_safe_mem_expr_p): Take a HOST_WIDE_INT
offset rather than an rtx.  Assume both the expressio and offset
are available.
(r10k_needs_protection_p_1): Update accordingly, checking the
expression and offset availability here instead.

From-SVN: r176477

13 years agortl.texi (MEM_SIZE_KNOWN_P): Document.
Richard Sandiford [Tue, 19 Jul 2011 17:43:15 +0000 (17:43 +0000)]
rtl.texi (MEM_SIZE_KNOWN_P): Document.

gcc/
* doc/rtl.texi (MEM_SIZE_KNOWN_P): Document.
(MEM_SIZE): Change from returning an rtx to returning a HOST_WIDE_INT.
* rtl.h (MEM_SIZE_KNOWN_P): New macro.
(MEM_SIZE): Return a HOST_WIDE_INT rather than an rtx.
* emit-rtl.h (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_size): Declare.
* emit-rtl.c (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_size): New function.
* alias.c (ao_ref_from_mem): Adjust uses of MEM_SIZE, using
MEM_SIZE_KNOWN_P to test whether the size is known, and MEM_SIZE
to get a HOST_WIDE_INT size.  Adjust calls to set_mem_size,
passing a HOST_WIDE_INT rather than an rtx.  Use clear_mem_size
to clear the size.
(nonoverlapping_memrefs_p): Likewise.
* builtins.c (get_memory_rtx, expand_builtin_memcmp): Likewise.
(expand_builtin_init_trampoline): Likewise.
* calls.c (compute_argument_addresses): Likewise.
* cfgcleanup.c (merge_memattrs): Likewise.
* dce.c (find_call_stack_args): Likewise.
* dse.c (record_store, scan_insn): Likewise.
* dwarf2out.c (dw_sra_loc_expr): Likewise.
* expr.c (emit_block_move_hints): Likewise.
* function.c (assign_parm_find_stack_rtl): Likewise.
* print-rtl.c (print_rtx): Likewise.
* reload.c (find_reloads_subreg_address): Likewise.
* rtlanal.c (may_trap_p_1): Likewise.
* var-tracking.c (track_expr_p): Likewise.
* varasm.c (assemble_trampoline_template): Likewise.
* config/arm/arm.c (arm_print_operand): Likewise.
* config/h8300/h8300.c (h8sx_emit_movmd): Likewise.
* config/i386/i386.c (expand_movmem_via_rep_mov): Likewise.
(expand_setmem_via_rep_stos, expand_constant_movmem_prologue)
(expand_constant_setmem_prologue): Likewise.
* config/mips/mips.c (mips_get_unaligned_mem): Likewise.
* config/rs6000/rs6000.c (expand_block_move): Likewise.
(adjacent_mem_locations): Likewise.
* config/s390/s390.c (s390_expand_setmem): Likewise.
(s390_expand_insv): Likewise.
* config/s390/s390.md (*extzv<mode>, *extv<mode>): Likewise.
(*extendqi<mode>2_short_displ): Likewise.
* config/sh/sh.c (expand_block_move): Likewise.
* config/sh/sh.md (extv, extzv): Likewise.

From-SVN: r176476

13 years agoemit-rtl.c (mem_attrs_eq_p): New function, split out from...
Richard Sandiford [Tue, 19 Jul 2011 17:42:58 +0000 (17:42 +0000)]
emit-rtl.c (mem_attrs_eq_p): New function, split out from...

gcc/
* emit-rtl.c (mem_attrs_eq_p): New function, split out from...
(mem_attrs_htab_eq): ...here.
(find_mem_attrs): Replace with...
(set_mem_attrs): ...this function.  Take a mem_attrs structure
rather than individual fields.
(set_mem_attributes_minus_bitpos, set_mem_alias_set)
(set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
(set_mem_size, change_address, adjust_address_1, offset_address)
(widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
Update accordingly.

From-SVN: r176475

13 years agogcc/
Richard Sandiford [Tue, 19 Jul 2011 17:42:48 +0000 (17:42 +0000)]
gcc/
* rtl.h (MEM_ALIAS_SET, MEM_EXPR, MEM_OFFSET, MEM_ADDR_SPACE)
(MEM_SIZE, MEM_ALIGN): Redefine in terms of get_mem_attrs.
Provide a dummy definition of MEM_ADDR_SPACE for generators.
(target_rtl): Add x_mode_mem_attrs.
(mode_mem_attrs): New macro.
(get_mem_attrs): New function.
* emit-rtl.c (get_mem_attrs): Rename to...
(find_mem_attrs): ...this.
(set_mem_attributes_minus_bitpos, set_mem_alias_set)
(set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
(set_mem_size, change_address, adjust_address_1, offset_address)
(widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
Update accordingly.
(init_emit_regs): Initialize mode_mem_attrs.

From-SVN: r176474

13 years agore PR c++/49785 ([C++0x] ICE in coerce_template_parms)
Jason Merrill [Tue, 19 Jul 2011 17:28:13 +0000 (13:28 -0400)]
re PR c++/49785 ([C++0x] ICE in coerce_template_parms)

PR c++/49785
* pt.c (coerce_template_parms): Handle non-pack after pack.

From-SVN: r176472

13 years agoexpr.c (gfc_is_coarray): New function.
Tobias Burnus [Tue, 19 Jul 2011 16:46:02 +0000 (18:46 +0200)]
expr.c (gfc_is_coarray): New function.

2011-07-19  Tobias Burnus  <burnus@net-b.de>

        * expr.c (gfc_is_coarray): New function.
        * gfortran.h (gfc_is_coarray): New prototype.
        * interface.c (compare_parameter): Use it.

2011-07-19  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_args_1.f90: New.
        * gfortran.dg/coarray_args_2.f90: New.

From-SVN: r176467

13 years agoMAINTAINERS (Register Allocation): Move myself from reviewers to maintainers.
Vladimir Makarov [Tue, 19 Jul 2011 15:17:52 +0000 (15:17 +0000)]
MAINTAINERS (Register Allocation): Move myself from reviewers to maintainers.

2011-07-19  Vladimir Makarov  <vmakarov@redhat.com>

* MAINTAINERS (Register Allocation): Move myself from reviewers to
maintainers.

From-SVN: r176464

13 years agotree-ssa-forwprop.c (lookup_logical_inverted_value): Remove TRUTH_*_EXPR handling.
Richard Guenther [Tue, 19 Jul 2011 15:16:23 +0000 (15:16 +0000)]
tree-ssa-forwprop.c (lookup_logical_inverted_value): Remove TRUTH_*_EXPR handling.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (lookup_logical_inverted_value): Remove
TRUTH_*_EXPR handling.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-pre.c (fully_constant_expression): Likewise.
* tree-ssa-uninit.c (use_pred_not_overlap_with_undef_path_pre):
Likewise.
(is_and_or_or): Likewise.
(is_norm_cond_subset_of): Likewise.

From-SVN: r176463

13 years agotree.h (fold_build_pointer_plus_loc): New helper function.
Richard Guenther [Tue, 19 Jul 2011 14:01:59 +0000 (14:01 +0000)]
tree.h (fold_build_pointer_plus_loc): New helper function.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* tree.h (fold_build_pointer_plus_loc): New helper function.
(fold_build_pointer_plus_hwi_loc): Likewise.
(fold_build_pointer_plus): Define.
(fold_build_pointer_plus_hwi): Likewise.

* builtins.c (std_gimplify_va_arg_expr): Use fold_build_pointer_plus.
(fold_builtin_memory_op): Likewise.
(fold_builtin_stpcpy): Likewise.
(fold_builtin_memchr): Likewise.
(fold_builtin_strstr): Likewise.
(fold_builtin_strchr): Likewise.
(fold_builtin_strrchr): Likewise.
(fold_builtin_strpbrk): Likewise.
(fold_builtin_strcat): Likewise.
(expand_builtin_memory_chk): Likewise.
(fold_builtin_memory_chk): Likewise.
* c-typeck.c (build_unary_op): Likewise.
* cgraphunit.c (thunk_adjust): Likewise.
* fold-const.c (build_range_check): Likewise.
(fold_binary_loc): Likewise.
* omp-low.c (extract_omp_for_data): Likewise.
(expand_omp_for_generic): Likewise.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_for_static_chunk): Likewise.
* tree-affine.c (add_elt_to_tree): Likewise.
* tree-data-ref.c (split_constant_offset_1): Likewise.
* tree-loop-distribution.c (generate_memset_zero): Likewise.
* tree-mudflap.c (mf_xform_derefs_1): Likewise.
* tree-predcom.c (ref_at_iteration): Likewise.
* tree-ssa-address.c (tree_mem_ref_addr): Likewise.
(add_to_parts): Likewise.
(create_mem_ref): Likewise.
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Likewise.
(number_of_iterations_le): Likewise.
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
(vect_create_addr_base_for_vector_ref): Likewise.
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vrp.c (extract_range_from_assert): Likewise.

* config/alpha/alpha.c (alpha_va_start): Likewise.
(alpha_gimplify_va_arg_1): Likewise.
* config/i386/i386.c (ix86_va_start): Likewise.
(ix86_gimplify_va_arg): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/mep/mep.c (mep_expand_va_start): Likewise.
(mep_gimplify_va_arg_expr): Likewise.
* config/mips/mips.c (mips_va_start): Likewise.
(mips_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start): Likewise.
(rs6000_gimplify_va_arg): Likewise.
* config/s390/s390.c (s390_va_start): Likewise.
(s390_gimplify_va_arg): Likewise.
* config/sh/sh.c (sh_va_start): Likewise.
(sh_gimplify_va_arg_expr): Likewise.
* config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
* config/spu/spu.c (spu_va_start): Likewise.
(spu_gimplify_va_arg_expr): Likewise.
* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Likewise.
(xstormy16_gimplify_va_arg_expr): Likewise.
* config/xtensa/xtensa.c (xtensa_va_start): Likewise.
(xtensa_gimplify_va_arg_expr): Likewise.

c-family/
* c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
* c-omp.c (c_finish_omp_for): Likewise.

cp/
* call.c (build_special_member_call): Use fold_build_pointer_plus.
* class.c (build_base_path): Likewise.
(convert_to_base_statically): Likewise.
(dfs_accumulate_vtbl_inits): Likewise.
* cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
* except.c (expand_start_catch_block): Likewise.
* init.c (expand_virtual_init): Likewise.
(build_new_1): Likewise.
(build_vec_delete_1): Likewise.
(build_vec_delete): Likewise.
* rtti.c (build_headof): Likewise.
(tinfo_base_init): Likewise.
* typeck.c (get_member_function_from_ptrfunc): Likewise.
(cp_build_addr_expr_1): Likewise.
* typeck2.c (build_m_component_ref): Likewise.

fortran/
* trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.
(gfc_trans_string_copy): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.
* trans-types.c (gfc_get_array_descr_info): Likewise.
* trans.c (gfc_build_array_ref): Likewise.

java/
* builtins.c (static): Use fold_build_pointer_plus.
* class.c (make_class_data): Likewise.
(build_symbol_entry): Likewise.
* except.c (build_exception_object_ref): Likewise.
* expr.c (build_java_arrayaccess): Likewise.
(build_field_ref): Likewise.
(build_known_method_ref): Likewise.
(build_invokevirtual): Likewise.

objc/
* objc-next-runtime-abi-02.c (objc_v2_build_ivar_ref):
Use fold_build_pointer_plus.
(objc2_build_ehtype_initializer): Likewise.

From-SVN: r176461

13 years agore PR middle-end/18908 (Missed folding opportunities with bools)
Richard Guenther [Tue, 19 Jul 2011 13:28:15 +0000 (13:28 +0000)]
re PR middle-end/18908 (Missed folding opportunities with bools)

2011-07-19  Richard Guenther  <rguenther@suse.de>

* expr.c (expand_expr_real_2): Remove TRUTH_*_EXPR handling.
(expand_expr_real_1): Remove TRUTH_*IF_EXPR and STATEMENT_LIST
handling.

PR middle-end/18908
* expr.c (expand_expr_real_2): Do not unnecessarily truncate the
result of BIT_*_EXPR to bitfield precision.

From-SVN: r176460

13 years agore PR fortran/49708 (ICE with allocate and no dimensions)
Janus Weil [Tue, 19 Jul 2011 12:38:59 +0000 (14:38 +0200)]
re PR fortran/49708 (ICE with allocate and no dimensions)

2011-07-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49708
* resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.

2011-07-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49708
* gfortran.dg/allocate_error_3.f90: New.

From-SVN: r176447

13 years agore PR tree-optimization/49742 (ICE for gcc.dg/vect/O3-pr39675-2.c on ARM)
Richard Sandiford [Tue, 19 Jul 2011 12:37:03 +0000 (12:37 +0000)]
re PR tree-optimization/49742 (ICE for gcc.dg/vect/O3-pr39675-2.c on ARM)

gcc/
PR tree-optimization/49742
* tree-data-ref.c (get_references_in_stmt): Treat the lhs of a call
as a potential write.

From-SVN: r176446

13 years agoMakefile.in (tree-ssa-forwprop.o): Depend on gimple-pretty-print.h.
Richard Biener [Tue, 19 Jul 2011 12:12:21 +0000 (12:12 +0000)]
Makefile.in (tree-ssa-forwprop.o): Depend on gimple-pretty-print.h.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* Makefile.in (tree-ssa-forwprop.o): Depend on gimple-pretty-print.h.
* tree-ssa-forwprop.c: Include gimple-pretty-print.h.
(forward_propagate_comparison): Simplify, remove obsolete code.

From-SVN: r176445

13 years agogimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as BIT_XOR_EXPR, same as the...
Richard Guenther [Tue, 19 Jul 2011 10:57:15 +0000 (10:57 +0000)]
gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as BIT_XOR_EXPR, same as the RTL expander does.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as
BIT_XOR_EXPR, same as the RTL expander does.
* tree-cfg.c (verify_expr): Disallow TRUTH_NOT_EXPR in the gimple IL.
(verify_gimple_assign_unary): Likewise.
* tree-ssa-propagate.c (valid_gimple_rhs_p): Disallow TRUTH_*_EXPR.
* tree-ssa-forwprop.c (forward_propagate_comparison): Handle
BIT_NOT_EXPR and BIT_XOR_EXPR instead of TRUTH_NOT_EXPR.

* gcc.dg/tree-ssa/bool-10.c: Adjust expected pattern.
* gcc.dg/tree-ssa/bool-11.c: Likewise.
* gcc.dg/torture/20110719-1.c: New testcase.

From-SVN: r176442

13 years agore PR tree-optimization/49768 (C99 style union initializations does not work as expec...
Jakub Jelinek [Tue, 19 Jul 2011 09:24:28 +0000 (11:24 +0200)]
re PR tree-optimization/49768 (C99 style union initializations does not work as expected with optimizations)

PR tree-optimization/49768
* gimple-fold.c (fold_nonarray_ctor_reference): Return NULL
if offset is smaller than bitoffset, but offset+size is bigger
than bitoffset.

* gcc.c-torture/execute/pr49768.c: New test.

From-SVN: r176437

13 years agore PR tree-optimization/49771 (wrong code with -ftree-vectorize)
Ira Rosen [Tue, 19 Jul 2011 06:25:07 +0000 (06:25 +0000)]
re PR tree-optimization/49771 (wrong code with -ftree-vectorize)

        PR tree-optimization/49771
        * tree-vect-loop-manip.c (vect_vfa_segment_size): In case of
        zero step, set segment length to the size of the data-ref's type.

From-SVN: r176434

13 years agoDaily bump.
GCC Administrator [Tue, 19 Jul 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176430

13 years agoipa-prop.h: Include alloc-pool.h, all sorts of updates to general comments.
Martin Jambor [Mon, 18 Jul 2011 22:03:39 +0000 (00:03 +0200)]
ipa-prop.h: Include alloc-pool.h, all sorts of updates to general comments.

2011-07-18  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h: Include alloc-pool.h, all sorts of updates to general
comments.
(ipcp_values_pool): Declare.
(ipcp_sources_pool): Likewise.
(ipcp_lattice): Changed to forward declaration.
(ipa_param_descriptor): Removed fields ipcp_lattice, types and
cannot_devirtualize.
(ipa_node_params): New fields descriptors, lattices, known_vals,
clone_for_all_contexts and node dead, removed fields params and
count_scale.
(ipa_set_param_count): Removed.
(ipa_get_param_count): Made to work with descriptors vector.
(ipa_get_param): Updated.
(ipa_param_cannot_devirtualize_p): Removed.
(ipa_param_types_vec_empty): Likewise.
(ipa_set_param_used): New function.
(ipa_get_param_used): Updated to use descriptors vector.
(ipa_func_list): Removed.
(ipa_init_func_list): Removed declaration.
(ipa_push_func_to_list_1): Likewise.
(ipa_pop_func_from_list): Likewise.
(ipa_push_func_to_list): Removed.
(ipa_lattice_from_jfunc): Remove declaration.
(ipa_get_jf_pass_through_result): Declare.
(ipa_get_jf_ancestor_result): Likewise.
(ipa_value_from_jfunc): Likewise.
(ipa_get_lattice): Update.
(ipa_lat_is_single_const): New function.
* ipa-prop.c (ipa_push_func_to_list_1): Removed.
(ipa_init_func_list): Likewise.
(ipa_pop_func_from_list): Likewise.
(ipa_get_param_decl_index): Fix coding style.
(count_formal_params): Removed.
(count_formal_params_1): Renamed to count_formal_params.
(ipa_populate_param_decls): Update to use descriptors vector.
(ipa_initialize_node_params): Likewise.
(visit_ref_for_mod_analysis): Use ipa_set_param_used.
(ipa_analyze_params_uses): Likewise.
(ipa_free_node_params_substructures): Likewise and free also lattices
and known values.
(duplicate_array): Removed.
(ipa_edge_duplication_hook): Add the new edge to the list of edge
clones.
(ipa_node_duplication_hook): Update to use new lattices.
(ipa_free_all_structures_after_ipa_cp): Free alloc pools.
(ipa_free_all_structures_after_iinln): Likewise.
(ipa_write_node_info): Update to use new lattices.
(ipa_read_node_info): Likewise.
(ipa_get_jf_pass_through_result): New function.
(ipa_get_jf_ancestor_result): Likewise.
(ipa_value_from_jfunc): Likewise.
(ipa_cst_from_jfunc): Reimplemented using ipa_value_from_jfunc.
* ipa-cp.c: Reimplemented.
* params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): Removed.
(PARAM_IPA_CP_VALUE_LIST_SIZE): New parameter.
(PARAM_IPA_CP_EVAL_THRESHOLD): Likewise.
* Makefile.in (IPA_PROP_H): Added alloc-pool.h to dependencies.

* doc/invoke.texi (devirt-type-list-size): Removed description.
(ipa-cp-value-list-size): Added description.

* testsuite/gcc.dg/ipa/ipa-1.c: Updated testcase dump scan.
* testsuite/gcc.dg/ipa/ipa-2.c: Likewise.
* testsuite/gcc.dg/ipa/ipa-3.c: Likewise and made functions static.
* testsuite/gcc.dg/ipa/ipa-4.c: Updated testcase dump scan.
* testsuite/gcc.dg/ipa/ipa-5.c: Likewise.
* testsuite/gcc.dg/ipa/ipa-7.c: Likewise.
* testsuite/gcc.dg/ipa/ipa-8.c: Updated testcase dump scan.
* testsuite/gcc.dg/ipa/ipacost-1.c: Likewise.
* testsuite/gcc.dg/ipa/ipacost-2.c: Likewise and increased sizes
of some functions.
* testsuite/gcc.dg/ipa/ipcp-1.c: New test.
* testsuite/gcc.dg/ipa/ipcp-2.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ipa-cp-1.c: Updated testcase.

From-SVN: r176424

13 years agoparser.c (cp_parser_parameter_declaration_list): Initialize parenthesized_p.
Martin Jambor [Mon, 18 Jul 2011 21:51:24 +0000 (23:51 +0200)]
parser.c (cp_parser_parameter_declaration_list): Initialize parenthesized_p.

2011-07-18  Martin Jambor  <mjambor@suse.cz>

gcc/cp/
* parser.c (cp_parser_parameter_declaration_list): Initialize
parenthesized_p.

From-SVN: r176423

13 years agobb-reorder.c (fix_crossing_conditional_branches): Emit all insns before calling creat...
Richard Henderson [Mon, 18 Jul 2011 20:34:08 +0000 (13:34 -0700)]
bb-reorder.c (fix_crossing_conditional_branches): Emit all insns before calling create_basic_block.

        * bb-reorder.c (fix_crossing_conditional_branches): Emit all insns
        before calling create_basic_block.

From-SVN: r176420

13 years agore PR middle-end/49675 (ICE (segfault) with -finstrument-functions)
Jakub Jelinek [Mon, 18 Jul 2011 19:41:45 +0000 (21:41 +0200)]
re PR middle-end/49675 (ICE (segfault) with -finstrument-functions)

PR middle-end/49675
* tree.c (build_common_builtin_nodes): Register
__builtin_return_address, __cyg_profile_func_enter
and __cyg_profile_func_exit.

* gfortran.dg/pr49675.f90: New test.

From-SVN: r176417

13 years agobb-reorder.c (emit_barrier_after_bb): Split out of ...
Richard Henderson [Mon, 18 Jul 2011 18:45:45 +0000 (11:45 -0700)]
bb-reorder.c (emit_barrier_after_bb): Split out of ...

* bb-reorder.c (emit_barrier_after_bb): Split out of ...
(add_labels_and_missing_jumps): ... here.
(fix_up_fall_thru_edges, fix_crossing_conditional_branches): Use it.

From-SVN: r176416

13 years agore PR target/47744 ([x32] ICE: in reload_cse_simplify_operands, at postreload.c:403)
Uros Bizjak [Mon, 18 Jul 2011 17:51:33 +0000 (19:51 +0200)]
re PR target/47744 ([x32] ICE: in reload_cse_simplify_operands, at postreload.c:403)

PR target/47744
* config/i386/i386.c (ix86_decompose_address): Allow only subregs
of DImode hard registers in PLUS address chains.

From-SVN: r176413

13 years agore PR bootstrap/49769 (configuration mismatch -- extra parts)
Rainer Orth [Mon, 18 Jul 2011 16:41:55 +0000 (16:41 +0000)]
re PR bootstrap/49769 (configuration mismatch -- extra parts)

PR bootstrap/49769
* config.gcc (alpha*-*-linux*): Add crtfastmath.o to extra_parts.
(alpha*-*-freebsd*): Likewise.
(i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
i[34567]86-*-kopensolaris*-gnu): Add crtprec32.o, crtprec64.o,
crtprec80.o, crtfastmath.o to extra_parts for all targets.
(ia64*-*-elf*): Remove extra_parts.
(sparc-*-linux*): Add crtfastmath.o to extra_parts.
(sparc64-*-linux*): Likewise.
(sparc64-*-freebsd*): Likewise.

Revert:
* config.gcc (ia64*-*-freebsd*): Remove crtfastmath.o from extra_parts.
(ia64*-*-linux*): Likewise.
(mips64*-*-linux*): Likewise.
(mips*-*-linux*): Likewise.

From-SVN: r176406

13 years agore PR libstdc++/48430 (std::hash partial specialization for std::unique_ptr and std...
Paolo Carlini [Mon, 18 Jul 2011 16:07:24 +0000 (16:07 +0000)]
re PR libstdc++/48430 (std::hash partial specialization for std::unique_ptr and std::shared_ptr are using unary_function)

2011-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48430
* include/bits/shared_ptr.h (struct hash<shared_ptr<>>): Use
__hash_base.
* include/bits/unique_ptr.h (struct hash<unique_ptr<>>): Likewise.

From-SVN: r176405

13 years agotrans-decl.c (gfc_build_qualified_array): Make coarray's token TYPE_QUAL_RESTRICT.
Tobias Burnus [Mon, 18 Jul 2011 15:24:46 +0000 (17:24 +0200)]
trans-decl.c (gfc_build_qualified_array): Make coarray's token TYPE_QUAL_RESTRICT.

2011-07-17  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (gfc_build_qualified_array): Make coarray's
        token TYPE_QUAL_RESTRICT.

From-SVN: r176404

13 years ago* doc/install.texi (Specific, *-ibm-aix*): AIX assembler bug.
David Edelsohn [Mon, 18 Jul 2011 14:54:14 +0000 (14:54 +0000)]
* doc/install.texi (Specific, *-ibm-aix*): AIX assembler bug.

From-SVN: r176403

13 years agogimplify.c (gimplify_expr): Use input_location, not saved_location when building...
Richard Guenther [Mon, 18 Jul 2011 14:22:50 +0000 (14:22 +0000)]
gimplify.c (gimplify_expr): Use input_location, not saved_location when building new trees.

2011-07-18  Richard Guenther  <rguenther@suse.de>

* gimplify.c (gimplify_expr): Use input_location, not saved_location
when building new trees.

From-SVN: r176400

13 years agoexpr.c (expand_expr_real_2): Properly truncate the BIT_NOT_EXPR expansion result...
Richard Guenther [Mon, 18 Jul 2011 13:39:28 +0000 (13:39 +0000)]
expr.c (expand_expr_real_2): Properly truncate the BIT_NOT_EXPR expansion result to bitfield precision if...

2011-07-18  Richard Guenther  <rguenther@suse.de>

* expr.c (expand_expr_real_2): Properly truncate the BIT_NOT_EXPR
expansion result to bitfield precision if required.

* gcc.dg/torture/20110718-1.c: New testcase.

From-SVN: r176398

13 years agore PR target/49541 (TLS support partially broken in 64-bit mode)
Rainer Orth [Mon, 18 Jul 2011 12:09:18 +0000 (12:09 +0000)]
re PR target/49541 (TLS support partially broken in 64-bit mode)

PR target/49541
* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
ldflags.

From-SVN: r176393

13 years ago* MAINTAINERS (Global Reviewers): Add myself.
Jakub Jelinek [Mon, 18 Jul 2011 11:21:57 +0000 (13:21 +0200)]
* MAINTAINERS (Global Reviewers): Add myself.

From-SVN: r176392

13 years agore PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const...
Rainer Orth [Mon, 18 Jul 2011 11:04:18 +0000 (11:04 +0000)]
re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const variables)

toplevel:
* configure: Regenerate.

config:
* elf.m4 (target_elf): Remove *-netware*.

contrib:
* config-list.mk (i586-netware): Remove.
(.PHONY): Remove make-script-dir dependency.
(make-script-dir): Remove.
($(LIST)): Remove make-script-dir dependency.

gcc:
* config.gcc (i[3456x]86-*-netware*): Remove.

* gthr-nks.h: Remove.
* configure.ac (enable_threads): Remove nks.
* configure: Regenerate.

* config/i386/i386.c (ix86_encode_section_info): Remove netware
reference.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
<netware.h> reference.

* config/i386/netware-libgcc.c,
gcc/config/i386/netware-libgcc.def,
gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove

* doc/extend.texi (Function Attributes,
callee_pop_aggregate_return): Remove i?86-netware reference.
* doc/install.texi (Configuration, --enable-threads): Remove nks.

gcc/testsuite:
* g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
* g++.dg/ext/bitfield3.C: Likewise.
* g++.dg/ext/bitfield4.C: Likewise.
* g++.dg/ext/bitfield5.C: Likewise.
* g++.dg/other/PR23205.C: Remove *-*-netware* support.
* g++.dg/other/pr23205-2.C: Likewise.
* gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
* gcc.c-torture/compile/20001109-2.c: Likewise.
* gcc.dg/20040813-1.c: Remove *-*-netware* support.
* gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
* gcc.dg/bitfld-16.c: Likewise.
* gcc.dg/bitfld-17.c: Likewise.
* gcc.dg/bitfld-18.c: Likewise.
* gcc.dg/builtins-config.h: Remove Netware support.
* gcc.dg/cdce1.c: Remove *-*-netware* support.  Update line number.
* gcc.dg/cdce2.c: Likewise.
* gcc.dg/cpp/assert4.c: Remove netware support.
* gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
* gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.

* lib/target-supports.exp (check_visibility_available): Remove
NetWare support.
(check_profiling_available): Likewise.

libgcc:
* config.host (i[3456x]86-*-netware*): Remove.
* config/i386/netware-crt0.c, config/i386/t-nwld,
config/i386/t-slibgcc-nwld: Remove.

libstdc++-v3:
* crossconfig.m4 (*-netware): Remove.
* configure: Regenerate.

From-SVN: r176391

13 years agopr49038.c: Run only on targets that support mmap.
Ira Rosen [Mon, 18 Jul 2011 10:23:29 +0000 (10:23 +0000)]
pr49038.c: Run only on targets that support mmap.

        * gcc.dg/vect/pr49038.c: Run only on targets that support mmap.

From-SVN: r176390

13 years agoMAINTAINERS (Global Reviewers): Add myself.
Richard Guenther [Mon, 18 Jul 2011 08:33:17 +0000 (08:33 +0000)]
MAINTAINERS (Global Reviewers): Add myself.

2011-07-18  Richard Guenther  <rguenther@suse.de>

* MAINTAINERS (Global Reviewers): Add myself.

From-SVN: r176387

13 years agoresolve.c (resolve_transfer): Mention defined I/O in the diagnostic for alloc_comp...
Tobias Burnus [Mon, 18 Jul 2011 06:48:19 +0000 (08:48 +0200)]
resolve.c (resolve_transfer): Mention defined I/O in the diagnostic for alloc_comp/pointer_comp.

2011-07-18  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_transfer): Mention defined I/O
        in the diagnostic for alloc_comp/pointer_comp.

From-SVN: r176386

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

From-SVN: r176384

13 years agore PR target/49746 (Generated PA-RISC2.0w code cannot be assembled by GNU as-2.21.1)
John David Anglin [Sun, 17 Jul 2011 21:26:59 +0000 (21:26 +0000)]
re PR target/49746 (Generated PA-RISC2.0w code cannot be assembled by GNU as-2.21.1)

PR target/49746
Revert:
2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

* config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
patterns.

From-SVN: r176377

13 years agore PR fortran/34657 (program-unit MY_SUB imports symbol MY_SUB)
Tobias Burnus [Sun, 17 Jul 2011 19:57:10 +0000 (21:57 +0200)]
re PR fortran/34657 (program-unit MY_SUB imports symbol MY_SUB)

2011-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34657
        * module.c (check_for_ambiguous): Check whether the name is
        * matches
        the current program unit.

2011-07-17  Tobias Burnus  <burnus@net-b.de>
            Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/34657
        * gfortran.dg/generic_17.f90: Fix testcase.
        * gfortran.dg/interface_3.f90: Add dg-error.
        * gfortran.dg/use_14.f90: New.
        * gfortran.dg/use_15.f90: New.

Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
From-SVN: r176375

13 years agore PR middle-end/49732 (crash on terminal_interface-curses-menus.adb from ncurses...
Eric Botcazou [Sun, 17 Jul 2011 15:06:36 +0000 (15:06 +0000)]
re PR middle-end/49732 (crash on terminal_interface-curses-menus.adb from ncurses with -gnato)

PR middle-end/49732
* tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.

From-SVN: r176371

13 years agore PR fortran/49624 (ICE with pointer-bound remapping)
Tobias Burnus [Sun, 17 Jul 2011 14:52:46 +0000 (16:52 +0200)]
re PR fortran/49624 (ICE with pointer-bound remapping)

2011-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49624
        * expr.c (gfc_check_pointer_assign): Fix checking for invalid
        pointer bounds.

2011-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49624
        * gfortran.dg/pointer_remapping_7.f90: New.

From-SVN: r176370

13 years agoMakefile.def (language=c++): Add check-c++0x and check-target-libmudflap-c++.
Jason Merrill [Sun, 17 Jul 2011 03:34:13 +0000 (23:34 -0400)]
Makefile.def (language=c++): Add check-c++0x and check-target-libmudflap-c++.

* Makefile.def (language=c++): Add check-c++0x and
check-target-libmudflap-c++.
* Makefile.tpl (check-target-libmudflap-c++): New.
* Makefile.in: Regenerate.

From-SVN: r176367

13 years agopt.c (tinst_level_tick, [...]): Replace with last_error_tinst_level.
Jason Merrill [Sun, 17 Jul 2011 02:34:22 +0000 (22:34 -0400)]
pt.c (tinst_level_tick, [...]): Replace with last_error_tinst_level.

gcc/cp/
* pt.c (tinst_level_tick, last_template_error_tick): Replace with
last_error_tinst_level.
(push_tinst_level, pop_tinst_level): Adjust.
(problematic_instantiation_changed): Adjust.
(record_last_problematic_instantiation): Adjust.
* error.c (cp_print_error_function): Don't print
current_function_decl if we're in a template instantiation context.
(print_instantiation_full_context): Always print first line.
gcc/testsuite/
* lib/prune.exp (prune_gcc_output): Prune "In substitution" too.

From-SVN: r176366

13 years agore PR c++/45329 (When printing a list of candidate functions, explain why each functi...
Nathan Froyd [Sun, 17 Jul 2011 02:34:10 +0000 (02:34 +0000)]
re PR c++/45329 (When printing a list of candidate functions, explain why each function failed to match.)

PR c++/45329
PR c++/48934
* cp-tree.h (fn_type_unification): Add `bool' parameter.
* pt.c (enum template_base_result): Define.
(unify_success, unify_unknown): Define.
(unify_parameter_deduction_failure): Define.
(unify_invalid, unify_cv_qual_mismatch, unify_type_mismatch): Define.
(unify_parameter_pack_mismatch): Define.
(unify_parameter_pack_inconsistent): Define.
(unify_ptrmem_cst_mismatch, unify_vla_arg): Define.
(unify_expression_unequal, unify_inconsistency): Define.
(unify_method_type_error, unify_arity): Likewise.
(unify_too_many_parameters, unify_too_few_parameters): Define.
(unify_arg_conversion, unify_no_common_base): Define.
(unify_illformed_ptrmem_cst_expr): Define.
(unify_substitution_failure): Define.
(unify_inconsistent_template_template_parameters): Define.
(unify_template_deduction_failure): Define.
(unify_template_argument_mismatch): Define.
(unify_overload_resolution_failure): Define.
(comp_template_args_with_info): New function, split out from...
(comp_template_args): ...here. Call it.
(deduction_tsubst_fntype): Add `complain' parameter'.  Pass it
to tsubst.
(unify): Add `explain_p' parameter.  Pass to all relevant calls.
Call above status functions when appropriate.
(resolve_overloaded_unification, try_one_overload): Likewise.
(type_unification, type_unification_real): Likewise.
(unify_pack_expansion): Likewise.
(get_template_base, try_class_unification): Likewise.
(get_bindings, more_specialized_fn): Pass false to unification
calls.
(get_class_bindings, do_auto_deduction): Likewise.
(convert_nontype_argument): Likewise.
(fn_type_unification): Likewise.  Pass tf_warning_or_error if
explain_p.
(get_template_base): Add `explain_p' parameter and pass it to
try_class_unification. Return an enum template_base_result.
* class.c (resolve_address_of_overloaded_function): Pass false to
fn_type_unification.
* call.c (enum rejection_reason_code): Add new codes.
(struct rejection_reason): Add template_unification field.
Add template_instantiation field.
(template_unification_rejection): Define.
(template_unification_error_rejection): Define.
(template_instantiation_rejection): Define.
(invalid_copy_with_fn_template_rejection): Define.
(add_template_candidate): Pass false to unify.
Provide more rejection reasons when possible.
(print_template_unification_rejection): Define.
(print_arity_rejection): Define, split out from...
(print_z_candidate): ...here.  Add cases for new rejection
reasons.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r176365

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

From-SVN: r176364

13 years agoexpr.c (gfc_ref_this_image): New function.
Tobias Burnus [Sat, 16 Jul 2011 17:31:13 +0000 (19:31 +0200)]
expr.c (gfc_ref_this_image): New function.

2011-07-16  Tobias Burnus  <burnus@net-b.de>

        * expr.c (gfc_ref_this_image): New function.
        (gfc_is_coindexed): Use it.
        * gfortran.h (gfc_ref_this_image): New prototype.
        * resolve.c (resolve_deallocate_expr,
        resolve_allocate_expr): Support alloc scalar coarrays.
        * trans-array.c (gfc_conv_array_ref, gfc_array_init_size,
        gfc_conv_descriptor_cosize, gfc_array_allocate,
        gfc_trans_deferred_array): Ditto.
        * trans-expr.c (gfc_conv_variable) Ditto.:
        * trans-stmt.c (gfc_trans_deallocate): Ditto.
        * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds
        gfc_get_array_descr_info): Ditto.
        * trans-decl.c (gfc_get_symbol_decl): Ditto.

2011-07-16  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_14.f90: Remove dg-error "sorry not
        * implemented".
        * gfortran.dg/coarray_7.f90: Ditto.
        * gfortran.dg/coarray/scalar_alloc_1.f90: New.
        * gfortran.dg/coarray/scalar_alloc_2.f90: New.

From-SVN: r176358

13 years agochangelog typo.
Basile Starynkevitch [Sat, 16 Jul 2011 12:28:52 +0000 (12:28 +0000)]
changelog typo.

From-SVN: r176356

13 years agomul-subnormal-single-1.x: Add tic6x-*-* case.
Bernd Schmidt [Sat, 16 Jul 2011 12:07:17 +0000 (12:07 +0000)]
mul-subnormal-single-1.x: Add tic6x-*-* case.

* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Add tic6x-*-*
case.
* gcc.c-torture/execute/ieee/20000320-1.x: Likewise.
* gcc.c-torture/execute/ieee/hugeval.x: Likewise.
* gcc.c-torture/execute/ieee/mzero2.c: Comment out the divide tests for
C67X.
* gcc.c-torture/execute/ieee/pr29302.x: New file.
* gcc.dg/torture/type-generic-1.c: Add -DUNSAFE for tic6x-*-*.
* gcc.dg/torture/builtin-math-7.c: Add a comment.

From-SVN: r176353

13 years agoinstall.texi: Document --enable-static-libjava.
Matthias Klose [Sat, 16 Jul 2011 08:33:10 +0000 (08:33 +0000)]
install.texi: Document --enable-static-libjava.

gcc/

2011-07-16  Matthias Klose  <doko@ubuntu.com>

        * doc/install.texi: Document --enable-static-libjava.

<toplevel>

2011-07-16  Matthias Klose  <doko@ubuntu.com>

        * Makefile.tpl (EXTRA_CONFIGARGS_LIBJAVA): Define.
        * Makefile.def (target_modules/libjava): Pass
        $(EXTRA_CONFIGARGS_LIBJAVA).
        * configure.ac: Pass --disable-static in EXTRA_CONFIGARGS_LIBJAVA,
        if not configured with --enable-static-libjava.
        * Makefile.in: Regenerate.
        * configure: Likewise.

From-SVN: r176351

13 years agoMake-lang.in (check-g++-strict-gc): New.
Jason Merrill [Sat, 16 Jul 2011 04:11:53 +0000 (00:11 -0400)]
Make-lang.in (check-g++-strict-gc): New.

* Make-lang.in (check-g++-strict-gc): New.
(cp/except.o): Depend on gt-cp-except.h
* except.c: Include gt-cp-except.h.
* config-lang.in (gtfiles): Add cp/except.c.
* decl2.c (mark_used): Adjust constexpr condition, set
function_depth around template instantiation.
* parser.c (cp_parser_lambda_body): Set function_depth.
* semantics.c (maybe_add_lambda_conv_op): Likewise.

From-SVN: r176350

13 years agobbpart: Use a VEC for crossing_edges.
Richard Henderson [Sat, 16 Jul 2011 03:11:28 +0000 (20:11 -0700)]
bbpart: Use a VEC for crossing_edges.

From-SVN: r176349

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

From-SVN: r176347

13 years agompi.c (caf_runtime_error): Change fprintf to vfprintf.
Daniel Carrera [Fri, 15 Jul 2011 22:39:03 +0000 (22:39 +0000)]
mpi.c (caf_runtime_error): Change fprintf to vfprintf.

2011-07-15  Daniel Carrera  <dcarrera@gmail.com>

* caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
* caf/single.c (caf_runtime_error): Ditto.

From-SVN: r176340

13 years agoctype_members.cc: New file.
Yufeng Zhang [Fri, 15 Jul 2011 22:29:53 +0000 (22:29 +0000)]
ctype_members.cc: New file.

2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/locale/newlib/ctype_members.cc: New file.
* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
kind: newlib.  Configure to use the newlib specific
ctype_members.cc when with_newlib is enabled.
* configure: Regenerate.

From-SVN: r176339

13 years ago2011-07-15 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Fri, 15 Jul 2011 21:54:31 +0000 (21:54 +0000)]
2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak last ChangeLog entry.

From-SVN: r176336

13 years agore PR libstdc++/49745 (error: ‘int truncate’ redeclared as different kind of symbol)
Paolo Carlini [Fri, 15 Jul 2011 21:52:06 +0000 (21:52 +0000)]
re PR libstdc++/49745 (error: ‘int truncate’ redeclared as different kind of symbol)

/gcc
2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
    Jakub Jelinek  <jakub@redhat.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/49745
* gthr-posix.h: Do not include <unistd.h> unconditionally; use
_GTHREADS_USE_MUTEX_TIMEDLOCK instead of _POSIX_TIMEOUTS.

/libstdc++-v3
2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
    Jakub Jelinek  <jakub@redhat.com>

PR libstdc++/49745
* acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
_POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
* libstdc++-v3/libsupc++/guard.cc: Include <unistd.h>.
* testsuite/17_intro/headers/c++1998/49745.cc: New.
* configure: Regenerate.
* config.h.in: Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r176335

13 years agoUse source_location where it is due
Dodji Seketeli [Fri, 15 Jul 2011 21:34:02 +0000 (21:34 +0000)]
Use source_location where it is due

libcpp/

* directives.c (struct if_stack): Use source_location as type
here.
* include/cpplib.h (struct cpp_callbacks)<include, define, undef,
indent, def_pragma, used_define, used_undef>: Properly use
source_location as parameter type, rather than unsigned int.

From-SVN: r176333

13 years agore PR testsuite/49741 (make -k check-c++0x not multilib aware)
Jason Merrill [Fri, 15 Jul 2011 21:29:57 +0000 (17:29 -0400)]
re PR testsuite/49741 (make -k check-c++0x not multilib aware)

PR testsuite/49741
gcc/
* Makefile.in ($(lang_checks_parallelized)): Allow --extra_opts
rather than --tool_opts.
gcc/cp/
* Make-lang.in (check-c++0x): Use --extra_opts instead of--tool_opts.
gcc/testsuite/
* lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Restore.
Use --extra_opts instead of --additional_options.

* Makefile.in (check-c++): Move check-gcc-c++0x after
check-target-libstdc++-v3.

From-SVN: r176332

13 years agoplugins.texi (Building GCC plugins): gengtype needs its gtype.state.
Basile Starynkevitch [Fri, 15 Jul 2011 20:05:51 +0000 (20:05 +0000)]
plugins.texi (Building GCC plugins): gengtype needs its gtype.state.

2011-07-15  Basile Starynkevitch  <basile@starynkevitch.net>

* doc/plugins.texi (Building GCC plugins): gengtype needs its
gtype.state.

From-SVN: r176329

13 years agore PR testsuite/49753 (FAIL: g++.dg/torture/pr49309.C)
Jakub Jelinek [Fri, 15 Jul 2011 19:48:46 +0000 (21:48 +0200)]
re PR testsuite/49753 (FAIL: g++.dg/torture/pr49309.C)

PR testsuite/49753
PR tree-optimization/49309
* testsuite/libmudflap.c++/pass68-frag.cxx: New test.

* g++.dg/torture/pr49309.C: Remove.

From-SVN: r176327

13 years agowait.h (do_spin): New inline...
Jakub Jelinek [Fri, 15 Jul 2011 19:46:11 +0000 (21:46 +0200)]
wait.h (do_spin): New inline...

* config/linux/wait.h (do_spin): New inline, largely copied
from do_wait, just don't do futex_wait here, instead return true if
it should be done.
(do_wait): Implement using do_spin.
* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
to prototype.
(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
__sync_bool_compare_and_swap, pass the oldval to
gomp_mutex_lock_slow.
* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
If all mutex contenders are just spinning and not sleeping, don't
change state to 2 unnecessarily.  Optimize the loop when state has
already become 2 to use just one atomic operation per loop instead
of two.
* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
to prototype.
(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
__sync_bool_compare_and_swap, pass the oldval to
gomp_mutex_lock_slow.

From-SVN: r176326

13 years agore PR target/49723 (gcc.c-torture/compile/pr46934.c: ICE in do_SUBST, at combine...
John David Anglin [Fri, 15 Jul 2011 18:11:18 +0000 (18:11 +0000)]
re PR target/49723 (gcc.c-torture/compile/pr46934.c: ICE in do_SUBST, at combine.c:707 at -O1 and above)

PR target/49723
* config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.

From-SVN: r176319

13 years agore PR debug/48220 (DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register...
Eric Botcazou [Fri, 15 Jul 2011 17:09:56 +0000 (17:09 +0000)]
re PR debug/48220 (DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window)

PR target/48220
* doc/md.texi (Standard Names): Document window_save.
* cfgexpand.c (expand_debug_parm_decl): New function extracted from
expand_debug_expr and expand_debug_source_expr.  If the target has
a window_save instruction, adjust the ENTRY_VALUE_EXP.
(expand_debug_expr) <SSA_NAME>: Call expand_debug_parm_decl if the
SSA_NAME_VAR is a parameter.
(expand_debug_source_expr) <PARM_DECL>: Call expand_debug_parm_decl.
* var-tracking.c (parm_reg_t): New type and associated vector type.
(windowed_parm_regs): New variable.
(adjust_insn): If the target has a window_save instruction and this
is the instruction, make its effect on parameter registers explicit.
(next_non_note_insn_var_location): New function.
(emit_notes_in_bb): Use it instead of NEXT_INSN throughout.
(vt_add_function_parameter): If the target has a window_save insn,
adjust the incoming RTL and record that in windowed_parm_regs.
(vt_finalize): Free windowed_parm_regs.

From-SVN: r176318

13 years agoRemove gcc/testsuite/ prefix.
H.J. Lu [Fri, 15 Jul 2011 14:58:16 +0000 (07:58 -0700)]
Remove gcc/testsuite/ prefix.

From-SVN: r176317

13 years agorevert: re PR rtl-optimization/11320 (Scheduler bug)
Bernd Schmidt [Fri, 15 Jul 2011 13:20:10 +0000 (13:20 +0000)]
revert: re PR rtl-optimization/11320 (Scheduler bug)

Revert
2003-07-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
PR rtl-optimization/11320
* sched-int.h (struct deps) [reg_conditional_sets]: New field.
(struct sched_info) [compute_jump_reg_dependencies]: New prototype.
* sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
current_sched_info->compute_jump_reg_dependencies. Record which
registers are used and which registers are set by the jump.
Clear deps->reg_conditional_sets after a barrier.
Set deps->reg_conditional_sets if the insn is a COND_EXEC.
Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
(init_deps): Initialize reg_conditional_sets.
(free_deps): Clear reg_conditional_sets.
* sched-ebb.c (compute_jump_reg_dependencies): New prototype.
Mark registers live on entry of the fallthrough block and conditionally
set as set by the jump. Mark registers live on entry of non-fallthrough
blocks as used by the jump.
* sched-rgn.c (compute_jump_reg_dependencies): New prototype.
Mark new parameters as unused.

From-SVN: r176315

13 years agore PR testsuite/49757 (FAIL: gcc.target/tic6x/*.c)
Bernd Schmidt [Fri, 15 Jul 2011 12:11:00 +0000 (12:11 +0000)]
re PR testsuite/49757 (FAIL: gcc.target/tic6x/*.c)

PR testsuite/49757
* gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp: Return if
not testing tic6x-*-*.

From-SVN: r176313

13 years ago* MAINTAINERS (c6x port): New entry.
Bernd Schmidt [Fri, 15 Jul 2011 10:31:16 +0000 (10:31 +0000)]
* MAINTAINERS (c6x port): New entry.

From-SVN: r176312

13 years agoweak-call.c: New test.
Bernd Schmidt [Fri, 15 Jul 2011 09:43:05 +0000 (09:43 +0000)]
weak-call.c: New test.

* gcc.target/tic6x/weak-call.c: New test.
* gcc.target/tic6x/fpcmp.c: New test.
* gcc.target/tic6x/fpdiv.c: New test.
* gcc.target/tic6x/rotdi16-scan.c: New test.
* gcc.target/tic6x/ffssi.c: New test.
* gcc.target/tic6x/fpdiv-lib.c: New test.
* gcc.target/tic6x/cold-lc.c: New test.
* gcc.target/tic6x/longcalls.c: New test.
* gcc.target/tic6x/abi-align-1.c: New test.
* gcc.target/tic6x/fpcmp-finite.c: New test.
* gcc.target/tic6x/rotdi16.c: New test.
* gcc.target/tic6x/bswapl.c: New test.
* gcc.target/tic6x/ffsdi.c: New test.
* gcc.target/tic6x/tic6x.exp: New file.
* gcc/testsuite/gcc.target/tic6x/builtins/arith24.c: New test.
* gcc/testsuite/gcc.target/tic6x/builtins/smpy.c: New test.
* gcc/testsuite/gcc.target/tic6x/builtins/smpylh.c: New test.
* gcc/testsuite/gcc.target/tic6x/builtins/smpyh.c: New test.
* gcc/testsuite/gcc.target/tic6x/builtins/sarith1.c: New test.
* gcc/testsuite/gcc.target/tic6x/builtins/extclr.c: New test
* gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp: New file.
* gcc.target/tic6x/builtin-math-7.c: New test, adapted from gcc.dg.
* lib/target-supports.exp (chck_profiling_available): Not on tic6x.
(check_effective_target_ti_c67x, check_effective_target_ti_c64xp):
New functions.
* gcc.c-torture/execute/20101011-1.c: Add a condition for
__TMS320C6X__.
* gcc.dg/20020312-2.c: Likewise.
* gcc.dg/pr27095.c: Handle tic6x like hppa.
* gcc.dg/torture/pr37868.c: Skip on tic6x.
* gcc.dg/torture/builtin-math-7.c: Likewise.

From-SVN: r176310

13 years agoinvoke.texi (C6X Options): New section.
Bernd Schmidt [Fri, 15 Jul 2011 09:36:40 +0000 (09:36 +0000)]
invoke.texi (C6X Options): New section.

gcc/
* doc/invoke.texi (C6X Options): New section.
* doc/md.texi (TI C6X family): New section.
* config.gcc: Handle tic6x, in particular tic6x-*-elf and
tic6x-*-uclinux.
* longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
Provide C6X definitions.
* config/c6x/c6x.md: New file.
* config/c6x/constraints.md: New file.
* config/c6x/predicates.md: New file.
* config/c6x/c6x-sched.md.in: New file.
* config/c6x/c6x-sched.md: New file.
* config/c6x/gensched.sh: New file.
* config/c6x/c6x-mult.md.in: New file.
* config/c6x/genmult.sh: New file.
* config/c6x/c6x-mult.md: New file.
* config/c6x/sync.md: New file.
* config/c6x/c6x-protos.h: New file.
* config/c6x/sfp-machine.h: New file.
* config/c6x/c6x.c: New file.
* config/c6x/c6x.h: New file.
* config/c6x/crti.s: New file.
* config/c6x/crtn.s: New file.
* config/c6x/lib1funcs.asm: New file.
* config/c6x/c6x-modes.def: New file.
* config/c6x/genopt.sh: New file.
* config/c6x/c6x.opt: New file.
* config/c6x/c6x-tables.opt: New file.
* config/c6x/c6x-opts.h: New file.
* config/c6x/c6x-isas.def: New file.
* config/c6x/elf.h: New file.
* config/c6x/elf-common.h: New file.
* config/c6x/uclinux-elf.h: New file.
* config/c6x/t-c6x: New file.
* config/c6x/t-c6x-elf: New file.
* config/c6x/t-c6x-uclinux: New file.
* config/c6x/t-c6x-softfp: New file.
* config/c6x/gtd.c: New file.
* config/c6x/gtf.c: New file.
* config/c6x/ltd.c: New file.
* config/c6x/ltf.c: New file.
* config/c6x/ged.c: New file.
* config/c6x/gef.c: New file.
* config/c6x/led.c: New file.
* config/c6x/lef.c: New file.
* config/c6x/eqd.c: New file.
* config/c6x/eqf.c: New file.
* config/c6x/libgcc-c6xeabi.ver: New file.

contrib/
* gcc_update: Add C6X generated files.
* contrib/config-list.mk: Add c6x-elf and c6x-uclinux.

libgcc/
* config.host: Handle tic6x-*-*.
* config/c6x/c6x-abi.h: New file.

From-SVN: r176308

13 years ago* gcc-interface/gigi.h: Move around comment.
Eric Botcazou [Fri, 15 Jul 2011 07:33:09 +0000 (07:33 +0000)]
* gcc-interface/gigi.h: Move around comment.

From-SVN: r176307

13 years agore PR ada/48711 (failure to bootstrap or build ada for mingw (value not in range...
Eric Botcazou [Fri, 15 Jul 2011 05:52:04 +0000 (05:52 +0000)]
re PR ada/48711 (failure to bootstrap or build ada for mingw (value not in range of type "Interfaces.C.unsigned" in g-socthi.adb))

PR ada/48711
* g-socthi-mingw.adb (Fill): Fix formatting.

From-SVN: r176305

13 years agoDaily bump.
GCC Administrator [Fri, 15 Jul 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176301

13 years agore PR ada/46350 (s-taprop.adb:891:40: warning: redundant conversion, expression is...
John David Anglin [Thu, 14 Jul 2011 23:22:17 +0000 (23:22 +0000)]
re PR ada/46350 (s-taprop.adb:891:40: warning: redundant conversion, expression is of type "Interrupt_ID")

PR ada/46350
* s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.

From-SVN: r176296

13 years agore PR tree-optimization/49309 (ICE with -fmudflap: verify_stmts failed: type mismatch...
Andrew Pinski [Thu, 14 Jul 2011 20:23:36 +0000 (13:23 -0700)]
re PR tree-optimization/49309 (ICE with -fmudflap: verify_stmts failed: type mismatch in pointer plus expression)

2011-07-14  Andrew Pinski  <pinskia@gmail.com>

PR tree-opt/49309
* tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
Use fold_build2_loc instead of build2.
Use the correct type for the new tree.

2011-07-14  Andrew Pinski  <pinskia@gmail.com>

PR tree-opt/49309
* g++.dg/torture/pr49309.C: New testcase.

From-SVN: r176281

13 years agore PR rtl-optimization/11320 (Scheduler bug)
Bernd Schmidt [Thu, 14 Jul 2011 17:06:33 +0000 (17:06 +0000)]
re PR rtl-optimization/11320 (Scheduler bug)

PR rtl-optimization/11320
* config/ia64/ia64.md (load_symptr_low): Show a MEM.
* config/ia64/ia64.c (ia64_expand_load_address): Generate it.

From-SVN: r176280

13 years ago* gcc.dg/pr48770.c: Add dg-require-effective-target fpic.
Bernd Schmidt [Thu, 14 Jul 2011 16:40:29 +0000 (16:40 +0000)]
* gcc.dg/pr48770.c: Add dg-require-effective-target fpic.

From-SVN: r176279

13 years agoRemove error parameter from caf_runtime_error. Add caf_runtime_error to single.c.
Daniel Carrera [Thu, 14 Jul 2011 15:49:00 +0000 (15:49 +0000)]
Remove error parameter from caf_runtime_error. Add caf_runtime_error to single.c.

From-SVN: r176278

13 years agore PR target/49487 ([avr] ICE in bytewise rotate)
Georg-Johann Lay [Thu, 14 Jul 2011 15:10:12 +0000 (15:10 +0000)]
re PR target/49487 ([avr] ICE in bytewise rotate)

PR target/49487
* config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
of REG.
(*rotw<mode>): Use const_int_operand for operand2.
Use match_scatch for operand3.
(*rotb<mode>): Ditto
* config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.

From-SVN: r176276

13 years agore PR tree-optimization/49651 (nested lambdas and -O3 produced incorrect integer...
Richard Guenther [Thu, 14 Jul 2011 14:53:30 +0000 (14:53 +0000)]
re PR tree-optimization/49651 (nested lambdas and -O3 produced incorrect integer variable increments)

2011-07-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49651
* tree-ssa-structalias.c (get_constraint_for_1): Properly
handle dereferences with subvariables.

* gcc.dg/torture/pr49651.c: New testcase.

From-SVN: r176274

13 years agogimple-fold.c (fold_gimple_assign): Remove operand swapping.
Richard Guenther [Thu, 14 Jul 2011 14:21:07 +0000 (14:21 +0000)]
gimple-fold.c (fold_gimple_assign): Remove operand swapping.

2011-07-14  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Remove operand swapping.
(fold_stmt_1): Do it here directly on gimple and as a first thing.

From-SVN: r176273

13 years agofold-const.c (fold_binary_loc): Convert the !bool_var result...
Richard Guenther [Thu, 14 Jul 2011 12:42:17 +0000 (12:42 +0000)]
fold-const.c (fold_binary_loc): Convert the !bool_var result...

2011-07-14  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Convert the !bool_var result,
not bool_var when folding bool_var != 1 or bool_var == 0.

From-SVN: r176272

13 years agohaifa-sched.c (schedule_insns): Remove outdated comment.
Bernd Schmidt [Thu, 14 Jul 2011 11:55:59 +0000 (11:55 +0000)]
haifa-sched.c (schedule_insns): Remove outdated comment.

* haifa-sched.c (schedule_insns): Remove outdated comment.
(schedule_block): When computing a known value for TODO_SPEC,
just set it rather than using logical operations.
(try_ready): Likewise.  Use a local variable rather than a
pointer to TODO_SPEC.  Reorder an if statement to move the
easy case to the then block.
* sched-deps.c (dep_spec_p): New static function.
(update_dep): Use it to decide whether to call
change_spec_dep_to_hard.
(get_back_and_forw_lists): Use it.
(sd_resolve_dep): Likewise.
(init_dep): If !USE_DEPS_LIST, use zero to initialize status.
(haifa_note_mem_dep): Likewise.
(check_dep): Likewise.
(sd_add_dep): Also clear SPECULATIVE bits if not DO_SPECULATION.
(sched_free_deps): Free in two passes.

From-SVN: r176271

13 years agore PR middle-end/49736 (Revision 176228 miscompiled 255.vortex in SPEC CPU 2000)
Richard Sandiford [Thu, 14 Jul 2011 11:49:01 +0000 (11:49 +0000)]
re PR middle-end/49736 (Revision 176228 miscompiled 255.vortex in SPEC CPU 2000)

gcc/
PR middle-end/49736
* expr.c (all_zeros_p): Undo bogus part of last change.

From-SVN: r176270

13 years agoextend.texi (optimize attribute): Fix (another) typo.
Matthias Klose [Thu, 14 Jul 2011 11:47:37 +0000 (11:47 +0000)]
extend.texi (optimize attribute): Fix (another) typo.

2011-07-14  Matthias Klose <doko@ubuntu.com>

        * doc/extend.texi (optimize attribute): Fix (another) typo.

From-SVN: r176269

13 years agoextend.texi (optimize attribute): Fix typo.
Matthias Klose [Thu, 14 Jul 2011 11:41:31 +0000 (11:41 +0000)]
extend.texi (optimize attribute): Fix typo.

2011-07-14  Matthias Klose <doko@ubuntu.com>

        * doc/extend.texi (optimize attribute): Fix typo.

From-SVN: r176268

13 years agogimplify.c (gimplify_expr): Only do required conversions.
Richard Guenther [Thu, 14 Jul 2011 11:23:02 +0000 (11:23 +0000)]
gimplify.c (gimplify_expr): Only do required conversions.

2011-07-14  Richard Guenther  <rguenther@suse.de>

* gimplify.c (gimplify_expr): Only do required conversions.

From-SVN: r176267

13 years agore PR ada/48711 (failure to bootstrap or build ada for mingw (value not in range...
Florian Weimer [Thu, 14 Jul 2011 09:27:22 +0000 (11:27 +0200)]
re PR ada/48711 (failure to bootstrap or build ada for mingw (value not in range of type "Interfaces.C.unsigned" in g-socthi.adb))

PR ada/48711
* g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.

From-SVN: r176265

13 years agore PR target/43746 (-fmerge-constants and -fmerge-all-constants don't work at AVR...
Georg-Johann Lay [Thu, 14 Jul 2011 07:49:14 +0000 (07:49 +0000)]
re PR target/43746 (-fmerge-constants and -fmerge-all-constants don't work at AVR target)

gcc/
PR target/43746
* config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove,
i.e. use default_elf_select_section.
(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove.
(READONLY_DATA_SECTION_ASM_OP): Remove.
(TARGET_ASM_NAMED_SECTION): Move from here...
* config/avr/avr.c: ...to here.
(avr_asm_init_sections): Set unnamed callback of
readonly_data_section.
(avr_asm_named_section): Make static.

testsuite/
PR target/43746
* gcc.dg/array-quals-1.c: Don't xfail on AVR.

From-SVN: r176262