1. 10 Oct, 2016 34 commits
    • Always support float128 on ia64 (PR target/77586). · 73f01cca
      Bug 77586, and previously
      <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, reports
      ia64-elf failing to build because of float128_type_node being NULL,
      but being used by the back end for __float128.
      
      The global float128_type_node is only available conditionally, if
      target hooks indicate TFmode is not only available as a scalar mode
      and of the right format, but also supported in libgcc.  The back-end
      support, however, expects the type always to be available for
      __float128 even if the libgcc support is missing.
      
      Although a target-specific node could be restored in the case where
      libgcc support is missing, it seems better to address the missing
      libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
      globally for all ia64 targets.  Support for XFmode in libgcc (that is,
      for libgcc2.c XFmode functions, not soft-fp) is also enabled for all
      ia64 targets so that ia64 no longer needs to define the
      TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P hook.
      
      I've confirmed that ia64-elf builds cc1 with this patch and it passes
      -fself-test.  I have not otherwise tested the patch.  It's plausible
      that ia64-elf and ia64-freebsd might work as-is, but ia64-vms probably
      needs further changes, by someone familiar with VMS shared libraries,
      to implement an equivalent of ia64/t-softfp-compat in that case
      (avoiding conflicts between __divtf3 from soft-fp and the old alias
      for __divxf3).
      
      	PR target/77586
      gcc:
      	* config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
      	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
      	* config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
      	* config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
      	* config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
      	(IA64_NO_LIBGCC_TFMODE): Likewise.
      
      libgcc:
      	* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use
      	soft-fp.
      
      From-SVN: r240955
      Joseph Myers committed
    • * sv.po: Update. · 6e341649
      From-SVN: r240953
      Joseph Myers committed
    • Improve docs on libstdc++ source-code layout · 5c248975
      	* doc/xml/manual/appendix_contributing.xml (contrib.organization):
      	Replace <literallayout> with nested <variablelist> elements. Update
      	some more outdated text.
      	* doc/html/*: Regenerate.
      
      From-SVN: r240952
      Jonathan Wakely committed
    • Make any's copy assignment operator exception-safe, · 1725d05d
      don't copy the underlying value when any is moved,
      make in_place constructors explicit.
      * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
      Make explicit.
      (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
      Likewise.
      (operator=(const any&)): Make strongly exception-safe.
      (operator=(any&&)): reset() unconditionally in the case where
      rhs has a value.
      (operator=(_ValueType&&)): Indent the return type.
      (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
      * testsuite/20_util/any/assign/2.cc: Adjust.
      * testsuite/20_util/any/assign/exception.cc: New.
      * testsuite/20_util/any/cons/2.cc: Adjust.
      * testsuite/20_util/any/cons/explicit.cc: New.
      * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
      
      From-SVN: r240951
      Ville Voutilainen committed
    • Allocate bitmap before copying · 496f8eea
      Allocate bitmap before copying
      gcc/ChangeLog:
      
      2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
      	  copying.
      
      From-SVN: r240950
      Kugan Vivekanandarajah committed
    • configure.ac: Add aarch64-*-freebsd*. · b20e7532
      toplevel:
      
      2016-10-10  Andreas Tobler <andreast@gcc.gnu.org>
      
          * configure.ac: Add aarch64-*-freebsd*.
          * configure: Regenerate.
      
      gcc:
      
      2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.gcc: Add aarch64-*-freebsd* support.
          * config.host: Likewise.
          * config/aarch64/aarch64-freebsd.h: New file.
          * config/aarch64/t-aarch64-freebsd: Ditto.
      
      libgcc:
      
      2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.host: Add support for aarch64-*-freebsd*.
      
      From-SVN: r240949
      Andreas Tobler committed
    • C++17 class deduction issues · b7beb16a
      	PR c++/77890
      	PR c++/77912
      	* pt.c (do_class_deduction): Set cp_unevaluated_operand.
      	(tsubst) [TEMPLATE_TYPE_PARM]: Copy CLASS_PLACEHOLDER_TEMPLATE.
      
      From-SVN: r240948
      Jason Merrill committed
    • re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM) · d30078b8
              PR tree-optimization/71947
      	* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
      	B with A within a single statement.
      
      	PR tree-optimization/71947
      	* gcc.dg/tree-ssa/pr71947-1.c: New test.
      	* gcc.dg/tree-ssa/pr71947-2.c: New test.
      	* gcc.dg/tree-ssa/pr71947-3.c: New test.
      	* gcc.dg/tree-ssa/pr71947-4.c: New test.
      	* gcc.dg/tree-ssa/pr71947-5.c: New test.
      	* gcc.dg/tree-ssa/pr71947-6.c: New test.
      
      From-SVN: r240947
      Jeff Law committed
    • Update docs on libstdc++ source-code layout · db625934
      	* doc/xml/manual/appendix_contributing.xml (contrib.organization):
      	Describe other subdirectories and add markup. Remove outdated
      	reference to check-script target.
      	* doc/html/*: Regenerate.
      
      From-SVN: r240946
      Jonathan Wakely committed
    • re PR tree-optimization/77824 (unreachable code in SLSR GIMPLE pass) · fbcdc43e
      2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/77824
      	* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
      	zero cost for copies.
      	(find_candidates_dom_walker::before_dom_children): Replace
      	MODIFY_EXPR with SSA_NAME.
      	(replace_mult_candidate): Likewise.
      	(replace_profitable_candidates): Likewise.
      
      From-SVN: r240945
      Bill Schmidt committed
    • Correct C++11 implementation status docs · e2be4477
      	* doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
      
      From-SVN: r240944
      Jonathan Wakely committed
    • Use noexcept instead of _GLIBCXX_USE_NOEXCEPT · a3dbb635
      	* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
      	with noexcept.
      
      From-SVN: r240943
      Jonathan Wakely committed
    • compiler: prune away gcc-specific linemap usage · 71543388
          
          Add an interface to the go Linemap class to allow clients to ask for the
          line number for a Location (for debugging dumps), so as to move some
          gcc-specific location code into the back end.
          
          Reviewed-on: https://go-review.googlesource.com/30699
      
      	* go-linemap.cc (Gcc_linemap::location_line): New method.
      
      From-SVN: r240942
      Than McIntosh committed
    • runtime: copy channel code from Go 1.7 runtime · 5d8c099e
          
          Change the compiler to use the new routines. Drop the separation of
          small and large values when sending on a channel. Allocate the select
          struct on the stack. Remove the old C implementation of channels. Adjust
          the garbage collector for the new data structure.
          
          Bring in part of the tracing code, enough for the channel code to call.
          
          Bump the permitted number of allocations in one of the tests in
          context_test.go. The difference is that now receiving from a channel
          allocates a sudog, which the C code used to simply put on the
          stack. This will be somewhat better when we port proc.go.
          
          Reviewed-on: https://go-review.googlesource.com/30714
      
      From-SVN: r240941
      Ian Lance Taylor committed
    • Minor simplification to std::_Bind_result helpers · 40962ac0
      	* include/std/functional (_Bind_result::__enable_if_void): Use alias
      	template instead of class template.
      	(_Bind_result::__disable_if_void): Likewise.
      	(_Bind_result::__call): Adjust uses of __enable_if_void and
      	__disable_if_void.
      
      From-SVN: r240940
      Jonathan Wakely committed
    • S/390: Wrap more macro args into () · 2d6744f4
      Turned out that there where a few () around macro args uses missing.
      One real problem with it was detected with the int-in-bool-context in
      the definition of DBX_REGISTER_NUMBER. But while being at it I've
      also tried to fix other places where brackets might be missing.
      
      gcc/ChangeLog:
      
      2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.h: Wrap more macros args in brackets and fix
              some formatting.
      
      From-SVN: r240930
      Andreas Krebbel committed
    • Implement constexpr std::addressof for C++17 · 9e023e33
      	* doc/xml/manual/intro.xml: Document DR 2296 status.
      	* doc/xml/manual/status_cxx2017.xml: Update status.
      	* include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
      	call __builtin_addressof.
      	(addressof): Add _GLIBCXX17_CONSTEXPR.
      	* testsuite/20_util/addressof/requirements/constexpr.cc: New test.
      	* testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
      	* testsuite/20_util/forward/f_neg.cc: Likewise.
      
      From-SVN: r240929
      Jonathan Wakely committed
    • re PR fortran/77915 (Internal error for matmul() in forall with optimization) · 5f869266
      2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/77915
      	* frontend-passes.c (inline_matmul_assign):  Return early if
      	inside a FORALL statement.
      
      2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/77915
      	* gfortran.dg/matmul_11.f90:  New test.
      
      From-SVN: r240928
      Thomas Koenig committed
    • gen-avr-mmcu-texi.c (string.h): Include. · df48be86
      	* config/avr/gen-avr-mmcu-texi.c (string.h): Include.
      
      From-SVN: r240925
      Georg-Johann Lay committed
    • [4/4] ARMv8.2-A testsuite for new scalar intrinsics · 174e0b00
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: Support FMT64.
      	* gcc.target/aarch64/advsimd-intrinsics/vabdh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcageh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcagth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcaleh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcalth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vceqh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vceqzh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgeh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgezh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgtzh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcleh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vclezh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vclth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcltzh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmash_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulh_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulxh_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrecpeh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrecpsh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrecpxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrsqrteh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrsqrtsh_f16_1.c: New.
      
      From-SVN: r240924
      Jiong Wang committed
    • [3/4] ARMv8.2-A testsuite for new vector intrinsics · 4bc63138
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/vdiv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmas_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmas_n_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxnmv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminnmv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmul_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulx_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulx_n_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vpminmaxnm_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndi_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vsqrt_f16_1.c: New.
      
      From-SVN: r240923
      Jiong Wang committed
    • [2/4] ARMv8.2-A testsuite for new data movement intrinsics · 8f3edb07
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (FP16_SUPPORTED):
      	Enable AArch64.
      	* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Add support for
      	vdup*_laneq.
      	* gcc.target/aarch64/advsimd-intrinsics/vduph_lane.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: New.
      
      From-SVN: r240922
      Jiong Wang committed
    • [1/4] ARMv8.2-A FP16 testsuite selector · 6e49f922
      gcc/testsuite/
      
      	* target-supports.exp (add_options_for_arm_v8_2a_fp16_scalar): Mention
      	AArch64 support.
      	(add_options_for_arm_v8_2a_fp16_neon): Likewise.
      	(check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): Support
      	AArch64 targets.
      	(check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): Support
      	AArch64 targets.
      	(check_effective_target_arm_v8_2a_fp16_scalar_hw): Support AArch64
      	targets.
      	(check_effective_target_arm_v8_2a_fp16_neon_hw): Likewise.
      
      From-SVN: r240921
      Jiong Wang committed
    • Define std::allocator<T>::is_always_equal · 46942c81
      	* include/bits/allocator.h (allocator<T>::is_always_equal): Define.
      	* testsuite/20_util/allocator/requirements/typedefs.cc: Test for
      	is_always_equal.
      	* testsuite/util/testsuite_allocator.h
      	(uneq_allocator::is_always_equal): Define as false_type.
      
      From-SVN: r240920
      Jonathan Wakely committed
    • LWG 2733, LWG 2759 reject bool in gcd and lcm · f2e79496
      	* include/experimental/numeric (gcd, lcm): Make bool arguments
      	ill-formed.
      	* include/std/numeric (gcd, lcm): Likewise.
      	* testsuite/26_numerics/gcd/gcd_neg.cc: New test.
      	* testsuite/26_numerics/lcm/lcm_neg.cc: New test.
      
      From-SVN: r240919
      Jonathan Wakely committed
    • re PR target/77738 (Invalid initialisation of ar.lc register) · fee13acd
      PR target/77738
      * config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
      pseudo is not DImode.
      
      From-SVN: r240918
      Andreas Schwab committed
    • Add noexcept to enable_shared_from_this::weak_from_this · 208b8b69
      	* include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
      	Add noexcept.
      	* include/bits/shared_ptr_base.h
      	(__enable_shared_from_this::weak_from_this): Likewise.
      	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
      	Test exception-specification of weak_from_this.
      
      From-SVN: r240917
      Jonathan Wakely committed
    • [ARC] Disable compact casesi patterns for arcv2 · 30102051
      gcc/
      2016-05-09  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* common/config/arc/arc-common.c (arc_option_optimization_table):
      	Remove compact casesi option.
      	* config/arc/arc.c (arc_override_options): Use compact casesi
      	option only for pre-ARCv2 cores.
      	* doc/invoke.texi (mcompact-casesi): Update text.
      
      From-SVN: r240916
      Claudiu Zissulescu committed
    • decl.c (gnat_to_gnu_entity): Put volatile qualifier on types at the very end of the processing. · 41683e1a
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
      	on types at the very end of the processing.
      	(gnat_to_gnu_param): Remove redundant test.
      	(change_qualified_type): Do nothing for unconstrained array types.
      
      From-SVN: r240915
      Eric Botcazou committed
    • utils2.c (find_common_type): Do not return the LHS type if it's an array with… · 036a2fa2
      utils2.c (find_common_type): Do not return the LHS type if it's an array with non-constant lower bound and...
      
      	* gcc-interface/utils2.c (find_common_type): Do not return the LHS type
      	if it's an array with non-constant lower bound and the RHS type is an
      	array with a constant one.
      
      From-SVN: r240913
      Eric Botcazou committed
    • utils.c (convert): For a biased input type, convert the bias itself to the base… · 55cfd746
      utils.c (convert): For a biased input type, convert the bias itself to the base type before adding it.
      
      	* gcc-interface/utils.c (convert): For a biased input type, convert
      	the bias itself to the base type before adding it.
      
      From-SVN: r240910
      Eric Botcazou committed
    • * config-lang.in (lang_requires_boot_languages): Delete. · f47ef399
      From-SVN: r240909
      Eric Botcazou committed
    • rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): Add macro to say we can… · 87b44b83
      rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): Add macro to say we can efficiently handle overlapping unaligned loads.
      
      2016-10-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): 
      	Add macro to say we can efficiently handle overlapping unaligned
      	loads.
      	* config/rs6000/rs6000.c (expand_block_compare): Avoid generating
      	poor code for processors older than p8.
      
      From-SVN: r240908
      Aaron Sawdey committed
    • Daily bump. · 4815e7d4
      From-SVN: r240907
      GCC Administrator committed
  2. 09 Oct, 2016 6 commits
    • * gen-pass-instances.awk: Remove GNUism. · 772ebeb5
      From-SVN: r240904
      Eric Botcazou committed
    • ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of… · 676b4899
      ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of (*ipcp_transformations)][node->uid].
      
      2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of
      	(*ipcp_transformations)][node->uid].
      
      From-SVN: r240903
      Prathamesh Kulkarni committed
    • PR 67585 Handle EINTR · b9233944
      Many POSIX systems have the bad habit of not restarting interrupted
      syscalls. On these systems it's up to the user to check for an error
      with errno == EINTR and restart manually. This patch does this for
      libgfortran, so that GFortran users don't have to do it.
      
      2016-10-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
              PR libfortran/67585
              * io/io.h: TEMP_FAILURE_RETRY: Define macro if not found.
              * io/unix.c (raw_read): Handle EINTR.
              (raw_write): Check for return value -1.
              (raw_seek): Handle EINTR.
              (raw_tell): Likewise.
              (raw_size): Likewise.
              (raw_truncate): Likewise.
              (raw_close): Likewise.
              (buf_flush): Call raw_seek instead of lseek.
              (buf_read): Likewise.
              (buf_write): Likewise.
              (fd_to_stream): Handle EINTR.
              (tempfile_open): Likewise.
              (regular_file2): Likewise.
              (compare_file_filename): Likewise.
              (find_file): Likewise.
              (inquire_sequential): Likewise.
              (inquire_direct): Likewise.
              (inquire_formatted): Likewise.
      
      From-SVN: r240902
      Janne Blomqvist committed
    • pa.h (BIGGEST_ALIGNMENT): Adjust comment. · df74f099
      	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
      	(MALLOC_ABI_ALIGNMENT): Define.
      
      From-SVN: r240901
      John David Anglin committed
    • tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. · 8813a647
      	* tree-ssa.c (target_for_debug_bind, verify_phi_args,
      	ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
      	VAR_OR_FUNCTION_DECL_P macros.
      	* tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
      	chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
      	chkp_find_bounds_1): Likewise.
      	* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
      	* hsa-gen.c (get_symbol_for_decl): Likewise.
      	* cgraphunit.c (check_global_declaration, analyze_functions,
      	handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
      	Likewise.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p,
      	canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
      	Likewise.
      	* tree.c (set_decl_section_name, copy_node_stat,
      	need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
      	merge_dllimport_decl_attributes, handle_dll_attribute,
      	decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
      	verify_type): Likewise.
      	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
      	find_explicit_erroneous_behavior): Likewise.
      	* sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
      	* ipa.c (process_references): Likewise.
      	* tree-chkp-opt.c (chkp_get_check_result): Likewise.
      	* varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
      	notice_global_symbol, assemble_variable, mark_decl_referenced,
      	build_constant_desc, output_constant_def_contents, do_assemble_alias,
      	make_decl_one_only, default_section_type_flags,
      	categorize_decl_for_section, default_encode_section_info): Likewise.
      	* trans-mem.c (requires_barrier): Likewise.
      	* gimple-expr.c (mark_addressable): Likewise.
      	* cfgexpand.c (add_scope_conflicts_1, expand_one_var,
      	expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
      	expand_debug_expr): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* ubsan.c (instrument_bool_enum_load): Likewise.
      	* tree-pretty-print.c (print_declaration): Likewise.
      	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
      	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
      	* asan.c (asan_protect_global, instrument_derefs): Likewise.
      	* tree-into-ssa.c (rewrite_stmt, maybe_register_def,
      	pass_build_ssa::execute): Likewise.
      	* var-tracking.c (var_debug_decl, track_expr_p): Likewise.
      	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
      	Likewise.
      	* ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
      	Likewise.
      	* tree-inline.c (insert_debug_decl_map, remap_ssa_name,
      	can_be_nonlocal, remap_decls, copy_debug_stmt,
      	initialize_inlined_parameters, add_local_variables,
      	reset_debug_binding, replace_locals_op): Likewise.
      	* dse.c (can_escape): Likewise.
      	* ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
      	Likewise.
      	* tree-diagnostic.c (default_tree_printer): Likewise.
      	* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
      	unpack_ts_decl_with_vis_value_fields,
      	lto_input_ts_decl_common_tree_pointers): Likewise.
      	* builtins.c (builtin_save_expr, fold_builtin_expect,
      	readonly_data_expr): Likewise.
      	* tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
      	create_variable_info_for, set_uids_in_ptset, visit_loadstore):
      	Likewise.
      	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
      	* gimplify.c (force_constant_size, gimplify_bind_expr,
      	gimplify_decl_expr, gimplify_var_or_parm_decl,
      	gimplify_compound_lval, gimplify_init_constructor,
      	gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
      	gimplify_type_sizes): Likewise.
      	* cgraphbuild.c (record_reference, record_type_list, mark_address,
      	mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
      	* tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
      	remove_unused_locals): Likewise.
      	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
      	ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
      	* function.c (instantiate_expr, instantiate_decls_1,
      	setjmp_vars_warning, add_local_decl): Likewise.
      	* alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
      	Likewise.
      	* tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
      	va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
      	optimize_va_list_gpr_fpr_size): Likewise.
      	* tree-nrv.c (pass_nrv::execute): Likewise.
      	* tsan.c (instrument_expr): Likewise.
      	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
      	* vtable-verify.c (verify_bb_vtables): Likewise.
      	* tree-dfa.c (ssa_default_def, set_ssa_default_def,
      	get_ref_base_and_extent): Likewise.
      	* toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
      	Likewise.
      	* tree-sra.c (static bool constant_decl_p, find_var_candidates,
      	analyze_all_variable_accesses): Likewise.
      	* tree-nested.c (get_nonlocal_debug_decl,
      	convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
      	note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
      	get_local_debug_decl, convert_local_omp_clauses,
      	convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
      	Likewise.
      	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
      	* stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
      	* dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
      	dbxout_symbol, dbxout_common_check): Likewise.
      	* expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
      	string_constant): Likewise.
      	* hsa.c (hsa_get_declaration_name): Likewise.
      	* passes.c (rest_of_decl_compilation): Likewise.
      	* tree-ssanames.c (make_ssa_name_fn): Likewise.
      	* tree-streamer-out.c (pack_ts_decl_common_value_fields,
      	pack_ts_decl_with_vis_value_fields,
      	write_ts_decl_common_tree_pointers): Likewise.
      	* stor-layout.c (place_field): Likewise.
      	* symtab.c (symtab_node::maybe_create_reference,
      	symtab_node::verify_base, symtab_node::make_decl_local,
      	symtab_node::copy_visibility_from,
      	symtab_node::can_increase_alignment_p): Likewise.
      	* dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
      	decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
      	fortran_common, add_location_or_const_value_attribute,
      	add_scalar_info, add_linkage_name, set_block_abstract_flags,
      	local_function_static, gen_variable_die, dwarf2out_late_global_decl,
      	optimize_one_addr_into_implicit_ptr,
      	optimize_location_into_implicit_ptr): Likewise.
      	* gimple-low.c (record_vars_into): Likewise.
      	* ipa-visibility.c (update_vtable_references): Likewise.
      	* tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
      	Likewise.
      	* lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
      	DFS::DFS_write_tree_body, write_symbol): Likewise.
      	* langhooks.c (lhd_warn_unused_global_decl,
      	lhd_set_decl_assembler_name): Likewise.
      	* attribs.c (decl_attributes): Likewise.
      	* except.c (output_ttype): Likewise.
      	* varpool.c (varpool_node::get_create, ctor_for_folding,
      	varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
      	* fold-const.c (fold_unary_loc): Likewise.
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge,
      	ipa_find_agg_cst_from_init): Likewise.
      	* omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
      	expand_omp_target, lower_omp_regimplify_p,
      	grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
      	find_link_var_op): Likewise.
      	* tree-chrec.c (chrec_contains_symbols): Likewise.
      	* tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
      	gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
      	execute_fixup_cfg): Likewise.
      
      From-SVN: r240900
      Jakub Jelinek committed
    • re PR tree-optimization/77901 (ICE in tree-sse-reassoc,c:2881) · 4dfb8a2a
      	PR tree-optimization/77901
      	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
      	if ranges[i].exp is SSA_NAME when looking for >= and only when
      	ranges[i].exp is NULL or SSA_NAME when looking for the other
      	comparison.
      
      	* gcc.c-torture/compile/pr77901.c: New test.
      
      From-SVN: r240899
      Jakub Jelinek committed