1. 12 Dec, 2018 24 commits
    • omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, [...]): Fix up… · a6ef2ac9
      omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, [...]): Fix up function types - remove one argument.
      
      	* omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME,
      	BUILT_IN_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME): Fix up
      	function types - remove one argument.
      
      	* testsuite/libgomp.c-c++-common/for-16.c: New test.
      
      From-SVN: r267067
      Jakub Jelinek committed
    • decl.c (grokdeclarator): Fix location of error message about static data member definition. · 77a24286
      /cp
      2018-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Fix location of error message about
      	static data member definition.
      
      /testsuite
      2018-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/other/static5.C: New.
      
      From-SVN: r267066
      Paolo Carlini committed
    • extend.texi (attribute copy): Fix typos. · 293267bc
      gcc/ChangeLog:
      
      	* doc/extend.texi (attribute copy): Fix typos.
      
      From-SVN: r267065
      Martin Sebor committed
    • extend.texi (Function Attributes): Clarify C++ aspects. · 348846ff
      
      gcc/ChangeLog:
      
      	* doc/extend.texi (Function Attributes): Clarify C++ aspects.
      	(Variable Attributes): Same.
      	(Type Attributes): Same.
      
      From-SVN: r267064
      Martin Sebor committed
    • Fix independent-cloneids-1.c testcase (PR88318) · c46eb979
      The testcase uses REs like {(?n)\m_*bar[.$_]constprop[.$_]0:} to find
      what functions are defined.  But, this also matches lines like
      .L.bar.constprop.0:(which are used on powerpc64-linux).
      The "(?n)" doesn't do anything here either.  We should use "^" here
      instead of just "\m".
      
      
      	PR testsuite/88318
      	* gcc.dg/independent-cloneids-1.c: Use ^ not \m.
      
      From-SVN: r267063
      Segher Boessenkool committed
    • Add support for SUBTARGET_OVERRIDE_OPTIONS on aarch64 · 6881e3c1
      	* config/aarch64/aarch64.c (aarch64_override_options): Once arch,
      	cpu and tune were validated, insert SUBTARGET_OVERRIDE_OPTIONS if
      	defined.
      
      From-SVN: r267060
      Olivier Hainque committed
    • Use REGNUM macros in the definitions of aarch64 PROBE_STACK regs · 8921ccbb
      	* config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG) : Redefine as
      	R9_REGNUM instead of 9.
      	(PROBE_STACK_SECOND_REG): Redefine as R10_REGNUM instead of 10.
      
      From-SVN: r267059
      Olivier Hainque committed
    • Fix PR number in my last commit · 7bd0ca11
      From-SVN: r267058
      Richard Earnshaw committed
    • Overload std::distance and std::advance for path::iterator · 9e160526
      Although filesystem::path::iterator is only a bidirectional iterator,
      the underlying sequence has random access iterators (specifically, raw
      pointers). This means std::distance and std::advance can be implemented
      more efficiently than the generic versions which apply ++ and --
      repeatedly.
      
      	PR libstdc++/71044 (partial)
      	* include/bits/fs_path.h (__path_iter_distance, __path_iter_advance):
      	New friend functions to implement std::distance and std::advance more
      	efficiently.
      	(distance, advance): Add overloads for path::iterator.
      	* testsuite/27_io/filesystem/path/itr/components.cc: Test new
      	overload.
      
      From-SVN: r267057
      Jonathan Wakely committed
    • PR libstdc++/80762 avoid ambiguous __constructible_from<void, void> · 6b7c0b55
      Ensure we don't try to instantiate __is_constructible_from<void, void>,
      because there are two partial specializations that are equally good
      matches.
      
      	PR libstdc++/80762
      	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
      	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
      	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
      	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
      
      From-SVN: r267056
      Jonathan Wakely committed
    • require profiling support for gcc.dg/lto/20100430-1_0.c test · 5da5fefe
      This test currently fails unexpectedly if GCC is configured with
      --disable-gcov, because it requires -fprofile-arcs. This patch
      fixes the issue by requiring profiling support in order to run
      this test.
      
      Tested with two compilers, one built with --disable-gcov, resulting
      in the test reporting an UNSUPPORTED result; and one built with gcov
      support, resulting in 2 PASS tests.
      
      gcc/testsuite/ChangeLog:
      
              * gcc.dg/lto/20100430-1_0.c: Add dg-require-profiling requirement.
      
      From-SVN: r267055
      Joel Brobecker committed
    • [libbacktrace] Add allocfail.sh test-case · d665cd9b
      Add test-case that forces alloc.c functions to fail, and check whether fail
      handling is robust.
      
      This is the test-case for "[libbacktrace] Fix segfault upon allocation
      failure".  Without that patch, this test-case fails like this:
      ...
      allocfail.sh: line 71: 26041 Segmentation fault      (core dumped) \
        ./allocfail $i > /dev/null 2>&1
      Unallowed fail found: 13
      FAIL allocfail.sh (exit status: 1)
      ...
      
      This is a seperate patch because the test-case is nontrivial.
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-12-12  Tom de Vries  <tdevries@suse.de>
      
      	* Makefile.am (TESTS): Add allocfail.sh.
      	(check_PROGRAMS): Add allocfail.
      	* Makefile.in: Regenerate.
      	* instrumented_alloc.c: New file.  Redefine malloc and realloc.
      	Include alloc.c.
      	* allocfail.c: New file.
      	* allocfail.sh: New file.
      
      From-SVN: r267054
      Tom de Vries committed
    • re PR target/86806 (SPARC port needs updating for CVE-2017-5753) · bf4eca2e
      	PR target/86806
      	* config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
      	(speculation_barrier): New instruction for V9.
      
      From-SVN: r267053
      Eric Botcazou committed
    • Don't mark stack pointer as clobbered in asm · 9c47a019
      * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
      clobbered.
      
      From-SVN: r267052
      Andreas Schwab committed
    • libgcc: rs6000: tramp.S: fix placement of .cfi_endproc for __trampoline_setup · 5a2580b6
      Currently, .cfi_endproc and FUNC_END(__trampoline_setup) are placed
      inside the #else branch of an "#if defined (__VXWORKS__) ...", so
      non-pic vxworks does not get proper CFI nor a .size directive for
      __trampoline_setup. I assume there's no magic reason for that (which
      would warrant a comment), so move them outside.
      
      From-SVN: r267051
      Rasmus Villemoes committed
    • rs6000 - add missed hunk · 0c1342df
      This add the hunk
      	(macho_call_template): Remove.
      
      missed from r267049
      
      From-SVN: r267050
      Iain Sandoe committed
    • rs6000 - Fix PR target/88343 · be611c9c
      The PR is about unnecessary saves of the pic base register, it shows on m32 Linux and m32/m64 Darwin.
      
      The fix is to check that we are in a pic mode and that the picbase has actually been used.
      As a bonus, some #ifdef’d TARGET_MACHO code is no longer required.
      
      2018-12-12 Segher Boessenkool  <segher@kernel.crashing.org>
      	   Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR target/88343
      	* config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
      	unless it has been used.
      	(first_reg_to_save): Remove dead code.
      
      
      Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk>
      
      From-SVN: r267049
      Segher Boessenkool committed
    • rs6000, update Darwin call handling to latest scheme. · aa3a2eca
      This patch mormalises Darwin's call handling to match the scheme
      recently introduced and gives it target-specific call expanders.
      
      2018-12-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/rs6000-protos.h (rs6000_call_darwin): New.
      	(rs6000_sibcall_darwin): New. (macho_call_template): Remove.
      	* config/rs6000/rs6000.c (get_prev_label): Forward declaration. 
      	(rs6000_call_template_1): Handle Darwin.
      	(macho_call_template): Remove.
      	(rs6000_call_sysv): Remove handling for Darwin.
      	(rs6000_call_darwin_1, rs6000_call_darwin): New
      	(rs6000_sibcall_darwin): New.
      	* config/rs6000/rs6000.md (define_expand “call”): Handle Darwin
      	with its own expander. (define_expand “call_value”): Likewise.
      	(define_expand “sibcall”): Likewise.
      	(define_expand “sibcall_value”): Likewise.
      	(call_nonlocal_sysv): Remove Darwin special-casing.
      	(call_value_nonlocal_sysv): Likewise.
      
      From-SVN: r267048
      Iain Sandoe committed
    • re PR c++/88446 (__builtin_is_constant_evaluated rejects some converted constant expressions.) · 13de99bc
      	PR c++/88446
      	* cp-tree.h (maybe_constant_value): Add manifestly_const_eval
      	argument.
      	* constexpr.c (struct constexpr_call): Rename pretend_const_required
      	member to manifestly_const_eval.
      	(struct constexpr_ctx): Likewise.
      	(constexpr_call_hasher::equal): Adjust users.
      	(cxx_eval_builtin_function_call): Likewise.  Formatting fix.
      	(cxx_eval_call_expression): Adjust users.
      	(cxx_eval_outermost_constant_expr, maybe_constant_init_1,
      	maybe_constant_init): Rename pretend_const_required argument to
      	manifestly_const_eval, adjust function comments.
      	(maybe_constant_value): Add manifestly_const_eval argument.  If true,
      	don't cache and call cxx_eval_outermost_constant_expr with true as
      	manifestly_const_eval.
      	* decl.c (compute_array_index_type_loc): Call maybe_constant_value
      	with true as manifestly_const_eval.
      
      	* g++.dg/cpp2a/is-constant-evaluated3.C: New test.
      
      From-SVN: r267047
      Jakub Jelinek committed
    • rs6000, darwin - fix bootstrap. · 66e30545
      Recent changes to the lowerings for call handling in rs6000
      have broken bootstrap for powerpc-darwin.  This patch modifies
      the calls to handle Darwin asa subset, a subsequent patch will
      split Darwin out.
      
      2018-12-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/darwin.md (call_indirect_nonlocal_darwin64): Remove.
      	(call_nonlocal_darwin64): Remove.
      	(call_value_indirect_nonlocal_darwin64): Remove.
      	(call_value_nonlocal_darwin64): Remove.
      	* config/rs6000/rs6000.c (rs6000_call_template_1): Handle Darwin with
      	the same asm output as AIX/ELFv2.  (rs6000_call_sysv): Preserve the
      	CALL_LONG flag when needed for Darwin.
      	* config/rs6000/rs6000.md (define expand “call”): Expand Darwin as
      	per sysv.
      	(define_expand “call_value”): Likewise.
      	(define_expand “sibcall”): Likewise.
      	(define_expand “sibcall_value”): Likewise.
      	(call_indirect_nonlocal_sysv): Mark the clobber mode P.
      	(call_nonlocal_sysv): Likewise.
      	(call_nonlocal_sysv_secure): Likewise.
      	(call_value_indirect_nonlocal_sysv): Likewise.
      	(call_value_nonlocal_sysv): Likewise.
      	(call_value_nonlocal_sysv_secure): Likewise.
      	(call_local64): Mark the clobber DI.
      	(call_value_local64): Likewise.
      
      From-SVN: r267046
      Iain Sandoe committed
    • P0595R2 - is_constant_evaluated · 0d7924f2
      	P0595R2 - is_constant_evaluated
      	* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED):
      	Define if __builtin_is_constant_evaluated is available.
      	* include/std/type_traits (std::is_constant_evaluated): New constexpr
      	inline function.
      	* testsuite/20_util/is_constant_evaluated/1.cc: New test.
      	* testsuite/20_util/is_constant_evaluated/noexcept.cc: New test.
      
      From-SVN: r267045
      Jakub Jelinek committed
    • re PR c++/88449 (__builtin_is_constant_evaluated misbehaves due to constexpr call caching) · cce3ae91
      	PR c++/88449
      	* constexpr.c (struct constexpr_call): Add pretend_const_required
      	member.
      	(constexpr_call_hasher::equal): Return false if pretend_const_required
      	members differ.
      	(cxx_eval_call_expression): Adjust new_call initialization.  Hash in
      	ctx->pretend_const_required.
      
      	* g++.dg/cpp2a/is-constant-evaluated1.C: Change from dg-do compile
      	to dg-do run.
      	(e): Adjust comment with correct expected value.
      	(main): Expect e == 1.
      	* g++.dg/cpp2a/is-constant-evaluated2.C: New test.
      
      From-SVN: r267044
      Jakub Jelinek committed
    • re PR fortran/88155 (ICE in gfc_format_decoder, at fortran/error.c:947) · 2f00fb3d
      2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/88155
      	* primary.c (gfc_match_structure_constructor):  Set the locus of
      	an expression to avoid a NULL pointer dereference.
      
      2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/88155
      	* gfortran.dg/pr70870_1.f90: Update testcase to use -std=gnu.
      	* gfortran.dg/pr88155.f90: New test.
      
      From-SVN: r267041
      Steven G. Kargl committed
    • Daily bump. · 85c223fa
      From-SVN: r267040
      GCC Administrator committed
  2. 11 Dec, 2018 16 commits