gcc.git
7 years agoFix memory leaks in IPA CP (PR ipa/79337).
Martin Liska [Fri, 3 Feb 2017 08:20:02 +0000 (09:20 +0100)]
Fix memory leaks in IPA CP (PR ipa/79337).

2017-02-03  Martin Liska  <mliska@suse.cz>

PR ipa/79337
* ipa-prop.c (ipa_node_params_t::insert): Remove current
implementation.
(ipa_node_params_t::remove): Likewise.
* ipa-prop.h (ipa_node_params::ipa_node_params): Make default
initialization from removed ipa_node_params_t::insert.
(ipa_node_params::~ipa_node_params): Move from removed
ipa_node_params_t::release.
* symbol-summary.h (symbol_summary::m_released): New member.
Do not release a summary twice.  Do not allow to call finalizer
for types of a summary that live in GGC memory.

From-SVN: r245145

7 years agoaarch64.c (thunderx2t99_tunings): Enable AES and cmp_branch fusion.
Naveen H.S [Fri, 3 Feb 2017 05:55:46 +0000 (05:55 +0000)]
aarch64.c (thunderx2t99_tunings): Enable AES and cmp_branch fusion.

2017-02-02  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>

* config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
cmp_branch fusion.

From-SVN: r245143

7 years agoPR middle-end/79275 - -Wformat-overflow false positive exceeding INT_MAX in glibc...
Martin Sebor [Fri, 3 Feb 2017 02:18:59 +0000 (02:18 +0000)]
PR middle-end/79275 -  -Wformat-overflow false positive exceeding INT_MAX in glibc sysdeps/posix/tempname.c

gcc/testsuite/ChangeLog:

PR middle-end/79275
* gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: New test.
* gcc.dg/tree-ssa/pr79275.c: New test.

gcc/ChangeLog:

PR middle-end/79275
* gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
(format_string): Tighten up the range of output for non-constant
strings and correct the expected range for wide non-constant strings.

From-SVN: r245142

7 years agoDaily bump.
GCC Administrator [Fri, 3 Feb 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245141

7 years agosms-8.c: Update options for powerpc*-*-*.
Aaron Sawdey [Thu, 2 Feb 2017 23:50:53 +0000 (23:50 +0000)]
sms-8.c: Update options for powerpc*-*-*.

2017-02-02  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

        * gcc.dg/sms-8.c: Update options for powerpc*-*-*.

From-SVN: r245138

7 years agoinvoke.texi (-maccumulate-args): Fix bad grammar.
Martin Sebor [Thu, 2 Feb 2017 21:00:49 +0000 (21:00 +0000)]
invoke.texi (-maccumulate-args): Fix bad grammar.

gcc/ChangeLog:
       * doc/invoke.texi (-maccumulate-args): Fix bad grammar.

From-SVN: r245137

7 years agoPR middle-end/32003 - Undocumented -fdump-tree options
Martin Sebor [Thu, 2 Feb 2017 20:57:37 +0000 (20:57 +0000)]
PR middle-end/32003 - Undocumented -fdump-tree options

gcc/ChangeLog:
       * doc/invoke.texi (-fdump-rtl-): Remove pass-specific options from
       index.
       (-fdump-tree-@var): Add to index and document how to come up
       with pass-specific option and dump file names.
       (-fdump-passes): Clarify where to look for output.

From-SVN: r245136

7 years agore PR tree-optimization/77445 (Performance drop after r239219 on coremark test)
Jan Hubicka [Thu, 2 Feb 2017 20:22:13 +0000 (21:22 +0100)]
re PR tree-optimization/77445 (Performance drop after r239219 on coremark test)

PR middle-end/77445
* gcc.dg/tree-ssa/pr77445-2.c: Update testcase to check that all
threading is done.
* tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
statistics of the analyzed path; allow threading for speed when
any of BBs along the path are optimized for speed.

From-SVN: r245135

7 years agoUpdate libstdc++ baseline symbols for x32
H.J. Lu [Thu, 2 Feb 2017 20:18:43 +0000 (20:18 +0000)]
Update libstdc++ baseline symbols for x32

* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.

From-SVN: r245134

7 years agore PR middle-end/78142 (Commit r241590 is more registers to be used for on gcc.target...
Tamar Christina [Thu, 2 Feb 2017 16:35:15 +0000 (16:35 +0000)]
re PR middle-end/78142 (Commit r241590 is more registers to be used for on gcc.target/aarch64/vector_initialization_nostack.c)

PR middle-end/78142
* gcc.target/aarch64/vector_initialization_nostack.c
(f12): Use one vector

From-SVN: r245132

7 years agoSeparate Solaris/SPARC and x86 baselines
Rainer Orth [Thu, 2 Feb 2017 16:24:03 +0000 (16:24 +0000)]
Separate Solaris/SPARC and x86 baselines

* configure.host: Separate Solaris/SPARC and x86 baselines.
* config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
... here.
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
* config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
... here.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
* config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.

From-SVN: r245131

7 years agoUpdate Solaris baselines
Rainer Orth [Thu, 2 Feb 2017 16:23:11 +0000 (16:23 +0000)]
Update Solaris baselines

* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.

From-SVN: r245130

7 years agolibgomp, nvptx plugin: Make "nvptx_exec" static
Thomas Schwinge [Thu, 2 Feb 2017 14:35:30 +0000 (15:35 +0100)]
libgomp, nvptx plugin: Make "nvptx_exec" static

libgomp/
* plugin/plugin-nvptx.c (nvptx_exec): Make it static.

From-SVN: r245127

7 years agolibgomp: Normalize the names of a few functions of the libgomp plugin API
Thomas Schwinge [Thu, 2 Feb 2017 14:13:57 +0000 (15:13 +0100)]
libgomp: Normalize the names of a few functions of the libgomp plugin API

libgomp/
* libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
GOMP_OFFLOAD_openacc_exec.  Adjust all users.
(GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
(GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
(GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
(GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.

From-SVN: r245125

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