1. 27 Jun, 2015 3 commits
  2. 26 Jun, 2015 35 commits
    • gimple.c (gimple_call_set_fndecl): Remove. · 5fa9163d
      2015-06-26  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gimple.c (gimple_call_set_fndecl): Remove.
      	* gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
      	build1_loc directly instead of build_fold_addr_expr_loc.
      
      From-SVN: r225090
      Andrew MacLeod committed
    • c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P or VECTOR_INTEGER_TYPE_P throughout. · 31521951
      	* c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
      	or VECTOR_INTEGER_TYPE_P throughout.
      	* c-gimplify.c: Likewise.
      
      	* c-typeck.c: Use VECTOR_TYPE_P throughout.
      
      From-SVN: r225089
      Marek Polacek committed
    • re PR c++/66216 (Defaulted Operators and constructors not working with aligned attribute) · e0ff153d
      	PR c++/66216
      	* class.c (finish_struct): Call fixup_attribute_variants.
      
      From-SVN: r225087
      Jason Merrill committed
    • re PR c++/66684 (ICE in merge_exception_specifiers, at cp/typeck2.c:2114) · 9579e906
      	PR c++/66684
      	* typeck2.c (merge_exception_specifiers): Allow different
      	noexcept-specifiers if we've had errors.
      
      From-SVN: r225086
      Jason Merrill committed
    • re PR c++/66255 (ice in retrieve_specialization) · 7498239e
      	PR c++/66255
      	* pt.c (check_unstripped_args): Split out from...
      	(retrieve_specialization): ...here.  Allow typedefs in the type of
      	a non-type argument.
      
      From-SVN: r225084
      Jason Merrill committed
    • re PR c++/66067 (tree check ICE: accessed elt 1 of tree_vec with 0 elts in… · d15364ce
      re PR c++/66067 (tree check ICE: accessed elt 1 of tree_vec with 0 elts in write_template_args, at cp/mangle.c:2574)
      
      	PR c++/66067
      	* mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to
      	TYPE_DECLs.
      	* mangle.c (write_template_args): Handle 0 length TREE_VEC.
      
      From-SVN: r225083
      Jason Merrill committed
    • re PR c++/66654 (ice in digest_init_r, at cp/typeck2.c:1103) · 7457279b
      	PR c++/66654
      	* typeck2.c (digest_init_r): Only expect reshaping if the class is
      	aggregate.
      
      From-SVN: r225082
      Jason Merrill committed
    • Implement N4258 (Cleaning-up noexcept in the Library rev 3) · a2b5fdcb
      	* doc/xml/manual/intro.xml: Document LWG 2108 status.
      	* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
      	Define.
      	* include/bits/allocator.h (allocator::is_always_equal): Likewise.
      	* include/bits/forward_list.h
      	(forward_list::operator=(forward_list&&)): Use __bool_constant.
      	(forward_list::swap(forward_list&)): Add noexcept.
      	* include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
      	Likewise.
      	(_Hashtable::swap(_Hashtable&)): Likewise.
      	* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
      	Use _Alloc_traits::is_always_equal.
      	(deque::operator=(deque&&)): Likewise.
      	(deque::_M_move_assign1(deque&&, false_type)): Add comment and use
      	__bool_constant.
      	(swap(deque&, deque&)): Add noexcept.
      	* include/bits/stl_list.h (list::operator=(list&&)): Use
      	__bool_constant.
      	(swap(list&, list&)): Add noexcept.
      	* include/bits/stl_map.h (map::swap(map&)): Include _Compare in
      	noexcept.
      	(swap(map&, map&)): Add noexcept.
      	* include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
      	_Compare in noexcept.
      	(swap(multimap&, multimap&)): Add noexcept.
      	* include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
      	_Compare in noexcept.
      	(swap(multiset&, multiset&)): Add noexcept.
      	* include/bits/stl_set.h (set::swap(set&)): Include _Compare in
      	noexcept.
      	(swap(set&, set&)): Add noexcept.
      	* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
      	_Compare in noexcept.
      	(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
      	is_always_equal.
      	* include/bits/stl_vector.h (vector::operator=(vector&&)): Use
      	__bool_constant.
      	(swap(vector&, vector&)): Add noexcept.
      	* include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
      	swap(unordered_multimap& unordered_multimap&)): Add noexcept.
      	* include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
      	swap(unordered_multiset& unordered_multiset&)): Add noexcept.
      	* include/ext/alloc_traits.h (__allocator_always_compares_equal):
      	Remove.
      	(__alloc_traits::_S_always_equal()): Use is_always_equal instead of
      	__allocator_always_compares_equal.
      	* include/ext/array_allocator.h (array_allocator::is_always_equal):
      	Define.
      	* include/std/scoped_allocator (__any_of, __propagate_on_copy,
      	__propagate_on_move, __propagate_on_swap): Remove.
      	(scoped_allocator_adaptor::propagate_on_container_copy_assignment,
      	scoped_allocator_adaptor::propagate_on_container_move_assignment,
      	scoped_allocator_adaptor::propagate_on_container_swap): Define with
      	__and_ instead of __any_of.
      	(scoped_allocator_adaptor::is_always_equal): Define.
      	* testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
      	* testsuite/20_util/scoped_allocator/propagation.cc: Make traits
      	derive from true_type or false_type.
      	* testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
      	is_always_equal member and remove the trait specialization.
      	* testsuite/23_containers/vector/52591.cc: Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line number.
      	* testsuite/23_containers/deque/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
      	Likewise.
      	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
      	Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
      	Likewise.
      
      From-SVN: r225081
      Jonathan Wakely committed
    • array-notation-common.c (find_rank): Use INDIRECT_REF_P. · 22d03525
      	* array-notation-common.c (find_rank): Use INDIRECT_REF_P.
      	* c-common.c (c_fully_fold_internal): Likewise.
      	(c_alignof_expr): Likewise.
      	* c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
      	* c-ubsan.c (ubsan_instrument_bounds): Likewise.
      	* cilk.c (create_parm_list): Likewise. 
      
      	* c-array-notation.c (fix_builtin_array_notation_fn): Use
      	INDIRECT_REF_P.
      	* c-typeck.c (array_to_pointer_conversion): Likewise.
      	(build_unary_op): Likewise.
      	(c_finish_return): Likewise.
      
      From-SVN: r225080
      Marek Polacek committed
    • stl_bvector.h (vector<bool>::vector()): Add noexcept. · 504a5fe6
      	* include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
      	* include/bits/stl_map.h (map::map()): Likewise.
      	* include/bits/stl_multimap.h (multimap::multimap()): Likewise.
      	* include/bits/stl_multiset.h (multiset::multiset()): Likewise.
      	* include/bits/stl_set.h (set::set()): Likewise.
      
      From-SVN: r225024
      Jonathan Wakely committed
    • hash-map.h (hash_map::traverse): Use the definition of the Key typedef rather… · 5265e7ba
      hash-map.h (hash_map::traverse): Use the definition of the Key typedef rather than the typedef itself.
      
      gcc/
      	* hash-map.h (hash_map::traverse): Use the definition of the
      	Key typedef rather than the typedef itself.
      
      From-SVN: r225021
      Richard Sandiford committed
    • Fix PR 66301 - check for dump_file in eliminate_dom_walker::before_dom_children · 1218f76f
      2015-06-26  Martin Jambor  <mjambor@suse.cz>
      
      	PR debug/66301
      	* tree-ssa-pre.c (before_dom_children): Check that dump_file is not
      	NULL instead of calling dump_enabled_p.
      
      From-SVN: r225019
      Martin Jambor committed
    • [Patch AArch64 4/4] Add -moverride tuning command, and wire it up for · 8dec06f2
       control of fusion and fma-steering
      
      gcc/
      
      	* config/aarch64/aarch64.opt: (override): New.
      	* doc/invoke.texi (override): Document.
      	* config/aarch64/aarch64.c (aarch64_flag_desc): New
      	(aarch64_fusible_pairs): Likewise.
      	(aarch64_tuning_flags): Likewise.
      	(aarch64_tuning_override_function): Likewise.
      	(aarch64_tuning_override_functions): Likewise.
      	(aarch64_parse_one_option_token): Likewise.
      	(aarch64_parse_boolean_options): Likewise.
      	(aarch64_parse_fuse_string): Likewise.
      	(aarch64_parse_tune_string): Likewise.
      	(aarch64_parse_one_override_token): Likewise.
      	(aarch64_parse_override_string): Likewise.
      	(aarch64_override_options): Parse the -override string if it
      	is present.
      
      From-SVN: r225018
      James Greenhalgh committed
    • [AArch64][2/2] Implement -fpic for -mcmodel=small · 1b1e81f8
      2015-06-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/
        * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
        SYMBOL_SMALL_GOT_28K.
        * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
        relocation modifiers.
        (unspec): New enum "UNSPEC_GOTMALLPIC28K.
        (ldr_got_small_28k_<mode>): New.
        (ldr_got_small_28k_sidi): New.
        * config/aarch64/iterators.md (got_modifier): New mode iterator.
        * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
        * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
        SYMBOL_SMALL_GOT_28K.
        (aarch64_rtx_costs): Add costs for new instruction sequences.
        (initialize_aarch64_code_model): Initialize new model.
        (aarch64_classify_symbol): Recognize new model and new symbol classification.
        (aarch64_asm_preferred_eh_data_format): Support new model.
        (aarch64_load_symref_appropriately): Generate new instruction
        sequences for -fpic.
        (TARGET_USE_PSEUDO_PIC_REG): New definition.
        (aarch64_use_pseudo_pic_reg): New function.
      
      gcc/testsuite/
        * gcc.target/aarch64/pic-small.c: New testcase.
      
      From-SVN: r225017
      Jiong Wang committed
    • [Patch AArch64 3/4] De-const-ify struct tune_params · b175b679
      gcc/
      
      	* config/aarch64/aarch64-protos.h (tune_params): Remove
      	const from members.
      	(aarch64_tune_params): Remove const, change to no longer be
      	a pointer.
      	* config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
      	change to no longer be a pointer, initialize to generic_tunings.
      	(aarch64_min_divisions_for_recip_mul): Change dereference of
      	aarch64_tune_params to member access.
      	(aarch64_reassociation_width): Likewise.
      	(aarch64_rtx_mult_cost): Likewise.
      	(aarch64_address_cost): Likewise.
      	(aarch64_branch_cost): Likewise.
      	(aarch64_rtx_costs): Likewise.
      	(aarch64_register_move_cost): Likewise.
      	(aarch64_memory_move_cost): Likewise.
      	(aarch64_sched_issue_rate): Likewise.
      	(aarch64_builtin_vectorization_cost): Likewise.
      	(aarch64_override_options): Take a copy of the selected tuning
      	struct in to aarch64_tune_params, rather than just setting
      	a pointer, change dereferences of aarch64_tune_params to member
      	accesses.
      	(aarch64_override_options_after_change): Change dereferences of
      	aarch64_tune_params to member access.
      	(aarch64_macro_fusion_p): Likewise.
      	(aarch_macro_fusion_pair_p): Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
      
      From-SVN: r225016
      James Greenhalgh committed
    • [Patch AArch64 2/4] Control the FMA steering pass in tuning structures rather… · dfba575f
      [Patch AArch64 2/4] Control the FMA steering pass in tuning  structures rather than as core property
      
      gcc/
      
      	* config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
      	(aarch64_tune_flags): Likewise.
      	(AARCH64_TUNE_FMA_STEERING): Likewise.
      	* config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
      	to AARCH64_FL_USE_FMA_STEERING_PASS.
      	(cortex-a57.cortex-a53): Likewise.
      	(cortex-a72): Use cortexa72_tunings.
      	(cortex-a72.cortex-a53): Likewise.
      	(exynos-m1): Likewise.
      	* config/aarch64/aarch64-protos.h (tune_params): Add
      	a field: extra_tuning_flags.
      	* config/aarch64/aarch64-tuning-flags.def: New.
      	* config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
      	(aarch64_extra_tuning_flags): Likewise.
      	(aarch64_tune_params): Declare here.
      	* config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
      	(cortexa53_tunings): Likewise.
      	(cortexa57_tunings): Likewise.
      	(thunderx_tunings): Likewise.
      	(xgene1_tunings): Likewise.
      	(cortexa72_tunings): New.
      	* config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
      	 (gate): Check against aarch64_tune_params.
      	* config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
      	aarch64-protos.h.
      
      From-SVN: r225015
      James Greenhalgh committed
    • [Patch AArch64 1/4] Define candidates for instruction fusion in a .def file · 665dd6f3
      gcc/
      
      	* config/aarch64/aarch64-fusion-pairs.def: New.
      	* config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
      	* config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
      	aarch64_fusion_pairs.
      	(AARCH64_FUSE_MOV_MOVK): Likewise.
      	(AARCH64_FUSE_ADRP_ADD): Likewise.
      	(AARCH64_FUSE_MOVK_MOVK): Likewise.
      	(AARCH64_FUSE_ADRP_LDR): Likewise.
      	(AARCH64_FUSE_CMP_BRANCH): Likewise.
      
      From-SVN: r225014
      James Greenhalgh committed
    • [AArch64][1/2] Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G · 6642bdb4
      2015-06-26  Jiong Wang  <jiong.wang@arm.com>
      
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
      	SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
      	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
      	(aarch64_expand_mov_immediate): Ditto.
      	(aarch64_print_operand): Ditto.
      	(aarch64_classify_symbol): Ditto.
      
      From-SVN: r225013
      Jiong Wang committed
    • re PR bootstrap/66638 (profiledbootstrap failure on x86-64 with LTO) · 8710e302
      	PR bootstrap/66638
      	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
      	assertion failed.  Remove assertion itself.
      
      From-SVN: r225008
      Bin Cheng committed
    • fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B and -A CMP CST -> A… · 66e1cacf
      fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B and -A CMP CST -> A CMP -CST which is redundant...
      
      2015-06-26  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
      	and -A CMP CST -> A CMP -CST which is redundant with a pattern
      	in match.pd.
      	Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
      	(X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
      	(X ^ C1) op C2 -> X op (C1 ^ C2) to ...
      	* match.pd: ... patterns here.
      
      	* gcc.dg/tree-ssa/forwprop-25.c: Adjust.
      
      From-SVN: r225007
      Richard Biener committed
    • Minor comment tweak. · 8afaddaa
      From-SVN: r225005
      Eric Botcazou committed
    • trans.c (Handled_Sequence_Of_Statements_to_gnu): When not optimizing the CFG... · bc583f7a
      	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
      	not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
      	at-end procedures.
      
      From-SVN: r225004
      Eric Botcazou committed
    • gigi.h (note_types_used_by_globals): Delete. · a22b794d
      	* gcc-interface/gigi.h (note_types_used_by_globals): Delete.
      	(gnat_write_global_declarations): New prototype.
      	* gcc-interface/utils.c (type_decls): Rename back to...
      	(global_decls): ...this.
      	(gnat_pushdecls): Revert previous change.
      	(create_var_decl): Do not output global variables.
      	(note_types_used_by_globals): Rename back to...
      	(gnat_write_global_declarations): ...this.  Output variables on the
      	global_decls vector.
      	* gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming.
      
      From-SVN: r225003
      Eric Botcazou committed
    • gigi.h (create_var_decl_1): Rename into... · 6249559b
      	* gcc-interface/gigi.h (create_var_decl_1): Rename into...
      	(create_var_decl): ...this.  Add default value for last parameter.
      	(create_type_stub_decl): Adjust.
      	(create_type_decl): Likewise.
      	(create_field_decl): Likewise.
      	(create_param_decl): Likewise.
      	(create_label_decl): Likewise.
      	(create_subprog_decl): Likewise.
      	* gcc-interface/utils.c (create_var_decl_1): Rename into...
      	(create_var_decl): ...this.  Rename var_name into name and var_init
      	into init, move const_decl_allowed_p last and adjust accordingly.
      	(create_type_stub_decl): Rename type_name into name and adjust.
      	(create_type_decl): Likewise.
      	(create_field_decl): Likewise for field_name and field_type.
      	(create_param_decl): Likewise for param_name and param_type.
      	(create_label_decl): Likewise for label_name.
      	(create_subprog_decl): Likewise for subprog_name and subprog_type.
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
      	to create_var_decl_1.
      
      From-SVN: r225002
      Eric Botcazou committed
    • match.pd ((x | y) & ~(x & y) -> x ^ y, (x | y) & (~x ^ y) -> x & y): New patterns. · 66cc6273
      	* match.pd ((x | y) & ~(x & y) -> x ^ y,
      	(x | y) & (~x ^ y) -> x & y): New patterns.
      
      	* gcc.dg/fold-and-1.c: New test.
      	* gcc.dg/fold-and-2.c: New test.
      
      From-SVN: r225001
      Marek Polacek committed
    • rtl.h (emit): Add an optional boolean parameter to control whether barriers are emitted. · 9d8895c9
      gcc/
      	* rtl.h (emit): Add an optional boolean parameter to control
      	whether barriers are emitted.
      	* emit-rtl.c (emit): Likewise.
      	* gensupport.c (get_emit_function): Return null rather than "emit".
      	* genemit.c (gen_emit_seq): Handle the null return value.
      	Don't emit barriers after the final instruction in the sequence.
      	* gentarget-def.c (main): Don't emit barriers after the instruction.
      
      From-SVN: r225000
      Richard Sandiford committed
    • cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P. · 311bd4d8
      	* cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
      	* cp-ubsan.c (cp_ubsan_check_member_access_r): Likewise.
      
      From-SVN: r224999
      Marek Polacek committed
    • trans.c (loop_info_d): Add low_bound... · 87ab2b04
      	* gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
      	artificial, has_checks and warned_aggressive_loop_optimizations.
      	(gigi): Set warn_aggressive_loop_optimizations to 0.
      	(inside_loop_p): New inline predicate.
      	(push_range_check_info): Rename into...
      	(find_loop_for): ...this and do not push range_check_info_d object.
      	(Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
      	fields of gnu_loop_info.  Adjust detection of checks enabled by
      	-funswitch-loops and adds one for -faggressive-loop-optimizations.
      	(gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
      	are enabled, warn for loops overrunning an array of size 1 not at the
      	end of a record.
      
      From-SVN: r224998
      Eric Botcazou committed
    • [Patch ARM] Fix thinko in use of TARGET_UNIFIED_ASM · 63be5090
      While paving the way to turn on unified syntax in ARM state I came
      across this use of TARGET_UNIFIED_ASM that really doesn't make sense.
      
      The idea that pop has different encoding sizes is a property of the
      Thumb instruction set rather than a property of which form of unified
      syntax was used. I still have quite a large patch set for the unified
      asm switch but it seems useful to get this one out of the way to catch
      any other issues.
      
      Tested with an appropriate set of multilibs on arm-none-eabi /
      applied. Bootstrapped on armhf.
      
      
      Applied to trunk.
      
      2015-06-26  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* config/arm/arm.c (arm_output_multireg_pop): Fix use of
      	TARGET_UNIFIED_ASM.
      
      From-SVN: r224997
      Ramana Radhakrishnan committed
    • match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math. · 7318e44f
      2015-06-26  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
      
      	* gfortran.dg/reassoc_3.f90: Adjust.
      
      2015-06-26  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
      	irrespective on whether the inner operation has a single use
      	of both off are constant.
      
      From-SVN: r224995
      Richard Biener committed
    • re PR target/66412 (ICE on valid code at -O2 and -O3 with -g enabled in… · 6c1a2b3d
      re PR target/66412 (ICE on valid code at -O2 and -O3 with -g enabled in simplify_subreg, at simplify-rtx.c:5748)
      
      	PR target/66412
      	* config/i386/i386.md (various splitters): Use shallow_copy_rtx
      	before doing PUT_MODE or PUT_CODE on operands to avoid
      	in-place RTX modification.
      
      testsuite/ChangeLog:
      
      	PR target/66412
      	* gcc.target/i386/pr66412.c: New test.
      
      
      Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
      
      From-SVN: r224994
      Uros Bizjak committed
    • Cast return of strtol to unsigned int · cf3e5186
      strtol returns long, which is compared against unsigned int.  On 32-bit
      hosts, it leads to
      
      gcc/gentarget-def.c: In function void def_target_insn(const char*, const char*):
      gcc/gentarget-def.c:88:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
      
      This patch casts return of strtol to unsigned int to avoid the error.
      
      	* gentarget-def.c (def_target_insn): Cast return of strtol to
      	unsigned int.
      
      From-SVN: r224993
      H.J. Lu committed
    • Daily bump. · 93c5d1fa
      From-SVN: r224992
      GCC Administrator committed
  3. 25 Jun, 2015 2 commits