H.J. Lu [Thu, 12 May 2011 21:36:48 +0000 (21:36 +0000)]
Change maybe_eh_return to bool.
2011-05-12 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_save_reg): Change maybe_eh_return
to bool.
(ix86_emit_restore_regs_using_mov): Likewise.
(ix86_emit_restore_sse_regs_using_mov): Likewise.
From-SVN: r173716
DJ Delorie [Thu, 12 May 2011 20:52:32 +0000 (16:52 -0400)]
Fix missing file name in changelog
From-SVN: r173715
Anatoly Sokolov [Thu, 12 May 2011 20:36:31 +0000 (00:36 +0400)]
sparc.h (REG_OK_FOR_INDEX_P, [...]): Remove.
* config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
(RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
RTX_OK_FOR_OLO10_P): ...here.
(sparc_mode_dependent_address_p): Use symbolic_operand instead of
SYMBOLIC_CONST.
From-SVN: r173714
Ian Lance Taylor [Thu, 12 May 2011 18:35:05 +0000 (18:35 +0000)]
Fix bug with taking address of a variable when address does not escape.
* go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
parameter.
(Gcc_backend::parameter_variable): Likewise.
From-SVN: r173712
Kai Tietz [Thu, 12 May 2011 18:19:07 +0000 (20:19 +0200)]
gimplify.c (gimple_boolify): Re-boolify expression arguments even if expression type is of kind BOOLEAN_TYPE.
2011-05-12 Kai Tietz <ktietz@redhat.com>
* gimplify.c (gimple_boolify): Re-boolify expression
arguments even if expression type is of kind BOOLEAN_TYPE.
(gimplify_boolean_expr): Removed.
(gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
and XOR. Additional take care that we keep expression's type.
* tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
of TRUTH_AND|OR|XOR_EXPR.
From-SVN: r173711
Jakub Jelinek [Thu, 12 May 2011 17:44:23 +0000 (19:44 +0200)]
re PR tree-optimization/48975 (ICE in execute_cse_reciprocals() with -fno-tree-slp-vectorize)
PR tree-optimization/48975
* tree-if-conv.c (combine_blocks): Call free_bb_predicate
on all bbs here and free and clear ifc_bbs at the end.
* gcc.dg/pr48975.c: New test.
From-SVN: r173709
Tobias Burnus [Thu, 12 May 2011 17:40:29 +0000 (19:40 +0200)]
re PR fortran/48972 (OPEN with Unicode file name)
2011-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/48972
* resolve.c (resolve_intrinsic): Don't resolve module
intrinsics multiple times.
2011-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/48972
* gfortran.dg/iso_c_binding_compiler_3.f90: New.
From-SVN: r173708
Jason Merrill [Thu, 12 May 2011 17:33:53 +0000 (13:33 -0400)]
cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
* cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
* semantics.c (validate_constexpr_fundecl): Set it.
(check_deferred_constexpr_decls): Clear it.
(register_constexpr_fundef): Make sure it isn't set.
* decl.c (grok_special_member_properties): Check it.
From-SVN: r173707
Eric Botcazou [Thu, 12 May 2011 14:54:09 +0000 (14:54 +0000)]
trans.c (call_to_gnu): In the by-reference case...
* gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
type of the parameter is an unconstrained array, convert the actual to
the type of the formal in the In Out and Out cases as well.
From-SVN: r173706
Richard Guenther [Thu, 12 May 2011 14:04:29 +0000 (14:04 +0000)]
gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle NULLPTR_TYPE similar to VOID_TYPE.
2011-05-12 Richard Guenther <rguenther@suse.de>
* gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
until after simple checks.
(gimple_types_compatible_p): Likewise.
(iterative_hash_gimple_type): Always hash pointer targets
and function return and argument types.
(iterative_hash_canonical_type): Do not hash TYPE_QUALS,
hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
(gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
completely in the simple compare section.
(gimple_register_canonical_type): Query the cache again after
registering.
From-SVN: r173704
Richard Guenther [Thu, 12 May 2011 12:14:45 +0000 (12:14 +0000)]
re PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with -O3)
2011-05-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48172
* tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
the number of iterations from the segment size calculation.
(vect_create_cond_for_alias_checks): Adjust.
* gcc.dg/vect/pr48172.c: New testcase.
From-SVN: r173703
Jakub Jelinek [Thu, 12 May 2011 11:54:33 +0000 (13:54 +0200)]
re PR debug/48967 (ICE during use_narrower_mode)
PR debug/48967
* var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
if validate_subreg fails.
* g++.dg/opt/pr48967.C: New test.
From-SVN: r173701
Jan Hubicka [Thu, 12 May 2011 11:30:42 +0000 (13:30 +0200)]
re PR lto/48952 (ICE in inline_merge_summary during linux kernel LTO build)
PR lto/48952
* lto.c (do_whole_program_analysis): Do not register cgraph hooks.
From-SVN: r173700
Hariharan Sandanagobalane [Thu, 12 May 2011 11:12:12 +0000 (11:12 +0000)]
ira.c (clarify_prohibited_class_mode_regs): Prevent the function from accessing beyond the end of REGNO_REG_CLASS array by...
* ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
accessing beyond the end of REGNO_REG_CLASS array by stopping the
loop early.
From-SVN: r173699
Joseph Myers [Thu, 12 May 2011 11:02:23 +0000 (12:02 +0100)]
* zh_CN.po: Update.
From-SVN: r173697
DJ Delorie [Thu, 12 May 2011 10:33:57 +0000 (06:33 -0400)]
(rx_builtins): New arrays - holds builtin functions.
(ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
created builtin into rx_builtins array.
(rx_builtin_decl): New function.
(TARGET_BUITLIN_DECL): Define.
Include gt-rx.h.
Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r173696
DJ Delorie [Thu, 12 May 2011 10:30:28 +0000 (06:30 -0400)]
rx.h (HAVE_PRE_DECREMENT): Fix typo.
* config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
* config/rx/rx.c (CC_FLAG_FP): Fix comment.
(rx_is_legitimate_address): Add pre-decrement and post-increment
addressing in HImode and QImode. Fix test for out of range
REG+INT addressing.
(rx_legitimate_constant_p): Rename ro rx_is_legitimate_constant.
(rx_align_for_label): Test label before extracting its usage
count.
(rx_adjust_insn_lengths): Fix selection of insn codes.
(TARGET_LEGITIMNATE_CONSTANT_P): Use renamed function.
Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r173695
Jason Merrill [Thu, 12 May 2011 01:36:38 +0000 (21:36 -0400)]
* tree.c (type_hash_canon): Use struct tree_type_non_common.
From-SVN: r173692
GCC Administrator [Thu, 12 May 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r173691
Paul Pluzhnikov [Wed, 11 May 2011 23:15:44 +0000 (16:15 -0700)]
No gcc/ prefix in gcc/ChangeLog.
From-SVN: r173686
Eric Botcazou [Wed, 11 May 2011 23:05:51 +0000 (23:05 +0000)]
cfgrtl.c (commit_one_edge_insertion): Remove always-true test and reindent the subsequent block.
* cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
reindent the subsequent block.
From-SVN: r173685
Paolo Carlini [Wed, 11 May 2011 22:36:18 +0000 (22:36 +0000)]
overloads_c++0x_neg.cc: Use dg-require-cmath.
2011-05-11 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use
dg-require-cmath.
* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
From-SVN: r173684
Jason Merrill [Wed, 11 May 2011 21:30:18 +0000 (17:30 -0400)]
re PR c++/48948 ([C++0x] constexpr friend function cannot be defined in-class)
PR c++/48948
* semantics.c (validate_constexpr_fundecl): Defer checking if
an argument type is being defined.
(is_valid_constexpr_fn): Add defer_ok parm.
(cxx_eval_call_expression): Adjust.
(check_deferred_constexpr_decls): New.
(literal_type_p): Make sure type isn't being defined.
(ensure_literal_type_for_constexpr_object): Handle type being defined.
* cp-tree.h: Declare check_deferred_constexpr_decls.
* decl.c (grokfndecl): Call validate_constexpr_fundecl here.
(start_preparsed_function, cp_finish_decl): Not here.
* class.c (finalize_literal_type_property): Don't call
validate_constexpr_fundecl.
(finish_struct): Call check_deferred_constexpr_decls.
* pt.c (tsubst_decl): Call validate_constexpr_fundecl.
(instantiate_class_template): Call check_deferred_constexpr_decls.
From-SVN: r173683
Jason Merrill [Wed, 11 May 2011 21:30:10 +0000 (17:30 -0400)]
semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO rather than DECL_TEMPLATE_INSTANTIATION.
* semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO
rather than DECL_TEMPLATE_INSTANTIATION.
(cxx_eval_call_expression): Likewise.
From-SVN: r173682
Jason Merrill [Wed, 11 May 2011 21:30:02 +0000 (17:30 -0400)]
semantics.c (register_constexpr_fundef): Add to hash table here.
* semantics.c (register_constexpr_fundef): Add to hash table here.
(validate_constexpr_fundecl): Not here.
From-SVN: r173681
Jason Merrill [Wed, 11 May 2011 21:29:56 +0000 (17:29 -0400)]
* decl.c (grokdeclarator): Only set DECL_DECLARED_CONSTEXPR_P once.
From-SVN: r173680
Jason Merrill [Wed, 11 May 2011 21:29:49 +0000 (17:29 -0400)]
pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p, do call maybe_constant_value in C++0x mode.
* pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p,
do call maybe_constant_value in C++0x mode.
* semantics.c (cxx_eval_constant_expression): Handle TEMPLATE_DECL.
From-SVN: r173679
Jason Merrill [Wed, 11 May 2011 21:29:35 +0000 (17:29 -0400)]
re PR c++/48745 ([C++0x] Segmentation fault with list-initialization, void initializers and variadics)
PR c++/48745
* pt.c (value_dependent_expr_p): Handle CONSTRUCTOR.
From-SVN: r173678
Tobias Burnus [Wed, 11 May 2011 20:08:54 +0000 (22:08 +0200)]
re PR fortran/48889 (f951: internal compiler error: in gfc_is_constant_expr, at fortran/expr.c:906)
2011-05-11 Tobias Burnus <burnus@net-b.de>
PR fortran/48889
* expr.c (gfc_is_constant_expr): Use e->value.function.esym
instead of e->symtree->n.sym, if available.
2011-05-11 Tobias Burnus <burnus@net-b.de>
PR fortran/48889
* gfortran.dg/generic_24.f90: New.
From-SVN: r173674
Ian Lance Taylor [Wed, 11 May 2011 19:56:39 +0000 (19:56 +0000)]
Permit new of a function type.
From-SVN: r173672
Ian Lance Taylor [Wed, 11 May 2011 19:39:21 +0000 (19:39 +0000)]
Don't crash ranging over call to builtin function.
From-SVN: r173671
François Dumont [Wed, 11 May 2011 19:29:02 +0000 (21:29 +0200)]
hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
2011-05-11 François Dumont <francois.cppdevs@free.fr>
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
_GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
constructors_destructor_fn_imps.hpp, split_join_fn_imps.hpp
(PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
* include/ext/pb_ds/detail/debug_map_base.hpp,
splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
macro definitions move...
* include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
* include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
...here.
From-SVN: r173670
Paul Pluzhnikov [Wed, 11 May 2011 18:43:43 +0000 (11:43 -0700)]
MAINTAINERS (Write After Approval): Add myself.
2011-05-11 Paul Pluzhnikov <ppluzhnikov@google.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r173669
Satoru Takabayashi [Wed, 11 May 2011 18:28:14 +0000 (18:28 +0000)]
install.texi (Configuration): Document --with-linker-hash-style.
2011-05-11 Satoru Takabayashi <satorux@google.com>
Paul Pluzhnikov <ppluzhnikov@google.com>
* gcc/doc/install.texi (Configuration): Document
--with-linker-hash-style.
* gcc/gcc.c (init_spec): Handle LINKER_HASH_STYLE.
* gcc/config.in: Add LINKER_HASH_STYLE.
* gcc/configure.ac: Add --with-linker-hash-style.
* gcc/configure: Regenerate.
Co-Authored-By: Paul Pluzhnikov <ppluzhnikov@google.com>
From-SVN: r173668
Nathan Froyd [Wed, 11 May 2011 15:53:50 +0000 (15:53 +0000)]
don't use build_function_type in the Ada FE
don't use build_function_type in the Ada FE
* gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
call build_function_type_array or build_varargs_function_type_array
instead.
(create_subprog_type): Don't call build_function_type; call
build_function_type_vec instead.
From-SVN: r173664
Richard Guenther [Wed, 11 May 2011 15:44:59 +0000 (15:44 +0000)]
re PR bootstrap/48964 (LTO profiledbootstrap failure)
2011-05-11 Richard Guenther <rguenther@suse.de>
PR middle-end/48964
* gimple.c (iterative_hash_canonical_type): Fix typo.
From-SVN: r173663
Uros Bizjak [Wed, 11 May 2011 15:30:52 +0000 (17:30 +0200)]
i386.c (legitimize_tls_address): Call gen_tls_dynamic_gnu2_{32,64} expanders directly for TARGET_GNU2_TLS.
* config/i386/i386.c (legitimize_tls_address)
<TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
expanders directly for TARGET_GNU2_TLS. Determine pic and
__tls_get_addr symbol reference here. Update call to
gen_tls_global_dynamic_{32,64} for added arguments.
<TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
expanders directly for TARGET_GNU2_TLS. Determine
__tls_get_addr symbol reference here. Update call to
gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
unique UNSPEC REG_EQUIV to libcall block.
(ix86_tls_get_addr): Declare static.
* config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
* config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
Do not determine pic and __tls_get_addr symbol reference here. Do not
call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
(tls_local_dynamic_base_32): Ditto for operands 1 and 2.
(tls_global_dynamic_64): Add operand 2. Do not determine
__tls_get_addr symbol reference here. Do not call
gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
(tls_local_dynamic_base64): Ditto for operand 1.
From-SVN: r173662
Eric Botcazou [Wed, 11 May 2011 15:15:26 +0000 (15:15 +0000)]
function.c (expand_function_start): Initialize stack_check_probe_note only if the generic stack checking mechanism...
* function.c (expand_function_start): Initialize stack_check_probe_note
only if the generic stack checking mechanism is used.
From-SVN: r173661
Richard Guenther [Wed, 11 May 2011 14:13:38 +0000 (14:13 +0000)]
re PR tree-optimization/15256 ([tree-ssa] Optimize manual bitfield manipilation.)
2011-05-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/15256
* tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
(A & B) | C, combine (A op CST1) op CST2.
(tree_ssa_forward_propagate_single_use_vars): Only bother to
visit assigns that have uses.
* gcc.dg/tree-ssa/forwprop-14.c: New testcase.
From-SVN: r173659
Nathan Froyd [Wed, 11 May 2011 13:48:55 +0000 (13:48 +0000)]
split tree_type
split tree_type
gcc/ada/
* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
(TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
(TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
gcc/cp/
* cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use
TYPE_VALUES_RAW.
(UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise.
(DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise.
(TEMPLATE_TYPE_PARM_INDEX): Likewise.
gcc/
* ggc-page.c (extra_order_size_table): Use struct
tree_type_non_common.
* lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
(unpack_ts_type_common_value_fields): ...this. Update comment.
(unpack_value_fields): Adjust for renaming.
(lto_input_ts_type_tree_pointers): Split into...
(lto_input_ts_type_common_tree_pointer): ...this and...
(lto_input_ts_type_non_common_tree_pointers): ...this.
(lto_input_tree_pointers): Adjust for above split.
* lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
(pack_ts_type_common_value_fields): ...this. Update comment.
(lto_output_ts_type_tree_pointers): Split into...
(lto_output_ts_type_common_tree_pointers): ...this and...
(lto_output_ts_type_non_common_tree_pointers): ...this.
(lto_output_tree_pointers): Adjust for above split.
* lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
* stor-layout.c (vector_type_mode): Adjust location of mode field.
* tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
Define.
(struct tree_type): Split into...
(struct tree_type_common: ...this and...
(struct tree_type_with_lang_specific): ...this and...
(struct tree_type_non_common): ...this. Adjust accessor macros
accordingly.
(TYPE_VALUES_RAW): Define.
(union tree_node): Update for above changes.
* tree.c (tree_node_structure_for_code) [tcc_type]: Return
TS_TYPE_NON_COMMON.
(initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
(tree_code_size) [tcc_type]: Use struct tree_type_non_common.
* treestructu.def (TS_TYPE): Remove.
(TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
Define.
gcc/java/
* java-tree.h (TYPE_ARGUMENT_SIGNATURE): Use TYPE_MINVAL.
gcc/lto/
* lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
location of binfo field.
(lto_fixup_prevailing_decls): Likewise.
gcc/objc/
* objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors.
(CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise.
(PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise.
From-SVN: r173658
Jakub Jelinek [Wed, 11 May 2011 12:53:43 +0000 (14:53 +0200)]
re PR debug/48159 (ICE: SIGSEGV in build2_stat (tree.c:3802) with -ftree-loop-distribution -g)
PR debug/48159
* tree-ssa.c (reset_debug_uses): New function.
* tree-flow.h (reset_debug_uses): New prototype.
* tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
* tree-loop-distribution.c (generate_loops_for_partition): Call
reset_debug_uses on the stmts that will be removed. Keep around
all debug stmts, don't count them as bits in partition bitmap.
(generate_builtin): Don't count debug stmts or labels as bits in
partition bitmap.
* gcc.dg/pr48159-1.c: New test.
* gcc.dg/pr48159-2.c: New test.
From-SVN: r173656
Richard Guenther [Wed, 11 May 2011 12:45:00 +0000 (12:45 +0000)]
gimple.c (gimple_type_hash_1): Merge with ...
2011-05-11 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_type_hash_1): Merge with ...
(gimple_type_hash): ... this.
(gtc_visit): Remove mode parameter and simplify accordingly.
(gimple_types_compatible_p_1): Likewise.
(gimple_types_compatible_p): Likewise.
(iterative_hash_gimple_type): Likewise.
(visit): Likewise.
(gimple_type_eq): Adjust.
From-SVN: r173655
Revital Eres [Wed, 11 May 2011 12:38:12 +0000 (12:38 +0000)]
Support closing_branch_deps
From-SVN: r173654
Richard Guenther [Wed, 11 May 2011 12:23:12 +0000 (12:23 +0000)]
re PR middle-end/48953 (ICE: verify_gimple failed: type mismatch in array reference with -flto and struct with vararray)
2011-05-11 Richard Guenther <rguenther@suse.de>
PR middle-end/48953
* tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
* gcc.dg/torture/pr48953.c: New testcase.
From-SVN: r173653
Joseph Myers [Wed, 11 May 2011 11:11:34 +0000 (12:11 +0100)]
opts.c (finish_options): Move warning settings from process_options.
* opts.c (finish_options): Move warning settings from
process_options.
* toplev.c (process_options): Move warning settings to
finish_options.
From-SVN: r173651
Richard Guenther [Wed, 11 May 2011 10:52:57 +0000 (10:52 +0000)]
re PR middle-end/18041 (OR of two single-bit bitfields is inefficient)
2011-05-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/18041
* tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
(simplify_bitwise_binary): ... this. Handle operand conversions
by applying them to the result instead.
(tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
* gcc.dg/tree-ssa/forwprop-13.c: New testcase.
From-SVN: r173650
Richard Guenther [Wed, 11 May 2011 08:36:51 +0000 (08:36 +0000)]
gimple.c (gimple_canonical_types_compatible_p): Split out from gimple_types_compatible_p and friends.
2011-05-11 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_canonical_types_compatible_p): Split out
from gimple_types_compatible_p and friends. Do not recurse
to pointed-to types.
(gimple_canonical_type_eq): Use it.
(iterative_hash_canonical_type): Split out from
iterative_hash_gimple_type and friends. Do not recurse
to pointed-to types.
(gimple_canonical_type_hash): Use it, allocate the hash here.
From-SVN: r173649
Revital Eres [Wed, 11 May 2011 07:40:26 +0000 (07:40 +0000)]
Skip DEBUG_INSNs while recognizing doloop
From-SVN: r173647
Revital Eres [Wed, 11 May 2011 07:12:14 +0000 (07:12 +0000)]
Skip DEBUG_INSN in loop-doloop.c
From-SVN: r173646
Revital Eres [Wed, 11 May 2011 07:08:44 +0000 (07:08 +0000)]
Doloop pattern for ARM
From-SVN: r173645
Alan Modra [Wed, 11 May 2011 04:29:13 +0000 (13:59 +0930)]
re PR target/47755 (VSX code generates a TOC reference to clear memory)
PR target/47755
* gcc.target/powerpc/pr47755-2.c: Require vsx_hw.
From-SVN: r173643
GCC Administrator [Wed, 11 May 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r173641
Nathan Froyd [Tue, 10 May 2011 19:52:39 +0000 (19:52 +0000)]
make CASE_LABEL_EXPR not abuse TREE_CHAIN
make CASE_LABEL_EXPR not abuse TREE_CHAIN
* tree.def (CASE_LABEL_EXPR): Add an operand.
* tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
From-SVN: r173633
Joseph Myers [Tue, 10 May 2011 19:12:34 +0000 (20:12 +0100)]
c-decl.c (c_override_global_bindings_to_false): Remove.
* c-decl.c (c_override_global_bindings_to_false): Remove.
(global_bindings_p): Don't check
c_override_global_bindings_to_false.
* c-tree.h (c_override_global_bindings_to_false): Remove.
* c-typeck.c (composite_type): Don't set
c_override_global_bindings_to_false.
From-SVN: r173632
Jason Merrill [Tue, 10 May 2011 17:58:46 +0000 (13:58 -0400)]
re PR c++/48930 ([C++0x] Invalid implicitly declared default c'tor)
PR c++/48930
* class.c (type_build_ctor_call): New.
* cp-tree.h: Declare it.
* decl.c (check_initializer): Use it instead of
TYPE_NEEDS_CONSTRUCTING.
* init.c (build_value_init, build_value_init_noctor): Likewise.
(perform_member_init, expand_aggr_init_1, build_new_1): Likewise.
(build_vec_init): Likewise.
* typeck2.c (process_init_constructor_array): Likewise.
(process_init_constructor_record): Likewise.
From-SVN: r173628
Jason Merrill [Tue, 10 May 2011 17:58:38 +0000 (13:58 -0400)]
re PR c++/48736 ([C++0x] ICE during list-initialization with variadics)
PR c++/48736
* pt.c (tsubst_copy_and_build): Handle substitution of a pack
expansion producing another expansion.
From-SVN: r173627
Ville Voutilainen [Tue, 10 May 2011 17:58:30 +0000 (20:58 +0300)]
Fixes for override/final.
* class.c (check_for_override): Diagnose final on a nonvirtual
member function, diagnose override for a virtual with no matching
override. Don't fiddle around with DECL_VINDEX.
From-SVN: r173626
Nathan Froyd [Tue, 10 May 2011 17:23:31 +0000 (17:23 +0000)]
mark EXPR_PACK_EXPANSION as typed only
mark EXPR_PACK_EXPANSION as typed only
* cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
* cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
* cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
operand of EXPR_PACK_EXPANSION.
(cp_tree_operand_length): Declare.
* tree.c (cp_tree_operand_length): Define.
(cp_tree_equal): Call it.
* pt.c (value_dependent_expr_P): Likewise.
* mangle.c (write_expression): Likewise.
From-SVN: r173625
Michael Meissner [Tue, 10 May 2011 17:20:46 +0000 (17:20 +0000)]
Fix PRs 48857, 48495
From-SVN: r173624
Nathan Froyd [Tue, 10 May 2011 16:56:19 +0000 (16:56 +0000)]
use build_function_type less in c-family and LTO
use build_function_type less in c-family and LTO
gcc/c-family/
* c-common.c (def_fn_type): Don't call build_function_type, call
build_function_type_array or build_varargs_function_type_array
instead.
(c_common_nodes_and_builtins): Likewise.
gcc/lto/
* lto-lang.c (def_fn_type): Don't call build_function_type, call
build_function_type_array or build_varargs_function_type_array
instead.
From-SVN: r173623
Joseph Myers [Tue, 10 May 2011 16:40:55 +0000 (17:40 +0100)]
config.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to $libgcc_tm_file.
gcc:
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
i386/darwin-lib.h to $libgcc_tm_file.
* config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
libgcc:
* config/i386/darwin-lib.h: New file.
From-SVN: r173622
Joseph Myers [Tue, 10 May 2011 15:33:48 +0000 (16:33 +0100)]
* doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
From-SVN: r173621
Joseph Myers [Tue, 10 May 2011 14:46:34 +0000 (15:46 +0100)]
gcc_update (gcc/config/rs6000/rs6000-tables.opt): New dependencies.
contrib:
* gcc_update (gcc/config/rs6000/rs6000-tables.opt): New
dependencies.
gcc:
* config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New
files.
* config/rs6000/rs6000-tables.opt: New file (generated).
* config.gcc (powerpc*-*-*, rs6000*-*-*): Add
rs6000/rs6000-tables.opt to extra_options.
* config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
* config/rs6000/rs6000.c (rs6000_select): Remove.
(processor_target_table): Move contents to rs6000-cpus.def.
(darwin_rs6000_override_options): Check
global_options_set.x_rs6000_cpu_index instead of
rs6000_select[1].string.
(rs6000_option_override_internal): Likewise.
(rs6000_handle_option): Don't assert that global structures are in
use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
(rs6000_default_cpu): New variable.
(rs6000_file_start): Set it instead of local default_cpu. Check
rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
global_options_set.x_rs6000_tune_index instead of rs6000_select.
(rs6000_darwin_file_start): Check rs6000_default_cpu and
global_options_set.x_rs6000_cpu_index instead of rs6000_select.
* config/rs6000/rs6000.h (struct rs6000_cpu_select,
rs6000_select): Remove.
* config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
Remove.
(mcpu=, mtune=): Use Var, Init, Enum and Save.
* config/rs6000/t-rs6000
($(srcdir)/config/rs6000/rs6000-tables.opt): New.
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
global_options_set.x_rs6000_cpu_index instead of
rs6000_select[1].string.
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
global_options_set.x_rs6000_cpu_index instead of
rs6000_select[1].string.
From-SVN: r173620
Joseph Myers [Tue, 10 May 2011 14:41:47 +0000 (15:41 +0100)]
config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file.
gcc:
* config.gcc (libgcc_tm_file): Define instead of including files
from ../../libgcc/config/ in tm_file.
* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
Define.
* configure: Regenerate.
* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
libgcc_tm.h, cs-libgcc_tm.h): New.
(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
(clean): Remove libgcc_tm.h.
* config/arm/symbian.h (RENAME_LIBRARY): Remove.
* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
* system.h (DECLARE_LIBRARY_RENAMES): Poison.
libgcc:
* config/arm/symbian-lib.h: New.
From-SVN: r173619
Georg-Johann Lay [Tue, 10 May 2011 12:16:09 +0000 (12:16 +0000)]
re PR target/48896 (avr.o warnings)
PR target/48896
* config/avr/avr.c (avr_ret_register): Return unsigned int
instead of int.
(avr_function_value): Mark fn_decl_or_type as unused, don't pass
it to avr_libcall_value.
avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
expand_expr.
(avr_expand_binop_builtin): Ditto.
(avr_expand_unop_builtin): Ditto.
From-SVN: r173617
DJ Delorie [Tue, 10 May 2011 11:01:49 +0000 (07:01 -0400)]
rx.h (JUMP_ALIGN, [...]): Define.
* config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
(LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
* config/rx/rx.c (rx_align_for_label): Add label and
uses_threshold parameters. Do not align when the label is not
used enough.
* config/rx/rx-protos.h (rx_align_for_label): Update prototype.
From-SVN: r173615
Richard Guenther [Tue, 10 May 2011 09:57:50 +0000 (09:57 +0000)]
tree-ssa-forwprop.c (combine_conversions): Pattern-match a series of conversions and apply foldings similar to what...
2011-05-10 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (combine_conversions): Pattern-match
a series of conversions and apply foldings similar to what
fold-const does.
(tree_ssa_forward_propagate_single_use_vars): Call it.
* gcc.dg/tree-ssa/ssa-fre-2.c: Disable forwprop.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/scev-cast.c: Adjust. Note what transformation
applies.
From-SVN: r173612
Jakub Jelinek [Tue, 10 May 2011 06:08:18 +0000 (08:08 +0200)]
re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code)
PR tree-optimization/48611
PR tree-optimization/48794
* tree-eh.c (remove_unreachable_handlers): Don't remove regions
referenced from RESX or EH_DISPATCH arguments.
* gfortran.dg/gomp/pr48611.f90: New test.
* gfortran.dg/gomp/pr48794.f90: New test.
From-SVN: r173607
Jakub Jelinek [Tue, 10 May 2011 06:05:20 +0000 (08:05 +0200)]
re PR debug/48928 (ICE: in decimal_to_decnumber, at dfp.c:113 with -O -g and decimal float)
PR debug/48928
* dfp.c (decimal_to_decnumber): Handle conversion from
dconst{1,2,m1,half}.
* gcc.dg/dfp/pr48928.c: New test.
From-SVN: r173606
GCC Administrator [Tue, 10 May 2011 00:19:26 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173604
Paolo Carlini [Mon, 9 May 2011 23:24:01 +0000 (23:24 +0000)]
re PR c++/48522 ([C++0x] decltype((object)) with templated classes crashes g++ 4.5.1.)
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48522
* g++.dg/cpp0x/pr48522.C: New.
From-SVN: r173598
Paolo Carlini [Mon, 9 May 2011 22:57:19 +0000 (22:57 +0000)]
re PR c++/48735 ([C++0x][SFINAE] Hard errors with array list-construction and deleted default c'tor)
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48735
* g++.dg/cpp0x/sfinae21.C: New.
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/sfinae28.C: Rename to...
* g++.dg/cpp0x/sfinae19.C: ... this.
* g++.dg/template/sfinae29.C: Rename to...
* g++.dg/cpp0x/sfinae20.C: ... this.
From-SVN: r173597
Jeff Law [Mon, 9 May 2011 21:40:54 +0000 (15:40 -0600)]
gcc-gdb-test.exp (gdb-test): Reorder matchers to give more consistent results.
* lib/gcc-gdb-test.exp (gdb-test): Reorder matchers to give more
consistent results.
From-SVN: r173595
Fabien Chêne [Mon, 9 May 2011 20:56:29 +0000 (22:56 +0200)]
re PR c++/20039 (uninitialized const in `new' of `const struct')
gcc/testsuite/ChangeLog:
2011-05-09 Fabien Chene <fabien@gcc.gnu.org>
PR c++/20039
* g++.dg/init/pr20039.C: New.
From-SVN: r173592
Uros Bizjak [Mon, 9 May 2011 20:51:19 +0000 (22:51 +0200)]
i386.c (ix86_autovectorize_vector_sizes): Return 0 for !flag_prefer_avx128.
* config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
for !flag_prefer_avx128.
(ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
From-SVN: r173591
Paolo Carlini [Mon, 9 May 2011 19:24:50 +0000 (19:24 +0000)]
re PR c++/48737 ([C++0x][SFINAE] Hard errors with array list-construction with too many elements)
/cp
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48737
PR c++/48744
* decl.c (reshape_init): Take a complain parameter and do
not call error if tf_error is not set.
(check_initializer, reshape_init_r, reshape_init_array,
reshape_init_array_1, reshape_init_vector, reshape_init_class):
Adjust.
* typeck2.c (digest_init_r): Take a complain parameter and
pass it to convert_for_initialization.
(digest_init, digest_init_flags, process_init_constructor_array,
process_init_constructor_record, process_init_constructor_union,
process_init_constructor, digest_init_r): Adjust.
* init.c (expand_default_init, build_new_1): Likewise.
* typeck.c (cp_build_modify_expr): Likewise.
* decl2.c (grokfield): Likewise.
* call.c (convert_like_real, convert_default_arg): Likewise.
* semantics.c (finish_compound_literal): Pass complain to
reshape_init and digest_init.
* cp-tree.h: Adjust declarations.
/testsuite
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48737
PR c++/48744
* g++.dg/template/sfinae28.C: New.
* g++.dg/template/sfinae29.C: Likewise.
From-SVN: r173590
Eric Botcazou [Mon, 9 May 2011 18:36:31 +0000 (18:36 +0000)]
fold-const.c (fold_range_test): Pass LOC to build_range_check.
* fold-const.c (fold_range_test): Pass LOC to build_range_check.
(fold_ternary_loc): Use expr_location_or.
From-SVN: r173588
H.J. Lu [Mon, 9 May 2011 18:16:04 +0000 (18:16 +0000)]
One more POINTERS_EXTEND_UNSIGNED fix in mem_loc_descriptor.
2011-05-09 H.J. Lu <hongjiu.lu@intel.com>
PR debug/48853
* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
Pmode and mem_mode is not VOIDmode.
From-SVN: r173587
Jason Merrill [Mon, 9 May 2011 18:03:02 +0000 (14:03 -0400)]
* g++.dg/template/nontype23.C: New.
From-SVN: r173586
Fabien Chêne [Mon, 9 May 2011 17:42:21 +0000 (19:42 +0200)]
Fix PR C++/48859
From-SVN: r173583
Jason Merrill [Mon, 9 May 2011 17:34:44 +0000 (13:34 -0400)]
re PR c++/34772 (self-initialisation does not silence uninitialised warnings (-Winit-self ignored))
PR c++/34772
* decl.c (initialize_local_var): Use DECL_INITIAL for simple
initialization.
From-SVN: r173582
Ville Voutilainen [Mon, 9 May 2011 17:34:35 +0000 (20:34 +0300)]
Implement final/override for member functions.
gcc/
* tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST): Convert to enum.
(TYPE_QUAL_VOLATILE, TYPE_QUAL_RESTRICT): Likewise.
gcc/cp/
* class.c (check_for_override): Check for DECL_OVERRIDE_P.
* cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
(cp_virt_specifiers, enum virt_specifier): New.
* decl.c (set_virt_specifiers): New.
(grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
* parser.c (make_call_declarator): add virt-specifiers parameter.
(cp_parser_lambda_declarator_opt): Adjust.
(cp_parser_direct_declarator): Likewise.
(cp_parser_virt_specifier_seq_opt): New.
* search.c (check_final_overrider): Diagnose attempts to override
a final member function.
From-SVN: r173581
Uros Bizjak [Mon, 9 May 2011 17:31:48 +0000 (19:31 +0200)]
predicates.md (const_pow2_1_to_2_operand): Remove.
2011-05-09 Uros Bizjak <ubizjak@gmail.com>
* config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
(const_pow2_1_to_8_operand): Ditto.
(const_pow2_1_to_128_operand): Ditto.
(const_pow2_1_to_32768_operand): Ditto.
* config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
in insn constraint to check integer value of operand 3.
* config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
(PINSR_MODE): New mode iterator.
(sse2p4_1): New mode attribute.
(<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
iterator. Use const_int_operand instead of
const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
exact_log2 in insn constraint to check integer value of operand 3.
2011-05-09 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (blendbits): Remove mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
instead of const_0_to_<blendbits>_operand for operand 3 predicate.
Check integer value of operand 3 in insn constraint.
From-SVN: r173580
Richard Guenther [Mon, 9 May 2011 16:00:48 +0000 (16:00 +0000)]
lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p for diagnostics.
2011-05-09 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
for diagnostics.
(lto_symtab_merge): Likewise. Do not register types here.
(lto_symtab_merge_decls_2): Likewise.
(lto_symtab_merge_decls_1): Likewise.
* gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
* gimple.c (enum gtc_mode): Declare.
(gimple_types_compatible_p): Make static.
From-SVN: r173575
Paolo Carlini [Mon, 9 May 2011 15:38:21 +0000 (15:38 +0000)]
re PR libstdc++/48933 (Infinite recursion in tr1/cmath functions with complex parameters)
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48933
* include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
scalbn, tgamma, trunc): Use __enable_if on the return type.
* include/tr1/cmath: Likewise.
* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
From-SVN: r173574
Andreas Krebbel [Mon, 9 May 2011 14:37:12 +0000 (14:37 +0000)]
s390.md (TD/TF mem to reg move splitter): Make the temporary register to match Pmode.
2011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (TD/TF mem to reg move splitter): Make the
temporary register to match Pmode.
From-SVN: r173572
Dodji Seketeli [Mon, 9 May 2011 12:32:06 +0000 (12:32 +0000)]
re PR c++/48574 (ICE)
Fix PR c++/48574
gcc/cp/
PR c++/48574
* class.c (fixed_type_or_null): Use type_dependent_p_push to test
if the instance has a dependent initializer.
gcc/testsuite/
PR c++/48574
* g++.dg/template/dependent-expr8.C: New test case.
From-SVN: r173570
Uros Bizjak [Mon, 9 May 2011 12:16:07 +0000 (14:16 +0200)]
sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1 and *vec_concatv4si_1_avx.
* config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
and *vec_concatv4si_1_avx.
From-SVN: r173569
Uros Bizjak [Mon, 9 May 2011 12:11:25 +0000 (14:11 +0200)]
re PR rtl-optimization/48927 (Issues with "enable" attribute and IRA register preferences)
PR rtl-optimization/48927
* ira-conflicts.c (commutative_constraint_p): Use
recog_data.alternative_enabled_p to disable alternatives where
"enabled" attribute is false.
(get_dup_num): Ditto.
* ira-lives.c (single_reg_class): Ditto.
(ira_implicitly_set_insn_hard_regs): Ditto.
From-SVN: r173568
Eric Botcazou [Mon, 9 May 2011 11:29:26 +0000 (11:29 +0000)]
var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
* var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
(dataflow_set_preserve_mem_locs): Likewise.
From-SVN: r173565
Philipp Thomas [Mon, 9 May 2011 10:42:23 +0000 (10:42 +0000)]
Don't translate syntax example.
From-SVN: r173564
Nick Clifton [Mon, 9 May 2011 10:04:36 +0000 (10:04 +0000)]
re PR target/48899 (enum conversion initializing global_options_init.x_iq2000_tune)
PR target/48899
* config/iq2000/iq2000.opt (iq2000_tune): Initialise to
PROCESSOR_DEFAULT.
From-SVN: r173562
Joseph Myers [Mon, 9 May 2011 09:40:19 +0000 (10:40 +0100)]
gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.
contrib:
* gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.
gcc:
* config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
* config/mips/mips-tables.opt: New file (generated).
* config.gcc (mips*-*-*): Add mips/mips-tables.opt to
extra_options.
* config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
MIPS_ARCH_OPTION_NATIVE): Define.
* config/mips/mips.c (mips_cpu_info_table): Move contents to
mips-cpus.def.
(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
mips_parse_cpu): Remove.
(mips_cpu_info_from_opt, mips_default_arch): New.
(mips_handle_option): Don't assert that global structures are in
use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
(mips_option_override): Use new variables and functions to set
state of these options. Use strcmp to check for individual CPU
names.
* config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
definition.
* config/mips/mips.opt (march=): Use ToLower and Enum.
(mips): Use ToLower, Enum and Var.
(mtune=): Use ToLower and Enum.
* config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
From-SVN: r173561
Jan Hubicka [Mon, 9 May 2011 08:45:16 +0000 (10:45 +0200)]
gimple.c (type_pair_hash, [...]): Arrange type pairs to be UID ordered.
* gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
Arrange type pairs to be UID ordered.
(gimple_lookup_type_leader): Make inline.
From-SVN: r173560
Nick Clifton [Mon, 9 May 2011 08:38:50 +0000 (08:38 +0000)]
re PR target/48897 (mn10300.c:extract_bundle’: error: variable ‘s’ set but not used)
PR target/48897
* config/mn10300/mn10300.c (extract_bundle): Remove spurious local
variable 's'.
From-SVN: r173559
Doug Kwan [Mon, 9 May 2011 07:39:45 +0000 (07:39 +0000)]
configure.ac: Propagate LDFLAGS_FOR_TARGET.
2011-05-08 Doug Kwan <dougkwan@google.com>
* configure.ac: Propagate LDFLAGS_FOR_TARGET.
* configure: Regenerated.
* Makefile.tpl (LDFLAGS_FOR_TARGET): Use LDFLAGS_FOR_TARGET
value from configure.
* Makefile.in: Regenerated.
From-SVN: r173558
GCC Administrator [Mon, 9 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173557
Chung-Lin Tang [Sun, 8 May 2011 19:30:36 +0000 (19:30 +0000)]
combine.c (simplify_comparison): Abstract out parts into...
2011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
* combine.c (simplify_comparison): Abstract out parts into...
(simplify_compare_const): ... new function.
(try_combine): Generalize parallel arithmetic/compare combining
to call simplify_compare_const() and CANONICALIZE_COMPARE().
From-SVN: r173552
Jan Hubicka [Sun, 8 May 2011 19:14:24 +0000 (21:14 +0200)]
cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
* cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
(cgraph_create_virtual_clone): Call hooks once virtual clone is finished.
* cgraph.h (cgraph_clone_node): Update prototype.
* ipa-cp.c (ipcp_estimate_growth): Use estimate_ipcp_clone_size_and_time.
* ipa-inline-transform.c (clone_inlined_nodes): Update.
* lto-cgraph.c (input_node): Update.
* ipa-inline.c (recursive_inlining): Update.
* ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
(evaluate_conditions_for_known_args): Break out from ...
(evaluate_conditions_for_edge): ... here.
(evaluate_conditions_for_ipcp_clone): New function.
(inline_node_duplication_hook): Update clone summary based
on parameter map.
(estimate_callee_size_and_time): Rename to ...
(estimate_node_size_and_time): take NODE instead of EDGE;
take POSSIBLE_TRUTHS as argument.
(estimate_callee_size_and_time): Update.
(estimate_ipcp_clone_size_and_time): New function.
(do_estimate_edge_time): Update.
From-SVN: r173551
Richard Guenther [Sun, 8 May 2011 15:46:06 +0000 (15:46 +0000)]
re PR middle-end/48908 (build fails on cris-elf in libiberty:md5.c, shift-related)
2011-05-08 Richard Guenther <rguenther@suse.de>
PR middle-end/48908
PR middle-end/48905
* expmed.c (expand_shift_1): Compute adjusted constant shift
amount manually.
From-SVN: r173550