1. 04 Oct, 2017 6 commits
  2. 03 Oct, 2017 12 commits
    • rs6000-builtin.def (BU_FLOAT128_2_HW): Define new helper macro for IEEE float128… · 944e0841
      rs6000-builtin.def (BU_FLOAT128_2_HW): Define new helper macro for IEEE float128 hardware built-in functions.
      
      [gcc]
      2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2_HW): Define new
      	helper macro for IEEE float128 hardware built-in functions.
      	(SQRTF128_ODD): Add built-in functions with the round-to-odd
      	semantics.
      	(TRUNCF128_ODD): Likewise.
      	(ADDF128_ODD): Likewise.
      	(SUBF128_ODD): Likewise.
      	(MULF128_ODD): Likewise.
      	(DIVF128_ODD): Likewise.
      	(FMAF128_ODD): Likewise.
      	* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): Rename to
      	UNSPEC_TRUNC_ROUND_TO_ODD.
      	(UNSPEC_TRUNC_ROUND_TO_ODD): Likewise.
      	(UNSPEC_ADD_ROUND_TO_ODD): New unspec codes for the IEEE 128-bit
      	floating point round to odd instructions.
      	(UNSPEC_SUB_ROUND_TO_ODD): Likewise.
      	(UNSPEC_MUL_ROUND_TO_ODD): Likewise.
      	(UNSPEC_DIV_ROUND_TO_ODD): Likewise.
      	(UNSPEC_FMA_ROUND_TO_ODD): Likewise.
      	(UNSPEC_SQRT_ROUND_TO_ODD): Likewise.
      	(trunc<mode>sf2_hw): Change the truncate with round to odd
      	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.
      	(add<mode>3_odd): Add insns for IEEE 128-bit floating point round
      	to odd hardware instructions.
      	(sub<mode>3_odd): Likewise.
      	(mul<mode>3_odd): Likewise.
      	(div<mode>3_odd): Likewise.
      	(sqrt<mode>2_odd): Likewise.
      	(fma<mode>4_odd): Likewise.
      	(fms<mode>4_odd): Likewise.
      	(nfma<mode>4_odd): Likewise.
      	(nfms<mode>4_odd): Likewise.
      	(trunc<mode>df2_odd): Change the truncate with round to odd
      	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.  Add a generator
      	function.
      	* doc/extend.texi (PowerPC built-in functions): Update documentation
      	for existing IEEE float128-bit built-in functions.  Add built-in
      	functions that generate the IEEE 128-bit floating point round to
      	odd instructions.
      
      [gcc/testsuite]
      2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/float128-odd.c: New test.
      
      From-SVN: r253389
      Michael Meissner committed
    • re PR c++/70343 (internal compiler error: in tsubst_copy, wrong code with lambda in template fn) · 5bd8ff41
      2017-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70343
      	* g++.dg/cpp0x/lambda/lambda-70343.C: New.
      
      From-SVN: r253388
      Paolo Carlini committed
    • Import from libffi master repository. · fbdc3780
      2017-08-31  Tony Reix  <tony.reix@atos.net>
      
              * src/powerpc/aix.S (ffi_call_AIX): Add debugging pseudo-op and
              labels for EH.
              (ffi_call_go_AIX): New function.
              (_GLOBAL__F_libffi_src_powerpc_aix): New EH frame.
              * src/powerpc/aix_closure.S (ffi_closure_ASM): Add debugging
              pseudo-op and labels for EH.
              (ffi_go_closure_ASM): New function.
              (_GLOBAL__F_libffi_src_powerpc_aix_closure): New EH frame.
              * src/powrpc/ffi_darwin.c (ffi_call_go): New function.
              (ffi_prep_go_closure): New function.
              (ffi_closure_helper_common): Rename from ffi_closure_helper_DARWIN.
              (ffi_closure_helper_DARWIN): Call ffi_closure_helper_common.
              (ffi_go_closure_helper_DARWIN): Call ffi_closure_helper_common.
              * src/powerpc/ffitarget.h (FFI_GO_CLOSURES): Define.
      
      From-SVN: r253386
      Tony Reix committed
    • re PR target/82358 (i386/stack-check-11.c fail) · 11e3d45c
      	PR target/82358
      	* gcc.target/i386/stack-check-11.c: Use -mtune=generic.
      
      From-SVN: r253385
      Jeff Law committed
    • simplify-rtx: Remove non-simplifying simplification (PR77729) · a8ccdfa8
      If we have (X&C1)|C2 simplify_binary_operation_1 makes C1 as small as
      possible.  This makes worse code in common cases like when the AND with
      C1 is from a zero-extension.  This patch fixes it by removing this
      transformation (twice).
      
      
      	PR rtl-optimization/77729
      	* simplify-rtx.c (simplify_binary_operation_1): Delete the (X&C1)|C2
      	to (X&(C1&~C2))|C2 transformations.
      
      From-SVN: r253384
      Segher Boessenkool committed
    • [BRIGFE] Fix (more) crash with calls with more than 4 args. · 9c53f040
      It missed a reference which is required because vector expansion
      can move the object to another location.
      
      From-SVN: r253382
      Henry Linjamäki committed
    • io.c (match_wait_element): Correctly match END and EOR tags. · 4f8d1d32
      2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* io.c (match_wait_element): Correctly match END and EOR tags.
      	* dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
      
      From-SVN: r253381
      Thomas Koenig committed
    • [PR 82363] Fix thinko in SRA subaccess propagation · 3b7511f9
      2017-10-03  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/82363
      	* tree-sra.c (propagate_subaccesses_across_link): In unrecoverable
      	mismatch, mark lacc written regardless of racc.
      
      	testsuite/
      	* gcc.dg/tree-ssa/pr82363.c: New test.
      
      From-SVN: r253380
      Martin Jambor committed
    • re PR tree-optimization/82381 (internal compiler error: qsort checking failed) · 33ff5dda
      	PR tree-optimization/82381
      	* tree-ssa-reassoc.c (sort_by_operand_rank): Don't check
      	stmt_to_insert nor wheather SSA_NAMEs are default defs.
      	Return 1 or -1 if one of bba and bbb is NULL. If bb_rank is equal,
      	fallthrough into reassoc_stmt_dominates_stmt_p.
      
      	* gcc.c-torture/compile/pr82381.c: New test.
      
      From-SVN: r253379
      Jakub Jelinek committed
    • re PR target/82386 (internal compiler error: Segmentation fault on 32-bit powerpc BE targets) · bb81a576
      	PR target/82386
      	* combine.c (combine_instructions): Don't combine in unreachable
      	basic blocks.
      
      	* gcc.dg/pr82386.c: New test.
      
      From-SVN: r253378
      Jakub Jelinek committed
    • ztest.c: #include <errno.h>. · 8398c1df
      	* ztest.c: #include <errno.h>.
      	(TEST_TIMING): Don't define, don't test.
      	(xclock_gettime, xclockid_t): Define if !HAVE_CLOCK_GETTIME.
      	(clockid_t, clock_gettime, CLOCK_REALTIME): Likewise.
      	(ZLIB_CLOCK_GETTIME_ARG): Define.
      	* configure.ac: Change clock_gettime_link to CLOCK_GETTIME_LINK.
      	* Makefile.am: Likewise.
      	* configure, Makefile.in: Rebuild.
      
      From-SVN: r253377
      Ian Lance Taylor committed
    • Daily bump. · 0adaaf00
      From-SVN: r253376
      GCC Administrator committed
  3. 02 Oct, 2017 22 commits
    • Clean up more fallout from r252976. · bc437a56
      libatomic/ChangeLog:
      2017-10-02  Martin Sebor  <msebor@redhat.com>
      
      	PR c/81854
      	* acinclude.m4 (LIBAT_CHECK_IFUNC): Have ifunc resolver return
      	a function pointer rather than void* to avoid GCC 8 warnings.
      	* configure: Regenerate.
      	* libatomic_i.h: Declare ifunc resolvers to return function
      	pointers rather than void*.
      
      From-SVN: r253372
      Martin Sebor committed
    • charconv (__unsigned_least_t): Fix number of closing >s for !_GLIBCXX_USE_INT128. · 9a741aee
      	* include/std/charconv (__unsigned_least_t): Fix number of closing >s for
      	!_GLIBCXX_USE_INT128.
      
      From-SVN: r253371
      Jakub Jelinek committed
    • re PR c++/70570 (Assembler error "symbol already defined" from nested lambdas… · 5aab83d5
      re PR c++/70570 (Assembler error "symbol already defined" from nested lambdas and function-static variable)
      
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70570
      	* g++.dg/cpp1y/lambda-generic-70570.C: New.
      
      From-SVN: r253370
      Paolo Carlini committed
    • re PR c++/79590 (ICE (internal compiler error) in nothrow_spec_p with generic… · 70c894ea
      re PR c++/79590 (ICE (internal compiler error) in nothrow_spec_p with generic lambda and `noexcept(noexcept(...))` expression)
      
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/79590
      	* g++.dg/cpp1y/lambda-generic-noexcept1.C: New.
      
      From-SVN: r253369
      Paolo Carlini committed
    • re PR c++/79005 (Use of a captured variable within nested generic lambdas… · 603841eb
      re PR c++/79005 (Use of a captured variable within nested generic lambdas provokes internal compiler error.)
      
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/79005
      	* g++.dg/cpp1y/lambda-generic-79005.C: New.
      
      From-SVN: r253368
      Paolo Carlini committed
    • re PR ada/82384 (s-taprop.adb failed to compile for x32) · de87f2d0
      	PR ada/82384
      	* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
      	(time_t): Change from derived type to subtype.
      	(timeval): Use suseconds_t for tv_usec.
      	* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.
      
      From-SVN: r253366
      Eric Botcazou committed
    • re PR fortran/82312 ([OOP] Pointer assignment to component of class variable… · da3723a8
      re PR fortran/82312 ([OOP] Pointer assignment to component of class variable results wrong vptr for the variable.)
      
      2017-10-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82312
      	* resolve.c (gfc_resolve_code): Simplify condition for class
      	pointer assignments becoming regular assignments by asserting
      	that only class valued targets are permitted.
      	* trans-expr.c (trans_class_pointer_fcn): New function using a
      	block of code from gfc_trans_pointer_assignment.
      	(gfc_trans_pointer_assignment): Call the new function. Tidy up
      	a minor whitespace issue.
      
      2017-10-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82312
      	* gfortran.dg/typebound_proc_36.f90 : New test.
      
      From-SVN: r253362
      Paul Thomas committed
    • re PR target/80210 (ICE in in extract_insn, at recog.c:2311 on ppc64 for with __builtin_pow) · 20a7e14a
      gcc/
      	PR target/80210
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
      	function to not use the have_cpu variable.  Do not set cpu_index,
      	rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
      	or the default cpu.
      	(rs6000_valid_attribute_p): Remove duplicate initializations of
      	old_optimize and func_optimize.
      	(rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
      	(rs6000_activate_target_options): Make global.
      	* config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
      	prototype.
      
      gcc/testsuite/
      	PR target/80210
      	* gcc.target/powerpc/pr80210-2.c: New test.
      
      From-SVN: r253358
      Peter Bergner committed
    • tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1 if *poffset +… · 476dec78
      tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1 if *poffset + *pmax_size overflows in HOST_WIDE_INT.
      
      	* tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1
      	if *poffset + *pmax_size overflows in HOST_WIDE_INT.
      	Set *poffset to 0 and *psize and *pmax_size to -1 if
      	*poffset + *psize overflows in HOST_WIDE_INT.
      
      	* gcc.dg/pr82389.c: New test.
      
      From-SVN: r253357
      Jakub Jelinek committed
    • re PR tree-optimization/82387 (wrong code at -O1 and -Os on x86_64-linux-gnu in 64-bit mode) · f240a230
      	PR tree-optimization/82387
      	PR tree-optimization/82388
      	PR tree-optimization/82389
      	* tree-ssa-dse.c (dse_classify_store): Test byte_tracking_enabled
      	instead of live_bytes non-NULL.
      
      	* gcc.c-torture/compile/pr82389.c: New test.
      	* gcc.c-torture/execute/pr82387.c: New test.
      	* gcc.c-torture/execute/pr82388.c: New test.
      
      From-SVN: r253356
      Jakub Jelinek committed
    • C++17 P0067R5 std::to_chars and std::from_chars (partial) · 804b7cc4
      This adds the integral overloads of std::to_chars and std::from_chars,
      including the changes made by P0682R0. Support for floating point types
      is absent.
      
      	* include/Makefile.am: Add new <charconv> header.
      	* include/Makefile.in: Regenerate.
      	* include/precompiled/stdc++.h: Include <charconv>.
      	* include/std/charconv: New file.
      	(to_chars_result, to_chars, from_chars_result, from_chars): Define.
      	* testsuite/20_util/from_chars/1.cc: New test.
      	* testsuite/20_util/from_chars/1_neg.cc: New test.
      	* testsuite/20_util/from_chars/2.cc: New test.
      	* testsuite/20_util/from_chars/requirements.cc: New test.
      	* testsuite/20_util/to_chars/1.cc: New test.
      	* testsuite/20_util/to_chars/1_neg.cc: New test.
      	* testsuite/20_util/to_chars/2.cc: New test.
      	* testsuite/20_util/to_chars/requirements.cc: New test.
      
      From-SVN: r253353
      Jonathan Wakely committed
    • backtrace-rename.h (backtrace_uncompress_zdebug): Define. · d1453bec
      	* libbacktrace/backtrace-rename.h (backtrace_uncompress_zdebug):
      	Define.
      
      From-SVN: r253351
      Jakub Jelinek committed
    • re PR c++/79180 (Nested lambda-capture causes segfault for parameter pack) · bac1187d
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/79180
      	* g++.dg/cpp0x/lambda/lambda-nested8.C: New.
      	* g++.dg/torture/pr79180.C: Likewise.
      
      	PR c++/71386
      	* g++.dg/cpp1y/lambda-generic-nested1.C: New.
      
      From-SVN: r253350
      Paolo Carlini committed
    • Handle libbacktrace in contrib/gcc_update · 22381c22
      	contrib/
      	* gcc_update (files_and_dependencies): Handle libbacktrace.
      
      From-SVN: r253346
      Thomas Schwinge committed
    • libbacktrace: Support the case that clock_gettime is in librt · dd954c67
      	libbacktrace/
      	PR other/67165
      	* Makefile.am: Append the content of clock_gettime_link to
      	ztest_LDADD.
      	* configure.ac: Test for the case that clock_gettime is in librt.
      	* Makefile.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r253345
      Thomas Schwinge committed
    • libbacktrace: Conditionalize test timing on clock_gettime availability · dbc31f20
      	libbacktrace/
      	PR other/67165
      	* configure.ac: Check for clock_gettime.
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      	* ztest.c (average_time, test_large): Conditionalize test timing
      	on clock_gettime availability.
      
      From-SVN: r253344
      Thomas Schwinge committed
    • re PR target/41076 ([avr] pessimal code for logical OR of 8-bit fields) · 6146ee73
      	PR target/41076
      	* confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
      	alternative.
      
      From-SVN: r253343
      Georg-Johann Lay committed
    • graphite-isl-ast-to-gimple.c (set_codegen_error): With -fchecking and --param… · 96e2d1d1
      graphite-isl-ast-to-gimple.c (set_codegen_error): With -fchecking and --param graphite-allow-codegen-errors=0 ICE.
      
      2017-10-02  Richard Biener  <rguenther@suse.de>
      
      	* graphite-isl-ast-to-gimple.c (set_codegen_error): With
      	-fchecking and --param graphite-allow-codegen-errors=0 ICE.
      	* params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.
      
      	* gcc.dg/graphite/graphite.exp: Add -fdump-tree-graphite-details.
      	* gcc.dg/graphite/id-15.c: Adjust for existing codegen errors.
      	* gcc.dg/graphite/id-16.c: Likewise.
      	* gcc.dg/graphite/pr46168.c: Likewise.
      	* gcc.dg/graphite/pr68756.c: Likewise.
      	* gcc.dg/graphite/pr69728.c: Likewise.
      	* gcc.dg/graphite/pr71575-2.c: Likewise.
      	* gcc.dg/graphite/pr77362.c: Likewise.
      	* gcc.dg/graphite/pr81373.c: Likewise.
      	* gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
      	* gfortran.dg/graphite/interchange-1.f: Likewise.
      	* gfortran.dg/graphite/pr29581.f90: Likewise.
      	* gfortran.dg/graphite/pr42334-1.f: Likewise.
      	* gfortran.dg/graphite/pr42393-1.f90: Likewise.
      	* gfortran.dg/graphite/pr42393.f90: Likewise.
      	* gfortran.dg/graphite/pr47019.f: Likewise.
      
      From-SVN: r253342
      Richard Biener committed
    • Fix mismatched precisions in tree arithmetic · a1488398
      The tree wi:: decompose routine wasn't asserting that the requested
      precision matched the tree's precision.  This could make a difference
      for unsigned trees that are exactly N HWIs wide and that have the upper
      bit set, since we then need an extra zero HWI when extending it to wider
      precisions (as for wi::to_widest).
      
      This patch adds the assert and fixes the fallout shown by the testsuite.
      Go seems to be unaffected.
      
      2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* tree.h (wi::int_traits <const_tree>::decompose): Assert that the
      	requested precision matches the type's.
      	* calls.c (alloc_max_size): Calculate the new candidate size as
      	a widest_int and use wi::to_widest when comparing it with the
      	current candidate size.
      	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with
      	zero rather than integer_zero_node.
      	* match.pd: Check for a no-op conversion before using wi::add
      	rather than after.  Use tree_to_uhwi when summing small shift
      	counts into an unsigned int.
      
      gcc/c-family/
      	* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
      	when combining the original unconverted comparison operands.
      
      gcc/cp/
      	* constexpr.c (cxx_eval_store_expression): Use wi::to_widest
      	when comparing the array bounds with an ARRAY_REF index.
      
      gcc/ada/
      	* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
      	handling the form (plus/mult (convert @0) @1).
      
      From-SVN: r253341
      Richard Sandiford committed
    • re PR c++/69977 (internal compiler error: Segmentation fault when using generic lambdas) · 1a6da556
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/69977
      	* g++.dg/cpp1y/lambda-generic-69977.C: New.
      
      From-SVN: r253340
      Paolo Carlini committed
    • re PR c++/59991 (Recursive lambda capture in C++1y constexpr function template… · 144d302e
      re PR c++/59991 (Recursive lambda capture in C++1y constexpr function template causes internal compiler error)
      
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59991
      	* g++.dg/cpp0x/lambda/lambda-ice23.C: New.
      
      From-SVN: r253339
      Paolo Carlini committed
    • Require nonlocal_goto for gcc.c-torture/compile/pr82337.c · 7838c9a8
      2017-10-02  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.c-torture/compile/pr82337.c: Add
      	dg-require-effective-target nonlocal_goto.
      
      From-SVN: r253338
      Tom de Vries committed