1. 12 Jun, 2017 20 commits
    • stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator default init. · 07cfc2d7
      2017-06-12  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator
      	default init.
      	* testsuite/util/testsuite_allocator.h
      	(__gnu_test::default_init_allocator<>) New.
      	* testsuite/23_containers/set/allocator/default_init.cc: New.
      	* testsuite/23_containers/map/allocator/default_init.cc: New.
      
      From-SVN: r249136
      François Dumont committed
    • More refinements to fixing sparc's PR target/80968. · 6d1ea02a
      gcc/
      
      	PR target/80968
      	* config/sparc/sparc.md (return expander): Emit frame blockage if
      	function uses alloca.
      
      From-SVN: r249134
      David S. Miller committed
    • compiler: avoid orphaning Bexpressions when processing conversions · 20d5c873
          
          The method Type_conversion_expression::do_get_backend was (in some
          circumstances) creating a Bexpression for the source expression of the
          conversion and then throwing it away before using it. Fix up this
          method to insure that the call to get_backend() on the source
          expression is only made when the result will be used.
          
          Reviewed-on: https://go-review.googlesource.com/45350
      
      From-SVN: r249131
      Ian Lance Taylor committed
    • PR libstdc++/55917 do not handle exceptions in std::thread · 754d67d5
      	PR libstdc++/55917
      	* src/c++11/thread.cc (execute_native_thread_routine): Remove
      	try-block so that exceptions propagate out of the thread and terminate
      	is called by the exception-handling runtime.
      	(execute_native_thread_routine_compat): Likewise.
      	* testsuite/30_threads/thread/cons/terminate.cc: New.
      
      From-SVN: r249130
      Jonathan Wakely committed
    • split-1.c: Require split_stack, don't require freorder. · 196ed8ea
      	* gcc.dg/tree-prof/split-1.c: Require split_stack, don't require
      	freorder.  Update comment to explain test.
      
      From-SVN: r249129
      Ian Lance Taylor committed
    • Fix pessimistic DImode handling in combine.c:make_field_assignment · e701e0b9
      The make_field_assignment code:
      
            src = force_to_mode (src, mode,
      		       GET_MODE_PRECISION (mode) >= HOST_BITS_PER_WIDE_INT
      		       ? HOST_WIDE_INT_M1U
      		       : (HOST_WIDE_INT_1U << len) - 1,
      		       0);
      
      would ignore the field length len for DImode, even though DImode can be
      handled using HWIs.  I think the code should be testing len instead.
      
      2017-06-12  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* combine.c (make_field_assignment): Check len rather than the mode
      	precision when calling force_to_mode.
      
      From-SVN: r249128
      Richard Sandiford committed
    • inline-lrint_1.c: Broaden regexp. · 64ff4f60
      
      2017-06-12  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/aarch64/inline-lrint_1.c: Broaden regexp.
      	* gcc.target/aarch64/inline-lrint_2.c: Likewise.
      	* gcc.target/aarch64/no-inline-lrint_1.c: Likewise.
      	* gcc.target/aarch64/no-inline-lrint_2.c: Likewise.
      
      From-SVN: r249127
      Tamar Christina committed
    • sdiv_costs_1.c: Require arm_v8_vfp_ok. · 5ed2fdfe
      2017-06-12  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/arm/sdiv_costs_1.c: Require arm_v8_vfp_ok.
      
      From-SVN: r249125
      Tamar Christina committed
    • Support multilibs and devices that see flash in RAM address range. · 3266ddb3
      gcc/
      	Support multilibs and devices that see flash in RAM address range.
      
      	PR target/81072
      	* config/avr/avr-arch.h (avr_arch_id) <ARCH_AVRXMEGA3>: New enum.
      	(avr_mcu_t) <flash_pm_offset>: New field.
      	(avr_device_specific_features) <AVR_ISA_RCALL>: New enum.
      	* config/avr/avr.h (AVR_SHORT_CALLS): New define.
      	(AVR_HAVE_JMP_CALL): Don't set if AVR_SHORT_CALLS.
      	(AVR_TINY_PM_OFFSET): Remove macro.
      	* config/avr/avr.opt (-mshort-calls): New option.
      	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
      	[*self_spec]: Add / remove -mshort-calls depending on AVR_ISA_RCALL.
      	* config/avr/avr-c.c (avr_cpu_cpp_builtins)
      	<__AVR_SHORT_CALLS__>: Built-in define if AVR_SHORT_CALLS.
      	<__AVR_HAVE_JMP_CALL__>: Use AVR_HAVE_JMP_CALL as condition
      	instead of avr_arch->have_jmp_call.
      	<__AVR_PM_BASE_ADDRESS__>: Built-in define if avr_arch->flash_pm_offset.
      	[AVR_TINY] <__AVR_TINY_PM_BASE_ADDRESS__>: Use
      	avr_arch->flash_pm_offset to define.
      	* config/avr/avr-devices.c (avr_arch_types): Add initializers for
      	new field flash_pm_offset.  Add entry for avrxmega3.
      	(avr_texinfo): Add entry for avrxmega3.
      	* config/avr/avr-mcus.def: Add entries for: avrxmega3,
      	attiny212, attiny214,
      	attiny412, attiny414, attiny416, attiny417,
      	attiny814, attiny816, attiny817,
      	attiny1614, attiny1616, attiny1617,
      	attiny3214, attiny3216, attiny3217.
      	* config/avr/avr.c (avr_assemble_integer)[AVR_TINY]: Use
      	avr_arch->flash_pm_offset instead of AVR_TINY_PM_OFFSET.
      	(avr_print_operand_address) [AVR_TINY]: Same.
      	(avr_asm_init_sections) <readonly_data_section>: Only patch
      	callback if avr_arch->flash_pm_offset = 0.
      	(avr_asm_named_section) <avr_need_copy_data_p>: Skip setting it
      	for rodata if avr_arch->flash_pm_offset != 0.
      	(avr_encode_section_info) [AVR_TINY]: Adjust comment.
      	* config/avr/genmultilib.awk (dir_rcall, opt_rcall): New vars.
      	(opts) [AVR_ISA_RCALL]: Append opt_rcall.
      	(m_options): Append opt_rcall.
      	(m_dirnames): Append dir_rcall.
      	* config/avr/t-multilib: Regenerate.
      	* configure.ac [target=avr]: Check whether avrxmega3 default
      	linker description file works as needed.
      	* configure: Regenerate.
      	* doc/avr-mmcu.texi: Regenerate.
      	* doc/invoke.texi (AVR Options) <-mshort-calls>: Document it.
      	<__AVR_ARCH__>: Document avrxmega3 and 103.
      	<__AVR_HAVE_JMP_CALL__>: Adjust documentation.
      	<__AVR_SHORT_CALLS__>: Document it.
      	<__AVR_PM_BASE_ADDRESS__>: Document it.
      	* doc/extend.texi (AVR Options) <-mshort-calls>: Document it.
      	(AVR Variable Attributes) <progmem>: Document this is
      	not needed for avrxmega3.
      	(AVR Named Address Spaces) <__flash>: Dito.
      
      From-SVN: r249124
      Georg-Johann Lay committed
    • sdiv_costs_1.c: Disable on softfloat. · 6cddb61c
      2017-06-12  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/arm/sdiv_costs_1.c: Disable on softfloat.
      
      From-SVN: r249122
      Tamar Christina committed
    • config.gcc (*-*-vxworks*): Set use_gcc_stdint to "provide". · a476498c
      2017-06-12  Doug Rupp  <rupp@adacore.com>
      
      	gcc/
      	* config.gcc (*-*-vxworks*): Set use_gcc_stdint to "provide".
      	Append vxworks-stdint.h to the tm_file list.
      	* config/vxworks-stdint.h: New file.
      
      	fixincludes/
      	* inclhack.def (AAB_vxworks_stdint): Remove hack.
      	* fixincl.x: Regenerate.
      
      From-SVN: r249121
      Doug Rupp committed
    • Create an extra BB in profile-generate (PR tree-optimization/81041). · c9c15e27
      2017-06-12  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/81041
      	* tree-profile.c (gimple_gen_ic_func_profiler):
      	Create an extra BB in profile-generate
      	(gimple_gen_time_profiler): Likewise.
      
      From-SVN: r249120
      Martin Liska committed
    • re PR bootstrap/80897 (gnat bootstrap broken on SPARC64/Linux) · 3b387bff
      	PR bootstrap/80897
      	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Use Positive index.
      
      From-SVN: r249119
      Eric Botcazou committed
    • rs6000: Remove e500.h from config.gcc some more · c725f69c
      
      	* config.gcc: Remove rs6000/e500.h from tm_file for all targets.
      
      From-SVN: r249117
      Segher Boessenkool committed
    • re PR ada/81070 (build failure for s-intrr.adb) · cdf2dd41
      	PR ada/81070
      	* s-interr-hwint.adb: Reinstate.
      	* gcc-interface/Makefile.in (RTEMS): Use it again.
      
      From-SVN: r249115
      Eric Botcazou committed
    • re PR tree-optimization/81003 (ICE: tree check: expected ssa_name, have… · aebce396
      re PR tree-optimization/81003 (ICE: tree check: expected ssa_name, have integer_cst in optimize_range_tests_to_bit_test, at tree-ssa-reassoc.c:2782)
      
      	PR tree-optimization/81003
      	* tree-ssa-reassoc.c (force_into_ssa_name): New function.
      	(update_range_test): Use it instead of force_gimple_operand_gsi.
      
      	* gcc.c-torture/compile/pr81003.c: New test.
      
      From-SVN: r249114
      Jakub Jelinek committed
    • re PR tree-optimization/81053 (ICE on valid code at -O3 on x86_64-linux-gnu: in… · 3fd7fe21
      re PR tree-optimization/81053 (ICE on valid code at -O3 on x86_64-linux-gnu: in as_a, at is-a.h:192)
      
      2017-06-12  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81053
      	* tree-vect-loop.c (vect_is_simple_reduction): Handle PHI
      	with backedge value not defined in loop.  Simplify def stmt
      	compute.
      
      	* gcc.dg/torture/pr81053.c: New testcase.
      
      From-SVN: r249113
      Richard Biener committed
    • elf.c (backtrace_initialize): Always set *fileline_fn. · d1609a23
      	* elf.c (backtrace_initialize): Always set *fileline_fn.
      	* ttest.c: New file.
      	* btest.c: Move support functions into testlib.c.  Change calls to
      	check to pass file name.
      	* testlib.c: New file, copied from (part of) btest.c.
      	* testlib.h: New file, declarations for testlib.c.
      	* edtest.c: Use testlib.h and testlib.c.
      	* configure.ac: Test for -pthread, set HAVE_PTHREAD conditional.
      	* Makefile.am (btest_SOURCES): Add testlib.c.
      	(edtest_SOURCES): Likewise.
      	(CHECK_PROGRAMS): Add ttest if HAVE_PTHREAD.
      	(ttest_SOURCES, ttest_CFLAGS, ttest_LDADD): Define.
      	* configure, Makefile.in: Rebuild.
      
      From-SVN: r249111
      Ian Lance Taylor committed
    • Daily bump. · 1e7a4be3
      From-SVN: r249110
      GCC Administrator committed
  2. 11 Jun, 2017 5 commits
  3. 10 Jun, 2017 12 commits
    • ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h · 09fcc0c0
      
      	* ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
      	(mark_all_inlined_calls_cdtor): Fix formating.
      	(inline_transform): Rescale profile before inlining.
      
      From-SVN: r249098
      Jan Hubicka committed
    • cgraph.h (cgraph_edge::clone): Update prototype. · 1511c8c0
      
      	* cgraph.h (cgraph_edge::clone): Update prototype.
      	* cgraphclones.c (cgraph_edge::clone): Update profile scaling.
      	(cgraph_node::create_clone): Update.
      	(cgraph_node::create_version_clone): Update.
      	* tree-inline.c (copy_bb): Update.
      	(expand_call_inline): Update.
      
      From-SVN: r249097
      Jan Hubicka committed
    • rs6000: Factor out emit_vrsave_prologue · 9a58d6cd
      This is a second patch to make the prologue code more manageable.
      
      
      	* config/rs6000/rs6000.c (emit_vrsave_prologue): New function,
      	factored out from ...
      	(rs6000_emit_prologue): ... here.
      
      From-SVN: r249096
      Segher Boessenkool committed
    • rs6000: Factor out emit_split_stack_prologue · 85e71e35
      This is a first patch to make the prologue code more manageable.
      
      
      	* config/rs6000/rs6000.c (emit_split_stack_prologue): New function,
      	factored out from ...
      	(rs6000_emit_prologue): ... here.
      
      From-SVN: r249095
      Segher Boessenkool committed
    • predict.c (drop_profile): Also drop individual bb/edge and cgraph edge counts. · e525ddf4
      
      	* predict.c (drop_profile): Also drop individual bb/edge and cgraph
      	edge counts.
      	(handle_missing_profiles): Fix computation of tp_first_run.
      	(counts_to_freqs): Do not touch freqs when count is 0.
      
      From-SVN: r249094
      Jan Hubicka committed
    • cgraphbuild.c (cgraph_edge::rebuild_references): Do not touch profile. · 9a73a3c3
      	* cgraphbuild.c (cgraph_edge::rebuild_references): Do not touch
      	profile.
      
      From-SVN: r249093
      Jan Hubicka committed
    • re PR fortran/80988 (171_swim fails) · ac39f0e8
      2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/80988
      	* frontend-passes.c (traverse_io_block):  Also
      	check for variables occurring as indices multiple
      	time in a single implied DO loop.
      
      2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/80988
      	* gfortran.dg/implied_do_io_3.f90:  New test.
      
      From-SVN: r249092
      Thomas Koenig committed
    • Add effective target signal · 18787c38
      2017-06-10  Tom de Vries  <tom@codesourcery.com>
      
      	* lib/target-supports.exp (check_effective_target_signal): New proc.
      	* lib/gcc.exp (gcc_target_compile): Remove appending of
      	-DSIGNAL_SUPPRESS to additional_flags.
      	* gcc.c-torture/execute/ieee/ieee.exp: Add -DSIGNAL_SUPPRESS to
      	additional_flags if effective target signal is not supported by the
      	target.
      	* gcc.c-torture/execute/20101011-1.c: Same.
      	* gcc.dg/c99-stdint-1.c: Same.
      	* gcc.dg/c99-stdint-2.c: Same.
      	* gcc.dg/c99-stdint-5.c: Same.
      	* gcc.dg/c99-stdint-6.c: Same.
      	* gcc.dg/stdint-width-1.c: Same.
      
      	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
      	attributes): Document signal effective target.
      
      From-SVN: r249091
      Tom de Vries committed
    • Add effective target stack_size · 0069a009
      2017-06-10  Tom de Vries  <tom@codesourcery.com>
      
      	* lib/target-supports.exp (check_effective_target_stack_size)
      	(dg-effective-target-value): New proc.
      	* lib/gcc.exp (gcc_target_compile): Remove adding of DSTACK_SIZE to
      	additional_flags.
      	* lib/objc.exp (objc_target_compile): Same.
      	* lib/profopt.exp (profopt-get-options): Allow dg-additional-options.
      	* g++.old-deja/g++.eh/badalloc1.C: Add -DSTACK_SIZE=<value> using
      	dg-additional-options.
      	* gcc.c-torture/compile/20080806-1.c: Same.
      	* gcc.c-torture/compile/920723-1.c: Same.
      	* gcc.c-torture/compile/930621-1.c: Same.
      	* gcc.c-torture/compile/991214-2.c: Same.
      	* gcc.c-torture/compile/bcopy.c: Same.
      	* gcc.c-torture/compile/memtst.c: Same.
      	* gcc.c-torture/compile/msp.c: Same.
      	* gcc.c-torture/compile/stuct.c: Same.
      	* gcc.c-torture/execute/20011008-3.c: Same.
      	* gcc.c-torture/execute/20030209-1.c: Same.
      	* gcc.c-torture/execute/20031012-1.c: Same.
      	* gcc.c-torture/execute/20040805-1.c: Same.
      	* gcc.c-torture/execute/920410-1.c: Same.
      	* gcc.c-torture/execute/920501-7.c: Same.
      	* gcc.c-torture/execute/921113-1.c: Same.
      	* gcc.c-torture/execute/921202-1.c: Same.
      	* gcc.c-torture/execute/921208-2.c: Same.
      	* gcc.c-torture/execute/930106-1.c: Same.
      	* gcc.c-torture/execute/930406-1.c: Same.
      	* gcc.c-torture/execute/950221-1.c: Same.
      	* gcc.c-torture/execute/960521-1.c: Same.
      	* gcc.c-torture/execute/980605-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-2.c: Same.
      	* gcc.c-torture/execute/memcpy-1.c: Same.
      	* gcc.c-torture/execute/multi-ix.c: Same.
      	* gcc.c-torture/execute/nestfunc-4.c: Same.
      	* gcc.c-torture/execute/pr20621-1.c: Same.
      	* gcc.c-torture/execute/pr23135.c: Same.
      	* gcc.c-torture/execute/pr28982b.c: Same.
      	* gcc.dg/loop-3.c: Same.
      	* gcc.dg/struct-ret-3.c: Same.
      	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
      	* gcc.dg/tree-prof/comp-goto-1.c: Same.
      	* gcc.dg/tree-prof/pr44777.c: Same.
      
      	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
      	Document effective target stack_size.
      
      From-SVN: r249090
      Tom de Vries committed
    • Missing bits from N4268, constant evaluation for all non-type args. · e6d7d618
      	* call.c (build_converted_constant_expr): Rename from
      	build_integral_nontype_arg_conv, handle all types.
      	* pt.c (convert_nontype_argument): In C++17 call it for all types.
      	Move NOP stripping inside pointer case, don't strip ADDR_EXPR.
      	* cvt.c (strip_fnptr_conv): Also strip conversions to the same type.
      
      From-SVN: r249089
      Jason Merrill committed
    • Overhaul pointer-to-member conversion and template argument handling. · 8b8b203a
      	* call.c (standard_conversion): Avoid creating ck_pmem when the
      	class type is the same.
      	* cvt.c (can_convert_qual): Split from
      	perform_qualification_conversions.
      	* constexpr.c (cxx_eval_constant_expression): Check it.
      	* typeck.c (convert_ptrmem): Only cplus_expand_constant if
      	adjustment is necessary.
      	* pt.c (check_valid_ptrmem_cst_expr): Compare class types.
      	(convert_nontype_argument): Avoid redundant error.
      
      From-SVN: r249088
      Jason Merrill committed
    • Daily bump. · 52486891
      From-SVN: r249087
      GCC Administrator committed
  4. 09 Jun, 2017 3 commits
    • Don't fold conversion from a constant variable. · bf31620c
      	* call.c (convert_like_real): Remove "inner" parameter.
      	Don't replace a constant with its value.
      	* cp-gimplify.c (cp_fully_fold): Use cp_fold_rvalue.
      
      From-SVN: r249083
      Jason Merrill committed
    • Add support for mutually-incompatible fix-it hints · b09649fd
      This patch adds a method:
        rich_location::fixits_cannot_be_auto_applied
      for ensuring that mutually-incompatible fix-its hints don't
      lead to insane output from -fdiagnostics-generate-patch.
      
      Fix-it hints within such rich_location instances are printed
      as normal by diagnostic_show_locus, but don't affect the output
      of -fdiagnostics-generate-patch.
      
      gcc/ChangeLog:
      	* diagnostic.c (diagnostic_report_diagnostic): Only add fixits
      	to the edit_context if they can be auto-applied.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
      	(test_mutually_exclusive_suggestions): New test function.
      	* gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c
      	(test_mutually_exclusive_suggestions): New test function.
      	* gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c
      	(test_mutually_exclusive_suggestions): New test function.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Add special-case for
      	"test_mutually_exclusive_suggestions".
      
      libcpp/ChangeLog:
      	* include/line-map.h
      	(rich_location::fixits_cannot_be_auto_applied): New method.
      	(rich_location::fixits_can_be_auto_applied_p): New accessor.
      	(rich_location::m_fixits_cannot_be_auto_applied): New field.
      	* line-map.c (rich_location::rich_location): Initialize new field.
      
      From-SVN: r249081
      David Malcolm committed
    • Fix template argument of nullptr_t type. · c5d6c6d9
      	* pt.c (convert_nontype_argument): Check NULLPTR_TYPE_P rather than
      	nullptr_node.
      
      From-SVN: r249080
      Jason Merrill committed