Age | Commit message (Collapse) | Author | Files | Lines |
|
libitm/
* config/powerpc/target.h (htm_available): Add support for
PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available.
From-SVN: r267101
|
|
Libgomp test-case libgomp.c/target-5.c is failing to compile when building for
x86_64 with nvptx accelerator due to missing:
- getpid
- gethostname
- isatty (pulled in by fwrite)
in the nvptx newlib.
This patch fixes the build failure by:
- adding a function gomp_print_string which limits the use of fwrite to a single
location (in affinity-fmt.c), and
- creating an nvptx version of affinity-fmt.c, which:
- overrides the configure test results HAVE_GETPID and HAVE_GETHOSTNAME, and
- implements fwrite using write.
Build and reg-tested on x86_64 with nvptx accelerator.
2018-12-13 Tom de Vries <tdevries@suse.de>
* affinity-fmt.c (gomp_print_string): New function, factored out of ...
(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
* fortran.c (omp_display_affinity_): ... here.
* libgomp.h (gomp_print_string): Declare.
* config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
write.
From-SVN: r267100
|
|
* gdbinit.in (pp): New macro.
(pbb): Remove.
From-SVN: r267098
|
|
failing with "not suitable for scatter store")
PR tree-optimization/88464
* tree-vect-stmts.c (vect_build_gather_load_calls): Handle INTEGER_TYPE
masktype if mask is non-NULL.
(vectorizable_load): Don't reject masked gather loads if masktype
in the decl is INTEGER_TYPE.
* gcc.target/i386/avx512f-pr88462-1.c: New test.
* gcc.target/i386/avx512f-pr88462-2.c: New test.
From-SVN: r267097
|
|
https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00929.html
PR c++/87531
* class.c (finish_struct): Set DECL_CONTEXT of template assign op.
* name-lookup.c (get_class_binding_direct): Don't strip using-decl
of overload here.
* parser.c (cp_parser_postfix_expression): Cope with using decl in
overload set.
* semantics.c (finish_id_expr): Likewise.
* g++.dg/lookup/pr87531-2.C: New.
From-SVN: r267096
|
|
PR testsuite/88041
* lib/gdc-dg.exp (gdc-dg-test): Strip gdc.test prefix.
* gdc.test/gdc-test.exp (gdc-do-test): Create $subdir link.
Include $subdir in filename.
Cleanup generated source.
* gdc.test/compilable/ddoc9676a.d (EXTRA_SOURCES): Don't use
absolute path.
* gdc.test/compilable/depsOutput9948.d: Likewise.
From-SVN: r267094
|
|
error))
PR libgomp/88460
* testsuite/libgomp.c++/for-24.C (results): Include it in
omp declare target region.
(main): Use map (always, tofrom: results) instead of
map (tofrom: results).
From-SVN: r267093
|
|
r266971)
PR testsuite/88454
* gcc.dg/tree-ssa/split-path-5.c (__ctype_ptr__): Change type from
const char * to const signed char *.
(bmhi_init): Change pattern parameter's type the same. Use
__builtin_strlen instead of undeclared strlen.
From-SVN: r267092
|
|
The normalized paths contain backslashes so fix the expected values to
use backslashes too.
* testsuite/27_io/filesystem/path/generation/proximate.cc: Use
preferred directory separators for normalized paths.
* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
From-SVN: r267090
|
|
* testsuite/27_io/filesystem/path/itr/traversal.cc: Fix test for
mingw.
From-SVN: r267089
|
|
The (unsigned) long int to double vector conversion instructions
expect 2 immediate parameters. One for the inexact suppression
control and another one for the rounding mode. However, the
vec_double builtin has just the vector source operand. The 2
addtional operands need to be added with an intermediate expander.
The expanders were already there but unfortunately not wired up
correctly to the builtin.
gcc/ChangeLog:
2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
* config/s390/s390-builtins.def (s390_vec_double_s64): Map to
s390_vec_double_s64 instead of s390_vcdgb.
(s390_vec_double_u64): Map to s390_vec_double_u64 instead of
s390_vcdlgb.
gcc/testsuite/ChangeLog:
2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
* gcc.target/s390/zvector/vec-double-1.c: New test.
* gcc.target/s390/zvector/vec-double-2.c: New test.
From-SVN: r267084
|
|
2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
* config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64")
("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT.
("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT.
From-SVN: r267083
|
|
* testsuite/27_io/filesystem/path/construct/80762.cc: Skip test if
the Filesystem TS support is not configured.
* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
From-SVN: r267082
|
|
We've received reports about the -msve-vector-bits=128 bits being somewhat ambiguous.
It isn't clear whether -msve-vector-bits=128 forces vector-length-agnostic code or whether
-msve-vector-bits=scalable forces 128-bit vector-lengh-specific code.
The latter is a, perhaps unintuitive, reading that we want to exclude.
This patch makes it more explicit that -msve-vector-bits=128 is special and produces
vector-length *agnostic* code. In the end, I've rewritten the whole option documentation.
Checked make pdf that the output looks reasonable.
* doc/invoke.texi (-msve-vector-bits): Clarify -msve-vector-bits=128
behavior.
From-SVN: r267081
|
|
gcc/
* common/config/i386/i386-common.c (processor_names): Add cascadelake.
(processor_alias_table): Add cascadelake.
* config.gcc: Add -march=cascadelake.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle cascadelake.
* config/i386/i386.c (Add m_CASCADELAKE): New.
(processor_cost_table): Add cascadelake.
(get_builtin_code_for_version): Handle cascadelake.
* config/i386/i386.h (TARGET_CASCADELAKE, PROCESSOR_CASCADELAKE): New.
(PTA_CASCADELAKE): Ditto.
* doc/invoke.texi: Add -march=cascadelake.
gcc/testsuite/
* gcc.target/i386/funcspec-56.inc: Handle new march.
From-SVN: r267080
|
|
Part of RC12-001
From-SVN: r267079
|
|
PR target/88465
* config/i386/i386.md (*movdi_internal, *movsi_internal,
*movhi_internal, *movqi_internal): Add alternative(s) to load
0 or -1 into k registers using kxor or kxnoq instructions.
* gcc.target/i386/avx512f-pr88465.c: New test.
* gcc.target/i386/avx512dq-pr88465.c: New test.
From-SVN: r267078
|
|
PR target/88461
* config/i386/sse.md (VI1248_AVX512VLBW, AVX512ZEXTMASK): New
mode iterators.
(<avx512>_testm<mode>3<mask_scalar_merge_name>,
<avx512>_testnm<mode>3<mask_scalar_merge_name>): Merge patterns
with VI12_AVX512VL and VI48_AVX512VL iterators into ones with
VI1248_AVX512VLBW iterator.
(*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask): New
define_insns.
* gcc.target/i386/pr88461.c: New test.
From-SVN: r267077
|
|
PR target/88461
* config/i386/i386.md (*zero_extendsidi2, zero_extend<mode>di2,
*zero_extend<mode>si2, *zero_extendqihi2): Add =*k, *km alternatives.
From-SVN: r267076
|
|
From-SVN: r267074
|
|
The type table encoding can be DW_EH_PE_absptr, but this case
was missing, which was causing abort on ARM32 EABI. Add the
missing case.
Reviewed-on: https://go-review.googlesource.com/c/153857
From-SVN: r267070
|
|
Default(None) reference to module parameter array, separate source)
PR fortran/88463
* trans-openmp.c (gfc_omp_predetermined_sharing): Handle TREE_READONLY
VAR_DECLs with DECL_EXTERNAL like those with TREE_STATIC.
* testsuite/libgomp.fortran/pr88463-1.f90: New test.
* testsuite/libgomp.fortran/pr88463-2.f90: New test.
From-SVN: r267069
|
|
This increases the time to wait for signals to be delivered in the
TestAtomicStop testcase. When running gccgo tests on ppc64 or ppc64le,
there are intermittent failures in this test because the wait time is
too small.
Updates golang/go#29046
Reviewed-on: https://go-review.googlesource.com/c/153879
From-SVN: r267068
|
|
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
|
|
member definition.
/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
|
|
gcc/ChangeLog:
* doc/extend.texi (attribute copy): Fix typos.
From-SVN: r267065
|
|
gcc/ChangeLog:
* doc/extend.texi (Function Attributes): Clarify C++ aspects.
(Variable Attributes): Same.
(Type Attributes): Same.
From-SVN: r267064
|
|
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
|
|
* config/aarch64/aarch64.c (aarch64_override_options): Once arch,
cpu and tune were validated, insert SUBTARGET_OVERRIDE_OPTIONS if
defined.
From-SVN: r267060
|
|
* 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
|
|
From-SVN: r267058
|
|
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
|
|
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
|
|
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
|
|
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
|
|
PR target/86806
* config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
(speculation_barrier): New instruction for V9.
From-SVN: r267053
|
|
* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
clobbered.
From-SVN: r267052
|
|
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
|
|
This add the hunk
(macho_call_template): Remove.
missed from r267049
From-SVN: r267050
|
|
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
|
|
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
|
|
constant expressions.)
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
|
|
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
|
|
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
|
|
call caching)
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
|
|
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
|
|
From-SVN: r267040
|
|
2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88249
* gfortran.h: Update prototype for gfc_resolve_filepos().
* io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present.
Use passed in locus for error message.
* resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos()
call.
2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88249
* gfortran.dg/pr88249.f90: New test.
From-SVN: r267035
|
|
libada/
PR ada/88429
* configure.ac (default_gnatlib_target): Set to gnatlib instead of
gnatlib-plain if --disable-shared.
* configure: Regenerate.
* Makefile.in (all): Replace gnatlib prerequisite with libada.
(ADA_RTS_SUBDIR): Delete.
(libada): New target, renamed from...
(gnatlib): ...this. Merge with other library targets.
(gnatlib-plain): Delete.
(install-gnatlib): Rename to...
(install-libada): ...this.
(install): Replace install-gnatlib prerequisite with install-libada.
gcc/ada/
PR ada/88429
* gcc-interface/Makefile.in (./stamp-gnatlib1-$(RTSDIR)): Also pass
MULTISUBDIR to sub-make and add quotes around $(THREAD_KIND).
(gnatlib-shared-dual): Also pass PICFLAG_FOR_TARGET to sub-make.
(gnatlib-sjlj): Also pass MULTISUBDIR to sub-make, but do not pass
PICFLAG_FOR_TARGET.
(gnatlib-zcx): Likewise.
From-SVN: r267034
|
|
ARM32 EABI unwinder does not define _URC_NORMAL_STOP. Instead,
it has _URC_FAILURE. Use _URC_FAILURE there.
Should fix ARM32 build.
Reviewed-on: https://go-review.googlesource.com/c/153417
From-SVN: r267033
|