Andreas Krebbel [Thu, 2 Feb 2017 12:18:52 +0000 (12:18 +0000)]
S/390: Add missing comments listing mnemonics.
These were useful in the past but are currently lacking on a couple of
patterns. Fixed with this patch.
gcc/ChangeLog:
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md: Add missing comments with the expanded
mnemonics.
* config/s390/vector.md: Likewise.
* config/s390/vx-builtins.md: Likewise.
From-SVN: r245122
Jakub Jelinek [Thu, 2 Feb 2017 10:18:49 +0000 (11:18 +0100)]
pr63316.c: Use dg-skip-if instead of dg-options.
* c-c++-common/asan/pr63316.c: Use dg-skip-if instead of dg-options.
* c-c++-common/asan/misalign-1.c: Likewise.
* c-c++-common/asan/misalign-2.c: Likewise.
* g++.dg/asan/pr69276.C: Add dg-skip-if, remove dg-additional-options.
* gcc.dg/asan/pr66314.c: Remove -Os from dg-options, add dg-skip-if.
* gcc.dg/asan/use-after-scope-3.c: Use dg-skip-if instead of dg-options.
* gcc.dg/asan/use-after-scope-9.c: Add dg-skip-if, remove -O2 and
add -ffat-lto-objects from/to dg-additional-options.
* gcc.dg/asan/use-after-scope-10.c: Add dg-skip-if, remove -O2 from
dg-additional-options.
From-SVN: r245121
Jakub Jelinek [Thu, 2 Feb 2017 10:05:26 +0000 (11:05 +0100)]
re PR target/79197 (ICE in extract_insn in gcc/recog.c:2311)
PR target/79197
* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
(fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
conditions on a single line.
* gcc.target/powerpc/pr79197.c: New test.
* gcc.c-torture/compile/pr79197.c: New test.
From-SVN: r245120
Richard Biener [Thu, 2 Feb 2017 08:58:48 +0000 (08:58 +0000)]
pr71078-3.c: Do not rely on math.h.
2017-02-02 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/pr71078-3.c: Do not rely on math.h.
From-SVN: r245119
Richard Biener [Thu, 2 Feb 2017 08:55:44 +0000 (08:55 +0000)]
re PR c++/14179 (out of memory while parsing array with many initializers)
2017-02-02 Richard Biener <rguenther@suse.de>
PR cp/14179
* cp-gimplify.c (cp_fold): When folding a CONSTRUCTOR copy
it lazily on the first changed element only and copy it
fully upfront, only storing changed elements.
From-SVN: r245118
Paolo Carlini [Thu, 2 Feb 2017 08:54:55 +0000 (08:54 +0000)]
re PR c++/69637 (ICE on an invalid bit-field with template name for width)
/cp
2017-02-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69637
* decl2.c (grokbitfield): In case of error don't set-up DECL_INITIAL
to the width.
/testsuite
2017-02-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69637
* g++.dg/cpp0x/pr69637-1.C: New.
* g++.dg/cpp0x/pr69637-2.C: Likewise.
From-SVN: r245117
Andreas Krebbel [Thu, 2 Feb 2017 08:32:44 +0000 (08:32 +0000)]
S/390: Rename __S390_VX__ to __VX__.
gcc/ChangeLog:
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
__S390_VX__ to __VX__.
gcc/testsuite/ChangeLog:
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/s390.exp: Rename __S390_VX__ to __VX__.
From-SVN: r245116
GCC Administrator [Thu, 2 Feb 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245114
Joseph Myers [Wed, 1 Feb 2017 23:59:21 +0000 (23:59 +0000)]
* de.po: Update.
From-SVN: r245111
Bill Schmidt [Wed, 1 Feb 2017 22:11:57 +0000 (22:11 +0000)]
re PR target/70012 (test case gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c fails)
2017-02-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/70012
* gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c: Adjust test
conditions.
From-SVN: r245108
Eric Botcazou [Wed, 1 Feb 2017 21:36:09 +0000 (21:36 +0000)]
re PR ada/79309 (incorrectly bounded calls to strncat in adaint.c)
PR ada/79309
* adaint.c (__gnat_killprocesstree): Use strlen instead of sizeof.
From-SVN: r245107
Eric Botcazou [Wed, 1 Feb 2017 20:36:23 +0000 (20:36 +0000)]
re PR ada/79309 (incorrectly bounded calls to strncat in adaint.c)
PR ada/79309
* adaint.c (__gnat_killprocesstree): Fix broken string handling.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r245103
Andrew Pinski [Wed, 1 Feb 2017 18:30:50 +0000 (18:30 +0000)]
tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass stmt_info to record_stmt_cost.
2017-02-01 Andrew Pinski <apinski@cavium.com>
* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
stmt_info to record_stmt_cost.
(vect_get_known_peeling_cost): Pass stmt_info if known to
record_stmt_cost.
* config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
cpu_vector_cost field into
scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost
field into vec_int_stmt_cost and vec_fp_stmt_cost.
* config/aarch64/aarch64.c (generic_vector_cost): Update for the
splitting of scalar_stmt_cost and vec_stmt_cost.
(thunderx_vector_cost): Likewise.
(cortexa57_vector_cost): LIkewise.
(exynosm1_vector_cost): Likewise.
(xgene1_vector_cost): Likewise.
(thunderx2t99_vector_cost): Improve after the splitting of the two
fields.
(aarch64_builtin_vectorization_cost): Update for the splitting of
scalar_stmt_cost and vec_stmt_cost.
From-SVN: r245101
Torvald Riegel [Wed, 1 Feb 2017 17:21:59 +0000 (17:21 +0000)]
Fix __atomic to not implement atomic loads with CAS.
gcc/
* builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
conditional on existance of a fast atomic load.
* optabs-query.c (can_atomic_load_p): New function.
* optabs-query.h (can_atomic_load_p): Declare it.
* optabs.c (expand_atomic_exchange): Always delegate to libatomic if
no fast atomic load is available for the particular size of access.
(expand_atomic_compare_and_swap): Likewise.
(expand_atomic_load): Likewise.
(expand_atomic_store): Likewise.
(expand_atomic_fetch_op): Likewise.
* testsuite/lib/target-supports.exp
(check_effective_target_sync_int_128): Remove x86 because it provides
no fast atomic load.
(check_effective_target_sync_int_128_runtime): Likewise.
libatomic/
* acinclude.m4: Add #define FAST_ATOMIC_LDST_*.
* auto-config.h.in: Regenerate.
* config/x86/host-config.h (FAST_ATOMIC_LDST_16): Define to 0.
(atomic_compare_exchange_n): New.
* glfree.c (EXACT, LARGER): Change condition and add comments.
From-SVN: r245098
Jakub Jelinek [Wed, 1 Feb 2017 15:47:52 +0000 (16:47 +0100)]
re PR testsuite/79324 (The tests introduced at revision r245052 fail on darwin)
PR testsuite/79324
* gcc.dg/debug/dwarf2/align-1.c: Add -gno-strict-dwarf to dg-options.
* gcc.dg/debug/dwarf2/align-2.c: Likewise.
* gcc.dg/debug/dwarf2/align-3.c: Likewise.
* gcc.dg/debug/dwarf2/align-4.c: Likewise.
* gcc.dg/debug/dwarf2/align-5.c: Likewise.
* gcc.dg/debug/dwarf2/align-6.c: Likewise.
* gcc.dg/debug/dwarf2/align-as-1.c: Likewise.
* g++.dg/debug/dwarf2/align-1.C: Likewise.
* g++.dg/debug/dwarf2/align-2.C: Likewise.
* g++.dg/debug/dwarf2/align-3.C: Likewise.
* g++.dg/debug/dwarf2/align-4.C: Likewise.
* g++.dg/debug/dwarf2/align-5.C: Likewise.
* g++.dg/debug/dwarf2/align-6.C: Likewise.
From-SVN: r245097
Richard Biener [Wed, 1 Feb 2017 14:05:09 +0000 (14:05 +0000)]
graphite.c: Include tree-vectorizer.h for find_loop_location.
2017-02-01 Richard Biener <rguenther@suse.de>
* graphite.c: Include tree-vectorizer.h for find_loop_location.
(graphite_transform_loops): Provide opt-info for optimized nests.
* tree-parloop.c (parallelize_loops): Provide opt-info for
parallelized loops.
From-SVN: r245096
Martin Liska [Wed, 1 Feb 2017 14:04:38 +0000 (15:04 +0100)]
Add dg-require-alias to a ICF test (PR testsuite/79272).
2017-02-01 Martin Liska <mliska@suse.cz>
PR testsuite/79272
* gcc.dg/ipa/pr77653.c: Add dg-require-alias to the test.
From-SVN: r245095
Richard Biener [Wed, 1 Feb 2017 12:58:27 +0000 (12:58 +0000)]
re PR tree-optimization/76957 (XFAIL: gcc.dg/graphite/scop-dsyr2k.c scan-tree-dump-times graphite "number of SCoPs)
2017-02-01 Richard Biener <rguenther@suse.de>
PR testsuite/76957
* gcc.dg/graphite/scop-dsyr2k-2.c: New testcase.
* gcc.dg/graphite/scop-dsyrk-2.c: Likewise.
* gcc.dg/graphite/scop-dsyr2k.c: XFAIL.
* gcc.dg/graphite/scop-dsyrk.c: Likewise.
From-SVN: r245094
Jonathan Wakely [Wed, 1 Feb 2017 12:57:35 +0000 (12:57 +0000)]
PR78346 make <bits/predefined_ops.h> handle stashing iterators
PR libstdc++/78346
* include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
not its referent.
(_Iter_comp_to_iter): Likewise.
* testsuite/25_algorithms/search/78346.cc: New test.
From-SVN: r245090
Richard Biener [Wed, 1 Feb 2017 12:47:25 +0000 (12:47 +0000)]
re PR tree-optimization/79315 (ICE while building SPEC CPU 2006 FP with -Ofast -ftree-parallelize-loops)
2017-02-01 Richard Biener <rguenther@suse.de>
PR middle-end/79315
* tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
was not set before.
* gfortran.dg/pr79315.f90: New testcase.
From-SVN: r245089
Jonathan Wakely [Wed, 1 Feb 2017 11:41:48 +0000 (11:41 +0000)]
PR libstdc++/79254 simplify exception-safety in copy assignment
PR libstdc++/79254
* config/abi/pre/gnu.ver: Remove recently added symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): Remove.
(basic_string::operator=(const basic_string&)): Don't dispatch to
_M_copy_assign. If source object is small just deallocate, otherwise
perform new allocation before making any changes.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Remove.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test cases where the allocators are equal or the string is small.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
From-SVN: r245085
Pekka Jääskeläinen [Wed, 1 Feb 2017 10:06:13 +0000 (10:06 +0000)]
re PR other/79250 (brig/brigfrontend/brig-to-generic.cc: two small problems)
* brigfrontend/brig-code-entry-handler.cc: fix address
expressions which refer only to offset 0, but nothing else.
* brigfrontend/brig-lane-inst-handler.cc: fix
activelanepermute_b64 HSAIL instruction.
* brigfrontend/brig-to-generic.cc: remove useless c_str()
call. Add missing va_end (). Fix PR79250
From-SVN: r245084
Richard Biener [Wed, 1 Feb 2017 08:02:50 +0000 (08:02 +0000)]
re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/71824
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
Verify the loops are valid in the merged SESE region.
(scop_detection::can_represent_loop_1): Check analyzing the
evolution of the number of iterations in the region succeeds.
* gcc.dg/graphite/pr71824.c: New testcase.
From-SVN: r245081
Jakub Jelinek [Wed, 1 Feb 2017 07:56:49 +0000 (08:56 +0100)]
configure.tgt: Fix i?86-*-linux* entry.
* configure.tgt: Fix i?86-*-linux* entry.
* rt/sat_arithmetic.c (__hsail_sat_add_u32, __hsail_sat_add_u64,
__hsail_sat_add_s32, __hsail_sat_add_s64): Use __builtin_add_overflow.
(__hsail_sat_sub_u8, __hsail_sat_sub_u16): Remove pointless for overflow
over maximum.
(__hsail_sat_sub_u32, __hsail_sat_sub_u64, __hsail_sat_sub_s32,
__hsail_sat_sub_s64): Use __builtin_sub_overflow.
(__hsail_sat_mul_u32, __hsail_sat_mul_u64, __hsail_sat_mul_s32,
__hsail_sat_mul_s64): Use __builtin_mul_overflow.
* rt/arithmetic.c (__hsail_borrow_u32, __hsail_borrow_u64): Use
__builtin_sub_overflow_p.
(__hsail_carry_u32, __hsail_carry_u64): Use __builtin_add_overflow_p.
* rt/misc.c (__hsail_groupbaseptr, __hsail_kernargbaseptr_u64):
Cast pointers to uintptr_t first before casting to some other integral
type.
* rt/segment.c (__hsail_segmentp_private, __hsail_segmentp_group): Likewise.
* rt/queue.c (__hsail_ldqueuereadindex, __hsail_ldqueuewriteindex,
__hsail_addqueuewriteindex, __hsail_casqueuewriteindex,
__hsail_stqueuereadindex, __hsail_stqueuewriteindex): Cast integral value
to uintptr_t first before casting to pointer.
* rt/workitems.c (__hsail_alloca_pop_frame): Cast memcpy first argument to
void * to avoid warning.
From-SVN: r245080
GCC Administrator [Wed, 1 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245079
Ian Lance Taylor [Tue, 31 Jan 2017 23:49:26 +0000 (23:49 +0000)]
i386.c (ix86_expand_split_stack_prologue): Add REG_ARGS_SIZE note to 32-bit push insns and call insn.
* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
REG_ARGS_SIZE note to 32-bit push insns and call insn.
From-SVN: r245076
Jakub Jelinek [Tue, 31 Jan 2017 21:38:00 +0000 (22:38 +0100)]
re PR c++/79304 (diagnostic shows bogus expression ((X<T>*)this)->.c)
PR c++/79304
* error.c (dump_expr) <case COMPONENT_REF>: Don't print .
after ARROW_EXPR.
* g++.dg/diagnostic/pr79304.C: New test.
From-SVN: r245073
David Malcolm [Tue, 31 Jan 2017 21:30:42 +0000 (21:30 +0000)]
Fix ICE with spelling hints within explicit namespace aliases (PR c++/79298)
gcc/cp/ChangeLog:
PR c++/79298
* name-lookup.c (suggest_alternative_in_explicit_scope): Resolve
any namespace aliases.
gcc/testsuite/ChangeLog:
PR c++/79298
* g++.dg/spellcheck-pr79298.C: New test case.
From-SVN: r245072
David Malcolm [Tue, 31 Jan 2017 20:22:43 +0000 (20:22 +0000)]
Prevent ICEs due to bogus substring locations (PR preprocessor/79210)
gcc/ChangeLog:
PR preprocessor/79210
* input.c (get_substring_ranges_for_loc): Replace line_width
assertion with error-handling.
gcc/testsuite/ChangeLog:
PR preprocessor/79210
* gcc.dg/format/pr79210.c: New test case.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c (test_pr79210):
New function.
From-SVN: r245070
Nathan Sidwell [Tue, 31 Jan 2017 19:37:11 +0000 (19:37 +0000)]
re PR c++/79290 (forming pointer to member function tries to access "__pfn")
PR c++/79290
* typeck.c (build_ptrmemfunc_access_expr): Set TREE_NO_WARNING.
PR c++/79290
* g++.dg/warn/pr79290.C: New.
From-SVN: r245069
Steven G. Kargl [Tue, 31 Jan 2017 18:50:31 +0000 (18:50 +0000)]
re PR fortran/79305 (real128 - undefined reference to cexpl)
2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/79305
* c99_protos.h: Spell HAVE_EXPL correctly.
* intrinsics/c99_functions.c: Ditto.
From-SVN: r245068
Nathan Sidwell [Tue, 31 Jan 2017 18:05:37 +0000 (18:05 +0000)]
re PR c++/67273 (Incorrect -Wshadow warning with generic lambdas)
PR c++/67273
PR c++/79253
* pt.c: (instantiate_decl): Push to top level when current
function scope doesn't match. Only push lmabda scope stack when
pushing to top.
PR c++/67273
PR c++/79253
* g++.dg/cpp1y/pr67273.C: New.
* g++.dg/cpp1y/pr79253.C: New.
From-SVN: r245067
Nathan Sidwell [Tue, 31 Jan 2017 16:56:44 +0000 (16:56 +0000)]
cp-tree.h (instantiate_decl): Make defer_ok bool.
* cp-tree.h (instantiate_decl): Make defer_ok bool.
* pt.c: Fix instantiate_decl calls to pass true/false not 0/1
(instantiate_decl): Simplify and reorder state saving and restoration.
From-SVN: r245066
Nathan Sidwell [Tue, 31 Jan 2017 15:10:41 +0000 (15:10 +0000)]
re PR c++/79264 (ICE verify_type failed)
PR c++/79264
* lambda.c (maybe_generic_this_capture): Deal with
template-id-exprs.
* semantics.c (finish_member_declaration): Assert class is being
defined.
PR c++/79264
* g++.dg/cpp1y/pr61636-1.C: Augment.
From-SVN: r245065
Richard Biener [Tue, 31 Jan 2017 14:44:37 +0000 (14:44 +0000)]
re PR tree-optimization/77318 (FAIL: gfortran.dg/graphite/pr68279.f90 -O (internal compiler error))
2017-01-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/77318
* graphite-sese-to-poly.c (extract_affine): Fix assert.
(create_pw_aff_from_tree): Take loop parameter.
(add_condition_to_pbb): Pass loop of the condition to
create_pw_aff_from_tree.
From-SVN: r245064
Thomas Schwinge [Tue, 31 Jan 2017 14:32:58 +0000 (15:32 +0100)]
libgomp: Provide prototypes for functions implemented by libgomp plugins
libgomp/
* libgomp-plugin.h: #include <stdbool.h>.
(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
(GOMP_OFFLOAD_openacc_register_async_cleanup)
(GOMP_OFFLOAD_openacc_async_test)
(GOMP_OFFLOAD_openacc_async_test_all)
(GOMP_OFFLOAD_openacc_async_wait)
(GOMP_OFFLOAD_openacc_async_wait_async)
(GOMP_OFFLOAD_openacc_async_wait_all)
(GOMP_OFFLOAD_openacc_async_wait_all_async)
(GOMP_OFFLOAD_openacc_async_set_async)
(GOMP_OFFLOAD_openacc_create_thread_data)
(GOMP_OFFLOAD_openacc_destroy_thread_data)
(GOMP_OFFLOAD_openacc_get_current_cuda_device)
(GOMP_OFFLOAD_openacc_get_current_cuda_context)
(GOMP_OFFLOAD_openacc_get_cuda_stream)
(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
these.
* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
(GOMP_OFFLOAD_unload_image): Fix argument types.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_type): Fix
return type.
(GOMP_OFFLOAD_load_image): Fix argument types.
From-SVN: r245062
Christophe Lyon [Tue, 31 Jan 2017 14:03:56 +0000 (14:03 +0000)]
[testsuite] gcc.dg/memcmp-1.c: Fix testcase for newlib.
2017-01-31 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/memcmp-1.c (static void test_driver_memcmp): Call
rand() instead of random().
From-SVN: r245061
Jakub Jelinek [Tue, 31 Jan 2017 13:50:20 +0000 (14:50 +0100)]
s390.c (s390_asan_shadow_offset): New function.
gcc/
* config/s390/s390.c (s390_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Redefine.
libsanitizer/
* configure.tgt: Enable asan and ubsan on 64-bit s390*-*-linux*.
From-SVN: r245060
Michael Meissner [Tue, 31 Jan 2017 13:38:35 +0000 (13:38 +0000)]
re PR target/78597 (test case gcc.dg/torture/fp-int-convert-float128-ieee.c (and others) fail starting with r242780)
2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78597
PR target/79038
* config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
no longer used.
(convert_int_to_float128): Likewise.
* config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
(convert_int_to_float128): Likewise.
* config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
(UNSPEC_IEEE128_CONVERT): Likewise.
(floatsi<mode>2, FLOAT128 iterator): Bypass calling
rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
Use local variables for IBM extended format.
(fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
(fix_trunc<mode>si2_fprs): Likewise.
(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
(floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
(fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
to know that we can now have integers of all sizes in vector
registers.
(fix<uns>_<mode>di2_hw): Likewise.
(float<uns>_<mode>si2_hw): Likewise.
(fix_<mode>si2_hw): Likewise.
(fixuns_<mode>si2_hw): Likewise.
(float<uns>_<mode>di2_hw): Likewise.
(float_<mode>di2_hw): Likewise.
(float_<mode>si2_hw): Likewise.
(floatuns_<mode>di2_hw): Likewise.
(floatuns_<mode>si2_hw): Likewise.
(xscvqp<su>wz_<mode>): Delete, no longer used.
(xscvqp<su>dz_<mode>): Likewise.
(xscv<su>dqp_<mode>): Likewise.
(ieee128_mfvsrd_64bit): Likewise.
(ieee128_mfvsrd_32bit): Likewise.
(ieee128_mfvsrwz): Likewise.
(ieee128_mtvsrw): Likewise.
(ieee128_mtvsrd_64bit): Likewise.
(ieee128_mtvsrd_32bit): Likewise.
From-SVN: r245059
Martin Liska [Tue, 31 Jan 2017 10:54:41 +0000 (11:54 +0100)]
Call symbol_summary<>::release instead of ~symbol_summary (PR ipa/79285).
2017-01-31 Martin Liska <mliska@suse.cz>
PR ipa/79285
* ipa-prop.c (ipa_free_all_node_params): Call release method
instead of ~sumbol_summary to not to trigger double times
dtor of hash_map.
From-SVN: r245058
Aldy Hernandez [Tue, 31 Jan 2017 10:30:47 +0000 (10:30 +0000)]
re PR tree-optimization/71691 (wrong code at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (Floating point exception))
PR tree-optimization/71691
* bitmap.h (class auto_bitmap): New.
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
is_maybe_undefined instead of ssa_undefined_value_p.
From-SVN: r245057
Andreas Krebbel [Tue, 31 Jan 2017 09:14:36 +0000 (09:14 +0000)]
S/390: Rename __S390_ARCH_LEVEL__ to __ARCH__.
We have recently added the predefined macro __S390_ARCH_LEVEL__ to
expand to a numerical value representing the architecture document
level currently in use. However, the IBM XL compiler already has a
macro named __ARCH__ for that purpose. So we change our macro to that
in order to improve portability.
gcc/ChangeLog:
2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
__S390_ARCH_LEVEL__ to __ARCH__.
gcc/testsuite/ChangeLog:
2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/s390.exp: Rename __S390_ARCH_LEVEL__ to
__ARCH__.
From-SVN: r245055
Jakub Jelinek [Tue, 31 Jan 2017 08:33:36 +0000 (09:33 +0100)]
re PR c++/79267 (internal compiler error with -O3 or -O2 -finline-functions)
PR tree-optimization/79267
* value-prof.c (gimple_ic): Only drop lhs for noreturn calls
if should_remove_lhs_p is true.
* g++.dg/opt/pr79267.C: New test.
From-SVN: r245053
Alexandre Oliva [Tue, 31 Jan 2017 01:03:15 +0000 (01:03 +0000)]
[PR63238] output alignment debug information
Output DWARFv5+ DW_AT_alignment for non-default alignment of
variables, fields and types.
for gcc/ChangeLog
PR debug/63238
* dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
(add_alignment_attribute): New.
(base_type_die): Add alignment attribute.
(subrange_type_die): Likewise.
(modified_type_die): Likewise.
(gen_array_type_die): Likewise.
(gen_descr_array_type_die: Likewise.
(gen_enumeration_type_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_variable_die): Likewise.
(gen_field_die): Likewise.
(gen_ptr_to_mbr_type_die): Likewise.
(gen_struct_or_union_type_die): Likewise.
(gen_subroutine_type_die): Likewise.
(gen_typedef_die): Likewise.
(base_type_cmp): Compare alignment attribute.
for gcc/testsuite/ChangeLog
PR debug/63238
* gcc.dg/debug/dwarf2/align-1.c: New.
* gcc.dg/debug/dwarf2/align-2.c: New.
* gcc.dg/debug/dwarf2/align-3.c: New.
* gcc.dg/debug/dwarf2/align-4.c: New.
* gcc.dg/debug/dwarf2/align-5.c: New.
* gcc.dg/debug/dwarf2/align-6.c: New.
* gcc.dg/debug/dwarf2/align-as-1.c: New.
* g++.dg/debug/dwarf2/align-1.C: New.
* g++.dg/debug/dwarf2/align-2.C: New.
* g++.dg/debug/dwarf2/align-3.C: New.
* g++.dg/debug/dwarf2/align-4.C: New.
* g++.dg/debug/dwarf2/align-5.C: New.
* g++.dg/debug/dwarf2/align-6.C: New.
From-SVN: r245052
Alexandre Oliva [Tue, 31 Jan 2017 01:02:03 +0000 (01:02 +0000)]
Introduce C++ support in libcc1
Extend libcc1's with an API for C++ support.
Extend libcc1's C API to distinguish between integral types with the
same width, as in C++. Likewise for float types.
Export small bits of functionality from the C++ front-end for use in
libcc1. Add support for the C++ front-end to look up names and
addresses using a libcc1-registered binding oracle. Add support for
global friends.
for gcc/cp/ChangeLog
Introduce C++ support in libcc1.
* cp-tree.h (struct lang_identifier): Add oracle_looked_up.
(ansi_opname): Rename to...
(cp_operator_id): ... this. Adjust all callers.
(ansi_assopname): Rename to...
(cp_assignment_operator_id): ... this. Adjust all callers.
(cp_literal_operator_id): Declare.
(set_global_friend): Declare.
(is_global_friend): Declare.
(enum cp_oracle_request): New type.
(cp_binding_oracle_function): New type.
(cp_binding_oracle): Declare.
(cp_finish_injected_record_type): Declare.
* friend.c (global_friend): New var.
(set_global_friend): New fn.
(is_global_friend): New fn.
(is_friend): Call is_global_friend.
* name-lookup.c (cp_binding_oracle): New var.
(query_oracle): New fn.
(qualified_lookup_using_namespace): Call query_oracle.
(lookup_name_real_1): Likewise.
* parser.c (cp_literal_operator_id): Drop static.
* search.c (friend_accessible_p): Call is_global_friend.
* semantics.c (is_this_parameter): Accept a variable if the
binding oracle is enabled.
for include/ChangeLog
Introduce C++ support in libcc1.
* gcc-c-fe.def (int_type_v0): Rename from...
(int_type): ... this. Introduce new version.
(float_type_v0): Rename from...
(float_type): ... this. Introduce new version.
(char_type): New.
* gcc-c-interface.h (gcc_c_api_version): Add GCC_C_FE_VERSION_1.
(gcc_type_array): Move...
* gcc-interface.h: ... here.
* gcc-cp-fe.def: New.
* gcc-cp-interface.h: New.
for libcc1/ChangeLog
Introduce C++ support.
* Makefile.am (AM_CPPFLAGS): Move some -I flags to...
(CPPFLAGS_FOR_C_FAMILY, CPPFLAGS_FOR_C, CPPFLAGS_FOR_CXX): ...
new macros.
(plugin_LTLIBRARIES): Add libcp1plugin.la.
(BUILT_SOURCES, MOSTLYCLEANFILES): Add...
(cp-compiler-name.h): ... this. New.
(c-compiler-name.h): Rename all over from...
(compiler-name.h): ... this. Create it atomically.
(marshall_c_source, marshall_cxx_source): New macros.
(libcc1plugin_la_SOURCES): Rename plugin.cc to libcc1plugin.cc.
Add marshall_c_source expansion.
(libcc1plugin.lo_CPPFLAGS): New macro.
(libcp1plugin_la_LDFLAGS): Likewise.
(libcp1plugin_la_SOURCES): Likewise.
(libcp1plugin.lo_CPPFLAGS): Likewise.
(libcp1plugin_la_LIBADD): Likewise.
(libcp1plugin_la_DEPENDENCIES): Likewise.
(libcp1plugin_la_LINK): Likewise.
(libcc1_la_SOURCES): Added marshall_c_source and
marshall_cxx_source expansions.
* Makefile.in: Rebuild.
* compiler-name.h: Rename all over to...
* c-compiler-name.h: ... this. Define C_COMPILER_NAME instead
of COMPILER_NAME.
* plugin.cc: Rename all over to...
* libcc1plugin.cc: ... this. Include marshall-c.hh.
(address_rewriter): Drop cleaning up of VLA sizes.
(plugin_build_decl): Mark decls as external.
(plugin_tagbind): Propagate name to all variants.
(build_anonymous_node): New.
(plugin_build_record_type): Use it instead of make_node.
(plugin_build_union_type): Likewise.
(plugin_build_enum_type): Likewise.
(plugin_finish_record_or_union): Update all type variants.
(safe_lookup_builtin_type): New.
(plugin_int_check): Factor out of, and add checks to, ...
(plugin_int_type): ... this. Rename to...
(plugin_int_type_v0): ... this.
(plugin_int_type): New interface, new implementation.
(plugin_char_type): New.
(plugin_float_type_v0): Rename from...
(plugin_float_type): ... this. New interface, new implementation.
(plugin_init): Bump handshake version.
* libcc1.cc: Include marshall-c.hh. Drop gcc-interface.h.
(call_binding_oracle): Rename to...
(c_call_binding_oracle): ... this, into anonymous namespace.
(call_symbol_address): Rename to...
(c_call_symbol_address): ... this, likewise.
(GCC_METHOD#): Move methods into cc1plugin::c:: namespace.
(libcc1::compiler::find): Refer to C_COMPILER_NAME.
(fork_exec): Bump to GCC_C_FE_VERSION_1.
(libcc1_compile): Prefix callbacks with c_.
(gcc_c_fe_context): Accept GCC_C_FE_VERSION_1.
* libcc1.sym: Export gcc_cp_fe_context.
* libcp1.cc: New, mostly copied and adjusted from libcc1.cc.
* libcp1plugin.cc: New, initially copied from libcc1plugin.cc.
* libcp1plugin.sym: New.
* marshall-c.hh: New. Move C-specific types from...
* marshall.cc: ... this.
(cc1_plugin::marshall_array_start): New.
(cc1_plugin::marshall_array_elmts): New.
(cc1_plugin::marshall for gcc_type_array): Use the above.
(cc1_plugin::unmarshall_array_start): New.
(cc1_plugin::unmarshall_array_elmts): New.
(cc1_plugin::unmarshall for gcc_type_array): Use the above.
* marshall.hh: Declare the new array building blocks.
Drop C-specific unmarshall declarations.
* marshall-cp.hh: New.
* names.cc (GCC_METHOD#): Add LANG:: to method names.
(LANG): Define while including gcc-c-fe.def and gcc-cp-fe.def.
* names.hh: Include gcc-c-fe.def and gcc-cp-fe.def in the
corresponding namespaces.
* rpc.hh: Don't include marshall.hh.
[GCC_CP_INTERFACE_H] (argument_wrapper): Specialize for
gcc_vbase_array, gcc_cp_template_args, gcc_cp_function_args.
From-SVN: r245051
Jan Kratochvil [Tue, 31 Jan 2017 01:01:32 +0000 (01:01 +0000)]
libcc1: return absolute filename from make search_dir
for libcc1/ChangeLog
* findcomp.cc: Include system.h.
(search_dir): Return absolute filename.
From-SVN: r245050
Jan Kratochvil [Tue, 31 Jan 2017 01:01:09 +0000 (01:01 +0000)]
libcc1 base API: bump set_arguments; add set_driver_filename, set_triplet_regexp
for include/ChangeLog
* gcc-interface.h (enum gcc_base_api_version): Update comment
for GCC_FE_VERSION_1.
(struct gcc_base_vtable): Rename set_arguments to
set_arguments_v0. Add set_arguments, set_triplet_regexp and
set_driver_filename.
for libcc1/ChangeLog
* libcc1.cc (libcc1): Add class compiler with field compilerp,
class compiler_triplet_regexp and class
compiler_driver_filename.
(libcc1::libcc1): Initialize compilerp.
(libcc1::~libcc1): Delete compilerp.
(libcc1::compiler::find, libcc1::compiler_triplet_regexp::find)
(libcc1::compiler_driver_filename::find): New methods.
(libcc1_set_arguments): Remove parameter triplet_regexp.
(libcc1_set_triplet_regexp, libcc1_set_driver_filename)
(libcc1_set_arguments_v0): New functions.
(vtable): Use libcc1_set_arguments_v0, add
libcc1_set_arguments, libcc1_set_triplet_regexp and
libcc1_set_driver_filename.
From-SVN: r245049
Jan Kratochvil [Tue, 31 Jan 2017 01:00:51 +0000 (01:00 +0000)]
libcc1 base API: add set_verbose and new version of compile
for include/ChangeLog
* gcc-interface.h (enum gcc_base_api_version): Add comment to
GCC_FE_VERSION_1.
(struct gcc_base_vtable): Rename compile to compile_v0.
Update comment for compile. New methods set_verbose and
compile.
for libcc1/ChangeLog
* libcc1.cc: Include intl.h.
(struct libcc1): Add field verbose.
(libcc1::libcc1): Initialize it.
(libcc1_set_verbose): New function.
(libcc1_set_arguments): Print messages for VERBOSE.
(libcc1_compile): Remove parameter verbose. Use VERBOSE from
SELF.
(libcc1_compile_v0): New function.
(vtable): Use libcc1_compile_v0 and add libcc1_compile and
libcc1_set_verbose.
From-SVN: r245048
Jan Kratochvil [Tue, 31 Jan 2017 00:58:47 +0000 (00:58 +0000)]
libcc1 base API version bump
for include/ChangeLog
* gcc-interface.h (enum gcc_base_api_version): Add
GCC_FE_VERSION_1.
for libcc1/ChangeLog
* libcc1.cc (vtable): Update to GCC_FE_VERSION_1.
(gcc_c_fe_context): Accept also GCC_FE_VERSION_1.
From-SVN: r245047
Joseph Myers [Tue, 31 Jan 2017 00:50:29 +0000 (00:50 +0000)]
* de.po, eo.po: Update.
From-SVN: r245046
Joseph Myers [Tue, 31 Jan 2017 00:48:36 +0000 (00:48 +0000)]
* de.po, es.po, fr.po, sv.po: Update.
From-SVN: r245045
GCC Administrator [Tue, 31 Jan 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245044
Aaron Sawdey [Mon, 30 Jan 2017 23:24:24 +0000 (23:24 +0000)]
re PR target/79170 (memcmp builtin expansion sequence can overflow)
2017-01-27 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79170
* gcc.dg/memcmp-1.c: Improved to catch failures seen in PR 79170.
2017-01-27 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79170
* config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
(setb_unsigned) New pattern for setb with CCUNS.
* config/rs6000/rs6000.c (expand_block_compare): Use a different
subfc./subfe sequence to avoid overflow problems. Generate a
shorter sequence with cmpld/setb for power9.
* config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
for generating subfc. instruction.
(cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
now uses this instruction.
From-SVN: r245041
Martin Sebor [Mon, 30 Jan 2017 23:15:40 +0000 (23:15 +0000)]
gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision): Move constant to the right of a relational operator.
gcc/ChangeLog:
* gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
Move constant to the right of a relational operator.
(get_mpfr_format_length, format_character, format_string): Ditto.
(should_warn_p, maybe_warn): Same.
From-SVN: r245040
Ian Lance Taylor [Mon, 30 Jan 2017 22:26:26 +0000 (22:26 +0000)]
re PR debug/79289 (DWARF info for typeof of C function with no args and no prototype is empty pointer)
PR debug/79289
* dwarf2out.c (gen_type_die_with_usage): When picking a variant
for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
From-SVN: r245039
Martin Sebor [Mon, 30 Jan 2017 22:21:20 +0000 (22:21 +0000)]
invoke.texi (-Wformat-truncation=1): Fix typo.
gcc/ChangeLog:
* doc/invoke.texi (-Wformat-truncation=1): Fix typo.
From-SVN: r245038
Martin Sebor [Mon, 30 Jan 2017 21:59:37 +0000 (21:59 +0000)]
PR testsuite/79293 - gcc.dg/tree-ssa/builtin-sprintf.c fails starting with r244953
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf.c: Relax long double test.
From-SVN: r245037
Jakub Jelinek [Mon, 30 Jan 2017 18:11:33 +0000 (19:11 +0100)]
* brigfrontend/brig-code-entry-handler.cc
(brig_code_entry_handler::get_tree_cst_for_hsa_operand): For %lu
cast size_t arguments to unsigned long.
From-SVN: r245036
Maxim Ostapenko [Mon, 30 Jan 2017 16:06:15 +0000 (16:06 +0000)]
re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")
PR lto/79061
* asan.c (get_translation_unit_decl): Remove function.
(asan_add_global): Force has_dynamic_init to zero in LTO mode.
From-SVN: r245033
Martin Liska [Mon, 30 Jan 2017 15:35:57 +0000 (16:35 +0100)]
Fix profile corruption with -O1 (PR gcov-profile/79259)
2017-01-30 Martin Liska <mliska@suse.cz>
PR gcov-profile/79259
* opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
-fprofile-generate.
2017-01-30 Martin Liska <mliska@suse.cz>
PR gcov-profile/79259
* g++.dg/tree-prof/pr79259.C: New test.
From-SVN: r245031
Martin Liska [Mon, 30 Jan 2017 15:16:33 +0000 (16:16 +0100)]
Fix aarch64 PGO bootstrap (bootstrap/78985)
2017-01-30 Martin Liska <mliska@suse.cz>
PR bootstrap/78985
* config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
Initialize variables with NULL value.
From-SVN: r245030
Richard Earnshaw [Mon, 30 Jan 2017 14:39:50 +0000 (14:39 +0000)]
re PR target/79260 (missing header files for plugins: arm-isa.h, arm-flags.h)
PR target/79260
* config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
tm_p_file.
* arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
From-SVN: r245029
Bernhard Reutner-Fischer [Mon, 30 Jan 2017 14:31:59 +0000 (15:31 +0100)]
update-copyright.py: Retain original file mode
2017-01-31 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* update-copyright.py (Copyright.process_file): Retain original
file mode.
From-SVN: r245028
Jakub Jelinek [Mon, 30 Jan 2017 14:26:24 +0000 (15:26 +0100)]
* mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype.
From-SVN: r245027
Richard Biener [Mon, 30 Jan 2017 14:24:37 +0000 (14:24 +0000)]
re PR tree-optimization/79276 (ICE: Segmentation fault in VRP pass)
2017-01-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/79276
* tree-vrp.c (process_assert_insertions): Properly adjust common
when removing a duplicate.
* gcc.dg/torture/pr79276.c: New testcase.
From-SVN: r245026
Richard Biener [Mon, 30 Jan 2017 13:52:44 +0000 (13:52 +0000)]
re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test)
2017-01-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256
* targhooks.c (default_builtin_vector_alignment_reachable): Honor
BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
alignment on TYPE.
* tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
From-SVN: r245025
Ville Voutilainen [Mon, 30 Jan 2017 13:37:16 +0000 (15:37 +0200)]
Implement LWG 2825, LWG 2756 breaks class template argument deduction for optional.
* include/std/optional: Add a deduction guide.
* testsuite/20_util/optional/cons/deduction_guide.cc: New.
From-SVN: r245024
Szabolcs Nagy [Mon, 30 Jan 2017 11:34:13 +0000 (11:34 +0000)]
[ARM][PR target/78945] Fix libatomic on armv7-m
ARM libatomic inline asm uses sel, uadd8, uadd16 instructions
which are only available if __ARM_FEATURE_SIMD32 is defined.
libatomic/
2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/78945
* config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32.
From-SVN: r245023
Dominik Vogt [Mon, 30 Jan 2017 09:54:58 +0000 (09:54 +0000)]
S/390: PR target/79240: Fix assertion in s390_extzv_shift_ok.
2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/79240
* config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
("*r<noxa>sbg_<mode>_sll_bitmask")
("*extzv_<mode>_srl<clobbercc_or_nocc>")
("*extzv_<mode>_sll<clobbercc_or_nocc>"):
Use contiguous_bitmask_nowrap_operand.
2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/79240
* gcc.target/s390/pr79240.c: New test.
From-SVN: r245022
Bill Schmidt [Mon, 30 Jan 2017 03:32:59 +0000 (03:32 +0000)]
re PR target/79268 (Wrong code generation for vec_xl and vec_xst intrinsics)
[gcc]
2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79268
* config/rs6000/altivec.h (vec_xl): Revise #define.
(vec_xst): Likewise.
[gcc/testsuite]
2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79268
* gcc.target/powerpc/pr79268.c: New file.
* gcc.target/powerpc/vsx-elemrev-1.c: Delete file.
* gcc.target/powerpc/vsx-elemrev-2.c: Likewise.
* gcc.target/powerpc/vsx-elemrev-3.c: Likewise.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.
From-SVN: r245021
GCC Administrator [Mon, 30 Jan 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245020
Gerald Pfeifer [Sun, 29 Jan 2017 19:29:15 +0000 (19:29 +0000)]
* update-copyright.py: Fix the name of this script in examples.
From-SVN: r245017
GCC Administrator [Sun, 29 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245013
John David Anglin [Sat, 28 Jan 2017 21:35:54 +0000 (21:35 +0000)]
trampoline4.adb: Skip on hppa*-*-*.
* gnat.dg/trampoline4.adb: Skip on hppa*-*-*.
From-SVN: r245010
Uros Bizjak [Sat, 28 Jan 2017 18:43:56 +0000 (19:43 +0100)]
i386.c (print_reg): Use REGNO instead of true_regnum.
* config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
From-SVN: r245009
John David Anglin [Sat, 28 Jan 2017 18:01:22 +0000 (18:01 +0000)]
re PR testsuite/70583 (FAIL: g++.old-deja/g++.abi/vtable2.C -std=gnu++98 execution test)
PR testsuite/70583
* g++.old-deja/g++.abi/vtable2.C: Adjust CMP_VPTR define on hppa.
From-SVN: r245007
John David Anglin [Sat, 28 Jan 2017 17:30:50 +0000 (17:30 +0000)]
debug7.adb: Skip on hppa*-*-hpux*.
* gnat.dg/debug7.adb: Skip on hppa*-*-hpux*.
* gnat.dg/debug9.adb: Likewise.
From-SVN: r245006
John David Anglin [Sat, 28 Jan 2017 17:19:09 +0000 (17:19 +0000)]
pr78515.c: Add -fno-common option on hppa*-*-hpux*.
* gcc.dg/torture/pr78515.c: Add -fno-common option on hppa*-*-hpux*.
From-SVN: r245005
John David Anglin [Sat, 28 Jan 2017 17:00:33 +0000 (17:00 +0000)]
coarray_41.f90: Add "-latomic" option if libatomic_available.
* gfortran.dg/coarray_41.f90: Add "-latomic" option if
libatomic_available.
* gfortran.dg/coarray_42.f90: Likewise.
* gfortran.dg/coarray_alloc_comp_3.f08: Likewise.
* gfortran.dg/coarray_alloc_comp_4.f08: Likewise.
* gfortran.dg/coarray_lib_alloc_4.f90: Likewise.
From-SVN: r245004
GCC Administrator [Sat, 28 Jan 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245002
Martin Sebor [Sat, 28 Jan 2017 00:09:15 +0000 (00:09 +0000)]
builtin-sprintf-warn-1.c: Add test cases.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
From-SVN: r244999
Joseph Myers [Fri, 27 Jan 2017 23:34:48 +0000 (23:34 +0000)]
* sr.po: Update.
From-SVN: r244996
Bernd Schmidt [Fri, 27 Jan 2017 19:40:44 +0000 (12:40 -0700)]
re PR rtl-optimization/79194 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 (error: flow control insn inside a basic block))
2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/79194
* cprop.c (one_cprop_pass): Move deletion of code after unconditional
traps before call to bypass_conditional_jumps.
PR rtl-optimization/79194
* gcc.dg/torture/pr79194.c: New test.
From-SVN: r244993
Vladimir Makarov [Fri, 27 Jan 2017 18:08:14 +0000 (18:08 +0000)]
re PR rtl-optimization/71374 (ICE on valid code at -O1 and above on x86_64-linux-gnu: in extract_constrain_insn, at recog.c:2190)
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/71374
* lra-constraints.c (check_conflict_input_operands): New.
(match_reload): Use it.
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/71374
* testsuite/gcc.target/i386/pr71374.c: New.
From-SVN: r244991
Martin Sebor [Fri, 27 Jan 2017 16:51:54 +0000 (16:51 +0000)]
re PR c++/71290 (Flexible array member is not diagnosed with -pedantic)
PR c++/71290
gcc/testsuite/ChangeLog:
* obj-c++.dg/property/at-property-23.mm: Remove an escaped newline from
a dg-error directive.
From-SVN: r244990
Vladimir Makarov [Fri, 27 Jan 2017 16:50:11 +0000 (16:50 +0000)]
re PR target/79131 (ICE: in extract_constrain_insn, at recog.c:2213, big-endian ARM)
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/79131
* lra-assigns.c (find_hard_regno_for_1): Take endianess for into
account to calculate conflict_set.
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/79131
* gcc.target/arm/pr79131.c: Rename to gcc.target/arm/pr79131-1.c.
* gcc.target/arm/pr79131-2.c: New.
From-SVN: r244989
Jason Merrill [Fri, 27 Jan 2017 16:48:34 +0000 (11:48 -0500)]
PR c++/78771 - ICE with inherited constructor.
* call.c (build_over_call): Call deduce_inheriting_ctor here.
* pt.c (tsubst_decl): Not here.
* class.c (add_method): Or here.
* method.c (deduce_inheriting_ctor): Handle clones.
(implicitly_declare_fn): Don't deduce inheriting ctors yet.
From-SVN: r244988
Jonathan Wakely [Fri, 27 Jan 2017 16:17:04 +0000 (16:17 +0000)]
PR libstdc++/79254 fix exception-safety in std::string::operator=
PR libstdc++/79254
* config/abi/pre/gnu.ver: Add new symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): New overloaded functions to perform
copy assignment.
(basic_string::operator=(const basic_string&)): Dispatch to
_M_copy_assign.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Define, performing rollback on exception.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test exception-safety guarantee.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
std::swap visible.
From-SVN: r244986
Bill Schmidt [Fri, 27 Jan 2017 15:59:02 +0000 (15:59 +0000)]
re PR testsuite/65484 (FAIL: g++.dg/vect/pr36648.cc on powerpc64)
2017-01-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65484
* g++.dg/vect/pr36648.cc: Modify to reflect that the loop is not
vectorized on POWER unless hardware misaligned loads are
available.
From-SVN: r244985
Ian Lance Taylor [Fri, 27 Jan 2017 15:08:23 +0000 (15:08 +0000)]
compiler: let initializers hold addresses of fields
The runtime.dbgvars initializer looks like
var dbgvars = []dbgVar{
{"allocfreetrace", &debug.allocfreetrace},
}
Because the field address was not recognized as valid for a static
initializer, the variable was initialized at runtime. Normally that
would be fine, but for the runtime package it meant that dbgvars was
not initialized when it was read by parsedebugvars. That meant that
the GODEBUG environment variable did nothing.
Fixing that revealed that the static initializer checks had to be more
careful about interface types, just like the existing is_constant
methods.
Reviewed-on: https://go-review.googlesource.com/35891
From-SVN: r244982
Ian Lance Taylor [Fri, 27 Jan 2017 15:01:57 +0000 (15:01 +0000)]
libgo: update to go1.8rc3
Reviewed-on: https://go-review.googlesource.com/35844
From-SVN: r244981
Bin Cheng [Fri, 27 Jan 2017 14:42:23 +0000 (14:42 +0000)]
re PR rtl-optimization/78559 (wrong code due to tree if-conversion?)
PR rtl-optimization/78559
* combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
other_insn in combine.
gcc/testsuite
PR rtl-optimization/78559
* gcc.c-torture/execute/pr78559.c: New test.
From-SVN: r244979
Martin Jambor [Fri, 27 Jan 2017 14:35:07 +0000 (15:35 +0100)]
[brigfe] Small fixes
2017-01-27 Pekka Jaaskelainen <pekka.jaaskelainen@parmance.com>
* configure.ac: Moved the white list of enabling BRIG FE to
libhsail-rt/configure.tgt.
* configure: Regenerated.
* MAINTAINERS: Updated maintainers for BRIG FE and libhsail-rt.
gcc/
* builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use
uint16_type_node for BT_UINT16.
gcc/brig/
* config-lang.in: Removed stale target-libbrig reference.
libhsail-rt/
* configure.tgt: Moved the white list of supported targets here
from configure.ac. Added i[
3456789]86-*-linux* as a supported env
for the BRIG FE.
* README: Added a proper description of what libhsail-rt is.
From-SVN: r244978
David Malcolm [Fri, 27 Jan 2017 14:25:59 +0000 (14:25 +0000)]
docs: Add __GIMPLE and __RTL to the "Internals" doc
gcc/ChangeLog:
* doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
"RTL Tests" to menu.
(GIMPLE Tests): New node.
(RTL Tests): New node.
From-SVN: r244977
Richard Biener [Fri, 27 Jan 2017 13:56:59 +0000 (13:56 +0000)]
re PR tree-optimization/79245 (Inefficient loop distribution to memcpy)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79245
* tree-loop-distribution.c (distribute_loop): Apply cost
modeling also to detected patterns.
* gcc.dg/tree-ssa/ldist-23.c: XFAIL.
* gcc.dg/tree-ssa/ldist-25.c: New testcase.
From-SVN: r244976
Jakub Jelinek [Fri, 27 Jan 2017 13:25:28 +0000 (14:25 +0100)]
re PR c/79199 (ICE with -Wduplicated-branches)
PR c/79199
* c-c++-common/Wduplicated-branches-13.c: Require int32plus effective
target. Use 4294967293U instead of
4294967293.
From-SVN: r244975
Richard Biener [Fri, 27 Jan 2017 12:30:43 +0000 (12:30 +0000)]
re PR tree-optimization/71433 (-Warray-bounds false positive with -O2)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/71433
* tree-vrp.c (register_new_assert_for): Revert earlier changes.
(compare_assert_loc): New function.
(process_assert_insertions): Sort and optimize assert locations
to remove duplicates and push down identical assertions on
edges to their destination block.
* gcc.dg/Warray-bounds-21.c: New testcase.
From-SVN: r244974
Richard Biener [Fri, 27 Jan 2017 12:24:54 +0000 (12:24 +0000)]
re PR tree-optimization/79244 (ice in replace_uses_by, at tree-cfg.c:1866)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79244
* tree-vrp.c (remove_range_assertions): Forcefully propagate
out SSA names even if abnormal.
* gcc.dg/torture/pr79244.c: New testcase.
From-SVN: r244973
Jakub Jelinek [Fri, 27 Jan 2017 11:34:58 +0000 (12:34 +0100)]
fib-opr-overload.cc (main): Change all occurrences of 40 to 32.
* g++.dg/cilk-plus/CK/fib-opr-overload.cc (main): Change
all occurrences of 40 to 32.
From-SVN: r244967
Jakub Jelinek [Fri, 27 Jan 2017 11:28:34 +0000 (12:28 +0100)]
realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
instead of MPFR_RNDN.
From-SVN: r244966