Jason Merrill [Wed, 1 Jul 2015 17:59:25 +0000 (13:59 -0400)]
 
c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/c-family/
	* c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/cp/
	* mangle.c (write_CV_qualifiers_for_type, write_nested_name):
	Attribute mangling is now -fabi-version=10.
From-SVN: r225271
Jason Merrill [Wed, 1 Jul 2015 17:59:19 +0000 (13:59 -0400)]
 
re PR c++/65945 (C++ alignment of nullptr_t is 1 and might cause unaligned stores to the frame)
	PR c++/65945
	* decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
	* class.c (layout_nonempty_base_or_field): Warn if that affects
	the offset of a field.
From-SVN: r225270
John David Anglin [Wed, 1 Jul 2015 17:42:20 +0000 (17:42 +0000)]
 
linux-atomic.c (__kernel_cmpxchg): Reorder arguments to better match light-weight syscall argument order.
	* config/pa/linux-atomic.c (__kernel_cmpxchg): Reorder arguments to
	better match light-weight syscall argument order.
	(__kernel_cmpxchg2): Likewise.
	Adjust callers.
From-SVN: r225267
Tom de Vries [Wed, 1 Jul 2015 17:33:01 +0000 (17:33 +0000)]
 
Use scan-rtl-dump in i386/vararg-loc.c
2015-07-01  Tom de Vries  <tom@codesourcery.com>
	PR testsuite/66723
	* gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of
	scan-assembler.
From-SVN: r225266
Richard Sandiford [Wed, 1 Jul 2015 16:48:30 +0000 (16:48 +0000)]
 
re PR middle-end/66685 (conftest.c:16:1: internal compiler error: in as_a, at is-a.h:192)
gcc/
	PR bootstrap/66685
	* rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
	there are no CALLs in the same pattern.
From-SVN: r225263
Thomas Koenig [Wed, 1 Jul 2015 16:43:53 +0000 (16:43 +0000)]
 
arith.c (gfc_arith_divide): With -Winteger-division...
2015-07-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
	* arith.c (gfc_arith_divide):  With -Winteger-division,
	warn about contant integer division if there is a non-zero
	remainder.
	* invoke.texi:  Document -Winteger-division.
	* lang.opt:  Add -Winteger-division.
2015-07-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
	* gfortran.dg/warn_conversion_8.f90:  New test.
From-SVN: r225262
Bernd Edlinger [Wed, 1 Jul 2015 16:10:30 +0000 (16:10 +0000)]
 
re PR rtl-optimization/61047 (wrong code at -O1 on x86_64-linux)
gcc/ChangeLog:
2015-07-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
        PR rtl-optimization/61047
        * rtlanal.c (get_initial_register_offset): New function.
        (rtx_addr_can_trap_p_1): Check offsets of stack references.
testsuite/ChangeLog:
2015-07-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
        PR rtl-optimization/61047
        * gcc.c-torture/execute/
20150611-1.c: New testcase.
From-SVN: r225260
 
Richard Biener [Wed, 1 Jul 2015 13:18:49 +0000 (13:18 +0000)]
 
fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y...
2015-07-01  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
	X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
	~X CMP C -> X CMP' ~C to ...
	* match.pd: ... patterns here.
From-SVN: r225249
David Malcolm [Wed, 1 Jul 2015 12:50:50 +0000 (12:50 +0000)]
 
PR jit/66700: set TREE_ADDRESSABLE when building an ADDR_EXPR
gcc/jit/ChangeLog:
	PR jit/66700
	* jit-playback.c (jit_mark_addressable): New function.
	(gcc::jit::playback::lvalue::get_address): Call
	jit_mark_addressable on the underlying tree.
gcc/testsuite/ChangeLog:
	PR jit/66700
	* jit.dg/all-non-failing-tests.h: Add
	test-pr66700-observing-write-through-ptr.c.
	* jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase.
From-SVN: r225248
David Malcolm [Wed, 1 Jul 2015 12:41:18 +0000 (12:41 +0000)]
 
jit: document union types
gcc/jit/ChangeLog:
	* docs/topics/types.rst (gcc_jit_context_new_union_type): Add
	documentation.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
gcc/testsuite/ChangeLog:
	* jit.dg/test-accessing-union.c: Add comments for use by
	gcc/jit/docs/topics/types.rst.
From-SVN: r225246
David Malcolm [Wed, 1 Jul 2015 12:34:24 +0000 (12:34 +0000)]
 
jit: clarify (lack of) lifetime requirements on input const char *
gcc/jit/ChangeLog:
	* docs/topics/contexts.rst (gcc_jit_context_set_bool_option):
	Clarify lack of lifetime requirements on (const char *) parameter.
	* docs/topics/expressions.rst
	(gcc_jit_context_new_string_literal): Likewise.
	(gcc_jit_context_new_global): Likewise.
	* docs/topics/functions.rst (gcc_jit_context_new_param): Likewise.
	(gcc_jit_context_new_function): Likewise.
	(gcc_jit_function_new_block): Likewise.
	(gcc_jit_block_add_comment): Likewise.
	* docs/topics/locations.rst (gcc_jit_context_new_location):
	Likewise.
	* docs/topics/types.rst (gcc_jit_context_new_field): Likewise.
	(gcc_jit_context_new_struct_type): Likewise.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
From-SVN: r225245
Jonathan Wakely [Wed, 1 Jul 2015 12:24:09 +0000 (13:24 +0100)]
 
alloc_traits.h (__alloctr_rebind): Remove.
	* include/bits/alloc_traits.h (__alloctr_rebind): Remove.
	(__allocator_traits_base): New base class.
	(__alloc_rebind): Reimplement in terms of detection idiom.
	(allocator_traits): Derive from __allocator_traits_base. Reimplement
	nested types in terms of detection idiom. Simplify SFINAE constraints
	on overloaded static member functions.
	* include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
	of __alloctr_rebind.
	* testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
	dg-error line number.
From-SVN: r225244
Jonathan Wakely [Wed, 1 Jul 2015 12:24:03 +0000 (13:24 +0100)]
 
ptr_traits.h (__ptrtr_elt_type, [...]): Remove
	* include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
	__ptrtr_rebind, __ptrtr_not_void): Remove
	(__get_first_arg, __replace_first_arg, __make_not_void): Define new
	transformations.
	(__detected_or_): New detection trait.
	(pointer_traits): Use new traits.
	* testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
	* testsuite/20_util/pointer_traits/requirements/
	explicit_instantiation.cc: Use valid arguments to pointer_traits.
From-SVN: r225243
Jonathan Wakely [Wed, 1 Jul 2015 12:23:54 +0000 (13:23 +0100)]
 
Implement N4502, the C++ Detection Idiom.
	* doc/xml/manual/status_cxx2017.xml: Update status table.
	* include/experimental/type_traits (void_t, is_detected,
	is_detected_v, detected_t, detected_or, detected_or_t,
	is_detected_exact, is_detected_exact_v, is_detected_convertible,
	is_detected_convertible_v): Define.
	* include/std/type_traits (__detector, __detected_or, __detected_or_t,
	__detected_or_t_): Define.
	* testsuite/experimental/type_traits/detection.cc: New.
From-SVN: r225242
Matthew Wahab [Wed, 1 Jul 2015 12:16:01 +0000 (12:16 +0000)]
 
armv8-sync-comp-swap.c: Replace 'do-require-effective-target' with 'dg-require-effective-target'.
2015-07-01  Matthew Wahab  <matthew.wahab@arm.com>
	* gcc.target/arm/armv8-sync-comp-swap.c: Replace
	'do-require-effective-target' with 'dg-require-effective-target'.
	* gcc.target/arm/armv8-sync-op-full.c: Likewise.
	* gcc.target/arm/armv8-sync-op-release.c: Likewise.
	* gcc.target/arm/armv8-sync-op-acquire.c: Likewise.  Also, replace
        'stlex' with 'strex' as the expected output.
