]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
7 years ago PR ada/79309
ebotcazou [Wed, 1 Feb 2017 20:36:23 +0000 (20:36 +0000)] 
PR ada/79309
* adaint.c (__gnat_killprocesstree): Fix broken string handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245103 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-02-01 Andrew Pinski <apinski@cavium.com>
pinskia [Wed, 1 Feb 2017 18:30:50 +0000 (18:30 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245101 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix __atomic to not implement atomic loads with CAS.
torvald [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245098 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR testsuite/79324
jakub [Wed, 1 Feb 2017 15:47:52 +0000 (15:47 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245097 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-02-01 Richard Biener <rguenther@suse.de>
rguenth [Wed, 1 Feb 2017 14:05:09 +0000 (14:05 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245096 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoAdd dg-require-alias to a ICF test (PR testsuite/79272).
marxin [Wed, 1 Feb 2017 14:04:38 +0000 (14:04 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245095 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-02-01 Richard Biener <rguenther@suse.de>
rguenth [Wed, 1 Feb 2017 12:58:27 +0000 (12:58 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245094 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR78346 make <bits/predefined_ops.h> handle stashing iterators
redi [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245090 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-02-01 Richard Biener <rguenther@suse.de>
rguenth [Wed, 1 Feb 2017 12:47:25 +0000 (12:47 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245089 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR libstdc++/79254 simplify exception-safety in copy assignment
redi [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245085 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago* brigfrontend/brig-code-entry-handler.cc: fix address
visit0r [Wed, 1 Feb 2017 10:06:13 +0000 (10:06 +0000)] 
* 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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245084 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-02-01 Richard Biener <rguenther@suse.de>
rguenth [Wed, 1 Feb 2017 08:02:50 +0000 (08:02 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245081 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * configure.tgt: Fix i?86-*-linux* entry.
jakub [Wed, 1 Feb 2017 07:56:49 +0000 (07:56 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245080 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Wed, 1 Feb 2017 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245079 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/i386/i386.c (ix86_expand_split_stack_prologue): Add
ian [Tue, 31 Jan 2017 23:49:26 +0000 (23:49 +0000)] 
* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
REG_ARGS_SIZE note to 32-bit push insns and call insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245076 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR c++/79304
jakub [Tue, 31 Jan 2017 21:38:00 +0000 (21:38 +0000)] 
PR c++/79304
* error.c (dump_expr) <case COMPONENT_REF>: Don't print .
after ARROW_EXPR.

* g++.dg/diagnostic/pr79304.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245073 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix ICE with spelling hints within explicit namespace aliases (PR c++/79298)
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245072 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPrevent ICEs due to bogus substring locations (PR preprocessor/79210)
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245070 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR c++/79290
nathan [Tue, 31 Jan 2017 19:37:11 +0000 (19:37 +0000)] 
PR c++/79290
* typeck.c (build_ptrmemfunc_access_expr): Set TREE_NO_WARNING.

PR c++/79290
* g++.dg/warn/pr79290.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245069 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Tue, 31 Jan 2017 18:50:31 +0000 (18:50 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245068 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR c++/67273
nathan [Tue, 31 Jan 2017 18:05:37 +0000 (18:05 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245067 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * cp-tree.h (instantiate_decl): Make defer_ok bool.
nathan [Tue, 31 Jan 2017 16:56:44 +0000 (16:56 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245066 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR c++/79264
nathan [Tue, 31 Jan 2017 15:10:41 +0000 (15:10 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245065 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-31 Richard Biener <rguenther@suse.de>
rguenth [Tue, 31 Jan 2017 14:44:37 +0000 (14:44 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245064 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agolibgomp: Provide prototypes for functions implemented by libgomp plugins
tschwinge [Tue, 31 Jan 2017 14:32:58 +0000 (14:32 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245062 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[testsuite] gcc.dg/memcmp-1.c: Fix testcase for newlib.
clyon [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().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245061 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agogcc/
jakub [Tue, 31 Jan 2017 13:50:20 +0000 (13:50 +0000)] 
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*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245060 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 31 Jan 2017 13:38:35 +0000 (13:38 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245059 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoCall symbol_summary<>::release instead of ~symbol_summary (PR ipa/79285).
marxin [Tue, 31 Jan 2017 10:54:41 +0000 (10:54 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245058 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR tree-optimization/71691
aldyh [Tue, 31 Jan 2017 10:30:47 +0000 (10:30 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245057 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoS/390: Rename __S390_ARCH_LEVEL__ to __ARCH__.
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__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245055 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR tree-optimization/79267
jakub [Tue, 31 Jan 2017 08:33:36 +0000 (08:33 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245053 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[PR63238] output alignment debug information
aoliva [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245052 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoIntroduce C++ support in libcc1
aoliva [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245051 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agolibcc1: return absolute filename from make search_dir
aoliva [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245050 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agolibcc1 base API: bump set_arguments; add set_driver_filename, set_triplet_regexp
aoliva [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245049 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agolibcc1 base API: add set_verbose and new version of compile
aoliva [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245048 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agolibcc1 base API version bump
aoliva [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245047 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * de.po, eo.po: Update.
jsm28 [Tue, 31 Jan 2017 00:50:29 +0000 (00:50 +0000)] 
* de.po, eo.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245046 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * de.po, es.po, fr.po, sv.po: Update.
jsm28 [Tue, 31 Jan 2017 00:48:36 +0000 (00:48 +0000)] 
* de.po, es.po, fr.po, sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245045 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Tue, 31 Jan 2017 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245044 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
acsawdey [Mon, 30 Jan 2017 23:24:24 +0000 (23:24 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245041 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agogcc/ChangeLog:
msebor [Mon, 30 Jan 2017 23:15:40 +0000 (23:15 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245040 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR debug/79289
ian [Mon, 30 Jan 2017 22:26:26 +0000 (22:26 +0000)] 
PR debug/79289
* dwarf2out.c (gen_type_die_with_usage): When picking a variant
for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245039 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agogcc/ChangeLog:
msebor [Mon, 30 Jan 2017 22:21:20 +0000 (22:21 +0000)] 
gcc/ChangeLog:
* doc/invoke.texi (-Wformat-truncation=1): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245038 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR testsuite/79293 - gcc.dg/tree-ssa/builtin-sprintf.c fails starting with r244953
msebor [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245037 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * brigfrontend/brig-code-entry-handler.cc
jakub [Mon, 30 Jan 2017 18:11:33 +0000 (18:11 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245036 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR lto/79061
chefmax [Mon, 30 Jan 2017 16:06:15 +0000 (16:06 +0000)] 
PR lto/79061
* asan.c (get_translation_unit_decl): Remove function.
(asan_add_global): Force has_dynamic_init to zero in LTO mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245033 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix profile corruption with -O1 (PR gcov-profile/79259)
marxin [Mon, 30 Jan 2017 15:35:57 +0000 (15:35 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245031 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix aarch64 PGO bootstrap (bootstrap/78985)
marxin [Mon, 30 Jan 2017 15:16:33 +0000 (15:16 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245030 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR target/79260
rearnsha [Mon, 30 Jan 2017 14:39:50 +0000 (14:39 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245029 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoupdate-copyright.py: Retain original file mode
aldot [Mon, 30 Jan 2017 14:31:59 +0000 (14:31 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245028 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype.
jakub [Mon, 30 Jan 2017 14:26:24 +0000 (14:26 +0000)] 
* mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245027 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-30 Richard Biener <rguenther@suse.de>
rguenth [Mon, 30 Jan 2017 14:24:37 +0000 (14:24 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245026 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-30 Richard Biener <rguenther@suse.de>
rguenth [Mon, 30 Jan 2017 13:52:44 +0000 (13:52 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245025 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoImplement LWG 2825, LWG 2756 breaks class template argument deduction for optional.
ville [Mon, 30 Jan 2017 13:37:16 +0000 (13:37 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245024 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[ARM][PR target/78945] Fix libatomic on armv7-m
nsz [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245023 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoS/390: PR target/79240: Fix assertion in s390_extzv_shift_ok.
krebbel [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245022 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[gcc]
wschmidt [Mon, 30 Jan 2017 03:32:59 +0000 (03:32 +0000)] 
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245021 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Mon, 30 Jan 2017 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245020 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * update-copyright.py: Fix the name of this script in examples.
gerald [Sun, 29 Jan 2017 19:29:15 +0000 (19:29 +0000)] 
* update-copyright.py: Fix the name of this script in examples.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245017 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Sun, 29 Jan 2017 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245013 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gnat.dg/trampoline4.adb: Skip on hppa*-*-*.
danglin [Sat, 28 Jan 2017 21:35:54 +0000 (21:35 +0000)] 
* gnat.dg/trampoline4.adb: Skip on hppa*-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245010 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
uros [Sat, 28 Jan 2017 18:43:56 +0000 (18:43 +0000)] 
* config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245009 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR testsuite/70583
danglin [Sat, 28 Jan 2017 18:01:22 +0000 (18:01 +0000)] 
PR testsuite/70583
* g++.old-deja/g++.abi/vtable2.C: Adjust CMP_VPTR define on hppa.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245007 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gnat.dg/debug7.adb: Skip on hppa*-*-hpux*.
danglin [Sat, 28 Jan 2017 17:30:50 +0000 (17:30 +0000)] 
* gnat.dg/debug7.adb: Skip on hppa*-*-hpux*.
* gnat.dg/debug9.adb: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245006 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gcc.dg/torture/pr78515.c: Add -fno-common option on hppa*-*-hpux*.
danglin [Sat, 28 Jan 2017 17:19:09 +0000 (17:19 +0000)] 
* gcc.dg/torture/pr78515.c: Add -fno-common option on hppa*-*-hpux*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245005 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * gfortran.dg/coarray_41.f90: Add "-latomic" option if
danglin [Sat, 28 Jan 2017 17:00:33 +0000 (17:00 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245004 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Sat, 28 Jan 2017 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245002 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agogcc/testsuite/ChangeLog:
msebor [Sat, 28 Jan 2017 00:09:15 +0000 (00:09 +0000)] 
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244999 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * sr.po: Update.
jsm28 [Fri, 27 Jan 2017 23:34:48 +0000 (23:34 +0000)] 
* sr.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244996 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
law [Fri, 27 Jan 2017 19:40:44 +0000 (19:40 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244993 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 27 Jan 2017 18:08:14 +0000 (18:08 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244991 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR c++/71290
msebor [Fri, 27 Jan 2017 16:51:54 +0000 (16:51 +0000)] 
PR c++/71290

gcc/testsuite/ChangeLog:
* obj-c++.dg/property/at-property-23.mm: Remove an escaped newline from
a dg-error directive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244990 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 27 Jan 2017 16:50:11 +0000 (16:50 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244989 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR c++/78771 - ICE with inherited constructor.
jason [Fri, 27 Jan 2017 16:48:34 +0000 (16:48 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244988 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR libstdc++/79254 fix exception-safety in std::string::operator=
redi [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244986 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 27 Jan 2017 15:59:02 +0000 (15:59 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244985 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago compiler: let initializers hold addresses of fields
ian [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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244982 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago libgo: update to go1.8rc3
ian [Fri, 27 Jan 2017 15:01:57 +0000 (15:01 +0000)] 
libgo: update to go1.8rc3

    Reviewed-on: https://go-review.googlesource.com/35844

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244981 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR rtl-optimization/78559
amker [Fri, 27 Jan 2017 14:42:23 +0000 (14:42 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244979 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[brigfe] Small fixes
jamborm [Fri, 27 Jan 2017 14:35:07 +0000 (14:35 +0000)] 
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244978 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agodocs: Add __GIMPLE and __RTL to the "Internals" doc
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244977 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Richard Biener <rguenther@suse.de>
rguenth [Fri, 27 Jan 2017 13:56:59 +0000 (13:56 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244976 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR c/79199
jakub [Fri, 27 Jan 2017 13:25:28 +0000 (13:25 +0000)] 
PR c/79199
* c-c++-common/Wduplicated-branches-13.c: Require int32plus effective
target.  Use 4294967293U instead of 4294967293.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244975 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Richard Biener <rguenther@suse.de>
rguenth [Fri, 27 Jan 2017 12:30:43 +0000 (12:30 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244974 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago2017-01-27 Richard Biener <rguenther@suse.de>
rguenth [Fri, 27 Jan 2017 12:24:54 +0000 (12:24 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244973 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * g++.dg/cilk-plus/CK/fib-opr-overload.cc (main): Change
jakub [Fri, 27 Jan 2017 11:34:58 +0000 (11:34 +0000)] 
* g++.dg/cilk-plus/CK/fib-opr-overload.cc (main): Change
all occurrences of 40 to 32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244967 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago * realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
jakub [Fri, 27 Jan 2017 11:28:34 +0000 (11:28 +0000)] 
* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
instead of MPFR_RNDN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244966 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago[ARM] Fix PR target/79239 - unrecognized insn after pragma gcc pop_options
ramana [Fri, 27 Jan 2017 11:22:30 +0000 (11:22 +0000)] 
[ARM] Fix PR target/79239 - unrecognized insn after pragma gcc pop_options

{committed for rearnsha}

It turns out that because the compiler uses a hash table to save the
cl_target_option structures it is unsafe to modify the result of
build_target_option_node() (doing so will cause the hash lookup to
fail).  This PR was due to not properly understanding this limitation.

The fix is to create temporary copies of the cl_target_option nodes for
use during target option processing and then only creating the tree node
once the options have been suitably modified.

gcc:
        PR target/79239
        * arm.c (arm_option_override): Don't call build_target_option_node
        until after doing all option overrides.
        (arm_valid_target_attribute_tree): Likewise.

gcc/testsuite:
        * gcc.target/arm/pr79239.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244965 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoEnhance doc for -fprofile-arcs
marxin [Fri, 27 Jan 2017 09:58:34 +0000 (09:58 +0000)] 
Enhance doc for -fprofile-arcs

2017-01-27  Martin Liska  <mliska@suse.cz>

* doc/invoke.texi (-fprofile-arcs): Document profiling support
for {cd}tors and C++ {cd}tors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244964 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoS/390: Fix matching setmem_long_and*.
krebbel [Fri, 27 Jan 2017 08:07:26 +0000 (08:07 +0000)] 
S/390: Fix matching setmem_long_and*.

The attached patch reactivates the setmem_long_and* patterns on S/390
that have not been generated for a while.

gcc/ChangeLog:

2017-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.md ("*setmem_long_and")
("*setmem_long_and_31z"): Use zero_extend instead of and.

gcc/testsuite/ChangeLog:

2017-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/setmem_long-1.c: Remove xfail, skip with -O0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244963 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoFix PR c++/64382
abutcher [Fri, 27 Jan 2017 07:59:06 +0000 (07:59 +0000)] 
Fix PR c++/64382

PR c++/64382
* cp/parser.c (parsing_default_capturing_generic_lambda_in_template):
New function.
* cp/cp-tree.h: Declare it.
* cp/semantics.c (finish_id_expression): Resolve names within a default
capturing generic lambda defined within a template prior to
instantiation to allow for captures to be added to the closure type.

PR c++/64382
* g++.dg/cpp1y/pr64382.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244962 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agogcc/ChangeLog:
msebor [Fri, 27 Jan 2017 02:45:32 +0000 (02:45 +0000)] 
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Simplify the computation
of precision to avoid preprocessor conditional.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244961 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoDaily bump.
gccadmin [Fri, 27 Jan 2017 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244960 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agogcc/ChangeLog:
msebor [Thu, 26 Jan 2017 23:37:17 +0000 (23:37 +0000)] 
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
HAVE_DFmode before using XFmode or DFmode.
(parse_directive): Avoid using the z length modifier to avoid
the ISO C++98 does not support the ā€˜zā€™ gnu_printf length modifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244957 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR middle-end/78703 - fprintf-return-value floating point handling incorrect in local...
msebor [Thu, 26 Jan 2017 23:07:02 +0000 (23:07 +0000)] 
PR middle-end/78703 - fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point

gcc/ChangeLog:
        PR middle-end/78703
        * gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
        to accept adjustment as an array.
        (get_int_range): New function.
        (struct directive): Make width and prec arrays.
        (directive::set_width, directive::set_precision): Call get_int_range.
        (format_integer, format_floating): Handle width and precision ranges.
        (format_string, parse_directive): Same.

gcc/testsuite/ChangeLog:
        PR middle-end/78703
        * gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Update
        * gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Rename...
        * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: ...to this.
        * gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244956 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR debug/79129
jakub [Thu, 26 Jan 2017 21:45:57 +0000 (21:45 +0000)] 
PR debug/79129
* dwarf2out.c (generate_skeleton_bottom_up): For children with
comdat_type_p set, just clone them, but keep the children in the
original DIE.

* g++.dg/debug/dwarf2/pr79129.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244955 138bc75d-0d04-0410-961f-82ee72b054a4

7 years ago PR debug/78835
jakub [Thu, 26 Jan 2017 21:44:49 +0000 (21:44 +0000)] 
PR debug/78835
* dwarf2out.c (prune_unused_types): Mark all functions with DIEs
which have direct callers with -fvar-tracking-assignments enabled
in the current TU.
(resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
inside of type units.

* g++.dg/debug/dwarf2/pr78835.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244954 138bc75d-0d04-0410-961f-82ee72b054a4

7 years agoPR middle-end/78703 -fprintf-return-value floating point handling incorrect in locale...
msebor [Thu, 26 Jan 2017 21:14:18 +0000 (21:14 +0000)] 
PR middle-end/78703 -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point

gcc/ChangeLog:
PR middle-end/78703
* gimple-ssa-sprintf.c (struct result_range): Add likely and
unlikely counters.
(struct format_result): Replace number_chars, number_chars_min,
and number_chars_max with a single member of struct result_range.
Remove bounded.
(format_result::operator+=): Adjust.
(struct fmtresult): Remove bounded.  Handle likely and unlikely
counters.
(fmtresult::adjust_for_width_or_precision): New function.
(fmtresult:type_max_digits): New function.
(bytes_remaining): Handle likely and unlikely counters.
(min_bytes_remaining): Remove.
(format_percent): Simplify.
(format_integer, format_floating): Set likely and unlikely counters.
(get_string_length, format_character, format_string): Same.
(format_plain, should_warn_p): New function.
(maybe_warn): Call should_warn_p.  Update diagnostic messages
and handle those for all directives, including plain strings.
(format_directive): Handle likely and unlikely counters.
Remove unnecessary quoting from diagnostics.  Add an informational
note.
(add_bytes): Remove.
(pass_sprintf_length::compute_format_length): Simplify.
(try_substitute_return_value): Handle likely and unlikely counters.

gcc/testsuite/ChangeLog:

PR middle-end/78703
* gcc.dg/format/pr78569.c: Adjust.
* gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244953 138bc75d-0d04-0410-961f-82ee72b054a4