Paolo Carlini
d28d43815b
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
2011-07-20 09:40:11 +00:00
Chung-Lin Tang
b0e43da8fb
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
2011-07-20 06:21:36 +00:00
GCC Administrator
e7b6c2cb75
Daily bump.
...
From-SVN: r176494
2011-07-20 00:18:31 +00:00
Anatoly Sokolov
a8c44c522d
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
2011-07-20 02:34:31 +04:00
Eric Botcazou
fd811f0342
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
2011-07-19 20:20:27 +00:00
François Dumont
77e0bf4e07
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
2011-07-19 19:39:45 +00:00
Ian Lance Taylor
78767fd9cf
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
2011-07-19 18:33:25 +00:00
Robert Millan
0baeec1b09
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
2011-07-19 18:00:27 +00:00
Richard Sandiford
754c3d5de8
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
2011-07-19 17:44:58 +00:00
Richard Sandiford
527210c448
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
2011-07-19 17:43:27 +00:00
Richard Sandiford
f5541398ef
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
2011-07-19 17:43:15 +00:00
Richard Sandiford
f12144ddd5
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
2011-07-19 17:42:58 +00:00
Richard Sandiford
1c3f523e1c
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
2011-07-19 17:42:48 +00:00
Jason Merrill
3745786667
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
2011-07-19 13:28:13 -04:00
Tobias Burnus
394d3a2e8d
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
2011-07-19 18:46:02 +02:00
Vladimir Makarov
9dafd06325
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
2011-07-19 15:17:52 +00:00
Richard Guenther
3046b1a95c
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
2011-07-19 15:16:23 +00:00
Richard Guenther
5d49b6a7b2
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
2011-07-19 14:01:59 +00:00
Richard Guenther
d906fd7fec
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
2011-07-19 13:28:15 +00:00
Janus Weil
b21a544bb1
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
2011-07-19 14:38:59 +02:00
Richard Sandiford
1b14d8150e
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
2011-07-19 12:37:03 +00:00
Richard Biener
aaa7ad9081
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
2011-07-19 12:12:21 +00:00
Richard Guenther
5302064826
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
2011-07-19 10:57:15 +00:00
Jakub Jelinek
b8b2b0094a
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
2011-07-19 11:24:28 +02:00
Ira Rosen
338f655dae
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
2011-07-19 06:25:07 +00:00
GCC Administrator
24d71c2b56
Daily bump.
...
From-SVN: r176430
2011-07-19 00:18:48 +00:00
Martin Jambor
310bc63348
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
2011-07-19 00:03:39 +02:00
Martin Jambor
ca176e1c36
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
2011-07-18 23:51:24 +02:00
Richard Henderson
6774a66fee
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
2011-07-18 13:34:08 -07:00
Jakub Jelinek
8b316874a1
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
2011-07-18 21:41:45 +02:00
Richard Henderson
9f68560b13
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
2011-07-18 11:45:45 -07:00
Uros Bizjak
031264128a
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
2011-07-18 19:51:33 +02:00
Rainer Orth
fbf80ef770
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
2011-07-18 16:41:55 +00:00
Paolo Carlini
9992d56429
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
2011-07-18 16:07:24 +00:00
Tobias Burnus
15e2b5959d
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
2011-07-18 17:24:46 +02:00
David Edelsohn
daf633ba6f
* doc/install.texi (Specific, *-ibm-aix*): AIX assembler bug.
...
From-SVN: r176403
2011-07-18 10:54:14 -04:00
Richard Guenther
4b4455e51c
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
2011-07-18 14:22:50 +00:00
Richard Guenther
e002c7cbaf
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
2011-07-18 13:39:28 +00:00
Rainer Orth
c1f5148401
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
2011-07-18 12:09:18 +00:00
Jakub Jelinek
eac8f5bd08
* MAINTAINERS (Global Reviewers): Add myself.
...
From-SVN: r176392
2011-07-18 13:21:57 +02:00
Rainer Orth
e44dbbe18b
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
2011-07-18 11:04:18 +00:00
Ira Rosen
c27e3f60a6
pr49038.c: Run only on targets that support mmap.
...
* gcc.dg/vect/pr49038.c: Run only on targets that support mmap.
From-SVN: r176390
2011-07-18 10:23:29 +00:00
Richard Guenther
1f90cc14bb
MAINTAINERS (Global Reviewers): Add myself.
...
2011-07-18 Richard Guenther <rguenther@suse.de>
* MAINTAINERS (Global Reviewers): Add myself.
From-SVN: r176387
2011-07-18 08:33:17 +00:00
Tobias Burnus
d8155bf5e5
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
2011-07-18 08:48:19 +02:00
GCC Administrator
25fe407a21
Daily bump.
...
From-SVN: r176384
2011-07-18 00:18:29 +00:00
John David Anglin
fd862017e8
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
2011-07-17 21:26:59 +00:00
Tobias Burnus
63523a1fa5
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
2011-07-17 21:57:10 +02:00
Eric Botcazou
1ff2474966
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
2011-07-17 15:06:36 +00:00
Tobias Burnus
73cd74f8e7
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
2011-07-17 16:52:46 +02:00
Jason Merrill
32c87d63d2
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
2011-07-16 23:34:13 -04:00