From-SVN: r225241
Nick Clifton [Wed, 1 Jul 2015 11:35:48 +0000 (11:35 +0000)]
 
msp430.md (zero_extendhipsi2): Use MOVX.A to store a 16-bit value into a 20-bit memory slot.
	* config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
	a 16-bit value into a 20-bit memory slot.
From-SVN: r225240
Paolo Carlini [Wed, 1 Jul 2015 09:08:17 +0000 (09:08 +0000)]
 
re PR c++/60365 (multiple noreturn attribute specifiers in a single declaration doesn't result in a diagnostic)
/cp
2015-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/60365
	* parser.c (cp_parser_check_std_attribute): New.
	(cp_parser_std_attribute_list): Call it.
/testsuite
2015-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/60365
	* g++.dg/cpp0x/gen-attrs-60.C: New.
	* g++.dg/cpp1y/attr-deprecated-2.C: Likewise.
From-SVN: r225234
Jiong Wang [Wed, 1 Jul 2015 09:01:47 +0000 (09:01 +0000)]
 
[AArch64] Document several AArch64-specific test directives
2015-07-01  Jiong Wang  <jiong.wang@arm.com>
	* doc/sourcebuild.texi (AArch64-specific attributes): Document
	"aarch64_tiny", "aarch64_small", "aarch64_large",
	"aarch64_little_endian", "aarch64_big_endian".
From-SVN: r225233
Jiong Wang [Wed, 1 Jul 2015 08:51:49 +0000 (08:51 +0000)]
 
[AArch64] Restrict pic-small.c by new test directive
2015-07-01  Jiong Wang  <jiong.wang@arm.com>
      gcc/
	* doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
	Document "aarch64_small_fpic".
      gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_aarch64_small_fpic): New function.
	* gcc.target/aarch64/pic-small.c: Restrict this test under
	check_effective_target_aarch64_small_fpic.
From-SVN: r225232
Jiong Wang [Wed, 1 Jul 2015 08:45:08 +0000 (08:45 +0000)]
 
[AArch64] Fall back to -fPIC if no support of -fpic in binutils
2015-07-01  Jiong Wang  <jiong.wang@arm.com>
	* configure.ac: Add check for aarch64 assembler -fpic relocation
	modifier support.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
	to -fPIC if not support of -fpic relocation modifier in assembler.
From-SVN: r225231
Richard Sandiford [Wed, 1 Jul 2015 08:41:33 +0000 (08:41 +0000)]
 
re PR middle-end/66685 (conftest.c:16:1: internal compiler error: in as_a, at is-a.h:192)
gcc/
	PR bootstrap/66685
	* rtl.c (classify_insn): Handle returns in PARALLELs.
From-SVN: r225230
Eric Botcazou [Wed, 1 Jul 2015 08:21:40 +0000 (08:21 +0000)]
 
re PR middle-end/66633 (ICE on valid "verify_gimple failed" with OpenMP)
	PR middle-end/66633
	* tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
	to true if the function is nested and if not optimizing.
	(convert_local_omp_clauses): Initialize need_frame to true if the
	function contains nested functions and if not optimizing.
From-SVN: r225227
Richard Biener [Wed, 1 Jul 2015 07:42:10 +0000 (07:42 +0000)]
 
fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and (X & Y) ^ Y -> ~X & Y transforms to ...
2015-07-01  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
	(X & Y) ^ Y -> ~X & Y transforms to ...
	* match.pd: ... here.
From-SVN: r225225
Eric Botcazou [Wed, 1 Jul 2015 07:39:55 +0000 (07:39 +0000)]
 
Fix latest entry
From-SVN: r225224
Richard Biener [Wed, 1 Jul 2015 07:36:25 +0000 (07:36 +0000)]
 
genmatch.c (expr::gen_transform): Shortcut re-simplifying of converts to avoid uninteresting noise from the...
2015-07-01  Richard Biener <rguenther@suse.de>
	* genmatch.c (expr::gen_transform): Shortcut re-simplifying
	of converts to avoid uninteresting noise from the conversion
	simplifying patterns.
From-SVN: r225223
Uros Bizjak [Wed, 1 Jul 2015 06:43:18 +0000 (08:43 +0200)]
 
* gcc.target/i386/pr66691.c: Update PR number.
From-SVN: r225222
Sandra Loosemore [Wed, 1 Jul 2015 02:15:32 +0000 (22:15 -0400)]
 
c6x.c (try_rename_operands): Do not depend on gcc_assert evaluating its argument for side-effect.
2015-06-30  Sandra Loosemore <sandra@codesourcery.com>
	gcc/
	* config/c6x/c6x.c (try_rename_operands): Do not depend on
	gcc_assert evaluating its argument for side-effect.
From-SVN: r225221
Patrick Palka [Wed, 1 Jul 2015 01:07:35 +0000 (01:07 +0000)]
 
Fix PR c++/66686 (dependent template template substitution)
gcc/cp/ChangeLog:
	PR c++/66686
	* pt.c (coerce_template_template_parm) [PARM_DECL]: Don't
	return 0 if tsubst returns a dependent type.
gcc/testsuite/ChangeLog:
	PR c++/66686
	* g++.dg/template/pr66686.C: New test.
From-SVN: r225220
Kaz Kojima [Wed, 1 Jul 2015 01:02:48 +0000 (01:02 +0000)]
 
