gcc.git
7 years agore PR middle-end/78468 (libgomp.c/reduction-10.c and many more FAIL)
Eric Botcazou [Thu, 2 Feb 2017 12:39:09 +0000 (12:39 +0000)]
re PR middle-end/78468 (libgomp.c/reduction-10.c and many more FAIL)

PR middle-end/78468
* emit-rtl.c (init_emit): Add ??? comment for problematic alignment
settings of the virtual registers.

Revert again
2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* explow.c (get_dynamic_stack_size): Take known alignment of stack
pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
needed.

From-SVN: r245124

7 years agoS/390: Remove unused expanders from vx-builtins.md
Andreas Krebbel [Thu, 2 Feb 2017 12:19:50 +0000 (12:19 +0000)]
S/390: Remove unused expanders from vx-builtins.md

These expanders are currently not used.  The vecintrin.h header file
expands e.g. vec_ceil directly to the vfidb low-level builtin.

gcc/ChangeLog:

2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.

From-SVN: r245123

7 years agoS/390: Add missing comments listing mnemonics.
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

7 years agopr63316.c: Use dg-skip-if instead of dg-options.
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

7 years agore PR target/79197 (ICE in extract_insn in gcc/recog.c:2311)
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

7 years agopr71078-3.c: Do not rely on math.h.
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

7 years agore PR c++/14179 (out of memory while parsing array with many initializers)
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

7 years agore PR c++/69637 (ICE on an invalid bit-field with template name for width)
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

7 years agoS/390: Rename __S390_VX__ to __VX__.
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

7 years agoDaily bump.
GCC Administrator [Thu, 2 Feb 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245114

7 years ago* de.po: Update.
Joseph Myers [Wed, 1 Feb 2017 23:59:21 +0000 (23:59 +0000)]
* de.po: Update.

From-SVN: r245111

7 years agore PR target/70012 (test case gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c fails)
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

7 years agore PR ada/79309 (incorrectly bounded calls to strncat in adaint.c)
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

7 years agore PR ada/79309 (incorrectly bounded calls to strncat in adaint.c)
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

7 years agotree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass stmt_info to recor...
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

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

7 years agore PR testsuite/79324 (The tests introduced at revision r245052 fail on darwin)
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

7 years agographite.c: Include tree-vectorizer.h for find_loop_location.
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

7 years agoAdd dg-require-alias to a ICF test (PR testsuite/79272).
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

7 years agore PR tree-optimization/76957 (XFAIL: gcc.dg/graphite/scop-dsyr2k.c scan-tree-dump...
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

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

7 years agore PR tree-optimization/79315 (ICE while building SPEC CPU 2006 FP with -Ofast -ftree...
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

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

7 years agore PR other/79250 (brig/brigfrontend/brig-to-generic.cc: two small problems)
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

7 years agore PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimi...
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

7 years agoconfigure.tgt: Fix i?86-*-linux* entry.
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

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

From-SVN: r245079

7 years agoi386.c (ix86_expand_split_stack_prologue): Add REG_ARGS_SIZE note to 32-bit push...
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

7 years agore PR c++/79304 (diagnostic shows bogus expression ((X<T>*)this)->.c)
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

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

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

7 years agore PR c++/79290 (forming pointer to member function tries to access "__pfn")
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

7 years agore PR fortran/79305 (real128 - undefined reference to cexpl)
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

7 years agore PR c++/67273 (Incorrect -Wshadow warning with generic lambdas)
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

7 years agocp-tree.h (instantiate_decl): Make defer_ok bool.
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

7 years agore PR c++/79264 (ICE verify_type failed)
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

7 years agore PR tree-optimization/77318 (FAIL: gfortran.dg/graphite/pr68279.f90 -O (internal...
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

7 years agolibgomp: Provide prototypes for functions implemented by libgomp plugins
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

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

7 years agos390.c (s390_asan_shadow_offset): New function.
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

7 years agore PR target/78597 (test case gcc.dg/torture/fp-int-convert-float128-ieee.c (and...
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

7 years agoCall symbol_summary<>::release instead of ~symbol_summary (PR ipa/79285).
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

7 years agore PR tree-optimization/71691 (wrong code at -O3 in both 32-bit and 64-bit modes...
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

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

7 years agore PR c++/79267 (internal compiler error with -O3 or -O2 -finline-functions)
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

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

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

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

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

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

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

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

From-SVN: r245046

7 years ago* de.po, es.po, fr.po, sv.po: Update.
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

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

From-SVN: r245044

7 years agore PR target/79170 (memcmp builtin expansion sequence can overflow)
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

7 years agogimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision): Move constant to...
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

7 years agore PR debug/79289 (DWARF info for typeof of C function with no args and no prototype...
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

7 years agoinvoke.texi (-Wformat-truncation=1): Fix typo.
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

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

7 years ago* brigfrontend/brig-code-entry-handler.cc
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

7 years agore PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initializati...
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

7 years agoFix profile corruption with -O1 (PR gcov-profile/79259)
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

7 years agoFix aarch64 PGO bootstrap (bootstrap/78985)
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

7 years agore PR target/79260 (missing header files for plugins: arm-isa.h, arm-flags.h)
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

7 years agoupdate-copyright.py: Retain original file mode
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

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

From-SVN: r245027

7 years agore PR tree-optimization/79276 (ICE: Segmentation fault in VRP pass)
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

7 years agore PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test)
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

7 years agoImplement LWG 2825, LWG 2756 breaks class template argument deduction for optional.
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

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

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

7 years agore PR target/79268 (Wrong code generation for vec_xl and vec_xst intrinsics)
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

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

From-SVN: r245020

7 years ago* update-copyright.py: Fix the name of this script in examples.
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

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

From-SVN: r245013

7 years agotrampoline4.adb: Skip on hppa*-*-*.
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

7 years agoi386.c (print_reg): Use REGNO instead of true_regnum.
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

7 years agore PR testsuite/70583 (FAIL: g++.old-deja/g++.abi/vtable2.C -std=gnu++98 execution...
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

7 years agodebug7.adb: Skip on hppa*-*-hpux*.
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

7 years agopr78515.c: Add -fno-common option on hppa*-*-hpux*.
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

7 years agocoarray_41.f90: Add "-latomic" option if libatomic_available.
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

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

From-SVN: r245002

7 years agobuiltin-sprintf-warn-1.c: Add test cases.
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

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

From-SVN: r244996

7 years agore PR rtl-optimization/79194 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 (error...
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

7 years agore PR rtl-optimization/71374 (ICE on valid code at -O1 and above on x86_64-linux...
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

7 years agore PR c++/71290 (Flexible array member is not diagnosed with -pedantic)
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

7 years agore PR target/79131 (ICE: in extract_constrain_insn, at recog.c:2213, big-endian ARM)
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

7 years agoPR c++/78771 - ICE with inherited constructor.
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

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

7 years agore PR testsuite/65484 (FAIL: g++.dg/vect/pr36648.cc on powerpc64)
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

7 years agocompiler: let initializers hold addresses of fields
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

7 years agolibgo: update to go1.8rc3
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

7 years agore PR rtl-optimization/78559 (wrong code due to tree if-conversion?)
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

7 years ago[brigfe] Small fixes
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

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

7 years agore PR tree-optimization/79245 (Inefficient loop distribution to memcpy)
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

7 years agore PR c/79199 (ICE with -Wduplicated-branches)
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

7 years agore PR tree-optimization/71433 (-Warray-bounds false positive with -O2)
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

7 years agore PR tree-optimization/79244 (ice in replace_uses_by, at tree-cfg.c:1866)
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