Commit Graph

135632 Commits

Author SHA1 Message Date
Jerry DeLisle 2da229cb17 re PR fortran/61933 (Inquire on internal units)
2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/61933
	* io.c (gfc_match_inquire): Generate error if unit number in
	inquire statement is a constant -1.  All other values allowed.
	* trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
	(create_dummy_iostat): Delete function no longer used.

From-SVN: r219630
2015-01-15 03:51:16 +00:00
Ian Lance Taylor d5d9c650a2 libgo: Bump version number in libgo configure script.
From-SVN: r219629
2015-01-15 00:52:38 +00:00
Ian Lance Taylor 3307c079d5 Add files somehow left out of last commit (upgrade to Go 1.4).
From-SVN: r219628
2015-01-15 00:40:25 +00:00
Ian Lance Taylor f8d9fa9e80 libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.
This upgrades all of libgo other than the runtime package to
the Go 1.4 release.  In Go 1.4 much of the runtime was
rewritten into Go.  Merging that code will take more time and
will not change the API, so I'm putting it off for now.

There are a few runtime changes anyhow, to accomodate other
packages that rely on minor modifications to the runtime
support.

The compiler changes slightly to add a one-bit flag to each
type descriptor kind that is stored directly in an interface,
which for gccgo is currently only pointer types.  Another
one-bit flag (gcprog) is reserved because it is used by the gc
compiler, but gccgo does not currently use it.

There is another error check in the compiler since I ran
across it during testing.

gotools/:
	* Makefile.am (go_cmd_go_files): Sort entries.  Add generate.go.
	* Makefile.in: Rebuild.

From-SVN: r219627
2015-01-15 00:27:56 +00:00
GCC Administrator 6bd3f109d8 Daily bump.
From-SVN: r219626
2015-01-15 00:17:03 +00:00
Oleg Endo 83e3f98b8d re PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)
gcc/
	PR target/53988
	* config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
	reg-reg copies.
	(sh_extending_set_of_reg): New struct.
	(sh_find_extending_set_of_reg, sh_split_tst_subregs,
	sh_remove_reg_dead_or_unused_notes): New Declarations.
	* config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
	sh_find_extending_set_of_reg, sh_split_tst_subregs,
	sh_extending_set_of_reg::use_as_extended_reg): New functions.
	* config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
	convert to insn_and_split and use new function sh_split_tst_subregs.

gcc/testsuite/
	PR target/53988
	* gcc.target/sh/pr53988-1.c: New.

From-SVN: r219623
2015-01-14 23:46:34 +00:00
Sandra Loosemore ce2c3163d2 invoke.texi (Option Summary): Reclassify -fuse-ld as a linker option.
2015-01-14  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
	option.
	(Optimization Options): Move -fuse-ld documentation to...
	(Link Options): ...here.

From-SVN: r219622
2015-01-14 18:09:03 -05:00
Paolo Carlini 36b218ee8f re PR c++/58671 ([c++11] ICE with thread_local and self-referential variable initialization)
/cp
2015-01-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58671
	* decl2.c (var_defined_without_dynamic_init): Handle gracefully
	self-initialization.

/testsuite
2015-01-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58671
	* g++.dg/tls/thread_local-ice3.C: New.

