Commit Graph

149534 Commits

Author SHA1 Message Date
Jiong Wang
ac5b3efff2 [DWARF] Enable DW_CFA_VAL_EXPRESSION support
gcc/
	* reg-notes.def (CFA_VAL_EXPRESSION): New entry.
	* dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
	(dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
	(output_cfa_loc): Support DW_CFA_val_expression.
	(output_cfa_loc_raw): Likewise.
	(output_cfi): Likewise.
	(output_cfi_directive): Likewise.
	* dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
	(dw_cfi_oprnd2_desc): Likewise.
	(mem_loc_descriptor): Recognize new pattern generated for value
	expression.

From-SVN: r241826
2016-11-03 17:32:03 +00:00
Segher Boessenkool
122e3608b6 combine lhs zero_extract fix (PR78186)
PR rtl-optimization/78186
	* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
	well, when converting to IOR.

From-SVN: r241824
2016-11-03 17:04:22 +01:00
Fritz O. Reese
35ea947ffa Support legacy PARAMETER statements with -std=legacy.
gcc/fortran/
	* decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
	* parse.c (decode_statement): Match "parameter" before assignments.
	* gfortran.texi: Document.

	gcc/testsuite/gfortran.dg/
	* dec_parameter_1.f: New test.
	* dec_parameter_2.f90: Likewise.
	* dec_parameter_3.f90: Likewise.
	* dec_parameter_4.f90: Likewise.

From-SVN: r241823
2016-11-03 16:00:58 +00:00
Eric Botcazou
c0ae959bed sparc.md (vec_interleave_lowv8qi): Delete.
* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
	(vec_interleave_highv8qi): Likewise.

From-SVN: r241822
2016-11-03 16:00:55 +00:00
Martin Liska
7d29f8e3dc Make direct emission of time profiler counter
* libgcov-profiler.c (__gcov_time_profiler): Remove.
	(__gcov_time_profiler_atomic): Likewise.
	* profile.c (instrument_values): Fix coding style.
	(branch_prob): Use renamed function.
	* tree-profile.c (init_ic_make_global_vars): Likewise.
	(gimple_init_edge_profiler): Rename to
	gimple_init_gcov_profiler.
	tree_time_profiler_counter variable declaration.
	(gimple_gen_time_profiler): Rewrite to do a direct gimple code
	emission.
	* value-prof.h: Remove an argument.
	* gcc.dg/no_profile_instrument_function-attr-1.c: Update scanned
	output.
	* gcc.dg/tree-prof/time-profiler-3.c: New test.

From-SVN: r241821
2016-11-03 15:24:22 +00:00
Bernd Edlinger
5de3e2d862 re PR libgcc/78067 (libgcc2 calls count_leading_zero with 0)
2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR libgcc/78067
        * libgcc2.c (__floatdisf, __floatdidf): Avoid undefined results from
        count_leading_zeros.

testsuite:
2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR libgcc/78067
        * gcc.dg/torture/fp-int-convert.h: Add more conversion tests.

From-SVN: r241817
2016-11-03 12:52:19 +00:00
Richard Biener
4098e9b907 rs6000.c (rs6000_xcoff_declare_object_name): Use symtab_node::get_create.
2016-11-03  Richard Biener  <rguenther@suse.de>

        * config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
        symtab_node::get_create.

From-SVN: r241816
2016-11-03 08:31:10 -04:00
Kyrylo Tkachov
c096a32993 [rtlanal] Fix WORD_REGISTER_OPERATIONS condition in nonzero_bits
* rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
	Move comments into more natural position.

From-SVN: r241815
2016-11-03 12:08:26 +00:00
Vineet Gupta
db64c64e7d [ARC] Define SIZE_TYPE and PTRDIFF_TYPE correctly.
This silences tons of -Wformat= warnings when building ARC Linux kernel
with gcc 6.x (and restores the ARC gcc 4.8.x behaviour) which had
similar fix.

gcc/
2016-11-03  Vineet Gupta  <vgupta@synopsys.com>

	* config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
	(PTRDIFF_TYPE): Define as int.

From-SVN: r241812
2016-11-03 11:52:52 +01:00
Trevor Saunders
cb4347e8d5 make targetm.gen_ccmp{first,next} take rtx_insn **
gcc/ChangeLog:

2016-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* ccmp.c (expand_ccmp_expr_1): Adjust.
	(expand_ccmp_expr): Likewise.
	(expand_ccmp_next): Likewise.
	* config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
	(aarch64_gen_ccmp_first): Likewise.
	* doc/tm.texi: Regenerate.
	* target.def (gen_ccmp_first): Change argument types to rtx_insn *.
	(gen_ccmp_next): Likewise.

From-SVN: r241811
2016-11-03 09:27:55 +00:00
Bin Cheng
c12176d716 tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
* tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
	(vect_is_simple_reduction): Swap cond_reduction by inversion.

From-SVN: r241810
2016-11-03 09:15:45 +00:00
Senthil Kumar Selvaraj
f03f023275 Fix bougs PR 78170 failure for avr
The test defines int bitfields that are more than 16 bits wide, and this
fails for the avr with its 16 bit integer size. Therefore, require
effective target int32plus.

gcc/testsuite/

2016-11-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.c-torture/execute/pr78170.c: Require int32plus.

From-SVN: r241809
2016-11-03 08:04:40 +00:00
GCC Administrator
92c036832b Daily bump.
From-SVN: r241808
2016-11-03 00:16:18 +00:00
Uros Bizjak
7ce53bd943 i386.c (ix86_init_libfuncs): New.
* config/i386/i386.c (ix86_init_libfuncs): New.  Call
	darwin_rename_builtins here.
	(ix86_expand_divmod_libfunc): New.
	(TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
	(TARGET_EXPAND_DIVMOD_LIBFUNC): Define.

From-SVN: r241805
2016-11-02 23:25:44 +01:00
Uros Bizjak
183624479f Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
* Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
	* libgcc2.c (__divmoddi4): New function.
	* libgcc2.h (__divmoddi4): Declare.
	* libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4
	and __PFX_divmodti4.

From-SVN: r241804
2016-11-02 23:23:13 +01:00
Cesar Philippidis
6668eb4593 nvptx.c (PTX_GANG_DEFAULT): Set to zero.
gcc/
	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.

	libgomp/
	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
	to determine default geometry.
	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
	dimension.


Co-Authored-By: Nathan Sidwell <nathan@acm.org>

From-SVN: r241803
2016-11-02 15:10:02 -07:00
Max Filippov
bd17a9dfab xtensa: don't xfail gcc.c-torture/compile/20001226-1.c
With jump trampolines implemented in binutils since 2.25 and enabled by
default this test no longer fails on xtensa.

2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
gcc/testsuite/
	* gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa.

From-SVN: r241801
2016-11-02 18:36:52 +00:00
Max Filippov
9ae4ef4cd3 xtensa: fix ICE on pr59037.c test
xtensa gcc gets ICE on pr59037.c test because its xtensa_output_literal
function cannot handle integer literals of sizes other than 4 and 8,
whereas the test uses 16-byte int vector.
Split integer literal formatting into the recursive function
xtensa_output_integer_literal_parts capable of handling literals of any
power of 2 size not less than 4.

2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
	New function.
	(xtensa_output_literal): Use xtensa_output_integer_literal_parts
	to format MODE_INT and MODE_PARTIAL_INT literals.

From-SVN: r241800
2016-11-02 18:34:43 +00:00
Segher Boessenkool
302fd2cc3f rs6000: Disable shrink-wrap-separate for abi=spe (PR78168)
With the SPE ABI, if we wrap GPRs we need to handle the upper half of the
extended 64-bit registers as well, which we cannot easily do.  So, this
patch disables separate shrink-wrapping for the SPE ABI.


	PR target/78168
	* config/r6000/rs6000.c (rs6000_get_separate_components): Return
	NULL if TARGET_SPE_ABI.

From-SVN: r241799
2016-11-02 18:06:04 +01:00
Kyrylo Tkachov
b231822dae Fix for big-endian gcc.c-torture/execute/pr55750.c
* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
	clear padding bits even when they're less than a byte.

From-SVN: r241798
2016-11-02 16:03:13 +00:00
Tamar Christina
2b01aad6dc Fix failing vminnm/vmaxnm test on ARM.
* gcc.target/arm/simd/vmaxnm_f32_1.c (dg-require-effective-target):
	Check for arm_v8_neon_hw.
	* gcc.target/arm/simd/vmaxnmq_f32_1.c (dg-require-effective-target):
	Likewise.
	* gcc.target/arm/simd/vminnm_f32_1.c (dg-require-effective-target):
	Likewise.
	* gcc.target/arm/simd/vminnmq_f32_1.c(dg-require-effective-target):
	Likewise.

From-SVN: r241797
2016-11-02 15:57:11 +00:00
Richard Biener
aa55dc0ca3 gimple-ssa-store-merging.c: Include gimplify-me.h.
2016-11-02  Richard Biener  <rguenther@suse.de>

	* gimple-ssa-store-merging.c: Include gimplify-me.h.
	(imm_store_chain_info::output_merged_stores): Force base_addr
	to be proper GIMPLE for a MEM_REF address.
	(pass_store_merging::execute): Restrict negative bitpos
	handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
	check.  Take into account non-NULL_TREE offset if the base
	is already addressable.

	* gcc.dg/store_merging_8.c: New testcase.

From-SVN: r241796
2016-11-02 15:00:48 +00:00
Fritz O. Reese
3df19fa0d4 New warning -Wargument-mismatch for function argument mismatches.
gcc/fortran/
	* lang.opt, invoke.texi: New argument -Wargument-mismatch.
	* interface.c (compare_parameter, compare_actual_formal,
	gfc_check_typebound_override, argument_rank_mismatch): Control argument
	mismatch warnings with -Wargument-mismatch.
	* resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.

	gcc/testsuite/gfortran.dg/
	* warn_argument_mismatch_1.f90: New test.

From-SVN: r241795
2016-11-02 14:56:41 +00:00
Fritz Reese
eab1ee2254 Allow warning flags to associate through gfc_error.
gcc/fortran/
	* gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
	* error.c (gfc_error): Add optional 'opt' argument.
	* error.c (gfc_notify_std): Call fully-qualified gfc_error.

From-SVN: r241794
2016-11-02 14:46:33 +00:00
Wilco Dijkstra
5304d04437 Add LE/BE SHA1H patterns with a V2SI input.
Add LE/BE SHA1H patterns with a V2SI input.  This avoids unnecessary
DUPs when using intrinsics like vsha1h_u32 (vgetq_lane_u32 (x, 0)).

    gcc/
        * config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si): 
        New pattern.
        (aarch64_be_crypto_sha1hv4si): New pattern.

From-SVN: r241791
2016-11-02 14:00:22 +00:00
Wilco Dijkstra
45a6c1e363 The add expander still contains some expansion code that was required for the previous prolog/epilog code...
The add expander still contains some expansion code that was required for the
previous prolog/epilog code, but which is no longer needed.  I also noticed
that the current version splits off immediates from frame addressing
instructions, which doesn't seem a good idea.  Avoiding this resulted in small
codesize improvements.

    gcc/
        * config/aarch64/aarch64.md (add<mode>3): Remove
        redundant code.  Don't split frame based additions.

From-SVN: r241790
2016-11-02 13:56:07 +00:00
Richard Biener
b5926e23e4 gimple-ssa-store-merging.c (struct store_immediate_info): Remove redundant val and dest members.
2016-11-02  Richard Biener  <rguenther@suse.de>

	* gimple-ssa-store-merging.c (struct store_immediate_info): Remove
	redundant val and dest members.
	(store_immediate_info::store_immediate_info): Adjust.
	(merged_store_group::merged_store_group): Adjust.
	(merged_store_group::apply_stores): Likewise.
	(struct imm_store_chain_info): Add base_addr field.
	(imm_store_chain_info::imm_store_chain_info): New constructor.
	(imm_store_chain_info::terminate_and_process_chain): Do not pass base.
	(imm_store_chain_info::output_merged_store): Likewise.  Use
	addr_base which is already the address.
	(imm_store_chain_info::output_merged_stores): Likewise.
	(pass_tree_store_merging::terminate_all_aliasing_chains): Take
	imm_store_chain_info instead of base.  Fix alias check.
	(pass_tree_store_merging::terminate_and_release_chain): Likewise.
	(imm_store_chain_info::coalesce_immediate_stores): Adjust.
	(pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF.
	use the address of the base and adjust for other changes.

From-SVN: r241789
2016-11-02 13:05:07 +00:00
David Edelsohn
4b69fb136e prod-options.c: XFAIL AIX.
* gcc.dg/debug/dwarf2/prod-options.c: XFAIL AIX.
        * gcc.dg/debug/dwarf2/pr71855.c: XFAIL AIX.
        * gcc.dg/addr_equal_1.c: XFAIL AIX.
        * gcc.dg/pr65779.c: XFAIL AIX.
        * gcc.dg/pr70405.c: XFAIL AIX.

From-SVN: r241787
2016-11-02 08:42:19 -04:00
David Edelsohn
075be4a1f9 inline-var-1.C: XFAIL AIX.
* g++.dg/debug/dwarf2/inline-var-1.C: XFAIL AIX.
        * g++.dg/debug/dwarf2/ref-2.C: XFAIL AIX.
        * g++.dg/debug/dwarf2/constexpr-var-1.C: XFAIL AIX.

From-SVN: r241786
2016-11-02 08:39:06 -04:00
Rainer Orth
fdb1aa55d0 Fix linker detection in check_gc_sections_available
* lib/target-supports.exp (check_gc_sections_available): Use
	-print-prog-name=ld to determine linker used.

From-SVN: r241783
2016-11-02 10:27:23 +00:00
Martin Liska
4adbcdb4ba Fix host_size_t_cst_p predicat
* fold-const-call.c (host_size_t_cst_p): Test whether
	t is convertible to size_t.
	* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c (main): Add
	test case.

From-SVN: r241780
2016-11-02 09:56:04 +00:00
Kyrylo Tkachov
4b2c06f49f PR tree-optimization/78170: Truncate sign-extended padding when encoding bitfields
PR tree-optimization/78170
	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding
	introduced by native_encode_expr on little-endian as well.

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

From-SVN: r241779
2016-11-02 09:28:35 +00:00
Kyrylo Tkachov
63e523d6f0 PR tree-optimization/78162: Reject negative offsets in store merging early
PR tree-optimization/78162
	* gimple-ssa-store-merging.c (execute): Mark stores with bitpos < 0
	as invalid.

	* gcc.c-torture/compile/pr78162.c: New test.

From-SVN: r241778
2016-11-02 09:25:22 +00:00
Kyrylo Tkachov
04ddfe064b [AArch64] Add function comments to some prologue/epilogue helpers
* config/aarch64/aarch64.c (aarch64_register_saved_on_entry): Add
	function comment.
	(aarch64_next_callee_save): Likewise.
	(aarch64_pushwb_single_reg): Likewise.
	(aarch64_gen_storewb_pair): Likewise.
	(aarch64_push_regs): Likewise.
	(aarch64_gen_loadwb_pair): Likewise.
	(aarch64_pop_regs): Likewise.
	(aarch64_gen_store_pair): Likewise.
	(aarch64_gen_load_pair): Likewise.
	(aarch64_save_callee_saves): Likewise.
	(aarch64_restore_callee_saves): Likewise.

From-SVN: r241777
2016-11-02 08:57:08 +00:00
Richard Biener
da42ac7bc5 re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis)
2016-11-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78035
	PR tree-optimization/77964
	* gimple-pretty-print.c (pp_points_to_solution): Print
	vars_contains_interposable.
	* tree-ssa-alias.c: Include varasm.h.
	(ptrs_compare_unequal): Check vars_contains_interposable and
	decl_binds_to_current_def_p.
	(dump_points_to_solution): Dump vars_contains_interposable.
	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable
	flag.
	* tree-ssa-structalias.c: Include varasm.h.
	(set_uids_in_ptset): Record whether vars contains a
	not decl_binds_to_current_def_p variable in vars_contains_interposable.
	(ipa_escaped_pt): Update initializer.

	* gcc.target/i386/pr78035.c: New testcase.

From-SVN: r241776
2016-11-02 08:29:48 +00:00
Richard Biener
3cea049a4f re PR middle-end/78047 (Chromium apparently gets miscompiled)
2016-11-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78047
	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
	fake field at offset zero conservatively regarding to may_have_pointers.

From-SVN: r241775
2016-11-02 08:13:29 +00:00
Richard Biener
4280df0abc tree-vrp.c (evrp_dom_walker::before_dom_children): Call infer_value_range on stmt ops and update value-ranges.
2016-11-02  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (evrp_dom_walker::before_dom_children): Call
	infer_value_range on stmt ops and update value-ranges.
	Dump visited stmts and blocks.
	(evrp_dom_walker::push_value_range): Dump changes.
	(evrp_dom_walker::pop_value_range): Likewise.
	(evrp_dom_walker::try_find_new_range): Avoid noop changes.

	* gcc.dg/tree-ssa/vrp111.c: New testcase.
	* gcc.dg/tree-ssa/pr20702.c: Disable EVRP.
	* gcc.dg/tree-ssa/pr21086.c: Likewise.
	* gcc.dg/tree-ssa/pr58480.c: Likewise.
	* gcc.dg/tree-ssa/vrp08.c: Likewise.

From-SVN: r241774
2016-11-02 08:11:48 +00:00
Trevor Saunders
9815687d8e remove cast from prev_nonnote_insn_bb
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
	rtx_insn *.
	* rtl.h (prev_nonnote_insn_bb): Adjust prototype.

From-SVN: r241773
2016-11-02 03:46:17 +00:00
Trevor Saunders
2d93cd2005 remove cast in delete_insn_chain
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn *
	and adjust for that.
	* cfgrtl.h (delete_insn_chain): Adjust prototype.

From-SVN: r241772
2016-11-02 03:46:10 +00:00
Trevor Saunders
466d19802a remove cast to rtx_insn * in remove_note
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/rl78/rl78.c (gen-and_emit_move): Change argument type
	to rtx_insn *.
	(transcode_memory_rtx): Likewise.
	(move_to_acc): Likewise.
	(move_from_acc): Likewise.
	(move_acc_to_reg): Likewise.
	(move_to_x): Likewise.
	(move_to_hl): Likewise.
	(move_to_de): Likewise.
	* config/rs6000/rs6000.c (emit_frame_save): Likewise.
	(rs6000_emit_savres_rtx): Likewise.
	(rs6000_emit_prologue): Likewise.
	* reorg.c (update_reg_unused_notes): Likewise.
	* rtl.h (remove_note): Adjust prototype.
	* rtlanal.c (remove_note): Make argument type rtx_insn *.

From-SVN: r241771
2016-11-02 03:45:59 +00:00
Trevor Saunders
4b6ab43387 split up some variables to use rtx_insn * more
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/alpha/alpha.c (alpha_legitimize_address_1): Split up
	variables so some can be rtx_insn *.
	(alpha_emit_xfloating_libcall): Likewise.
	* config/mips/mips.c (mips_call_tls_get_addr): Likewise.
	(mips_legitimize_tls_address): Likewise.
	* optabs.c (expand_binop): Likewise.
	* reload1.c (gen_reload): Likewise.

From-SVN: r241770
2016-11-02 03:45:45 +00:00
Trevor Saunders
88f9bb4dcb split up the trial variable in reorg.c:relax_delay_slots to use rtx_insn * more
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* reorg.c (relax_delay_slots): Split up the trial variable.

From-SVN: r241769
2016-11-02 03:45:29 +00:00
Trevor Saunders
9b2ea071ab use rtx_insn * in various places where it is obvious
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type
	of variables rtx_insn *.
	* config/arm/arm.c (arm_call_tls_get_addr): Likewise.
	(legitimize_tls_address): Likewise.
	* config/bfin/bfin.c (hwloop_optimize): Likewise.
	(bfin_gen_bundles): Likewise.
	* config/c6x/c6x.c (reorg_split_calls): Likewise.
	(c6x_reorg): Likewise.
	* config/frv/frv.c (frv_reorder_packet): Likewise.
	* config/i386/i386.c (ix86_split_idivmod): Likewise.
	* config/ia64/ia64.c (ia64_expand_compare): Likewise.
	* config/m32c/m32c.c (m32c_prepare_shift): Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/rl78/rl78.c: Likewise.
	* config/s390/s390.c (s390_fix_long_loop_prediction): Likewise.
	* config/sh/sh-mem.cc (sh_expand_cmpstr): Likewise.
	(sh_expand_cmpnstr): Likewise.
	(sh_expand_strlen): Likewise.
	(sh_expand_setmem): Likewise.
	* config/sh/sh.md: Likewise.
	* emit-rtl.c (emit_pattern_before): Likewise.
	* except.c: Likewise.
	* final.c: Likewise.
	* jump.c: Likewise.

From-SVN: r241768
2016-11-02 03:44:50 +00:00
Josh Conner
3f95ca6c0f MAINTAINERS (Write After Approval): Update email address,
2016-11-01  Josh Conner  <joshconner@google.com>

	* MAINTAINERS (Write After Approval): Update email address,

From-SVN: r241767
2016-11-02 02:10:45 +00:00
Jason Merrill
2bc78e3ce5 c-cppbuiltin.c (c_cpp_builtins): Update __cpp_inheriting_constructors.
* c-cppbuiltin.c (c_cpp_builtins): Update
	__cpp_inheriting_constructors.

From-SVN: r241766
2016-11-01 22:10:38 -04:00
Jason Merrill
31f7f784fe Implement P0136R1, Rewording inheriting constructors.
gcc/c-family/
	* c.opt (-fnew-inheriting-ctors): New.
	* c-opts.c: Default to on for ABI 11+.
gcc/cp/
	* call.c (enum rejection_reason_code): Add rr_inherited_ctor.
	(inherited_ctor_rejection): New.
	(add_function_candidate): Reject inherited ctors for copying.
	(enforce_access): Use strip_inheriting_ctors.
	(print_z_candidate): Likewise.  Handle rr_inherited_ctor.
	(convert_like_real): Avoid copying inheriting ctor parameters.
	(build_over_call): Likewise.  A base ctor inheriting from vbase
	has no parms.  Sorry about varargs.
	(joust): A local constructor beats inherited with the same convs.
	* class.c (add_method): Handle hiding inheriting ctors.
	(one_inherited_ctor): Handle new semantics.
	(add_implicitly_declared_members): Pass using_decl down.
	(build_clone): A base ctor inheriting from vbase has no parms.
	* cp-tree.h (DECL_INHERITED_CTOR): Store this instead of the base.
	(SET_DECL_INHERITED_CTOR): Likewise.
	(DECL_INHERITED_CTOR_BASE): Adjust.
	* constexpr.c: Adjust.
	* error.c (dump_function_decl): Decorate inheriting ctors.
	* init.c (emit_mem_initializers): Suppress access control in
	inheriting ctor.
	* mangle.c (write_special_name_constructor): Handle new inheriting
	ctor mangling.
	* method.c (strip_inheriting_ctors, inherited_ctor_binfo)
	(ctor_omit_inherited_parms, binfo_inherited_from): New.
	(synthesized_method_walk): Use binfo_inherited_from.  Suppress
	access control in inheriting ctor.
	(deduce_inheriting_ctor): Deleted if ambiguous ctor inheritance.
	(maybe_explain_implicit_delete): Explain ambigous ctor inheritance.
	(add_one_base_init, do_build_copy_constructor): Adjust.
	(locate_fn_flags, explain_implicit_non_constexpr): Adjust.
	(implicitly_declare_fn): Adjust.
	(get_inherited_ctor): Remove.
	* name-lookup.c (do_class_using_decl): Check for indirect ctor
	inheritance.
	* optimize.c (cdtor_comdat_group): Adjust for new mangling.
	(maybe_clone_body): Handle omitted parms in base clone.
	(maybe_thunk_body): Don't thunk if base clone omits parms.
	* pt.c (tsubst_decl): Adjust.
	(instantiate_template_1): Suppress access control in inheriting
	ctor.
	(fn_type_unification): Do deduction with inherited ctor.
	* tree.c (special_function_p): Adjust.
gcc/
	* tree-inline.c (copy_tree_body_r): Only copy the taken branch of
	a COND_EXPR with constant condition.
libiberty/
	* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.

From-SVN: r241765
2016-11-01 21:50:29 -04:00
GCC Administrator
be9f7afb32 Daily bump.
From-SVN: r241764
2016-11-02 00:16:21 +00:00
David Edelsohn
1b1d9303bc * gfortran.dg/pr70937.f90: require-effective-target lto.
From-SVN: r241761
2016-11-01 19:31:44 -04:00
Mark Wielaard
a3f3eec079 libiberty: Fix memory leak in ada_demangle when symbol cannot be demangled.
When a symbol cannot be demangled in ada_demangle a new demangled VEC
will be allocated without deleting the demangled VEC already in use.

Running testsuite/test-demangle under valgrind will show the leak for
this entry in testsuite/demangle-expected:

    # Elaborated flag (not demangled)
    --format=gnat
    x_E
    <x_E>

 11 bytes in 1 blocks are definitely lost in loss record 1 of 1
    at 0x4C27BE3: malloc (vg_replace_malloc.c:299)
    by 0x413FE7: xmalloc (xmalloc.c:148)
    by 0x4025EC: ada_demangle (cplus-dem.c:930)
    by 0x402C59: cplus_demangle (cplus-dem.c:892)
    by 0x400FEC: main (test-demangle.c:317)

libiberty/ChangeLog:

	* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
	XDELETEVEC demangled when unknown.

From-SVN: r241760
2016-11-01 23:13:10 +00:00
Jakub Jelinek
be6218568d dwarf2out.c (gen_variable_die): Remove again origin_die variable and its initialization.
* dwarf2out.c (gen_variable_die): Remove again origin_die variable
	and its initialization.

From-SVN: r241759
2016-11-01 23:56:48 +01:00