re PR target/64833 ([SH]: Error: pcrel too far when compiling imagemagick and graphicsmagick on Debian sh4)
PR target/64833
* [SH] Set length of casesi_worker_1 insn to 8 when flag_pic is set.
From-SVN: r225219
GCC Administrator [Wed, 1 Jul 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225218
Eric Botcazou [Tue, 30 Jun 2015 21:05:02 +0000 (21:05 +0000)]
 
lto-streamer-out.c (class DFS): Adjust hash_scc method.
	* lto-streamer-out.c (class DFS): Adjust hash_scc method.
	(DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
	(hash_scc): Add this_ref_p and ref_p parameters and pass them
	to the inner DFS walk.
From-SVN: r225212
Richard Sandiford [Tue, 30 Jun 2015 20:57:21 +0000 (20:57 +0000)]
 
target-insns.def (jump): New targetm instruction pattern.
gcc/
	* target-insns.def (jump): New targetm instruction pattern.
	* bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
	instead of gen_jump.
	(fix_up_crossing_landing_pad): Likewise.
	(add_labels_and_missing_jumps): Likewise.
	(fix_crossing_conditional_branches): Likewise.
	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
	(force_nonfallthru_and_redirect): Likewise.
	* cse.c (cse_insn): Likewise.
	* expmed.c (expand_divmod): Likewise.
	* expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
	* haifa-sched.c (init_before_recovery): Likewise.
	(sched_create_recovery_edges): Likewise.
	* ifcvt.c (find_cond_trap): Likewise.
	* optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
	(expand_float, expand_fix): Likewise.
	* stmt.c (emit_jump): Likewise.
From-SVN: r225211
Richard Sandiford [Tue, 30 Jun 2015 20:56:43 +0000 (20:56 +0000)]
 
gcc/
	* defaults.h (HAVE_load_multiple, gen_load_multiple)
	(HAVE_store_multiple, gen_store_multiple): Delete.
	* target-insns.def (load_multiple, store_multiple): New targetm
	instruction patterns.
	* expr.c (move_block_to_reg, move_block_from_reg): Use them instead
	of HAVE_*/gen_* interface.
From-SVN: r225210
Richard Sandiford [Tue, 30 Jun 2015 20:56:14 +0000 (20:56 +0000)]
 
gcc/
	* defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
	(HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
	(gen_mem_signal_fence): Delete.
	* target-insns.def (mem_signal_fence, mem_thread_fence)
	(memory_barrier): New targetm instruction patterns.
	* optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
	interface.
	(expand_mem_signal_fence): Likewise.
From-SVN: r225209
Richard Sandiford [Tue, 30 Jun 2015 20:55:13 +0000 (20:55 +0000)]
 
defaults.h (HAVE_epilogue, [...]): Delete.
gcc/
	* defaults.h (HAVE_epilogue, gen_epilogue): Delete.
	* target-insns.def (epilogue, prologue, sibcall_prologue): New
	targetm instruction patterns.
	* alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
	interface.
	* calls.c (expand_call): Likewise.
	* cfgrtl.c (cfg_layout_finalize): Likewise.
	* df-scan.c (df_get_entry_block_def_set): Likewise.
	(df_get_exit_block_use_set): Likewise.
	* dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
	* final.c (final_start_function): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	(reposition_prologue_and_epilogue_notes): Likewise.
	* reorg.c (find_end_label): Likewise.
	* toplev.c (process_options): Likewise.
From-SVN: r225208
David Malcolm [Tue, 30 Jun 2015 20:39:50 +0000 (20:39 +0000)]
 
jit: add switch statements
gcc/ChangeLog:
	* typed-splay-tree.h: New file.
gcc/jit/ChangeLog:
	* docs/cp/topics/functions.rst (Blocks): Add switch statements to
	list of ways to terminate a block.
	(gccjit::block::end_with_switch): Add function description.
	(gccjit::case_): Add class.
	(gccjit::context::new_case): Add function description.
	* docs/cp/topics/objects.rst: Add "case_" to class hierarchy.
	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_3): New.
	* docs/topics/functions.rst (Blocks): Add switch statements to
	list of ways to terminate a block.
	(gcc_jit_block_end_with_switch): Add function description.
	(gcc_jit_case): Add type.
	(gcc_jit_context_new_case): Add function description.
	(gcc_jit_case_as_object): Add function description.
	* docs/topics/objects.rst: Add gcc_jit_case to class hierarchy.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-common.h (gcc::jit::recording::case_): Add forward decl.
	(gcc::jit::playback::case_): Add forward decl.
	* jit-playback.c (add_case): New function.
	(gcc::jit::playback::block::add_switch): New function.
	* jit-playback.h (gcc::jit::playback::case_): New struct.
	(gcc::jit::playback::block::get_function): New method.
	(gcc::jit::playback::block::add_switch): New method.
	* jit-recording.c: Within namespace gcc::jit...
	(recording::context::new_case): New method.
	(recording::function::validate): Update for change to
	get_successor_blocks.
	(recording::block::end_with_switch): New method.
	(recording::block::get_successor_blocks): Update to support an
	arbitrary number of successor blocks.
	(recording::block::dump_edges_to_dot): Likewise.
	(memento_of_new_rvalue_from_const <int>::get_wide_int): New.
	(memento_of_new_rvalue_from_const <long>::get_wide_int): New.
	(memento_of_new_rvalue_from_const <double>::get_wide_int): New.
	(memento_of_new_rvalue_from_const <void *>::get_wide_int): New.
	(recording::statement::get_successor_blocks): Update to support an
	arbitrary number of successor blocks.
	(recording::conditional::get_successor_blocks): Likewise.
	(recording::jump::get_successor_blocks): Likewise.
	(recording::return_::get_successor_blocks): Likewise.
	(recording::case_::write_reproducer): New.
	(recording::case_::make_debug_string): New.
	(recording::switch_::switch_): New.
	(recording::switch_::replay_into): New.
	(recording::switch_::get_successor_blocks): New.
	(recording::switch_::make_debug_string): New.
	(recording::switch_::write_reproducer): New.
	* jit-recording.h: Within namespace gcc::jit::recording...
	(context::new_case): New.
	(rvalue::is_constant): New.
	(rvalue::get_wide_int): New.
	(block::end_with_switch): New.
	(block::get_successor_blocks): Update to support an arbitrary
	number of successor blocks.
	(memento_of_new_rvalue_from_const::is_constant): New.
	(memento_of_new_rvalue_from_const::get_wide_int): New.
	(statement::get_successor_blocks): Update to support an arbitrary
	number of successor blocks.
	(conditional::get_successor_blocks): Likewise.
	(jump::get_successor_blocks): Likewise.
	(return_::get_successor_blocks): Likewise.
	(case_): New subclass of memento.
	(switch_): New subclass of statement.
	* libgccjit++.h (gccjit::case_): New subclass of gccjit::object.
	(gccjit::context::new_case): New method.
	(gccjit::block::end_with_switch): New method.
	(gccjit::case_::case): New ctors.
	(gccjit::case_::get_inner_case): New method.
	* libgccjit.c: Include "typed-splay-tree.h"
	(struct gcc_jit_case): New.
	(gcc_jit_context_new_case): New function.
	(gcc_jit_case_as_object): New function.
	(valid_dest_for_switch): New function.
	(valid_case_for_switch): New function.
	(class api_call_validator): New class.
	(class case_range_validator): New class.
	(case_range_validator::case_range_validator): New.
	(case_range_validator::validate): New.
	(case_range_validator::case_compare): New.
	(case_range_validator::get_wide_int): new.
	(gcc_jit_block_end_with_switch): New.
	* libgccjit.h: Add gcc_jit_case to class hierarchy comment.
	(gcc_jit_case): New typedef.
	(gcc_jit_context_new_case): New function.
	(gcc_jit_case_as_object): New function.
	(gcc_jit_block_end_with_switch): New function.
	(LIBGCCJIT_HAVE_SWITCH_STATEMENTS): New.
	* libgccjit.map: Add gcc_jit_block_end_with_switch,
	gcc_jit_case_as_object and gcc_jit_context_new_case.
gcc/testsuite/ChangeLog:
	* jit.dg/all-non-failing-tests.h: Add test-switch.c.
	* jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: New
	testcase.
	* jit.dg/test-error-gcc_jit_block_end_with_switch-mismatching-case-type.c:
	New testcase.
	* jit.dg/test-error-gcc_jit_block_end_with_switch-overlapping-ranges.c:
	New testcase.
	* jit.dg/test-error-gcc_jit_context_new_case-non-const-label.c:
	New testcase.
	* jit.dg/test-error-gcc_jit_context_new_case-non-integer-type.c:
	New testcase.
	* jit.dg/test-error-gcc_jit_context_new_case-reversed-endpoints.c:
	New testcase.
	* jit.dg/test-switch.c: New testcase.
	* jit.dg/test-switch.cc: New testcase.
From-SVN: r225207
David Malcolm [Tue, 30 Jun 2015 19:38:12 +0000 (19:38 +0000)]
 
PR jit/66546: Add gcc_jit_context_set_bool_allow_unreachable_blocks
gcc/jit/ChangeLog:
	PR jit/66546
	* docs/cp/topics/contexts.rst
	(gccjit::context::set_bool_allow_unreachable_blocks): New.
	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_2): New.
	* docs/topics/contexts.rst (Options): Add notes discussing the
	transition from enums to entrypoints for new options.
	(gcc_jit_context_set_bool_allow_unreachable_blocks): New.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-common.h (gcc::jit::inner_bool_option): New enum.
	* jit-recording.c: Within namespace gcc::jit...
	(recording::context::context): Handle m_inner_bool_options.
	(recording::context::set_inner_bool_option): New.
	(inner_bool_option_reproducer_strings): New.
	(recording::context::log_all_options): Log the "inner" bool
	options.
	(recording::context::log_inner_bool_option): New.
	(recording::context::dump_reproducer_to_file): Write initializers
	for "inner" bool options.
	(recording::function::validate): Don't check for block
	reachability if INNER_BOOL_OPTION_ALLOW_UNREACHABLE_BLOCKS is set.
	* jit-recording.h: Within namespace gcc::jit...
	(recording::context::set_inner_bool_option): New.
	(recording::context::get_inner_bool_option): New.
	(recording::context::log_inner_bool_option): New.
	(recording::context::m_inner_bool_options): New.
	* libgccjit++.h
	(gccjit::context::set_bool_allow_unreachable_blocks): New.
	* libgccjit.c
	(gcc_jit_context_set_bool_allow_unreachable_blocks): New.
	* libgccjit.h: Add note about options present in the
	initial release of libgccjit.
	(gcc_jit_context_set_bool_allow_unreachable_blocks): New API
	entrypoint.
	(LIBGCCJIT_HAVE_gcc_jit_context_set_bool_allow_unreachable_blocks):
	New macro.
	* libgccjit.map (LIBGCCJIT_ABI_2): New, containing...
	(gcc_jit_context_set_bool_allow_unreachable_blocks): ...this new
	entrypoint.
gcc/testsuite/ChangeLog:
	PR jit/66546
	* jit.dg/all-non-failing-tests.h: Add note about
	test-validly-unreachable-block.c.
	* jit.dg/test-validly-unreachable-block.c: New file.
From-SVN: r225206
David Malcolm [Tue, 30 Jun 2015 19:27:19 +0000 (19:27 +0000)]
 
PR jit/66628: add gcc_jit_context_add_command_line_option
gcc/jit/ChangeLog:
	PR jit/66628
	* docs/cp/topics/contexts.rst (Additional command-line options):
	New section.
	* docs/topics/compatibility.rst: New file.
	* docs/topics/contexts.rst (Additional command-line options): New
	section.
	* docs/topics/index.rst: Add compatibility.rst.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-playback.c (make_fake_args): Add call to
	append_command_line_options.
	* jit-recording.c: Within namespace gcc::jit...
	(recording::context::~context): Free the optnames within
	m_command_line_options.
	(recording::context::set_bool_option): Likewise.
	(recording::context::add_command_line_option): New method.
	(recording::context::append_command_line_options): New method.
	(recording::context::dump_reproducer_to_file): Add command-line
	options.
	* jit-recording.h: Within namespace gcc::jit...
	(recording::context::add_command_line_option): New method.
	(recording::context::append_command_line_options): New method.
	(recording::context::m_command_line_options): New field.
	* libgccjit++.h (gccjit::context::add_command_line_option): New
	method.
	* libgccjit.c (gcc_jit_context_add_command_line_option): New API
	entrypoint.
	* libgccjit.h (gcc_jit_context_add_command_line_option): New API
	entrypoint.
	(LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option): New
	macro.
	* libgccjit.map: Put existing symbols within LIBGCCJIT_ABI_0; add
	LIBGCCJIT_ABI_1 and gcc_jit_context_add_command_line_option.
gcc/testsuite/ChangeLog:
	PR jit/66628
	* jit.dg/all-non-failing-tests.h: Add note about
	test-extra-options.c.
	* jit.dg/test-extra-options.c: New testcase.
From-SVN: r225205
David Malcolm [Tue, 30 Jun 2015 19:18:34 +0000 (19:18 +0000)]
 
fixes to gcc_jit_context_dump_reproducer_to_file
gcc/jit/ChangeLog:
	* jit-recording.c
	(gcc::jit::recording::context::dump_reproducer_to_file):
	Add pragma to generated reproducers to disable -Wunused-variable.
	Fix handling of NULL string options.
From-SVN: r225204
David Malcolm [Tue, 30 Jun 2015 19:09:31 +0000 (19:09 +0000)]
 
jit: fix some .rst issues in docs
gcc/jit/ChangeLog:
	* docs/cp/topics/expressions.rst: Remove stray semicolon.
	* docs/cp/topics/functions.rst: Remove stray backslash.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
From-SVN: r225203
Vladimir Makarov [Tue, 30 Jun 2015 17:44:00 +0000 (17:44 +0000)]
 
Add missed test
From-SVN: r225201
Vladimir Makarov [Tue, 30 Jun 2015 17:40:55 +0000 (17:40 +0000)]
 
re PR debug/66691 (ICE on valid code at -O3 with -g enabled in simplify_subreg, at simplify-rtx.c:5744)
2015-06-30  Vladimir Makarov  <vmakarov@redhat.com>
	PR debug/66691
	* lra-int.h (lra_substitute_pseudo): Add a parameter.
	(lra_substitute_pseudo_within_insn): Ditto.
	* lra.c (lra_substitute_pseudo): Add a parameter.  Simplify subreg
	of constant.
	(lra_substitute_pseudo_within_insn): Add a parameter.  Transfer it
	to lra_substitute_pseudo.
	* lra-lives.c (process_bb_lives): Add an argument to
	lra_substitute_pseudo_within_insn call.
	* lra-constraints.c (inherit_reload_reg, split_reg): Add an
	argument to lra_substitute_pseudo and
	lra_substitute_pseudo_within_insn calls.
	(remove_inheritance_pseudos, undo_optional_reloads): Ditto.
2015-06-30  Vladimir Makarov  <vmakarov@redhat.com>
	PR debug/66691
	* gcc.target/i386/pr66691.c: New.
From-SVN: r225200
H.J. Lu [Tue, 30 Jun 2015 16:46:45 +0000 (16:46 +0000)]
 
IA MCU psABI support: testsuite
We run Intel MCU psABI tests on Linux/ia32 with -miamcu.  Since Intel
MCU psABI has a different calling convention, the only Linux libc function
allowed is "abort".
asm-support.S contains some support functions as well as a subset of
soft-fp, which is written in assembly with x87 instructions, to provide
intrinsics needed by -miamcu so that Intel MCU psABI tests can run on
Linux.
	* gcc.target/i386/iamcu/abi-iamcu.exp: New file.
	* gcc.target/i386/iamcu/args.h: Likewise.
	* gcc.target/i386/iamcu/asm-support.S: Likewise.
	* gcc.target/i386/iamcu/defines.h: Likewise.
	* gcc.target/i386/iamcu/macros.h: Likewise.
	* gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
	* gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
	* gcc.target/i386/iamcu/test_bitfields.c: Likewise.
	* gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
	* gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
	* gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
	* gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
	* gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
	* gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
	* gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
	* gcc.target/i386/iamcu/test_varargs.c: Likewise.
From-SVN: r225199
H.J. Lu [Tue, 30 Jun 2015 16:42:07 +0000 (16:42 +0000)]
 
IA MCU psABI support: changes to libraries
Patch in the bottom adds support of IA MCU psABI to libgcc (enables
soft-fp) and libdecnumber (enables it for IA MCU).
config/
	* dfp.m4 (enable_decimal_float): Also set to yes for
	i?86*-*-elfiamcu target.
gcc/
	* configure: Regenerated.
libdecnumber/
	* configure: Regenerated.
libgcc/
	* config.host: Support i[34567]86-*-elfiamcu target.
	* config/t-softfp-sfdftf: New file.
	* config/i386/32/t-iamcu: Likewise.
	* configure: Regenerated.
From-SVN: r225198
H.J. Lu [Tue, 30 Jun 2015 16:40:19 +0000 (16:40 +0000)]
 
IA MCU psABI support: GCC changes
This patch introduces basic IA MCU psABI support into GCC.
	* configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu
	target.
	* configure: Regenerate.
gcc/
	* config.gcc: Support i[34567]86-*-elfiamcu target.
	* config/i386/iamcu.h: New.
	* config/i386/i386.opt: Add -miamcu.
	* doc/invoke.texi: Document -miamcu.
	* common/config/i386/i386-common.c  (ix86_handle_option): Turn
	off x87/MMX/SSE/AVX codegen for -miamcu.
	* config/i386/i386-c.c (ix86_target_macros_internal): Define
	__iamcu/__iamcu__ for -miamcu.
	* config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
	to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
	(BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
	* config/i386/i386.c (ix86_option_override_internal): Ignore and
	warn -mregparm for Intel MCU.  Turn on -mregparm=3 for Intel
	MCU by default.  Default long double to 64-bit for Intel MCU.
	Turn on -freg-struct-return for Intel MCU.  Issue an error when
	-miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
	AVX is turned on.
	(function_arg_advance_32): Pass value whose size is no larger
	than 8 bytes in registers for Intel MCU.
	(function_arg_32): Likewise.
	(ix86_return_in_memory): Return value whose size is no larger
	than 8 bytes in registers for Intel MCU.
	(iamcu_alignment): New function.
	(ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
	true.
	(ix86_local_alignment): Don't increase alignment for Intel MCU.
	(x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
	true.
From-SVN: r225197
Marek Polacek [Tue, 30 Jun 2015 16:36:44 +0000 (16:36 +0000)]
 
match.pd (~x | x): Don't use tree_nop_conversion_p.
	* match.pd (~x | x): Don't use tree_nop_conversion_p.  Build
	the final expression with the operand's type and then convert
	it to the type of the expression.
	* gcc.dg/fold-ior-3.c: New test.
From-SVN: r225196
Marek Polacek [Tue, 30 Jun 2015 16:35:16 +0000 (16:35 +0000)]
 
match.pd (X - (X / Y) * Y): Use convert1 and convert2.
	* match.pd (X - (X / Y) * Y): Use convert1 and convert2.  Convert
	both operands of the resulting expression.
	* gcc.dg/fold-minus-6.c: New test.
From-SVN: r225195
Tom de Vries [Tue, 30 Jun 2015 15:43:55 +0000 (15:43 +0000)]
 
Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default
2015-06-30  Tom de Vries  <tom@codesourcery.com>
	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
	already set.  Use DEFAULT_CFLAGS in dg-runtest.
	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
	"-O2".
From-SVN: r225194
Jason Merrill [Tue, 30 Jun 2015 15:40:38 +0000 (11:40 -0400)]
 
re PR debug/66653 (ice in gen_type_die_with_usage, at dwarf2out.c:20876)
	PR debug/66653
	* decl2.c (is_late_template_attribute): True for tls_model.
From-SVN: r225193
Jason Merrill [Tue, 30 Jun 2015 14:31:36 +0000 (10:31 -0400)]
 
re PR debug/66653 (ice in gen_type_die_with_usage, at dwarf2out.c:20876)
	PR debug/66653
	* cp-tree.h (CP_DECL_THREAD_LOCAL_P): New.
	(DECL_GNU_TLS_P): Use DECL_LANG_SPECIFIC field.
	(SET_DECL_GNU_TLS_P): New.
	* call.c (make_temporary_var_for_ref_to_temp): Use
	CP_DECL_THREAD_LOCAL_P.
	(set_up_extended_ref_temp): Likewise.
	* decl.c (duplicate_decls, expand_static_init): Likewise.
	(redeclaration_error_message, grokvardecl): Likewise.
	(start_decl, register_dtor_fn, grokdeclarator): Likewise.
	* decl2.c (get_guard, var_needs_tls_wrapper): Likewise.
	(handle_tls_init): Likewise.
	* pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
	* semantics.c (finish_id_expression): Likewise.
	(handle_omp_array_sections_1, finish_omp_clauses): Likewise.
	(finish_omp_threadprivate): Likewise.
	* tree.c (decl_storage_duration): Likewise.
	* cp-gimplify.c (omp_var_to_track): Likewise.
	(cp_genericize_r): Check that it matches DECL_THREAD_LOCAL_P.
	* lex.c (retrofit_lang_decl): Return if DECL_LANG_SPECIFIC is
	already set.
From-SVN: r225192
Jonathan Wakely [Tue, 30 Jun 2015 14:22:14 +0000 (15:22 +0100)]
 
Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
	* doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
	* doc/Makefile.in: Regenerate.
From-SVN: r225191
Jonathan Wakely [Tue, 30 Jun 2015 13:35:36 +0000 (14:35 +0100)]
 
* include/bits/stl_pair.h: Replace class keyword with typename.
From-SVN: r225190
Ville Voutilainen [Tue, 30 Jun 2015 13:26:49 +0000 (16:26 +0300)]
 
Implement N4387, "Improving pair and tuple", and LWG 2367.
2015-06-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
	Implement N4387, "Improving pair and tuple", and LWG 2367.
	* include/bits/stl_pair.h (_ConstructiblePair,
	_ImplicitlyConvertiblePair, _MoveConstructiblePair,
	_ImplicitlyMoveConvertiblePair): New.
	(pair()): Constrain it.
	(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
	pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
	pair(pair<_U1, _U2>&&)): Make conditionally explicit.
	* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
	(tuple()): Constrain it.
	(tuple(const _UElements&...), tuple(_UElements&&...),
	tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
	tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
	tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
	tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
	tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
	tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
	tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
	tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
	conditionally explicit.
	* include/experimental/functional (__boyer_moore_array_base): Name
	array type explicitly instead of using an empty braced-init-list.
	* testsuite/20_util/pair/cons/explicit_construct.cc: New.
	* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
	* testsuite/20_util/pair/requirements/dr2367.cc: New.
	* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
	* testsuite/20_util/tuple/requirements/dr2367.cc: New.
From-SVN: r225189
Edward Smith-Rowland [Tue, 30 Jun 2015 12:58:48 +0000 (12:58 +0000)]
 
Implement N4197 - Adding u8 character literals
libcpp:
2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
	Implement N4197 - Adding u8 character literals
	* include/cpplib.h (UTF8CHAR, UTF8CHAR_USERDEF): New cpp tokens;
	(struct cpp_options): Add utf8_char_literals.
	* init.c (struct lang_flags): Add utf8_char_literals;
	(struct lang_flags lang_defaults): Add column for utf8_char_literals.
	* macro.c (stringify_arg()): Treat CPP_UTF8CHAR token;
	* expr.c (cpp_userdef_char_remove_type(), cpp_userdef_char_add_type()):
	Treat CPP_UTF8CHAR_USERDEF, CPP_UTF8CHAR tokens;
	(cpp_userdef_char_p()): Treat CPP_UTF8CHAR_USERDEF token;
	(eval_token(), _cpp_parse_expr()): Treat CPP_UTF8CHAR token.
	* lex.c (lex_string(), _cpp_lex_direct()): Include CPP_UTF8CHAR tokens.
	* charset.c (converter_for_type(), cpp_interpret_charconst()):
	Treat CPP_UTF8CHAR token.
gcc/c-family:
2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
	Implement N4197 - Adding u8 character literals
	* c-family/c-ada-spec.c (print_ada_macros()): Treat CPP_UTF8CHAR
	like CPP_CHAR.
	* c-family/c-common.c (c_parse_error()): print CPP_UTF8CHAR
	and CPP_UTF8CHAR_USERDEF tokens.
	* c-family/c-lex.c (c_lex_with_flags()): Treat CPP_UTF8CHAR_USERDEF
	and CPP_UTF8CHAR tokens; (lex_charconst()): Treat CPP_UTF8CHAR token.
gcc/cp:
2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
	Implement N4197 - Adding u8 character literals
	* parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
	and CPP_UTF8CHAR_USERDEF tokens;
	(cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.
gcc/testsuite:
2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
	Implement N4197 - Adding u8 character literals
	* g++.dg/cpp1z/utf8.C: New.
	* g++.dg/cpp1z/utf8-neg.C: New.
	* g++.dg/cpp1z/udlit-utf8char.C: New.
From-SVN: r225185
Richard Biener [Tue, 30 Jun 2015 12:54:23 +0000 (12:54 +0000)]
 
fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and ~x | ~y -> ~(x & y)...
2015-06-30  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
	~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
	(X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
	* match.pd: ... to patterns here.
From-SVN: r225184
Jonathan Wakely [Tue, 30 Jun 2015 12:53:14 +0000 (13:53 +0100)]
 
* configure: Regenerate.
From-SVN: r225183
Richard Biener [Tue, 30 Jun 2015 12:52:55 +0000 (12:52 +0000)]
 
re PR tree-optimization/66704 (ICE in tree-vectorizer at tree-ssanames.c:457)
2015-06-30  Richard Biener  <rguenther@suse.de>
	PR tree-optimization/66704
	* tree-vect-data-refs.c (vect_setup_realignment): Use
	make_ssa_name for non-SSA name source.
From-SVN: r225182
Tom de Vries [Tue, 30 Jun 2015 12:22:04 +0000 (12:22 +0000)]
 
Run testsuite/libgomp.c++/c++.exp at -O2 by default
2015-06-30  Tom de Vries  <tom@codesourcery.com>
	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
	already set.  Use DEFAULT_CFLAGS in dg-runtest.
	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
	* testsuite/libgomp.c++/pr64824.C: Same.
	* testsuite/libgomp.c++/pr64868.C: Same.
	* testsuite/libgomp.c++/pr66199-1.C: Same.
	* testsuite/libgomp.c++/pr66199-2.C: Same.
	* testsuite/libgomp.c++/target-2.C: Same.
	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
	-std=<standard> option.
	* testsuite/libgomp.c++/udr-11.C: Same.
	* testsuite/libgomp.c++/udr-12.C: Same.
	* testsuite/libgomp.c++/udr-13.C: Same.
	* testsuite/libgomp.c++/udr-14.C: Same.
	* testsuite/libgomp.c++/udr-15.C: Same.
	* testsuite/libgomp.c++/udr-16.C: Same.
	* testsuite/libgomp.c++/udr-17.C: Same.
	* testsuite/libgomp.c++/udr-18.C: Same.
	* testsuite/libgomp.c++/udr-19.C: Same.
	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
	* testsuite/libgomp.c++/simd-1.C: Same.
	* testsuite/libgomp.c++/simd-2.C: Same.
	* testsuite/libgomp.c++/simd-3.C: Same.
	* testsuite/libgomp.c++/simd-4.C: Same.
	* testsuite/libgomp.c++/simd-5.C: Same.
	* testsuite/libgomp.c++/simd-6.C: Same.
	* testsuite/libgomp.c++/simd-7.C: Same.
	* testsuite/libgomp.c++/simd-8.C: Same.
	* testsuite/libgomp.c++/simd-9.C: Same.
	* testsuite/libgomp.c++/simd10.C: Same.
	* testsuite/libgomp.c++/simd11.C: Same.
	* testsuite/libgomp.c++/simd12.C: Same.
	* testsuite/libgomp.c++/simd13.C: Same.
From-SVN: r225181
Jakub Jelinek [Tue, 30 Jun 2015 12:12:42 +0000 (14:12 +0200)]
 
re PR middle-end/66702 (#pragma omp declare simd uniform and linear issues)
	PR middle-end/66702
	* omp-low.c (simd_clone_adjust): Handle addressable linear
	or uniform parameters or non-gimple type uniform parameters.
	* testsuite/libgomp.c++/pr66702-1.C: New test.
	* testsuite/libgomp.c++/pr66702-2.C: New test.
From-SVN: r225179
Richard Biener [Tue, 30 Jun 2015 11:58:48 +0000 (11:58 +0000)]
 
fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x)...
2015-06-30  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
	~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
	~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
	* match.pd: ... here.
	Add a few cases of A - B -> A + (-B) when B "easily" negates.
	Move (x & y) | x -> x and friends before
	(x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
From-SVN: r225178
Marek Polacek [Tue, 30 Jun 2015 11:05:13 +0000 (11:05 +0000)]
 
* gcc.dg/fold-ior-2.c (fn4): Swap operands.
From-SVN: r225174
Eric Botcazou [Tue, 30 Jun 2015 11:05:11 +0000 (11:05 +0000)]
 
leon.md (leon_load): Enable for all LEON variants if -mfix-ut699 is not specified.
	* config/sparc/leon.md (leon_load): Enable for all LEON variants if
	-mfix-ut699 is not specified.
	(leon3_load): Rename into...
	(ut699_load): ...this.  Enable for all LEON variants if -mfix-ut699
	is specified.
From-SVN: r225173
Tom de Vries [Tue, 30 Jun 2015 11:00:32 +0000 (11:00 +0000)]
 
Add parloops-exit-first-loop-alt-{5,6,7}.c
2015-06-30  Tom de Vries  <tom@codesourcery.com>
	* gcc.dg/parloops-exit-first-loop-alt-5.c: New test.
	* gcc.dg/parloops-exit-first-loop-alt-6.c: New test.
	* gcc.dg/parloops-exit-first-loop-alt-7.c: New test.
	* gcc.dg/parloops-exit-first-loop-alt.c: Update comment.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
From-SVN: r225172
Marek Polacek [Tue, 30 Jun 2015 09:02:00 +0000 (09:02 +0000)]
 
fold-const.c (fold_binary_loc): Move ~X | X folding ...
	* fold-const.c (fold_binary_loc): Move ~X | X folding ...
	* match.pd: ... here.
	* gcc.dg/fold-ior-2.c: New test.
From-SVN: r225164
Richard Biener [Tue, 30 Jun 2015 08:52:48 +0000 (08:52 +0000)]
 
target-insns.def (canonicalize_funcptr_for_compare): Add.
2015-06-30  Richard Biener  <rguenther@suse.de>
	* target-insns.def (canonicalize_funcptr_for_compare): Add.
	* fold-const.c (build_range_check): Replace uses of
	HAVE_canonicalize_funcptr_for_compare.
	(fold_widened_comparison): Likewise.
	(fold_sign_changed_comparison): Likewise.
	* dojump.c: Include "target.h".
	(do_compare_and_jump): Replace uses of
	HAVE_canonicalize_funcptr_for_compare and
	gen_canonicalize_funcptr_for_compare.
	* expr.c (do_store_flag): Likewise.
From-SVN: r225163
Tom de Vries [Tue, 30 Jun 2015 08:35:57 +0000 (08:35 +0000)]
 
Use max_loop_iterations in transform_to_exit_first_loop_alt
2015-06-30  Tom de Vries  <tom@codesourcery.com>
	PR tree-optimization/66652
	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
	max_loop_iterations to determine if nit + 1 overflows.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
	using restrict pointers.
	(main): Add arguments to calls to f.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
	* gcc.dg/parloops-exit-first-loop-alt-3.c (f):  Rewrite using restrict
	pointers.
	* gcc.dg/parloops-exit-first-loop-alt.c: Same.
From-SVN: r225162
Richard Biener [Tue, 30 Jun 2015 08:35:30 +0000 (08:35 +0000)]
 
tree-vrp.c (register_edge_assert_for_2): Also register asserts for dominating conversion results.
2015-06-30  Richard Biener  <rguenther@suse.de>
	* tree-vrp.c (register_edge_assert_for_2): Also register
	asserts for dominating conversion results.
From-SVN: r225161
Uros Bizjak [Tue, 30 Jun 2015 08:26:57 +0000 (10:26 +0200)]
 
lex.c (search_line_sse42): New main loop using asm flag outputs.
	* lex.c (search_line_sse42) [__GCC_ASM_FLAG_OUTPUTS__]: New main
	loop using asm flag outputs.
From-SVN: r225160
Bin Cheng [Tue, 30 Jun 2015 02:39:54 +0000 (02:39 +0000)]
 
tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name field in struct iv.
	* tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
	field in struct iv.
From-SVN: r225159
Jack Howarth [Tue, 30 Jun 2015 02:10:43 +0000 (02:10 +0000)]
 
re PR target/66509 (the new clang-based assembler in Xcode 7 on 10.11 fails on the libjava/java/lang/reflect/natArray.cc file from FSF gcc 5.1 at -m32)
	PR target/66509
	* configure.ac: Fix filds and fildq test for 64-bit.
	* configure: Regenerated.
From-SVN: r225158
GCC Administrator [Tue, 30 Jun 2015 00:16:13 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225157
Nathan Sidwell [Mon, 29 Jun 2015 23:23:10 +0000 (23:23 +0000)]
 
nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
	* config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
	(nvptx_reorg): Here.  Keep the non-subreg pieces.
From-SVN: r225154
Paolo Carlini [Mon, 29 Jun 2015 22:02:08 +0000 (22:02 +0000)]
 
re PR c++/65977 (Constexpr should be allowed in declaration of friend template specialization)
/cp
2015-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/65977
	* decl.c (grokfndecl): Allow constexpr declarations of friend
	template specializations.
/testsuite
2015-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/65977
	* g++.dg/cpp0x/constexpr-friend-3.C: New.
	* g++.dg/cpp0x/constexpr-friend-2.C: Adjust.
From-SVN: r225148
H.J. Lu [Mon, 29 Jun 2015 20:50:57 +0000 (20:50 +0000)]
 
Use PIE_SPEC/NO_PIE_SPEC for crtend.o/crtendS.o
We need to link with crtend.o and crtendS.o properly for GCC configured
to generate PIE by default.
	* config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
	PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
From-SVN: r225144
François Dumont [Mon, 29 Jun 2015 20:17:56 +0000 (20:17 +0000)]
 
stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode.
2015-06-29  François Dumont  <fdumont@gcc.gnu.org>
	* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
	to pre-C++11 mode.
	* include/debug/functions.h
	(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
	* include/debug/safe_iterator.h
	(__gnu_debug::_Sequence_traits): New.
	(__gnu_debug::__get_distance_from_begin): New.
	(__gnu_debug::__get_distance_to_end): New.
	(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
	distance information. Add optional check_dereferenceable parameter,
	default true.
	(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
	default definition...
	(__gnu_debug::__get_distance): New overload for _Safe_iterator.
	(__gnu_debug::__unsafe): Likewise.
	* include/debug/helper_functions.h: ...here. New.
	(__gnu_debug::__unsafe): New helper function to remove safe iterator
	layer.
	* include/debug/stl_iterator.h: New. Include latter.
	* include/bits/stl_iterator.h: Include latter in debug mode.
	* include/debug/stl_iterator.tcc: Adapt.
	* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
	overload for _Safe_local_iterator.
	(__gnu_debug::__unsafe): Likewise.
	* include/debug/safe_local_iterator.tcc: Adapt.
	* include/debug/macros.h (__glibcxx_check_valid_range2): New.
	(__glibcxx_check_insert_range): Add _Dist parameter.
	(__glibcxx_check_insert_range_after): Likewise.
	(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
	_GLIBCXX_DEBUG_PEDASSERT.
	* include/debug/deque (deque<>::assign): Remove iterator debug layer
	when possible.
	(deque<>::insert): Likewise.
	* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
	(forward_list<>::splice_after): Use latter.
	(forward_list<>::assign): Remove iterator debug layer when possible.
	(forward_list<>::insert_after): Likewise.
	(__gnu_debug::_Sequence_traits<>): Partial specialization.
	* include/debug/list (list<>::assign): Remove iterator debug layer when
	possible.
	(list<>::insert): Likewise.
	[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
	* include/debug/map.h (map<>::insert): Remove iterator debug layer when
	possible.
	* include/debug/multimap.h (multimap<>::insert): Likewise.
	* include/debug/set.h (set<>::insert): Likewise.
	* include/debug/multiset.h (multiset<>::insert): Likewise.
	* include/debug/string (basic_string<>::append, basic_string<>::assign,
	basic_string<>::insert, basic_string<>::replace): Likewise.
	* include/debug/unordered_map
	(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
	* include/debug/unordered_set
	(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
	* include/debug/vector
	(vector<>::assign, vector<>::insert): Likewise.
	* include/Makefile.am: Add new debug headers.
	* include/Makefile.in: Regenerate.
From-SVN: r225143
Eric Botcazou [Mon, 29 Jun 2015 17:45:34 +0000 (17:45 +0000)]
 
re PR ada/63310 (Ada bootstrap error with -fcompare-debug)
	PR ada/63310
	* gcc-interface/utils.c (gnat_write_global_declarations): Always
	build the dummy global variable if code was generated.
From-SVN: r225139
Uros Bizjak [Mon, 29 Jun 2015 17:18:17 +0000 (19:18 +0200)]
 
i386.md (*jcc_1): Use %!
	* config/i386/i386.md (*jcc_1): Use %! in asm template.
	Set attribute "length_nobnd" instead of "length".
	(*jcc_2): Ditto.
	(jump): Ditto.
	(*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
From-SVN: r225138
Sandra Loosemore [Mon, 29 Jun 2015 17:01:52 +0000 (13:01 -0400)]
 
nios2.c (nios2_delegitimize_address): Make assert less restrictive.
2015-06-29  Sandra Loosemore  <sandra@codesourcery.com>
	gcc/
	* config/nios2/nios2.c (nios2_delegitimize_address): Make
	assert less restrictive.
From-SVN: r225137
Manuel López-Ibáñez [Mon, 29 Jun 2015 16:25:26 +0000 (16:25 +0000)]
 
Wunused-parameter warnings are given from cgraph::finalize_function,
which is the middle-end. This is an oddity compared to other
-Wunused-* warnings. Moreover, Fortran has its own definition of
-Wunused-parameter that conflicts with the middle-end definition.
This patch moves the middle-end part of Wunused-parameter to the C/C++
FEs. I'm not sure if other FEs expected this warning to work. If so,
they do not seem to test for it. Ada, for example, explicitly disables
it.
gcc/ChangeLog:
2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	PR fortran/66605
	* cgraphunit.c (cgraph_node::finalize_function): Do not call
	do_warn_unused_parameter.
	* function.c (do_warn_unused_parameter): Move from here.
	* function.h (do_warn_unused_parameter): Do not declare.
gcc/c-family/ChangeLog:
2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	PR fortran/66605
	* c-common.c (do_warn_unused_parameter): Move here.
	* c-common.h (do_warn_unused_parameter): Declare.
gcc/ada/ChangeLog:
2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	PR fortran/66605
	* gcc-interface/misc.c (gnat_post_options): No need to disable
	warn_unused_parameter anymore.
gcc/cp/ChangeLog:
2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	PR fortran/66605
	* decl.c (finish_function): Call do_warn_unused_parameter.
gcc/testsuite/ChangeLog:
2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	PR fortran/66605
	* gfortran.dg/wunused-parameter.f90: New test.
gcc/c/ChangeLog:
2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	PR fortran/66605
	* c-decl.c (finish_function): Call do_warn_unused_parameter.
From-SVN: r225135
Matthew Wahab [Mon, 29 Jun 2015 16:12:12 +0000 (16:12 +0000)]
 
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>
	PR target/65697
	* gcc.target/arm/armv-sync-comp-swap.c: New.
	* gcc.target/arm/armv-sync-op-acquire.c: New.
	* gcc.target/arm/armv-sync-op-full.c: New.
	* gcc.target/arm/armv-sync-op-release.c: New.
From-SVN: r225134
Matthew Wahab [Mon, 29 Jun 2015 16:09:10 +0000 (16:09 +0000)]
 
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>
	PR target/65697
	* config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
	initial acquire barrier with final barrier.
From-SVN: r225133
Matthew Wahab [Mon, 29 Jun 2015 16:03:34 +0000 (16:03 +0000)]
 
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>
	PR target/65697
	* config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
	initial acquire barrier with final barrier.
From-SVN: r225132
Joseph Myers [Mon, 29 Jun 2015 15:58:13 +0000 (16:58 +0100)]
 
* sv.po: Update.
From-SVN: r225130
Richard Henderson [Mon, 29 Jun 2015 14:35:19 +0000 (07:35 -0700)]
 
i386: Implement asm flag outputs
        * config/i386/constraints.md (Bf): New constraint.
        * config/i386/i386-c.c (ix86_target_macros): Define
        __GCC_ASM_FLAG_OUTPUTS__.
        * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
        as flags outputs.
        * doc/extend.texi (FlagOutputOperands): Document them.
testsuite/
        * gcc.target/i386/asm-flag-1.c: New.
        * gcc.target/i386/asm-flag-2.c: New.
        * gcc.target/i386/asm-flag-3.c: New.
        * gcc.target/i386/asm-flag-4.c: New.
        * gcc.target/i386/asm-flag-5.c: New.
From-SVN: r225122
Jiong Wang [Mon, 29 Jun 2015 14:20:50 +0000 (14:20 +0000)]
 
[AArch64] Generalize TLSLE macro and pattern names
2015-06-29  Jiong Wang  <jiong.wang@arm.com>
	* config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
	* config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
	unspec name.
	(tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
	* config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
	SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
	(aarch64_symbol_context): Ditto.
	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
	and use new pattern name.
	(aarch64_expand_mov_immediate): Ditto.
	(aarch64_print_operand): Ditto.
	(aarch64_classify_tls_symbol): Ditto.
From-SVN: r225121
Marek Polacek [Mon, 29 Jun 2015 14:17:13 +0000 (14:17 +0000)]
 
fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
	* fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
	* match.pd: ... pattern here.
Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r225120
Tom de Vries [Mon, 29 Jun 2015 13:53:32 +0000 (13:53 +0000)]
 
Simplify structure try_transform_to_exit_first_loop_alt
2015-06-29  Tom de Vries  <tom@codesourcery.com>
	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
	function structure.
From-SVN: r225119
Matthew Wahab [Mon, 29 Jun 2015 13:50:42 +0000 (13:50 +0000)]
 
invoke.texi (Aarch64 Options, -march): Split out arch and feature description...
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>
	* doc/invoke.texi (Aarch64 Options, -march): Split out arch and
	feature description, split out the native option, add a link to
	the feature documentation, rearrange and slightly rewrite text.
	(Aarch64 options, -mcpu): Likewise.
	(Aarch64 options, Feature Modifiers): Add an anchor.  Mention
	+rdma implies Adv. SIMD.
From-SVN: r225118
Marek Polacek [Mon, 29 Jun 2015 13:12:44 +0000 (13:12 +0000)]
 
re PR c/66322 (Linus Torvalds: -Wswitch-bool produces dubious warnings, fails to notice really bad things)
	PR c/66322
	* c-common.c (check_case_bounds): Add bool * parameter.  Set
	OUTSIDE_RANGE_P.
	(c_add_case_label): Add bool * parameter.  Pass it down to
	check_case_bounds.
	(c_do_switch_warnings): Add bool parameters.  Implement -Wswitch-bool
	warning here.
	* c-common.h (c_add_case_label, c_do_switch_warnings): Update
	declarations.
	* c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
	(c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P.  Don't warn
	about -Wswitch-bool here.
	(do_case): Update c_add_case_label call.
	(c_finish_case): Update c_do_switch_warnings call.
	* decl.c (struct cp_switch): Add OUTSIDE_RANGE_P.
	(push_switch): Set OUTSIDE_RANGE_P.
	(pop_switch): Update c_do_switch_warnings call.
	(finish_case_label): Update c_add_case_label call.
	* semantics.c (finish_switch_cond): Don't warn about -Wswitch-bool
	here.
	* function.c (stack_protect_epilogue): Remove a cast to int.
	* doc/invoke.texi: Update -Wswitch-bool description.
	* c-c++-common/pr60439.c: Add dg-prune-output and add switch cases.
	* c-c++-common/pr66322.c: New test.
	* g++.dg/eh/scope1.C: Remove dg-warning.
From-SVN: r225116
Richard Biener [Mon, 29 Jun 2015 11:28:17 +0000 (11:28 +0000)]
 
genmatch.c (add_operator): Treat ADDR_EXPR as atom.
2015-06-29  Richard Biener  <rguenther@suse.de>
	* genmatch.c (add_operator): Treat ADDR_EXPR as atom.
	* fold-const.c (fold_binary_loc): Move &A - &B simplification
	via ptr_difference_const ...
	* match.pd: ... here.
	When matching (X ^ Y) == Y also match with swapped operands.
From-SVN: r225115
Richard Biener [Mon, 29 Jun 2015 08:44:56 +0000 (08:44 +0000)]
 
lto-streamer.h (LTO_major_version): Bump to 5.
2015-06-29  Richard Biener  <rguenther@suse.de>
	* lto-streamer.h (LTO_major_version): Bump to 5.
From-SVN: r225113
Richard Biener [Mon, 29 Jun 2015 07:30:47 +0000 (07:30 +0000)]
 
re PR tree-optimization/66677 (ICE: in vect_transform_stmt, at tree-vect-stmts.c:7626)
2015-06-29  Richard Biener  <rguenther@suse.de>
	PR tree-optimization/66677
	* tree-vect-stmts.c (vect_transform_stmt): Make assert about
	STMT_VINFO_VEC_STMT clobbering less strict.
	* gcc.dg/vect/pr66677.c: New testcase.
From-SVN: r225112
GCC Administrator [Mon, 29 Jun 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225111
Kugan Vivekanandarajah [Mon, 29 Jun 2015 00:15:41 +0000 (00:15 +0000)]
 
re PR tree-optimization/64130 (vrp: handle non zero constant divided by range cannot be zero.)
gcc/ChangeLog:
2015-06-29  Kugan Vivekanandarajah  <kuganv@linaro.org>
	PR middle-end/64130
	* tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
	division, compute max and min when value ranges for dividend and
	divisor are available.
gcc/testsuite/ChangeLog:
2015-06-29  Kugan Vivekanandarajah  <kuganv@linaro.org>
	PR middle-end/64130
	* gcc.dg/tree-ssa/pr64130.c: New test.
From-SVN: r225108
Uros Bizjak [Sun, 28 Jun 2015 21:28:07 +0000 (23:28 +0200)]
 
* Add forgotten ChangeLog entry.
From-SVN: r225107
Chung-Lin Tang [Sun, 28 Jun 2015 20:46:01 +0000 (20:46 +0000)]
 
regrename.h (regrename_do_replace): Change to return bool.
2015-06-28  Chung-Lin Tang <cltang@codesourcery.com>
	    Sandra Loosemore <sandra@codesourcery.com>
	gcc/
	* regrename.h (regrename_do_replace): Change to return bool.
	* regrename.c (rename_chains): Check return value of
	regname_do_replace.
	(regrename_do_replace): Re-validate the modified insns and
	return bool status.
	* config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
	Update to match rename_chains changes.
	* config/c6x/c6x.c (try_rename_operands): Assert that
	regrename_do_replace returns true.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r225106
Uros Bizjak [Sun, 28 Jun 2015 19:38:56 +0000 (21:38 +0200)]
 
i386.md (<mode>_ldx): Do not zero-extend non-Pmode operand 2 here.
	* config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
	operand 2 here.  Use copy_addr_to_reg to copy non-index
	register operand 2 to a temporary.
	(<mode>_stx): Ditto for operand 1.
	(*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
	* config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
	(ix86_store_bounds): Ditto.
From-SVN: r225105
GCC Administrator [Sun, 28 Jun 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225103
Patrick Palka [Sat, 27 Jun 2015 18:43:11 +0000 (18:43 +0000)]
 
Make debug_tree() print the length of a TREE_VEC
gcc/ChangeLog:
	* print-tree.c (print_node) [TREE_VEC]: Print its length.
From-SVN: r225100
Marek Polacek [Sat, 27 Jun 2015 10:40:21 +0000 (10:40 +0000)]
 
call.c: Use VECTOR_TYPE_P.
	* call.c: Use VECTOR_TYPE_P.
	* constexpr.c: Likewise.
	* cvt.c: Likewise.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* init.c: Likewise.
	* semantics.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.
From-SVN: r225099