From-SVN: r219621
2015-01-14 22:28:07 +00:00
Matthew Fortune 622ef5dae9 Fix indentation in an earlier gcc/ChangeLog update
From-SVN: r219620
2015-01-14 22:10:21 +00:00
Matthew Fortune 047b52f61d [MIPS] Update the ZC constraint.
gcc/

	* config/mips/constraints.md (ZC): Add support for R6 LL/SC
	offsets.
	(ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
	* config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
	(ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
	* config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
	instead of ZR for the memory operand of LL/SC.
	(compare_and_swap_12, sync_add<mode>): Likewise.
	(sync_<optab>_12, sync_old_<optab>_12): Likewise.
	(sync_new_<optab>_12, sync_nand_12): Likewise.
	(sync_old_nand_12, sync_new_nand_12): Likewise.
	(sync_sub<mode>, sync_old_add<mode>): Likewise.
	(sync_old_sub<mode>, sync_new_add<mode>): Likewise.
	(sync_new_sub<mode>, sync_<optab><mode>): Likewise.
	(sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
	(sync_nand<mode>, sync_old_nand<mode>): Likewise.
	(sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
	(test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
	(atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
	* doc/md.texi (ZC): Update description.

From-SVN: r219619
2015-01-14 22:08:37 +00:00
Jan-Benedict Glaw 7fc39e2189 Pull libiberty.h copyright update from Binutils
2015-12-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* libiberty.h: Merge Copyright year update from Binutils.

From-SVN: r219617
2015-01-14 21:55:35 +00:00
H.J. Lu 541c580691 Correct target selector in -mfentry tests
-fprofile -mfentry works with PIE if gcrt1.o is compiled with -fPIC.  A
glibc has been filed, PR 17836, and a glibc patch has been submitted.

	* gcc.target/i386/fentry-override.c: Properly place {} in target
	selector.  Remove nonpic.
	* gcc.target/i386/fentry.c: Likewise.

From-SVN: r219616
2015-01-14 13:51:09 -08:00
Andrew MacLeod 77df532784 builtins.c (expand_builtin_atomic_exchange): Remove error when memory model is CONSUME.
2015-01-14  Andrew MacLeod  <amacleod@redhat.com>

	* builtins.c (expand_builtin_atomic_exchange): Remove error when
	memory model is CONSUME.
	(expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
	expand_builtin_atomic_store): Change invalid memory model errors to
	warnings.
	(expand_builtin_atomic_clear): Change invalid model errors to warnings
	and issue warning for CONSUME.
	* testsuite/gcc.dg/atomic-invalid.c: Check for invalid memory model
	warnings instead of errors.



M    gcc/ChangeLog
M    gcc/builtins.c
M    gcc/testsuite/ChangeLog
M    gcc/testsuite/gcc.dg/atomic-invalid.c

From-SVN: r219615
2015-01-14 21:30:39 +00:00
Aldy Hernandez 2ead7928a2 + * lto-cgraph: Update function comments for
+       lto_symtab_encoder_encode_*.

From-SVN: r219607
2015-01-14 16:37:15 +00:00
Ilya Verbin 3b6e42f965 Makefile.in (site.exp): Do not set ENABLE_LTO.
gcc/
	* Makefile.in (site.exp): Do not set ENABLE_LTO.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_lto): Check for -flto
	option support instead of ENABLE_LTO from Makefile.

From-SVN: r219606
2015-01-14 15:51:37 +00:00
Ilya Verbin 837bac8cb6 cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
gcc/
	* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
	* lto-cgraph.c (select_what_to_stream): Remove argument, use
	lto_stream_offload_p instead.
	* lto-streamer.h (select_what_to_stream): Remove argument.
	* passes.c (ipa_write_summaries): Likewise.
	* tree-pass.h (ipa_write_summaries): Likewise.
gcc/lto/
	* lto-partition.c (lto_promote_cross_file_statics): Remove argument
	from select_what_to_stream.

From-SVN: r219605
2015-01-14 15:15:21 +00:00
Ilya Tocar 2f6c116d28 Fix year in ChangeLog.
From-SVN: r219604
2015-01-14 17:23:47 +03:00
Richard Biener 7ef95f9cf0 re PR tree-optimization/59354 (Element swizzling produces invalid result with -O3)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59354
	* tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
	groups larger than the slp group size as having gaps.

	* gcc.dg/vect/pr59354.c: New testcase.

From-SVN: r219603
2015-01-14 14:06:07 +00:00
Andrew Stubbs 7d11e4d632 Fix neon test fails on non-neon configs.
gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
	on ARM architures before v7.

From-SVN: r219602
2015-01-14 14:03:10 +00:00
Andrew MacLeod 8673b6713e re PR middle-end/59448 (Code generation doesn't respect C11 address-dependency)
2015-01-14  Andrew MacLeod  <amacleod@redhat.com>

	PR middle-end/59448
	* builtins.c (get_memmodel): Promote consume to acquire always.
	* testsuite/gcc.dg/atomic-invalid.c: Remove obselete test for illegal
	consume in an atomic_exchange.

From-SVN: r219601
2015-01-14 13:58:35 +00:00
Ilya Tocar 4b54ab976e re PR target/64386 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -mavx512bw)
PR target/64386

gcc/
	PR target/64386
	* config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
	V32HImode.

testsuite/ 
	* gcc.target/i386/pr64386.c: New test.

From-SVN: r219600
2015-01-14 16:55:06 +03:00
Ilya Tocar c67917b65d re PR target/64393 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -mavx512vbmi)
PR target/64393

gcc/
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
	Enable AVX512BW.
	(OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
	* config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
	AVX512VBMI, as it implies AVX512BW.

testsuite/

	* gcc.target/i386/pr64393.c: New test.

From-SVN: r219599
2015-01-14 16:49:58 +03:00
Ilya Tocar 110b788648 re PR target/64387 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -ffloat-store -mavx512er)
PR target/64387

gcc/
	* config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
	(vec_unpacks_hi_v16sf): Ditto.

testsuite/
	* gcc.target/i386/pr64387.c: New test.

From-SVN: r219598
2015-01-14 16:45:49 +03:00
Christophe Lyon 5c52d24936 store-pair-1.c: Fix typo.
2015-01-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/store-pair-1.c: Fix typo.

From-SVN: r219595
2015-01-14 13:07:43 +01:00
Kyrylo Tkachov 2a62514fca [AArch64] Error out of arm_neon.h if nofp/nosimd
* config/aarch64/arm_neon.h: Error out if AdvancedSIMD
	is not available.

	* gcc.target/aarch64/arm_neon-nosimd-error.c: New test.

From-SVN: r219594
2015-01-14 12:03:22 +00:00
Kyrylo Tkachov 3bbbd3ee8e [doc][ARM] Deprecate -mapcs and -mapcs-frame.
* doc/invoke.texi (mapcs): Mention deprecation.
	(mapcs-frame): Likewise.

From-SVN: r219593
2015-01-14 11:58:06 +00:00
Thomas Preud'homme 6f0a6218e3 re PR target/64453 (Live high register not saved in function prolog on ARM with -Os)
2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/64453
    * config/arm/arm.c (callee_saved_reg_p): Define.
    (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
    register is callee saved instead of !call_used_regs[reg].
    (thumb1_compute_save_reg_mask): Likewise.

    gcc/testsuite/
    PR target/64453
    * gcc.target/arm/pr64453.c: New.

From-SVN: r219592
2015-01-14 11:51:40 +00:00
Hale Wang 6af2585d5c arm.c: Tune the max_cond_insns/branch_cost for Cortex-M7.
2015-01-14  Hale Wang  <hale.wang@arm.com>

	* config/arm/arm.c: Tune the max_cond_insns/branch_cost for
		Cortex-M7.

From-SVN: r219589
2015-01-14 11:15:30 +00:00
Richard Biener 683750ce09 re PR middle-end/64415 (ICE: verify_ssa failed / segmentation fault with LTO)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR lto/64415
	* tree-inline.c (insert_debug_decl_map): Check destination
	function MAY_HAVE_DEBUG_STMTS.
	(insert_init_debug_bind): Likewise.
	(insert_init_stmt): Remove redundant check.
	(remap_gimple_stmt): Drop debug stmts if the destination
	function has var-tracking assignments disabled.

	* gcc.dg/lto/pr64415_0.c: New testcase.
	* gcc.dg/lto/pr64415_1.c: Likewise.

From-SVN: r219588
2015-01-14 11:06:18 +00:00
Martin Liska 217c08c571 IPA ICF: handle IMAGPART_EXPR and REALPART_EXPR.
* gcc.dg/ipa/pr64307.c: New test.
	* ipa-icf-gimple.c (func_checker::compare_operand): Add support for
	IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.

From-SVN: r219586
2015-01-14 10:35:13 +00:00
Tejas Belagod f29e90f541 vect-movi.c: Check for vectorization for 64-bit and 128-bit.
2015-01-14  Tejas Belagod  <tejas.belagod@arm.com>

        * gcc.target/aarch64/vect-movi.c: Check for vectorization for 
        64-bit and 128-bit.

From-SVN: r219585
2015-01-14 10:29:09 +00:00
Kyrylo Tkachov ca39a43acc [ARM] Fix PR target/64460: Set 'shift' attr properly on some patterns.
PR target/64460
	* config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
	(*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.

	* gcc.target/arm/pr64460_1.c: New test.

From-SVN: r219583
2015-01-14 10:14:23 +00:00
Matthew Fortune fcd7669cb6 Fix Linux multilib configurations with default architectures
gcc/

	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
	level from an ARCH; do not inject the default.
	(MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
	MIPS_ISA_LEVEL_SPEC.
	(MIPS_ISA_NAN2008_SPEC): Update comment.
	(BASE_DRIVER_SELF_SPECS): Likewise.
	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
	MIPS_DEFAULT_ISA_LEVEL_SPEC.
	* config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
	* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
	* config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.

From-SVN: r219580
2015-01-14 08:35:52 +00:00
Richard Biener 46b622cc24 re PR tree-optimization/64493 (ICE at -O3 on x86_64-linux-gnu)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64493
	PR tree-optimization/64495
	* tree-vect-loop.c (vect_finalize_reduction): For double-reductions
	assign the proper vectorized PHI to the inner loop exit PHIs.

	* gcc.dg/vect/pr64493.c: New testcase.
	* gcc.dg/vect/pr64495.c: Likewise.

From-SVN: r219579
2015-01-14 08:32:18 +00:00
Joey Ye f7d2b51386 arm.c (arm_compute_save_reg_mask): Do not save lr in case of tail call.
2015-01-14  Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.c (arm_compute_save_reg_mask):
        Do not save lr in case of tail call.
        * config/arm/thumb2.md (*thumb2_pop_single): New pattern.

From-SVN: r219578
2015-01-14 08:17:15 +00:00
Martin Uecker de1b5c17fd tree-vrp.c (check_array_ref): Emit more warnings for warn_array_bounds >= 2.
* tree-vrp.c (check_array_ref): Emit more warnings
	for warn_array_bounds >= 2.
	* common.opt: New option -Warray-bounds=.
	* doc/invoke.texi: Document -Warray-bounds=.

	* c.opt: New option -Warray-bounds=.

	* gcc.dg/Warray-bounds-11.c: New test-case.

From-SVN: r219577
2015-01-13 23:50:19 -07:00
Chung-Ju Wu 2ca1ca6581 [NDS32] Remove some features and options that are not available yet in nds32 port of GNU binutils package.
gcc/
	* config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
	(mforbid-fp-as-gp): Remove.
	(mex9): Remove.
	* config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
	(nds32_symbol_load_store_p): Remove.
	(nds32_fp_as_gp_check_available): Clean up implementation.
	* config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
	cases.
	* config/nds32/nds32.c (nds32_asm_file_start): No need to consider
	fp-as-gp and ex9 cases.

From-SVN: r219576
2015-01-14 06:08:35 +00:00
Naveen H.S be77e6092b octeon3-pipe-1.c: New test.
* gcc.target/mips/octeon3-pipe-1.c: New test.

From-SVN: r219575
2015-01-14 06:08:24 +00:00
Jan Hubicka c02ae3ae3d tree-profile.c (init_ic_make_global_vars): Drop workaround for bintuils bug 14342.
* tree-profile.c (init_ic_make_global_vars): Drop workaround
	for bintuils bug 14342.
	(init_ic_make_global_vars): Likewise.
	(gimple_init_edge_profiler): Likewise.
	(gimple_gen_ic_func_profiler): Likewise.

From-SVN: r219574
2015-01-14 05:28:50 +00:00
Naveen H.S 9e145afd37 ipa-inline.c (inline_small_functions): Swap the operands in enum.
2015-01-15  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* ipa-inline.c (inline_small_functions): Swap the operands in
	enum.

From-SVN: r219573
2015-01-14 05:10:44 +00:00
Jan Hubicka 0d92b55538 re PR ipa/64481 (r219076 breaks bootstrap (x86_64-unknown-linux-gnu))
PR ipa/64481
	* ipa-inline-analysis.c (node_growth_cache): Remove.
	(initialize_growth_caches): Do not initialize it.
	(free_growth_caches): Do not free it.
	(do_estimate_growth): Rename to ...
	(estimate_growth): ... this one; drop growth cache code.
	(growth_likely_positive): Always go the heuristics way.
	* ipa-inline.c (can_inline_edge_p): Walk through aliases.
	(reset_edge_caches): Do not reset node growth.
	(heap_edge_removal_hook): Do not maintain cache.
	(inline_small_functions): Likewise; strenghten sanity check.
	(ipa_inline): Do not maintain caches.
	* ipa-inline.h (node_growth_cache): Remove.
	(do_estimate_growth): Remove to ...
	(estimate_growth): this one; remove inline version.
	(reset_node_growth_cache): Remove.

From-SVN: r219572
2015-01-14 03:47:17 +00:00
GCC Administrator dc396715ae Daily bump.
From-SVN: r219569
2015-01-14 00:16:58 +00:00
Kaz Kojima b1479ae31e configure.host: Remove extra brackets for sh.
* libffi/configure.host: Remove extra brackets for sh.

From-SVN: r219565
2015-01-13 23:30:33 +00:00
David Malcolm 86d0ac8876 jit: New API entrypoint: gcc_jit_context_dump_reproducer_to_file
gcc/jit/ChangeLog:
	* docs/cp/topics/contexts.rst (Debugging): Add
	gccjit::context::dump_reproducer_to_file.
	* docs/internals/index.rst (Design notes): New section,
	discussing input validation and
	gcc_jit_context_dump_reproducer_to_file.
	* docs/topics/contexts.rst (Debugging): Add
	gcc_jit_context_dump_reproducer_to_file.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-common.h (gcc::jit::dump::get_context): New accessor.
	* jit-recording.c: Include "hash-map.h".
	Within namespace ::gcc::jit...
	(dump::write): Flush each line.
	(dump::make_location): Pass false for new param "created_by_user".
	(class allocator): New class.
	(allocator::~allocator): New function.
	(allocator::xstrdup_printf): New function.
	(allocator::xstrdup_printf_va): New function.
	(class reproducer): New subclass of dump.
	(reproducer::reproducer): New function.
	(reproducer::write_params): New function.
	(reproducer::write_args): New function.
	(reproducer::make_identifier): New function.
	(reproducer::make_tmp_identifier): New function.
	(reproducer::get_identifier): New pair of functions.
	(reproducer::get_identifier_as_rvalue): New function.
	(reproducer::get_identifier_as_lvalue): New function.
	(reproducer::get_identifier_as_type): New function.
	(reproducer::xstrdup_printf): New function.
	(recording::context::context): Initialize m_toplevel_ctxt.
	(recording::context::new_location): Add param created_by_user.
	(str_option_reproducer_strings): New table of strings.
	(int_option_reproducer_strings): Likewise.
	(bool_option_reproducer_strings): Likewise.
	(get_type_enum_strings): Likewise.
	(names_of_function_kinds): Likewise.
	(global_kind_reproducer_strings): Likewise.
	(unary_op_reproducer_strings): Likewise.
	(binary_op_reproducer_strings): Likewise.
	(comparison_reproducer_strings): Likewise.
	Within namespace ::gcc::jit::recording::...
	(context::dump_reproducer_to_file): New function.
	(string::write_reproducer): Likewise.
	(location::write_reproducer): Likewise.
	(type::access_as_type): Likewise.
	(memento_of_get_type::write_reproducer): Likewise.
	(memento_of_get_pointer::write_reproducer): Likewise.
	(memento_of_get_const::write_reproducer): Likewise.
	(memento_of_get_volatile::write_reproducer): Likewise.
	(array_type::write_reproducer): Likewise.
	(function_type::write_reproducer): Likewise.
	(function_type::write_deferred_reproducer): Likewise.
	(field::write_reproducer): Likewise.
	(struct_::access_as_type): Likewise.
	(struct_::write_reproducer): Likewise.
	(union_::write_reproducer): Likewise.
	(fields::write_reproducer): Likewise.
	(rvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_lvalue): Likewise.
	(param::access_as_rvalue): Likewise.
	(param::access_as_lvalue): Likewise.
	(param::write_reproducer): Likewise.
	(function::write_reproducer): Likewise.
	(block::write_reproducer): Likewise.
	(global::write_reproducer): Likewise.
	(memento_of_new_rvalue_from_const <int>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <long>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <double>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <void *>::write_reproducer):
	Likewise.
	(memento_of_new_string_literal::write_reproducer): Likewise.
	(unary_op::write_reproducer): Likewise.
	(binary_op::write_reproducer): Likewise.
	(comparison::write_reproducer): Likewise.
	(cast::write_reproducer): Likewise.
	(call::write_reproducer): Likewise.
	(call_through_ptr::write_reproducer): Likewise.
	(array_access::write_reproducer): Likewise.
	(access_field_of_lvalue::write_reproducer): Likewise.
	(access_field_rvalue::write_reproducer): Likewise.
	(dereference_field_rvalue::write_reproducer): Likewise.
	(dereference_rvalue::write_reproducer): Likewise.
	(get_address_of_lvalue::write_reproducer): Likewise.
	(local::write_reproducer): Likewise.
	(eval::write_reproducer): Likewise.
	(assignment::write_reproducer): Likewise.
	(assignment_op::write_reproducer): Likewise.
	(comment::write_reproducer): Likewise.
	(conditional::write_reproducer): Likewise.
	(jump::write_reproducer): Likewise.
	(return_::write_reproducer): Likewise.
	* jit-recording.h (gcc::jit::reproducer): New forward declararion.
	Within namespace ::gcc::jit::recording::...
	(context::new_location): Add "created_by_user" param.
	(context::dump_reproducer_to_file): New method.
	(context::m_toplevel_ctxt): New field.
	(memento::write_reproducer): New pure virtual function.
	(memento::dyn_cast_location): New virtual function.
	(string::write_reproducer):
	(location::location): Add "created_by_user" param.
	(location::dyn_cast_location): New function.
	(location::created_by_user): New accessor.
	(location::write_reproducer): New function.
	(location::m_created_by_user): New field.
	(type::access_as_type): New virtual function.
	(location::write_reproducer): Likewise.
	(type::access_as_type): Likewise.
	(memento_of_get_type::write_reproducer): Likewise.
	(memento_of_get_pointer::write_reproducer): Likewise.
	(memento_of_get_const::write_reproducer): Likewise.
	(memento_of_get_volatile::write_reproducer): Likewise.
	(array_type::write_reproducer): Likewise.
	(function_type::write_reproducer): Likewise.
	(function_type::write_deferred_reproducer): Likewise.
	(field::write_reproducer): Likewise.
	(struct_::access_as_type): Likewise.
	(struct_::write_reproducer): Likewise.
	(union_::write_reproducer): Likewise.
	(union_::m_fields): Remove stray unused field.
	(fields::length): New accessor.
	(fields::get_field): New accessor.
	(fields::write_reproducer): New function.
	(rvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_lvalue): Likewise.
	(param::access_as_rvalue): Likewise.
	(param::access_as_lvalue): Likewise.
	(param::write_reproducer): Likewise.
	(function::write_reproducer): Likewise.
	(block::write_reproducer): Likewise.
	(global::write_reproducer): Likewise.
	(memento_of_new_rvalue_from_const <HOST_TYPE>::write_reproducer):
	Likewise.
	(memento_of_new_string_literal::write_reproducer): Likewise.
	(unary_op::write_reproducer): Likewise.
	(binary_op::write_reproducer): Likewise.
	(comparison::write_reproducer): Likewise.
	(cast::write_reproducer): Likewise.
	(call::write_reproducer): Likewise.
	(call_through_ptr::write_reproducer): Likewise.
	(array_access::write_reproducer): Likewise.
	(access_field_of_lvalue::write_reproducer): Likewise.
	(access_field_rvalue::write_reproducer): Likewise.
	(dereference_field_rvalue::write_reproducer): Likewise.
	(dereference_rvalue::write_reproducer): Likewise.
	(get_address_of_lvalue::write_reproducer): Likewise.
	(local::write_reproducer): Likewise.
	(eval::write_reproducer): Likewise.
	(assignment::write_reproducer): Likewise.
	(assignment_op::write_reproducer): Likewise.
	(comment::write_reproducer): Likewise.
	(conditional::write_reproducer): Likewise.
	(jump::write_reproducer): Likewise.
	(return_::write_reproducer): Likewise.
	* libgccjit++.h (gccjit::context::dump_reproducer_to_file): New.
	* libgccjit.c (gcc_jit_context_new_location): Pass "true" as
	param "created_by_user".
	(gcc_jit_context_dump_reproducer_to_file): New API entrypoint.
	* libgccjit.h (gcc_jit_context_dump_reproducer_to_file): New API
	entrypoint.
	* libgccjit.map (gcc_jit_context_dump_reproducer_to_file): New API
	entrypoint.

gcc/testsuite/ChangeLog:
	* jit.dg/harness.h (set_up_logging): Move string concatenation
	into...
	(concat_strings): New function.
	(dump_reproducer): New function.
	(test_jit): Call dump_reproducer.
	* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
	function.
	(jit-dg-test): Delete any generated reproducer from previous runs.
	Verify that a generated reproducer was created, and verify that it
	compiles.
	* jit.dg/test-nested-contexts.c (main): Call
	gcc_jit_context_dump_reproducer_to_file.

From-SVN: r219564
2015-01-13 22:14:46 +00:00
H.J. Lu 9c80f9197e Add dg-require-profiling to gcc.dg/aru-2.c
* gcc.dg/aru-2.c: Add dg-require-profiling.

From-SVN: r219561
2015-01-13 13:24:16 -08:00
H.J. Lu f263fe40d7 Check if -pg links in check_profiling_available
* lib/target-supports.exp (check_profiling_available): Check if
	-pg links.

From-SVN: r219560
2015-01-13 13:13:36 -08:00
Jason Merrill caee690e91 re PR c++/64356 (Some constexpr expressions not recognized as constexpr)
PR c++/64356
	PR libstdc++/58777
	* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
	pointer expressions.
	(cxx_eval_increment_expression): Likewise.

From-SVN: r219559
2015-01-13 16:04:43 -05:00
Jason Merrill 7c368fb23c re PR c++/64514 (Error in template instantiation in GCC 4.9, works fine in GCC 4.8)
PR c++/64514
	* pt.c (coerce_template_parameter_pack): Return NULL for a
	zero-length fixed parameter pack with a pack expansion arg.

From-SVN: r219558
2015-01-13 16:04:35 -05:00
Jason Merrill 8f413ae21e re PR c++/64520 (ICE with std::initializer_list)
PR c++/64520
	* pt.c (unify): Don't try to deduce to std::initializer_list<T...>.

From-SVN: r219557
2015-01-13 16:04:28 -05:00
Jan Hubicka 2001028ad3 re PR ipa/64565 (ICE: in inline_small_functions, at ipa-inline.c:1664)
PR ipa/64565
	* g++.dg/torture/pr64565.C: New testcase.
	* ipa-inline.c (inline_small_functions): Update callee keys after
	resolving speculation
	(inline_small_functions): Always check monotonicity of the queue.

From-SVN: r219556
2015-01-13 20:59:37 +00:00