1. 04 Feb, 2015 31 commits
  2. 03 Feb, 2015 9 commits
    • intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1. · db78ae15
      2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
      
      From-SVN: r220381
      Steven G. Kargl committed
    • go/types: Remove unused testdata files. · bfdd75a8
      The go/types package was removed in July 2013, but the
      testdata files were accidentally left behind.
      
      From-SVN: r220378
      Ian Lance Taylor committed
    • re PR rtl-optimization/64756 (wrong code at -O3 on x86_64-linux-gnu (in 32-bit mode)) · 2a1d78d8
      	PR rtl-optimization/64756
      	* cse.c (invalidate_dest): New function.
      	(cse_insn): Use it.  If dest != SET_DEST (sets[i].rtl) and
      	HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
      	invalidate and do not record it.
      
      	* gcc.c-torture/execute/pr64756.c: New test.
      
      From-SVN: r220377
      Jakub Jelinek committed
    • re PR target/64660 ([SH] Convert atomic_fetch_<op> to atomic_<op>_fetch) · 3548abca
      gcc/
      	PR target/64660
      	* config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
      	atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
      	atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
      	atomic_nand<mode>_soft_tcb): New insns.
      	(atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
      	Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
      	(define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
      	Split into atomic_not_fetchsi_hard if operands[0] is unused.
      	(atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
      	Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
      	(atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
      	atomic_not<mode>_hard if operands[0] is unused.
      	(atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
      	insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
      	if operands[0] is unused.
      	(atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
      	into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
      	(atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
      	Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
      	unused.
      	(atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
      	into atomic_not<mode>_soft_tcb if operands[0] is unused.
      	(atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
      	insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
      	if operands[0] is unused.
      	(atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
      	into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
      	(atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
      	atomic_nand_fetchsi_hard if operands[0] is unused.
      	(atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
      	atomic_nand<mode>_hard if operands[0] is unused.
      	(atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
      	into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
      	(atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
      	into atomic_nand<mode>_soft_tcb if operands[0] is unused.
      	(atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
      	into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
      	(atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
      	Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
      	(atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
      	atomic_not<mode>_hard if operands[0] is unused.
      	(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
      	Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
      	unused.
      	(atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
      	into atomic_not<mode>_soft_tcb if operands[0] is unused.
      	(atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
      	atomic_nand<mode>_hard if operands[0] is unused.
      	(atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
      	into atomic_nand<mode>_soft_tcb if operands[0] is unused.
      
      gcc/testsuite/
      	PR target/64660
      	* gcc.target/sh/pr64660-0.h: New.
      	* gcc.target/sh/pr64660-1.c: New.
      	* gcc.target/sh/pr64660-2.c: New.
      	* gcc.target/sh/pr64660-3.c: New.
      	* gcc.target/sh/pr64660-4.c: New.
      
      From-SVN: r220376
      Oleg Endo committed
    • jit: option-logging · 0ed4f017
      gcc/jit/ChangeLog:
      	* jit-logging.h (gcc::jit::log_user::log): Make const.
      	* jit-recording.c (gcc::jit::recording::context::set_str_option):
      	Log the new value of the option.
      	(gcc::jit::recording::context::set_int_option): Likewise.
      	(gcc::jit::recording::context::set_bool_option): Likewise.
      	(gcc::jit::recording::context::compile): Log the value of all
      	options.
      	(gcc::jit::recording::context::compile_to_file): Likewise.
      	(gcc::jit::recording::context::log_all_options): New function.
      	(gcc::jit::recording::context::log_str_option): New function.
      	(gcc::jit::recording::context::log_int_option): New function.
      	(gcc::jit::recording::context::log_bool_option): New function.
      	* jit-recording.h (gcc::jit::recording::context::log_all_options):
      	New function.
      	(gcc::jit::recording::context::log_str_option): New function.
      	(gcc::jit::recording::context::log_int_option): New function.
      	(gcc::jit::recording::context::log_bool_option): New function.
      	* docs/internals/test-hello-world.exe.log.txt: Update for above
      	changes.
      
      From-SVN: r220375
      David Malcolm committed
    • re PR c++/64877 (strange warning message from -Waddress) · 457d0ace
      /cp
      2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64877
      	* typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
      	for generated expressions.
      
      /testsuite
      2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64877
      	* g++.dg/warn/Waddress-2.C: New.
      
      From-SVN: r220374
      Paolo Carlini committed
    • PR jit/64810: driver, arm, jit: configure-time default options · 2cb844ce
      gcc/ChangeLog:
      	PR jit/64810
      	* Makefile.in (GCC_OBJS): Add gcc-main.o.
      	* gcc-main.c: New file, containing "main" taken from gcc.c.
      	* gcc.c (do_self_spec): Free decoded_options.
      	(class driver): Move declaration to gcc.h.
      	(main): Move declaration and implementation to new file
      	gcc-main.c.
      	(driver_get_configure_time_options): New function.
      	* gcc.h (class driver): Move this declaration here, from
      	gcc.c.
      	(driver_get_configure_time_options): New declaration.
      
      gcc/jit/ChangeLog:
      	PR jit/64810
      	* Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o.
      	(LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS.
      	* jit-playback.c: Include gcc.h.
      	(gcc::jit::playback::context::compile): Move mutex acquisition
      	to before the call to make_fake_args.
      	(append_arg_from_driver): New function.
      	(gcc::jit::playback::context::make_fake_args): On the first call,
      	call into driver_get_configure_time_options to get configure-time
      	default options and cache them.  Add them to the args for
      	toplev::main.
      	* jit-spec.c: New source file.
      	* docs/internals/test-hello-world.exe.log.txt: Update to reflect
      	above changes.
      
      From-SVN: r220373
      David Malcolm committed
    • ipa-inline-analysis.c (simple_edge_hints): Fix check for cross-module inlining. · ebc8f0bb
      	* ipa-inline-analysis.c (simple_edge_hints): Fix check for
      	cross-module inlining.
      	* cgraph.h (cgraph_node): Add flag merged.
      	* ipa-icf.c (sem_function::merge): Maintain it.
      
      	* lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
      
      From-SVN: r220372
      Jan Hubicka committed
    • arm.c (thumb2_reorg): Test UNARY_P and BINARY_P instead of OBJECT_P. · 901e59b2
      gcc/
      	* config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
      	instead of OBJECT_P.
      
      From-SVN: r220371
      Richard Sandiford committed