gcc.git
7 years agore PR target/71321 (x86: worse code for uint8_t % 10 and / 10)
Bernd Schmidt [Wed, 21 Dec 2016 16:45:33 +0000 (16:45 +0000)]
re PR target/71321 (x86: worse code for uint8_t % 10 and / 10)

PR target/71321
* config/i386/i386.md (lea<mode>_general_2b, lea<mode>_general_3b): New
patterns.
* config/i386/predicates.md (const123_operand): New.

PR target/71321
* gcc.target/i386/pr71321.c: New test.

From-SVN: r243861

7 years agore PR fortran/78866 (ICE in gimplify_adjust_omp_clauses_1, at gimplify.c:8721)
Jakub Jelinek [Wed, 21 Dec 2016 16:16:20 +0000 (17:16 +0100)]
re PR fortran/78866 (ICE in gimplify_adjust_omp_clauses_1, at gimplify.c:8721)

PR fortran/78866
* openmp.c (resolve_omp_clauses): Diagnose assumed size arrays in
OpenMP map, to and from clauses.
* trans-openmp.c: Include diagnostic-core.h, temporarily redefining
GCC_DIAG_STYLE to __gcc_tdiag__.
(gfc_omp_finish_clause): Diagnose implicitly mapped assumed size
arrays.

* gfortran.dg/gomp/map-1.f90: Add expected error.
* gfortran.dg/gomp/pr78866-1.f90: New test.
* gfortran.dg/gomp/pr78866-2.f90: New test.

From-SVN: r243860

7 years agocostmodel-bb-slp-9a-pr63175.c: XFAIL lwz on AIX.
David Edelsohn [Wed, 21 Dec 2016 15:41:33 +0000 (15:41 +0000)]
costmodel-bb-slp-9a-pr63175.c: XFAIL lwz on AIX.

        * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: XFAIL
        lwz on AIX.

From-SVN: r243859

7 years ago[ARM] Updating testcase unsigned-extend-2.c
Andre Vieira [Wed, 21 Dec 2016 15:16:53 +0000 (15:16 +0000)]
[ARM] Updating testcase unsigned-extend-2.c

gcc/testsuite/ChangeLog:
2016-12-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* gcc.target/arm/unsigned-extend-2.c: Update testcase.

From-SVN: r243858

7 years agoDo not suggest -fsanitize=all (PR driver/78863).
Martin Liska [Wed, 21 Dec 2016 15:05:10 +0000 (15:05 +0000)]
Do not suggest -fsanitize=all (PR driver/78863).

PR driver/78863
* gcc.c (driver::build_option_suggestions): Do not add
-fsanitize=all as a suggestion candidate.
PR driver/78863
* gcc.dg/spellcheck-options-13.c: New test.

From-SVN: r243857

7 years agonvptx: adjust testcase for 'shared' attribute
Alexander Monakov [Wed, 21 Dec 2016 14:33:17 +0000 (17:33 +0300)]
nvptx: adjust testcase for 'shared' attribute

* gcc.target/nvptx/decl-shared.c (v_common): Add 'common' attribute to
explicitly request the desired storage class.

From-SVN: r243856

7 years agonvptx: do not assume that crtl->is_leaf is unset
Alexander Monakov [Wed, 21 Dec 2016 14:20:09 +0000 (17:20 +0300)]
nvptx: do not assume that crtl->is_leaf is unset

PR target/78831
* config/nvptx/nvptx.c (init_softstack_frame): Remove assert.  Compute
crtl->is_leaf only if unset.  Adjust comment.

From-SVN: r243855

7 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Wed, 21 Dec 2016 13:50:11 +0000 (13:50 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

gcc/testsuite/
PR testsuite/52641
* gcc.dg/builtin-object-size-16.c (ia0, ia1, ia9): Handle case
where neither short nor int has a size of 4; use long.
* gcc.dg/builtin-object-size-17.c: Same.
* gcc.dg/builtin-stringop-chk-1.c (test2) <struct S>: Use int32_t
for components as 4 components are supposed to occupy 16 bytes.
* gcc.dg/pr78408-1.c: Require target size32plus.
* gcc.dg/pr78408-2.c: Same.
* gcc.dg/tree-ssa/pr78428.c. Require target int32plus.
* gcc.dg/tree-ssa/tailcall-7.c: Require target trampolines.

From-SVN: r243854

7 years agoPR 71444 define more error constants for mingw-w64
Jonathan Wakely [Wed, 21 Dec 2016 13:09:13 +0000 (13:09 +0000)]
PR 71444 define more error constants for mingw-w64

PR libstdc++/71444
* config/os/mingw32-w64/error_constants.h
(address_family_not_supported, address_in_use, address_not_available)
(already_connected, connection_aborted, connection_already_in_progress)
connection_refused, connection_reset, cross_device_link)
(destination_address_required, host_unreachable, message_size)
(network_down, network_reset, network_unreachable, no_buffer_space)
(no_protocol_option, not_a_socket, not_connected, operation_canceled)
(operation_in_progress, operation_not_supported, protocol_error)
(protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
(value_too_large, wrong_protocol_type): Define.
(bad_message, identifier_removed, no_link, no_message_available)
(no_message, no_stream_resources, not_a_stream, owner_dead)
(state_not_recoverable, stream_timeout, text_file_busy): Define
conditionally.
* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.

From-SVN: r243853

7 years agoconfigure.ac: Don't bootstrap libmpx unless --with-build-config includes bootstrap...
Jakub Jelinek [Wed, 21 Dec 2016 11:28:40 +0000 (12:28 +0100)]
configure.ac: Don't bootstrap libmpx unless --with-build-config includes bootstrap-mpx.

* configure.ac: Don't bootstrap libmpx unless --with-build-config
includes bootstrap-mpx.
* configure: Regenerated.

From-SVN: r243849

7 years agoMIPS: Relax instruction order check in msa-builtins.c.
Toma Tabacu [Wed, 21 Dec 2016 11:03:12 +0000 (11:03 +0000)]
MIPS: Relax instruction order check in msa-builtins.c.

gcc/testsuite

* gcc.target/mips/msa-builtins.c (msa_insert_d): Tweak expected output.

From-SVN: r243848

7 years agorandom.c: Do not include <sys/types.h> header.
Francois-Xavier Coudert [Wed, 21 Dec 2016 10:56:16 +0000 (10:56 +0000)]
random.c: Do not include <sys/types.h> header.

* intrinsics/random.c: Do not include <sys/types.h> header.
* m4/maxloc0.m4: Do not include <limits.h> header.
* m4/maxloc1.m4: Do not include <limits.h> header.
* m4/minloc0.m4: Do not include <limits.h> header.
* m4/minloc1.m4: Do not include <limits.h> header.
* m4/norm2.m4: Do not include <math.h> header.
* m4/parity.m4: Do not include <math.h> header.
* runtime/minimal.c: Remove <limits.h> and <errno.h> headers.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/norm2_r10.c: Regenerate.
* generated/norm2_r16.c: Regenerate.
* generated/norm2_r4.c: Regenerate.
* generated/norm2_r8.c: Regenerate.
* generated/parity_l1.c: Regenerate.
* generated/parity_l16.c: Regenerate.
* generated/parity_l2.c: Regenerate.
* generated/parity_l4.c: Regenerate.
* generated/parity_l8.c: Regenerate.

From-SVN: r243847

7 years agolibgfortran.h: Include <stdlib.h> header.
Francois-Xavier Coudert [Wed, 21 Dec 2016 10:41:57 +0000 (10:41 +0000)]
libgfortran.h: Include <stdlib.h> header.

* libgfortran.h: Include <stdlib.h> header.
* intrinsics/access.c: Do not include <stdlib.h> header.
* intrinsics/chdir.c: Do not include <stdlib.h> header.
* intrinsics/chmod.c: Do not include <stdlib.h> header.
* intrinsics/date_and_time.c: Do not include <stdlib.h> header.
* intrinsics/env.c: Do not include <stdlib.h> header.
* intrinsics/execute_command_line.c: Do not include <stdlib.h> header.
* intrinsics/exit.c: Do not include <stdlib.h> header.
* intrinsics/getcwd.c: Do not include <stdlib.h> header.
* intrinsics/getlog.c: Do not include <stdlib.h> header.
* intrinsics/link.c: Do not include <stdlib.h> header.
* intrinsics/move_alloc.c: Do not include <stdlib.h> header.
* intrinsics/perror.c: Do not include <stdlib.h> header.
* intrinsics/random.c: Do not include <stdlib.h> header.
* intrinsics/rename.c: Do not include <stdlib.h> header.
* intrinsics/reshape_generic.c: Do not include <stdlib.h> header.
* intrinsics/stat.c: Do not include <stdlib.h> header.
* intrinsics/symlnk.c: Do not include <stdlib.h> header.
* intrinsics/system.c: Do not include <stdlib.h> header.
* intrinsics/unlink.c: Do not include <stdlib.h> header.
* io/fbuf.c: Do not include <stdlib.h> header.
* io/format.c: Do not include <stdlib.h> header.
* io/intrinsics.c: Do not include <stdlib.h> header.
* io/list_read.c: Do not include <stdlib.h> header.
* io/lock.c: Do not include <stdlib.h> header.
* io/open.c: Do not include <stdlib.h> header.
* io/read.c: Do not include <stdlib.h> header.
* io/transfer.c: Do not include <stdlib.h> header.
* io/unit.c: Do not include <stdlib.h> header.
* io/unix.c: Do not include <stdlib.h> header.
* io/write.c: Do not include <stdlib.h> header.
* m4/all.m4: Do not include <stdlib.h> header.
* m4/any.m4: Do not include <stdlib.h> header.
* m4/bessel.m4: Do not include <stdlib.h> header.
* m4/count.m4: Do not include <stdlib.h> header.
* m4/cshift0.m4: Do not include <stdlib.h> header.
* m4/cshift1.m4: Do not include <stdlib.h> header.
* m4/eoshift1.m4: Do not include <stdlib.h> header.
* m4/eoshift3.m4: Do not include <stdlib.h> header.
* m4/iall.m4: Do not include <stdlib.h> header.
* m4/iany.m4: Do not include <stdlib.h> header.
* m4/in_pack.m4: Do not include <stdlib.h> header.
* m4/in_unpack.m4: Do not include <stdlib.h> header.
* m4/iparity.m4: Do not include <stdlib.h> header.
* m4/matmul.m4: Do not include <stdlib.h> header.
* m4/matmull.m4: Do not include <stdlib.h> header.
* m4/maxloc0.m4: Do not include <stdlib.h> header.
* m4/maxloc1.m4: Do not include <stdlib.h> header.
* m4/maxval.m4: Do not include <stdlib.h> header.
* m4/minloc0.m4: Do not include <stdlib.h> header.
* m4/minloc1.m4: Do not include <stdlib.h> header.
* m4/minval.m4: Do not include <stdlib.h> header.
* m4/norm2.m4: Do not include <stdlib.h> header.
* m4/pack.m4: Do not include <stdlib.h> header.
* m4/parity.m4: Do not include <stdlib.h> header.
* m4/product.m4: Do not include <stdlib.h> header.
* m4/reshape.m4: Do not include <stdlib.h> header.
* m4/shape.m4: Do not include <stdlib.h> header.
* m4/spread.m4: Do not include <stdlib.h> header.
* m4/sum.m4: Do not include <stdlib.h> header.
* m4/unpack.m4: Do not include <stdlib.h> header.
* runtime/environ.c: Do not include <stdlib.h> header.
* runtime/error.c: Do not include <stdlib.h> header.
* runtime/memory.c: Do not include <stdlib.h> header.
* runtime/minimal.c: Do not include <stdlib.h> header.
* runtime/string.c: Do not include <stdlib.h> header.
* generated/all_l1.c: Regenerate.
* generated/all_l16.c: Regenerate.
* generated/all_l2.c: Regenerate.
* generated/all_l4.c: Regenerate.
* generated/all_l8.c: Regenerate.
* generated/any_l1.c: Regenerate.
* generated/any_l16.c: Regenerate.
* generated/any_l2.c: Regenerate.
* generated/any_l4.c: Regenerate.
* generated/any_l8.c: Regenerate.
* generated/bessel_r10.c: Regenerate.
* generated/bessel_r16.c: Regenerate.
* generated/bessel_r4.c: Regenerate.
* generated/bessel_r8.c: Regenerate.
* generated/count_16_l.c: Regenerate.
* generated/count_1_l.c: Regenerate.
* generated/count_2_l.c: Regenerate.
* generated/count_4_l.c: Regenerate.
* generated/count_8_l.c: Regenerate.
* generated/cshift0_c10.c: Regenerate.
* generated/cshift0_c16.c: Regenerate.
* generated/cshift0_c4.c: Regenerate.
* generated/cshift0_c8.c: Regenerate.
* generated/cshift0_i1.c: Regenerate.
* generated/cshift0_i16.c: Regenerate.
* generated/cshift0_i2.c: Regenerate.
* generated/cshift0_i4.c: Regenerate.
* generated/cshift0_i8.c: Regenerate.
* generated/cshift0_r10.c: Regenerate.
* generated/cshift0_r16.c: Regenerate.
* generated/cshift0_r4.c: Regenerate.
* generated/cshift0_r8.c: Regenerate.
* generated/cshift1_16.c: Regenerate.
* generated/cshift1_4.c: Regenerate.
* generated/cshift1_8.c: Regenerate.
* generated/eoshift1_16.c: Regenerate.
* generated/eoshift1_4.c: Regenerate.
* generated/eoshift1_8.c: Regenerate.
* generated/eoshift3_16.c: Regenerate.
* generated/eoshift3_4.c: Regenerate.
* generated/eoshift3_8.c: Regenerate.
* generated/iall_i1.c: Regenerate.
* generated/iall_i16.c: Regenerate.
* generated/iall_i2.c: Regenerate.
* generated/iall_i4.c: Regenerate.
* generated/iall_i8.c: Regenerate.
* generated/iany_i1.c: Regenerate.
* generated/iany_i16.c: Regenerate.
* generated/iany_i2.c: Regenerate.
* generated/iany_i4.c: Regenerate.
* generated/iany_i8.c: Regenerate.
* generated/in_pack_c10.c: Regenerate.
* generated/in_pack_c16.c: Regenerate.
* generated/in_pack_c4.c: Regenerate.
* generated/in_pack_c8.c: Regenerate.
* generated/in_pack_i1.c: Regenerate.
* generated/in_pack_i16.c: Regenerate.
* generated/in_pack_i2.c: Regenerate.
* generated/in_pack_i4.c: Regenerate.
* generated/in_pack_i8.c: Regenerate.
* generated/in_pack_r10.c: Regenerate.
* generated/in_pack_r16.c: Regenerate.
* generated/in_pack_r4.c: Regenerate.
* generated/in_pack_r8.c: Regenerate.
* generated/in_unpack_c10.c: Regenerate.
* generated/in_unpack_c16.c: Regenerate.
* generated/in_unpack_c4.c: Regenerate.
* generated/in_unpack_c8.c: Regenerate.
* generated/in_unpack_i1.c: Regenerate.
* generated/in_unpack_i16.c: Regenerate.
* generated/in_unpack_i2.c: Regenerate.
* generated/in_unpack_i4.c: Regenerate.
* generated/in_unpack_i8.c: Regenerate.
* generated/in_unpack_r10.c: Regenerate.
* generated/in_unpack_r16.c: Regenerate.
* generated/in_unpack_r4.c: Regenerate.
* generated/in_unpack_r8.c: Regenerate.
* generated/iparity_i1.c: Regenerate.
* generated/iparity_i16.c: Regenerate.
* generated/iparity_i2.c: Regenerate.
* generated/iparity_i4.c: Regenerate.
* generated/iparity_i8.c: Regenerate.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_i1.c: Regenerate.
* generated/matmul_i16.c: Regenerate.
* generated/matmul_i2.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_l16.c: Regenerate.
* generated/matmul_l4.c: Regenerate.
* generated/matmul_l8.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_r8.c: Regenerate.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/maxval_i1.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/maxval_i2.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/minval_i1.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/minval_i2.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/minval_r8.c: Regenerate.
* generated/norm2_r10.c: Regenerate.
* generated/norm2_r16.c: Regenerate.
* generated/norm2_r4.c: Regenerate.
* generated/norm2_r8.c: Regenerate.
* generated/pack_c10.c: Regenerate.
* generated/pack_c16.c: Regenerate.
* generated/pack_c4.c: Regenerate.
* generated/pack_c8.c: Regenerate.
* generated/pack_i1.c: Regenerate.
* generated/pack_i16.c: Regenerate.
* generated/pack_i2.c: Regenerate.
* generated/pack_i4.c: Regenerate.
* generated/pack_i8.c: Regenerate.
* generated/pack_r10.c: Regenerate.
* generated/pack_r16.c: Regenerate.
* generated/pack_r4.c: Regenerate.
* generated/pack_r8.c: Regenerate.
* generated/parity_l1.c: Regenerate.
* generated/parity_l16.c: Regenerate.
* generated/parity_l2.c: Regenerate.
* generated/parity_l4.c: Regenerate.
* generated/parity_l8.c: Regenerate.
* generated/product_c10.c: Regenerate.
* generated/product_c16.c: Regenerate.
* generated/product_c4.c: Regenerate.
* generated/product_c8.c: Regenerate.
* generated/product_i1.c: Regenerate.
* generated/product_i16.c: Regenerate.
* generated/product_i2.c: Regenerate.
* generated/product_i4.c: Regenerate.
* generated/product_i8.c: Regenerate.
* generated/product_r10.c: Regenerate.
* generated/product_r16.c: Regenerate.
* generated/product_r4.c: Regenerate.
* generated/product_r8.c: Regenerate.
* generated/reshape_c10.c: Regenerate.
* generated/reshape_c16.c: Regenerate.
* generated/reshape_c4.c: Regenerate.
* generated/reshape_c8.c: Regenerate.
* generated/reshape_i16.c: Regenerate.
* generated/reshape_i4.c: Regenerate.
* generated/reshape_i8.c: Regenerate.
* generated/reshape_r10.c: Regenerate.
* generated/reshape_r16.c: Regenerate.
* generated/reshape_r4.c: Regenerate.
* generated/reshape_r8.c: Regenerate.
* generated/shape_i1.c: Regenerate.
* generated/shape_i16.c: Regenerate.
* generated/shape_i2.c: Regenerate.
* generated/shape_i4.c: Regenerate.
* generated/shape_i8.c: Regenerate.
* generated/spread_c10.c: Regenerate.
* generated/spread_c16.c: Regenerate.
* generated/spread_c4.c: Regenerate.
* generated/spread_c8.c: Regenerate.
* generated/spread_i1.c: Regenerate.
* generated/spread_i16.c: Regenerate.
* generated/spread_i2.c: Regenerate.
* generated/spread_i4.c: Regenerate.
* generated/spread_i8.c: Regenerate.
* generated/spread_r10.c: Regenerate.
* generated/spread_r16.c: Regenerate.
* generated/spread_r4.c: Regenerate.
* generated/spread_r8.c: Regenerate.
* generated/sum_c10.c: Regenerate.
* generated/sum_c16.c: Regenerate.
* generated/sum_c4.c: Regenerate.
* generated/sum_c8.c: Regenerate.
* generated/sum_i1.c: Regenerate.
* generated/sum_i16.c: Regenerate.
* generated/sum_i2.c: Regenerate.
* generated/sum_i4.c: Regenerate.
* generated/sum_i8.c: Regenerate.
* generated/sum_r10.c: Regenerate.
* generated/sum_r16.c: Regenerate.
* generated/sum_r4.c: Regenerate.
* generated/sum_r8.c: Regenerate.
* generated/unpack_c10.c: Regenerate.
* generated/unpack_c16.c: Regenerate.
* generated/unpack_c4.c: Regenerate.
* generated/unpack_c8.c: Regenerate.
* generated/unpack_i1.c: Regenerate.
* generated/unpack_i16.c: Regenerate.
* generated/unpack_i2.c: Regenerate.
* generated/unpack_i4.c: Regenerate.
* generated/unpack_i8.c: Regenerate.
* generated/unpack_r10.c: Regenerate.
* generated/unpack_r16.c: Regenerate.
* generated/unpack_r4.c: Regenerate.
* generated/unpack_r8.c: Regenerate.

From-SVN: r243846

7 years agoabort.c: Remove unused headers.
Francois-Xavier Coudert [Wed, 21 Dec 2016 10:26:14 +0000 (10:26 +0000)]
abort.c: Remove unused headers.

* intrinsics/abort.c: Remove unused headers.
* intrinsics/access.c: Remove unused headers.
* intrinsics/chdir.c: Remove unused headers.
* intrinsics/chmod.c: Remove unused headers.
* intrinsics/cshift0.c: Remove unused headers.
* intrinsics/ctime.c: Remove unused headers.
* intrinsics/eoshift0.c: Remove unused headers.
* intrinsics/eoshift2.c: Remove unused headers.
* intrinsics/extends_type_of.c: Remove unused headers.
* intrinsics/link.c: Remove unused headers.
* intrinsics/pack_generic.c: Remove unused headers.
* intrinsics/perror.c: Remove unused headers.
* intrinsics/rename.c: Remove unused headers.
* intrinsics/reshape_generic.c: Remove unused headers.
* intrinsics/sleep.c: Remove unused headers.
* intrinsics/spread_generic.c: Remove unused headers.
* intrinsics/stat.c: Remove unused headers.
* intrinsics/string_intrinsics.c: Remove unused headers.
* intrinsics/symlnk.c: Remove unused headers.
* intrinsics/system.c: Remove unused headers.
* intrinsics/umask.c: Remove unused headers.
* intrinsics/unlink.c: Remove unused headers.
* intrinsics/unpack_generic.c: Remove unused headers.
* io/read.c: Remove unused headers.
* io/transfer.c: Remove unused headers.
* io/unix.c: Remove unused headers.
* io/write.c: Remove unused headers.
* m4/all.m4: Remove unused headers.
* m4/any.m4: Remove unused headers.
* m4/bessel.m4: Remove unused headers.
* m4/count.m4: Remove unused headers.
* m4/cshift0.m4: Remove unused headers.
* m4/cshift1.m4: Remove unused headers.
* m4/eoshift1.m4: Remove unused headers.
* m4/eoshift3.m4: Remove unused headers.
* m4/iall.m4: Remove unused headers.
* m4/iany.m4: Remove unused headers.
* m4/in_pack.m4: Remove unused headers.
* m4/in_unpack.m4: Remove unused headers.
* m4/iparity.m4: Remove unused headers.
* m4/maxloc0.m4: Remove unused headers.
* m4/maxloc1.m4: Remove unused headers.
* m4/maxval.m4: Remove unused headers.
* m4/minloc0.m4: Remove unused headers.
* m4/minloc1.m4: Remove unused headers.
* m4/minval.m4: Remove unused headers.
* m4/norm2.m4: Remove unused headers.
* m4/pack.m4: Remove unused headers.
* m4/parity.m4: Remove unused headers.
* m4/product.m4: Remove unused headers.
* m4/reshape.m4: Remove unused headers.
* m4/shape.m4: Remove unused headers.
* m4/spread.m4: Remove unused headers.
* m4/sum.m4: Remove unused headers.
* m4/unpack.m4: Remove unused headers.
* runtime/backtrace.c: Remove unused headers.
* runtime/convert_char.c: Remove unused headers.
* runtime/in_pack_generic.c: Remove unused headers.
* runtime/in_unpack_generic.c: Remove unused headers.
* runtime/main.c: Remove unused headers.
* runtime/stop.c: Remove unused headers.
* generated/all_l1.c: Regenerate.
* generated/all_l16.c: Regenerate.
* generated/all_l2.c: Regenerate.
* generated/all_l4.c: Regenerate.
* generated/all_l8.c: Regenerate.
* generated/any_l1.c: Regenerate.
* generated/any_l16.c: Regenerate.
* generated/any_l2.c: Regenerate.
* generated/any_l4.c: Regenerate.
* generated/any_l8.c: Regenerate.
* generated/bessel_r10.c: Regenerate.
* generated/bessel_r16.c: Regenerate.
* generated/bessel_r4.c: Regenerate.
* generated/bessel_r8.c: Regenerate.
* generated/count_16_l.c: Regenerate.
* generated/count_1_l.c: Regenerate.
* generated/count_2_l.c: Regenerate.
* generated/count_4_l.c: Regenerate.
* generated/count_8_l.c: Regenerate.
* generated/cshift0_c10.c: Regenerate.
* generated/cshift0_c16.c: Regenerate.
* generated/cshift0_c4.c: Regenerate.
* generated/cshift0_c8.c: Regenerate.
* generated/cshift0_i1.c: Regenerate.
* generated/cshift0_i16.c: Regenerate.
* generated/cshift0_i2.c: Regenerate.
* generated/cshift0_i4.c: Regenerate.
* generated/cshift0_i8.c: Regenerate.
* generated/cshift0_r10.c: Regenerate.
* generated/cshift0_r16.c: Regenerate.
* generated/cshift0_r4.c: Regenerate.
* generated/cshift0_r8.c: Regenerate.
* generated/cshift1_16.c: Regenerate.
* generated/cshift1_4.c: Regenerate.
* generated/cshift1_8.c: Regenerate.
* generated/eoshift1_16.c: Regenerate.
* generated/eoshift1_4.c: Regenerate.
* generated/eoshift1_8.c: Regenerate.
* generated/eoshift3_16.c: Regenerate.
* generated/eoshift3_4.c: Regenerate.
* generated/eoshift3_8.c: Regenerate.
* generated/iall_i1.c: Regenerate.
* generated/iall_i16.c: Regenerate.
* generated/iall_i2.c: Regenerate.
* generated/iall_i4.c: Regenerate.
* generated/iall_i8.c: Regenerate.
* generated/iany_i1.c: Regenerate.
* generated/iany_i16.c: Regenerate.
* generated/iany_i2.c: Regenerate.
* generated/iany_i4.c: Regenerate.
* generated/iany_i8.c: Regenerate.
* generated/in_pack_c10.c: Regenerate.
* generated/in_pack_c16.c: Regenerate.
* generated/in_pack_c4.c: Regenerate.
* generated/in_pack_c8.c: Regenerate.
* generated/in_pack_i1.c: Regenerate.
* generated/in_pack_i16.c: Regenerate.
* generated/in_pack_i2.c: Regenerate.
* generated/in_pack_i4.c: Regenerate.
* generated/in_pack_i8.c: Regenerate.
* generated/in_pack_r10.c: Regenerate.
* generated/in_pack_r16.c: Regenerate.
* generated/in_pack_r4.c: Regenerate.
* generated/in_pack_r8.c: Regenerate.
* generated/in_unpack_c10.c: Regenerate.
* generated/in_unpack_c16.c: Regenerate.
* generated/in_unpack_c4.c: Regenerate.
* generated/in_unpack_c8.c: Regenerate.
* generated/in_unpack_i1.c: Regenerate.
* generated/in_unpack_i16.c: Regenerate.
* generated/in_unpack_i2.c: Regenerate.
* generated/in_unpack_i4.c: Regenerate.
* generated/in_unpack_i8.c: Regenerate.
* generated/in_unpack_r10.c: Regenerate.
* generated/in_unpack_r16.c: Regenerate.
* generated/in_unpack_r4.c: Regenerate.
* generated/in_unpack_r8.c: Regenerate.
* generated/iparity_i1.c: Regenerate.
* generated/iparity_i16.c: Regenerate.
* generated/iparity_i2.c: Regenerate.
* generated/iparity_i4.c: Regenerate.
* generated/iparity_i8.c: Regenerate.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/maxval_i1.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/maxval_i2.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/minval_i1.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/minval_i2.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/minval_r8.c: Regenerate.
* generated/norm2_r10.c: Regenerate.
* generated/norm2_r16.c: Regenerate.
* generated/norm2_r4.c: Regenerate.
* generated/norm2_r8.c: Regenerate.
* generated/pack_c10.c: Regenerate.
* generated/pack_c16.c: Regenerate.
* generated/pack_c4.c: Regenerate.
* generated/pack_c8.c: Regenerate.
* generated/pack_i1.c: Regenerate.
* generated/pack_i16.c: Regenerate.
* generated/pack_i2.c: Regenerate.
* generated/pack_i4.c: Regenerate.
* generated/pack_i8.c: Regenerate.
* generated/pack_r10.c: Regenerate.
* generated/pack_r16.c: Regenerate.
* generated/pack_r4.c: Regenerate.
* generated/pack_r8.c: Regenerate.
* generated/parity_l1.c: Regenerate.
* generated/parity_l16.c: Regenerate.
* generated/parity_l2.c: Regenerate.
* generated/parity_l4.c: Regenerate.
* generated/parity_l8.c: Regenerate.
* generated/product_c10.c: Regenerate.
* generated/product_c16.c: Regenerate.
* generated/product_c4.c: Regenerate.
* generated/product_c8.c: Regenerate.
* generated/product_i1.c: Regenerate.
* generated/product_i16.c: Regenerate.
* generated/product_i2.c: Regenerate.
* generated/product_i4.c: Regenerate.
* generated/product_i8.c: Regenerate.
* generated/product_r10.c: Regenerate.
* generated/product_r16.c: Regenerate.
* generated/product_r4.c: Regenerate.
* generated/product_r8.c: Regenerate.
* generated/reshape_c10.c: Regenerate.
* generated/reshape_c16.c: Regenerate.
* generated/reshape_c4.c: Regenerate.
* generated/reshape_c8.c: Regenerate.
* generated/reshape_i16.c: Regenerate.
* generated/reshape_i4.c: Regenerate.
* generated/reshape_i8.c: Regenerate.
* generated/reshape_r10.c: Regenerate.
* generated/reshape_r16.c: Regenerate.
* generated/reshape_r4.c: Regenerate.
* generated/reshape_r8.c: Regenerate.
* generated/shape_i1.c: Regenerate.
* generated/shape_i16.c: Regenerate.
* generated/shape_i2.c: Regenerate.
* generated/shape_i4.c: Regenerate.
* generated/shape_i8.c: Regenerate.
* generated/spread_c10.c: Regenerate.
* generated/spread_c16.c: Regenerate.
* generated/spread_c4.c: Regenerate.
* generated/spread_c8.c: Regenerate.
* generated/spread_i1.c: Regenerate.
* generated/spread_i16.c: Regenerate.
* generated/spread_i2.c: Regenerate.
* generated/spread_i4.c: Regenerate.
* generated/spread_i8.c: Regenerate.
* generated/spread_r10.c: Regenerate.
* generated/spread_r16.c: Regenerate.
* generated/spread_r4.c: Regenerate.
* generated/spread_r8.c: Regenerate.
* generated/sum_c10.c: Regenerate.
* generated/sum_c16.c: Regenerate.
* generated/sum_c4.c: Regenerate.
* generated/sum_c8.c: Regenerate.
* generated/sum_i1.c: Regenerate.
* generated/sum_i16.c: Regenerate.
* generated/sum_i2.c: Regenerate.
* generated/sum_i4.c: Regenerate.
* generated/sum_i8.c: Regenerate.
* generated/sum_r10.c: Regenerate.
* generated/sum_r16.c: Regenerate.
* generated/sum_r4.c: Regenerate.
* generated/sum_r8.c: Regenerate.
* generated/unpack_c10.c: Regenerate.
* generated/unpack_c16.c: Regenerate.
* generated/unpack_c4.c: Regenerate.
* generated/unpack_c8.c: Regenerate.
* generated/unpack_i1.c: Regenerate.
* generated/unpack_i16.c: Regenerate.
* generated/unpack_i2.c: Regenerate.
* generated/unpack_i4.c: Regenerate.
* generated/unpack_i8.c: Regenerate.
* generated/unpack_r10.c: Regenerate.
* generated/unpack_r16.c: Regenerate.
* generated/unpack_r4.c: Regenerate.
* generated/unpack_r8.c: Regenerate.

From-SVN: r243844

7 years agore PR libfortran/70311 (libgfortran build dies on "implicit declaration of function...
Francois-Xavier Coudert [Wed, 21 Dec 2016 09:49:40 +0000 (09:49 +0000)]
re PR libfortran/70311 (libgfortran build dies on "implicit declaration of function strncasecmp")

PR libfortran/70311
* intrinsics/selected_char_kind.c: Include <strings.h> header.
* runtime/environ.c: Include <strings.h> header.
* runtime/string.c: Include <strings.h> header.

From-SVN: r243843

7 years agoPR 78867 Function returning string ICE with -flto
Janne Blomqvist [Wed, 21 Dec 2016 09:41:25 +0000 (11:41 +0200)]
PR 78867 Function returning string ICE with -flto

The fix for PR 78757 was slightly too cautious, and covered only the
case of functions returning pointers to characters. By moving the
block above the if statement the DECL_EXPR is created also for
functions returning non-pointer characters.

Regtested on x86_64-pc-linux-gnu.

fortran ChangeLog:

2016-12-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/78867
* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR also for
non-pointer character results.

testsuite ChangeLog:

2016-12-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/78867
* gfortran.dg/string_length_4.f90: New test.

From-SVN: r243842

7 years agoiresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".
Francois-Xavier Coudert [Wed, 21 Dec 2016 09:35:57 +0000 (09:35 +0000)]
iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".

* iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".

* gfortran.map: Remove _gfortran_ftell2.
* io/intrinsics.c (ftell): Remove.
(ftell2): Rename to ftell.

From-SVN: r243841

7 years agommcu: New folder for compile-tests with -mmcu=.
Georg-Johann Lay [Wed, 21 Dec 2016 09:20:12 +0000 (09:20 +0000)]
mmcu: New folder for compile-tests with -mmcu=.

* gcc.target/avr/mmcu: New folder for compile-tests with -mmcu=.
* gcc.target/avr/mmcu/avr-mmcu.exp: New file.
* gcc.target/avr/pr58545.c: Move to gcc.target/avr/mmcu.
* gcc.target/avr/tiny-caller-save.c: Dito.
* gcc.target/avr/tiny-memx.c: Dito.

From-SVN: r243840

7 years agogfortran.map: Move all _gfortran_* __iso_c_binding_* symbols to GFORTRAN_7.
Francois-Xavier Coudert [Wed, 21 Dec 2016 09:15:39 +0000 (09:15 +0000)]
gfortran.map: Move all _gfortran_* __iso_c_binding_* symbols to GFORTRAN_7.

* gfortran.map: Move all _gfortran_* __iso_c_binding_* symbols
to GFORTRAN_7. Rename F2C_1.0 to GFORTRAN_F2C_7. Move all C99
compatibility symbols to GFORTRAN_C99_7.

From-SVN: r243839

7 years agomatch.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern.
Naveen H.S [Wed, 21 Dec 2016 08:37:47 +0000 (08:37 +0000)]
match.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern.

2016-12-22  Andrew Pinski  <apinski@cavium.com>
    Naveen H.S <Naveen.Hurugalawadi@cavium.com>

gcc
        * match.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern.
(min:c @0 (plus@2 @0 INTEGER_CST@1)) : New Pattern.
gcc/testsuite
* gcc.dg/max.c: New Testcase.
* gcc.dg/min.c: New Testcase.

From-SVN: r243838

7 years agoDaily bump.
GCC Administrator [Wed, 21 Dec 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243835

7 years agore PR c/77767 (Side-effect from VLA array parameters lost)
Jakub Jelinek [Wed, 21 Dec 2016 00:07:49 +0000 (01:07 +0100)]
re PR c/77767 (Side-effect from VLA array parameters lost)

PR c/77767
* c-decl.c (grokdeclarator): If *expr is non-NULL, append expression
to *expr instead of overwriting it.

* gcc.c-torture/execute/pr77767.c: New test.

From-SVN: r243832

7 years agoUse the middle-end boolean_type_node
Janne Blomqvist [Tue, 20 Dec 2016 20:46:13 +0000 (22:46 +0200)]
Use the middle-end boolean_type_node

Use the boolean_type_node setup by the middle-end instead of
redefining it. boolean_type_node is not used in GFortran for any
ABI-visible stuff, only internally as the type of boolean
expressions. There appears to be one exception to this, namely the
caf_get* and caf_send* calls which have boolean_type_node
arguments. However, on the library side they seem to use C _Bool, so I
suspect this might be a case of a argument mismatch that hasn't
affected anything so far.

The practical effect of this is that the size of such variables will
be the same as a C _Bool or C++ bool, that is, on most targets a
single byte. Previously we redefined boolean_type_node to be a Fortran
default logical kind sized variable, that is 4 or 8 bytes depending on
compile options. This might enable slightly more compact code, in case
the optimizer determines that the result of such a generated
comparison expression needs to be stored in some temporary location
rather than being used immediately.

Regression tested on x86_64-pc-linux-gnu.

2016-12-20  Janne Blomqvist  <jb@gcc.gnu.org>

* trans-types.c (gfc_init_types): Don't redefine boolean type node.

From-SVN: r243830

7 years agosms-3.c: Add -fno-sched-pressure for powerpc.
Pat Haugen [Tue, 20 Dec 2016 19:41:39 +0000 (19:41 +0000)]
sms-3.c: Add -fno-sched-pressure for powerpc.

* gcc.dg/sms-3.c: Add -fno-sched-pressure for powerpc.
* gcc.dg/sms-6.c: Likewise.

From-SVN: r243829

7 years ago* gcc.dg/pr70859-2.c: Define _ISOC99_SOURCE on AIX.
David Edelsohn [Tue, 20 Dec 2016 18:40:53 +0000 (18:40 +0000)]
* gcc.dg/pr70859-2.c: Define _ISOC99_SOURCE on AIX.

From-SVN: r243828

7 years ago* gcc.dg/tls/alias-1.c: dg-add-options tls.
David Edelsohn [Tue, 20 Dec 2016 18:30:21 +0000 (18:30 +0000)]
* gcc.dg/tls/alias-1.c: dg-add-options tls.

From-SVN: r243827

7 years agopr78255-2.c: Fix to work for targets that do not optimize for tailcall.
Andre Vieira [Tue, 20 Dec 2016 16:39:50 +0000 (16:39 +0000)]
pr78255-2.c: Fix to work for targets that do not optimize for tailcall.

    2016-12-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* gcc.target/arm/pr78255-2.c: Fix to work for targets
that do not optimize for tailcall.

From-SVN: r243826

7 years agopr78796.c: dg-add-options tls.
David Edelsohn [Tue, 20 Dec 2016 16:22:09 +0000 (16:22 +0000)]
pr78796.c: dg-add-options tls.

        * gcc.dg/tls/pr78796.c: dg-add-options tls.
        * gcc.target/powerpc/fold-vec-mult-int.c: power8-vector.
        * gcc.target/powerpc/fold-vec-mult-longlong.c: -maix64.

From-SVN: r243825

7 years ago[Patch] Turn -fexcess-precision=fast on when in -ffast-math
James Greenhalgh [Tue, 20 Dec 2016 16:17:27 +0000 (16:17 +0000)]
[Patch] Turn -fexcess-precision=fast on when in -ffast-math

* common.opt (excess_precision): Tag as SetByCombined.
* opts.c (set_fast_math_flags): Also set
flag_excess_precision_cmdline.
(fast_math_flags_set_p): Also check flag_excess_precision_cmdline.
* doc/invoke.texi (-fexcess-precision): Drop text saying the
option has no effect under -ffast-math, make it clear that
-ffast-math will cause -fexcess-precision=fast by default even for
standards compliant modes.
(-ffast-math): Document that this sets -fexcess-precision=fast.

From-SVN: r243824

7 years agogimple-parser.c (c_parser_gimple_compound_statement): Improve error recovery.
Richard Biener [Tue, 20 Dec 2016 12:50:09 +0000 (12:50 +0000)]
gimple-parser.c (c_parser_gimple_compound_statement): Improve error recovery.

2016-12-20  Richard Biener  <rguenther@suse.de>

c/
* gimple-parser.c (c_parser_gimple_compound_statement): Improve
error recovery.
(c_parser_gimple_statement): Only build assigns for non-error
stmts.
(c_parser_gimple_postfix_expression_after): Improve error recovery.

From-SVN: r243823

7 years agopasses.c (execute_one_pass): Handle going out of SSA w/o hitting pass_startwith.
Richard Biener [Tue, 20 Dec 2016 12:49:31 +0000 (12:49 +0000)]
passes.c (execute_one_pass): Handle going out of SSA w/o hitting pass_startwith.

2016-12-20  Richard Biener  <rguenther@suse.de>

* passes.c (execute_one_pass): Handle going out of SSA w/o
hitting pass_startwith.  Handle skipping property providers.

* gcc.dg/gimplefe-19.c: New testcase.

From-SVN: r243822

7 years ago[ARM] PR target/78694: Avoid invalid RTL sharing in minipool code
Kyrylo Tkachov [Tue, 20 Dec 2016 09:39:44 +0000 (09:39 +0000)]
[ARM] PR target/78694: Avoid invalid RTL sharing in minipool code

PR target/78694
* config/arm/arm.c (dump_minipool): Copy mp->value before emitting it
in the minipool to avoid invalid RTL sharing.

* gcc.c-torture/compile/pr78694.c: New test.

From-SVN: r243820

7 years agoFix PR testsuite/71232 entry.
Eric Botcazou [Tue, 20 Dec 2016 08:50:21 +0000 (08:50 +0000)]
Fix PR testsuite/71232 entry.

From-SVN: r243819

7 years agore PR tree-optimization/71237 (scev tests failing after pass reorganization)
Eric Botcazou [Tue, 20 Dec 2016 08:45:52 +0000 (08:45 +0000)]
re PR tree-optimization/71237 (scev tests failing after pass reorganization)

PR testsuite/71237
* gnat.dg/vect1.adb: Add -fno-vect-cost-model to dg-options.
* gnat.dg/vect2.adb: Likewise.
* gnat.dg/vect3.adb: Likewise.
* gnat.dg/vect4.adb: Likewise.
* gnat.dg/vect5.adb: Likewise.
* gnat.dg/vect6.adb: Likewise.

From-SVN: r243818

7 years agoDaily bump.
GCC Administrator [Tue, 20 Dec 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243817

7 years agotrans-decl.c (create_main_function): Remove unused elements to the set_options call.
Francois-Xavier Coudert [Mon, 19 Dec 2016 22:29:43 +0000 (22:29 +0000)]
trans-decl.c (create_main_function): Remove unused elements to the set_options call.

* trans-decl.c (create_main_function): Remove unused elements to
the set_options call.

* runtime/compile_options.c (set_options): Remove unused elements.

From-SVN: r243814

7 years agors6000-protos.h (expand_strn_compare): Declare.
Aaron Sawdey [Mon, 19 Dec 2016 21:32:16 +0000 (21:32 +0000)]
rs6000-protos.h (expand_strn_compare): Declare.

* config/rs6000/rs6000-protos.h (expand_strn_compare): Declare.
* config/rs6000/rs6000.md (UNSPEC_CMPB): New unspec.
(cmpb<mode>3): pattern for generating cmpb.
(cmpstrnsi): pattern to expand strncmp ().
* config/rs6000/rs6000.opt (mstring-compare-inline-limit): Add a new
target option for controlling how much code inline expansion of
strncmp() will be allowed to generate.
* config/rs6000/rs6000.c (expand_strncmp_align_check): generate code
for runtime page crossing check of strncmp () args.
(expand_strn_compare): Function to do builtin expansion of strncmp ().

From-SVN: r243813

7 years agoprint_rtx_function: update example in comment
David Malcolm [Mon, 19 Dec 2016 20:33:05 +0000 (20:33 +0000)]
print_rtx_function: update example in comment

The patch updates the example dump in the comment for
print_rtx_function to reflect various changes:
- r241593: addition of insn UIDs
- r241908: removal of trailing "(nil)" and other default values
- r242023: addition of "param" directives
- r243798: change of format of regnos in non-virtual pseudos
(from "$2" to "<2>")

gcc/ChangeLog:
* print-rtl-function.c (print_rtx_function): Update
example in comment to reflect current format.

From-SVN: r243812

7 years agoi386.md (*popcounthi2_1): New insn_and_split pattern.
Uros Bizjak [Mon, 19 Dec 2016 20:23:08 +0000 (21:23 +0100)]
i386.md (*popcounthi2_1): New insn_and_split pattern.

* config/i386/i386.md (*popcounthi2_1): New insn_and_split pattern.

testsuite/ChangeLog:

* gcc.target/i386/pr59874-3.c: New test.

From-SVN: r243811

7 years agocpp.texi: Clean up anachronistic C99 references and remove discussion of very old...
Sandra Loosemore [Mon, 19 Dec 2016 20:08:31 +0000 (15:08 -0500)]
cpp.texi: Clean up anachronistic C99 references and remove discussion of very old GCC...

2016-12-19  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/cpp.texi: Clean up anachronistic C99 references and remove
discussion of very old GCC versions.
(Differences from previous versions): Delete entire section.

From-SVN: r243810

7 years agoFix formatting.
David Edelsohn [Mon, 19 Dec 2016 19:13:15 +0000 (14:13 -0500)]
Fix formatting.

From-SVN: r243809

7 years agoMove my updates to the correct ChangeLog.
Will Schmidt [Mon, 19 Dec 2016 19:10:10 +0000 (19:10 +0000)]
Move my updates to the correct ChangeLog.

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

Move my updates to the correct ChangeLog. (ChangeLog->gcc/ChangeLog)

From-SVN: r243808

7 years agors6000.c: Add handling for early expansion of vector multiply builtins.
Will Schmidt [Mon, 19 Dec 2016 19:03:48 +0000 (19:03 +0000)]
rs6000.c: Add handling for early expansion of vector multiply builtins.

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

        *  config/rs6000/rs6000.c: Add handling for early expansion of
        vector multiply builtins.

[gcc/testsuite]

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

        *  gcc.dg/vmx/mult-even-odd-be-order.c : Mark
        variables as volatile.
        *  gcc.target/powerpc/fold-vec-mult-char.c : New.
        *  gcc.target/powerpc/fold-vec-mult-float.c : New.
        *  gcc.target/powerpc/fold-vec-mult-floatdouble.c : New.
        *  gcc.target/powerpc/fold-vec-mult-int.c : New.
        *  gcc.target/powerpc/fold-vec-mult-int128-p8.c : New.
        *  gcc.target/powerpc/fold-vec-mult-int128-p9.c : New.
        *  gcc.target/powerpc/fold-vec-mult-longlong.c : New.
        *  gcc.target/powerpc/fold-vec-mult-short.c : New.

From-SVN: r243807

7 years agors6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector...
Will Schmidt [Mon, 19 Dec 2016 18:58:19 +0000 (18:58 +0000)]
rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector subtract builtins.

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
        early expansion of vector subtract builtins.

[gcc/testsuite]

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

      * gcc.target/powerpc/fold-vec-sub-char.c: New.
      * gcc.target/powerpc/fold-vec-sub-float.c: New.
      * gcc.target/powerpc/fold-vec-sub-floatdouble.c: New.
      * gcc.target/powerpc/fold-vec-sub-int.c: New.
      * gcc.target/powerpc/fold-vec-sub-int128.c: New.
      * gcc.target/powerpc/fold-vec-sub-longlong.c: New.
      * gcc.target/powerpc/fold-vec-sub-short.c: New.

From-SVN: r243806

7 years agoruntime: copy cgo support from Go 1.7 runtime
Ian Lance Taylor [Mon, 19 Dec 2016 18:00:35 +0000 (18:00 +0000)]
runtime: copy cgo support from Go 1.7 runtime

    Remove support for _cgo_allocate.  It was removed from the gc
    toolchain in Go 1.5, so it is unlikely that anybody is trying to use it.

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

From-SVN: r243805

7 years agoRemove unused functions, take 2.
Janne Blomqvist [Mon, 19 Dec 2016 16:20:09 +0000 (18:20 +0200)]
Remove unused functions, take 2.

2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>

      * Actually remove files that should have been removed by r243799.
This line, and those below, will be ignored--

M    libgfortran/ChangeLog
D    libgfortran/generated/exponent_r10.c
D    libgfortran/generated/exponent_r16.c
D    libgfortran/generated/exponent_r4.c
D    libgfortran/generated/exponent_r8.c
D    libgfortran/generated/fraction_r10.c
D    libgfortran/generated/fraction_r16.c
D    libgfortran/generated/fraction_r4.c
D    libgfortran/generated/fraction_r8.c
D    libgfortran/generated/nearest_r10.c
D    libgfortran/generated/nearest_r16.c
D    libgfortran/generated/nearest_r4.c
D    libgfortran/generated/nearest_r8.c
D    libgfortran/generated/rrspacing_r10.c
D    libgfortran/generated/rrspacing_r16.c
D    libgfortran/generated/rrspacing_r4.c
D    libgfortran/generated/rrspacing_r8.c
D    libgfortran/generated/set_exponent_r10.c
D    libgfortran/generated/set_exponent_r16.c
D    libgfortran/generated/set_exponent_r4.c
D    libgfortran/generated/set_exponent_r8.c
D    libgfortran/generated/spacing_r10.c
D    libgfortran/generated/spacing_r16.c
D    libgfortran/generated/spacing_r4.c
D    libgfortran/generated/spacing_r8.c
D    libgfortran/generated/transpose_c10.c
D    libgfortran/generated/transpose_c16.c
D    libgfortran/generated/transpose_c4.c
D    libgfortran/generated/transpose_c8.c
D    libgfortran/generated/transpose_i16.c
D    libgfortran/generated/transpose_i4.c
D    libgfortran/generated/transpose_i8.c
D    libgfortran/generated/transpose_r10.c
D    libgfortran/generated/transpose_r16.c
D    libgfortran/generated/transpose_r4.c
D    libgfortran/generated/transpose_r8.c
D    libgfortran/intrinsics/malloc.c
D    libgfortran/intrinsics/transpose_generic.c
D    libgfortran/m4/exponent.m4
D    libgfortran/m4/fraction.m4
D    libgfortran/m4/nearest.m4
D    libgfortran/m4/rrspacing.m4
D    libgfortran/m4/set_exponent.m4
D    libgfortran/m4/spacing.m4
D    libgfortran/m4/transpose.m4

From-SVN: r243804

7 years agotrans.h: Remove gfor_fndecl_stop_numeric_f08.
Francois-Xavier Coudert [Mon, 19 Dec 2016 16:09:12 +0000 (16:09 +0000)]
trans.h: Remove gfor_fndecl_stop_numeric_f08.

* trans.h: Remove gfor_fndecl_stop_numeric_f08.
* trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
* trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
instead of gfor_fndecl_stop_numeric_f08.

* gfortran.map: Remove _gfortran_stop_numeric_f08.
* runtime/stop.c: Rename stop_numeric_f08 into stop_numeric.

From-SVN: r243803

7 years ago* Makefile.in: Regenerate.
François-Xavier Coudert [Mon, 19 Dec 2016 16:04:19 +0000 (16:04 +0000)]
* Makefile.in: Regenerate.

From-SVN: r243802

7 years agoMakefile.am: Remove ISO_C_BINDING runtime functions.
Francois-Xavier Coudert [Mon, 19 Dec 2016 16:03:53 +0000 (16:03 +0000)]
Makefile.am: Remove ISO_C_BINDING runtime functions.

* Makefile.am: Remove ISO_C_BINDING runtime functions.
* Makefile.in: Regenerate.
* gfortran.map: Remove all __iso_c_binding_c_f_pointer_* symbols.
* intrinsics/iso_c_binding.h: Remove.
* intrinsics/iso_c_binding.c: Remove.
* intrinsics/iso_c_generated_procs.c: Remove.

From-SVN: r243801

7 years agoMakefile.am: Remove intrinsics/bit_intrinsics.c.
Francois-Xavier Coudert [Mon, 19 Dec 2016 16:00:42 +0000 (16:00 +0000)]
Makefile.am: Remove intrinsics/bit_intrinsics.c.

* Makefile.am: Remove intrinsics/bit_intrinsics.c.
* Makefile.in: Regenerate.
* gfortran.map: Remove _gfortran_clz128 and _gfortran_ctz128.
* intrinsics/bit_intrinsics.c: Remove.

From-SVN: r243800

7 years agoRemove unused libgfortran functions
Janne Blomqvist [Mon, 19 Dec 2016 15:32:17 +0000 (17:32 +0200)]
Remove unused libgfortran functions

Now that the libgfortran ABI major version has been bumped, we can
remove functions for which the frontend nowadays generates inline
code.

This removes the malloc, free, exponent, fraction, nearest, rrspacing,
spacing, set_exponent and transpose intrinsics. Also the unused
store_exe_path function is removed.

2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>

* Makefile.am: Remove exponent, fraction, nearest, rrspacing,
set_exponent, spacing, transpose, malloc, transpose_generic.
* Makefile.in: Regenerate.
* generated/exponent_r10.c: Remove.
* generated/exponent_r16.c: Remove.
* generated/exponent_r4.c: Remove.
* generated/exponent_r8.c: Remove.
* generated/fraction_r10.c: Remove.
* generated/fraction_r16.c: Remove.
* generated/fraction_r4.c: Remove.
* generated/fraction_r8.c: Remove.
* generated/nearest_r10.c: Remove.
* generated/nearest_r16.c: Remove.
* generated/nearest_r4.c: Remove.
* generated/nearest_r8.c: Remove.
* generated/rrspacing_r10.c: Remove.
* generated/rrspacing_r16.c: Remove.
* generated/rrspacing_r4.c: Remove.
* generated/rrspacing_r8.c: Remove.
* generated/set_exponent_r10.c: Remove.
* generated/set_exponent_r16.c: Remove.
* generated/set_exponent_r4.c: Remove.
* generated/set_exponent_r8.c: Remove.
* generated/spacing_r10.c: Remove.
* generated/spacing_r16.c: Remove.
* generated/spacing_r4.c: Remove.
* generated/spacing_r8.c: Remove.
* generated/transpose_c10.c: Remove.
* generated/transpose_c16.c: Remove.
* generated/transpose_c4.c: Remove.
* generated/transpose_c8.c: Remove.
* generated/transpose_i16.c: Remove.
* generated/transpose_i4.c: Remove.
* generated/transpose_i8.c: Remove.
* generated/transpose_r10.c: Remove.
* generated/transpose_r16.c: Remove.
* generated/transpose_r4.c: Remove.
* generated/transpose_r8.c: Remove.
* gfortran.map: Remove exponent, fraction, nearest, rrspacing,
set_exponent, spacing, transpose, malloc, free, transpose_generic,
store_exe_path.
* intrinsics/malloc.c: Remove.
* intrinsics/transpose_generic.c: Remove.
* libgfortran.h (store_exe_path): Remove.
* m4/exponent.m4: Remove.
* m4/fraction.m4: Remove.
* m4/nearest.m4: Remove.
* m4/rrspacing.m4: Remove.
* m4/set_exponent.m4: Remove.
* m4/spacing.m4: Remove.
* m4/transpose.m4: Remove.
* runtime/main.c (store_exe_path): Remove.

From-SVN: r243799

7 years agoprint-rtl.c: use '<' and '>' rather than % for pseudos in compact mode
David Malcolm [Mon, 19 Dec 2016 15:24:47 +0000 (15:24 +0000)]
print-rtl.c: use '<' and '>' rather than % for pseudos in compact mode

gcc/ChangeLog:
* print-rtl.c (rtx_writer::print_rtx_operand_code_r): For
non-virtual pseudos in compact mode, wrap the regno in '<' and '>'
rather than using a '%' prefix.
* rtl-tests.c (selftest::test_dumping_regs): Update for above change.

From-SVN: r243798

7 years agochmod.c (chmod_internal): Fix case where mode_t is different from unsigned int.
Francois-Xavier Coudert [Mon, 19 Dec 2016 13:41:32 +0000 (13:41 +0000)]
chmod.c (chmod_internal): Fix case where mode_t is different from unsigned int.

* intrinsics/chmod.c (chmod_internal): Fix case where mode_t is
different from unsigned int.

From-SVN: r243796

7 years agoMake the perfect-forwarding constructor of a two-element tuple sfinae away when the...
Ville Voutilainen [Mon, 19 Dec 2016 12:55:33 +0000 (14:55 +0200)]
Make the perfect-forwarding constructor of a two-element tuple sfinae away when the first argument is an allocator_arg.

Make the perfect-forwarding constructor of a two-element tuple
sfinae away when the first argument is an allocator_arg.
* include/std/tuple (tuple(_U1&&, _U2&&)): Constrain.
* testsuite/20_util/tuple/cons/allocator_with_any.cc: New.
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.

From-SVN: r243795

7 years agore PR fortran/78545 (Possible correction to online LTIME documentation)
Janus Weil [Mon, 19 Dec 2016 10:26:04 +0000 (11:26 +0100)]
re PR fortran/78545 (Possible correction to online LTIME documentation)

2016-12-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78545
* intrinsic.texi: Minor documentation fixes for non-standard
time-related intrinsics. Add references to standard intrinsics and
linkify some existing references.

From-SVN: r243794

7 years agoPR target/78748: S/390: Fix ICE with ANDC splitter.
Dominik Vogt [Mon, 19 Dec 2016 09:53:56 +0000 (09:53 +0000)]
PR target/78748: S/390: Fix ICE with ANDC splitter.

gcc/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR target/78748
* config/s390/s390.md ("*andc_split_<mode>"): Allow memory destination
only if it coincides with operand 2.

gcc/testsuite/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR target/78748
* gcc.c-torture/compile/pr78748.c: New test.

From-SVN: r243793

7 years agocombine: Omit redundant AND in change_zero_ext.
Dominik Vogt [Mon, 19 Dec 2016 09:51:11 +0000 (09:51 +0000)]
combine: Omit redundant AND in change_zero_ext.

This is another micro-optimisation in change_zero_ext.  If an

  (and (lshiftrt ... (N)) (M))

generated by change_zero_ext is equivalent to just

  (lshiftrt ... (N))

(because the AND constant selects the N rightmost bits of the
result), strip off the AND.

gcc/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* combine.c (change_zero_ext): Skip generation of redundant AND.

From-SVN: r243792

7 years agonetbsd.h (LINK_EH_SPEC): Define.
Krister Walfridsson [Mon, 19 Dec 2016 09:39:17 +0000 (09:39 +0000)]
netbsd.h (LINK_EH_SPEC): Define.

2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>

* config/netbsd.h (LINK_EH_SPEC): Define.

From-SVN: r243791

7 years agoconfig.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
Krister Walfridsson [Mon, 19 Dec 2016 09:21:09 +0000 (09:21 +0000)]
config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.

2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>

* config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
* crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD.
* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise.

From-SVN: r243790

7 years agoAdd myself under Write After Approval.
Chenghua Xu [Mon, 19 Dec 2016 07:35:33 +0000 (07:35 +0000)]
Add myself under Write After Approval.

From-SVN: r243789

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

From-SVN: r243788

7 years agore PR fortran/78545 (Possible correction to online LTIME documentation)
Dominique d'Humieres [Sun, 18 Dec 2016 18:03:36 +0000 (19:03 +0100)]
re PR fortran/78545 (Possible correction to online LTIME documentation)

2016-12-18  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/78545
* intrinsic.texi: Fix documentation for GMTIME and LTIME.

* intrinsics/date_and_time.c: Fix comments for GMTIME and LTIME.

From-SVN: r243785

7 years agore PR fortran/78848 ([OOP] ICE on writing CLASS variable with non-typebound DTIO...
Janus Weil [Sun, 18 Dec 2016 13:22:13 +0000 (14:22 +0100)]
re PR fortran/78848 ([OOP] ICE on writing CLASS variable with non-typebound DTIO procedure)

2016-12-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78848
* trans-io.c (get_dtio_proc): Generate non-typebound DTIO call for class
variables, if no typebound DTIO procedure is available.

2016-12-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78848
* gfortran.dg/dtio_22.f90: New test.

From-SVN: r243784

7 years agore PR fortran/78592 (ICE in gfc_find_specific_dtio_proc, at fortran/interface.c:4939)
Janus Weil [Sun, 18 Dec 2016 11:03:41 +0000 (12:03 +0100)]
re PR fortran/78592 (ICE in gfc_find_specific_dtio_proc, at fortran/interface.c:4939)

2016-12-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78592
* interfac.c (gfc_find_specific_dtio_proc): Fixup for r243005, making
sure that the generic list is followed through until the end.

2016-12-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78592
* gfortran.dg/dtio_21.f90: New test.

From-SVN: r243783

7 years agolra-constraints.c (process_address): Add forward declaration.
Eric Botcazou [Sun, 18 Dec 2016 08:33:38 +0000 (08:33 +0000)]
lra-constraints.c (process_address): Add forward declaration.

* lra-constraints.c (process_address): Add forward declaration.
(simplify_operand_subreg): In the MEM case, if the adjusted memory
reference is not sufficient aligned and the address was invalid,
reload the address before reloading the original memory reference.
Fix long lines and add a final return for the sake of clarity.

From-SVN: r243782

7 years agoDaily bump.
GCC Administrator [Sun, 18 Dec 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243781

7 years agore PR fortran/78746 (charlen_03, charlen_10 ICE)
Steven G. Kargl [Sat, 17 Dec 2016 23:10:01 +0000 (23:10 +0000)]
re PR fortran/78746 (charlen_03, charlen_10 ICE)

2016-12-17  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78746
* charlen_03.f90: Remove test.
* charlen_10.f90: Ditto.

From-SVN: r243778

7 years agore PR sanitizer/78832 (-fcompare-debug failure (length) with -fsanitize=address)
Jakub Jelinek [Sat, 17 Dec 2016 19:10:39 +0000 (20:10 +0100)]
re PR sanitizer/78832 (-fcompare-debug failure (length) with -fsanitize=address)

PR sanitizer/78832
* sanopt.c (sanitize_asan_mark_unpoison): Remove next variable, use
continue if gsi_next should be skipped.
(sanitize_asan_mark_poison): Remove prev variable, use continue if
gsi_prev should be skipped.  When removing ASAN_MARK, do gsi_prev
first and gsi_remove on a previously made copy of the iterator.

* gcc.dg/asan/pr78832.c: New test.

From-SVN: r243777

7 years agore PR fortran/78239 (ICE in char_len_param_value, at fortran/decl.c:926, with -fimpli...
Thomas Koenig [Sat, 17 Dec 2016 17:03:49 +0000 (17:03 +0000)]
re PR fortran/78239 (ICE in char_len_param_value, at fortran/decl.c:926, with -fimplicit-none)

2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/78239
* decl.c (char_len_param_value):  Actually commit
previous change.

From-SVN: r243776

7 years agogmon: Remove empty directory.
Matthias Klose [Sat, 17 Dec 2016 12:42:03 +0000 (12:42 +0000)]
gmon: Remove empty directory.

2016-12-17  Matthias Klose  <doko@ubuntu.com>

        * config/arc/gmon: Remove empty directory.

From-SVN: r243775

7 years agoavx512bwintrin.h: Add new k-mask intrinsics.
Andrew Senkevich [Sat, 17 Dec 2016 11:42:05 +0000 (12:42 +0100)]
avx512bwintrin.h: Add new k-mask intrinsics.

* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
* config/i386/avx512dqintrin.h: Ditto.
* config/i386/avx512fintrin.h: Ditto.
* config/i386/i386-builtin.def (__builtin_ia32_kaddqi,
__builtin_ia32_kaddhi, __builtin_ia32_kaddsi,
__builtin_ia32_kadddi): New.
* config/i386/sse.md (kadd<mode>): New.

testsuite/ChangeLog:

* gcc.target/i386/avx512bw-kaddd-1.c: New test.
* gcc.target/i386/avx512bw-kaddq-1.c: Ditto.
* gcc.target/i386/avx512dq-kaddb-1.c: Ditto.
* gcc.target/i386/avx512f-kaddw-1.c: Ditto.

From-SVN: r243774

7 years agore PR fortran/78239 (ICE in char_len_param_value, at fortran/decl.c:926, with -fimpli...
Thomas Koenig [Sat, 17 Dec 2016 11:13:16 +0000 (11:13 +0000)]
re PR fortran/78239 (ICE in char_len_param_value, at fortran/decl.c:926, with -fimplicit-none)

2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/78239
* decl.c(char_len_param_value): Also check for -fimplicit-none
when determining if implicit none is in force.

2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/78239
* gfortran.dg/fimplicit_none_1.f90:  New test.
* gfortran.dg/fimplicit_none_2.f90:  New test.

From-SVN: r243773

7 years agoi386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1 and *tzcnt<mode>_1 to defin...
Uros Bizjak [Sat, 17 Dec 2016 11:05:46 +0000 (12:05 +0100)]
i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1 and *tzcnt<mode>_1 to define_insn_and_split pattern.

* config/i386/i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1
and *tzcnt<mode>_1 to define_insn_and_split pattern.  Adjust split
condition to split after epilogue_completed.
(ctz<mode>2): Remove expander.
(ctz<mode>2): Merge *ctz<mode>2_falsedep_1 and *ctz<mode>2 to
define_insn_and_split pattern.  Adjust split condition to split
after epilogue_completed.
(clz<mode>2_lznct): Remove expander.
(clz<mode>2_lzcnt): Merge *clz<mode>2_lzcnt_falsedep_1 and
*clz<mode>2 to define_insn_and_split pattern.  Adjust split
condition to split after epilogue_completed.
(<lt_zcnt>_<mode>): Remove expander.
(<lt_zcnt>_<mode>): Merge *<lt_zcnt>_<mode>_falsedep_1 and
*<lt_zcnt>_<mode> to define_insn_and_split pattern.  Adjust split
condition to split after epilogue_completed.
(<lt_zcnt>_hi): New insn pattern.
(popcount<mode>2): Remove expander.
(popcount<mode>2): Merge *popcount<mode>2_falsedep_1 and
*popcount<mode>2 to define_insn_and_split pattern.  Adjust split
condition to split after epilogue_completed.
(popcounthi2): New insn pattern.

From-SVN: r243772

7 years agobyte-in-either-range-0.c: New test.
Kelvin Nilsen [Sat, 17 Dec 2016 00:18:32 +0000 (00:18 +0000)]
byte-in-either-range-0.c: New test.

gcc/testsuite/ChangeLog:

2016-12-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/byte-in-either-range-0.c: New test.
* gcc.target/powerpc/byte-in-either-range-1.c: New test.
* gcc.target/powerpc/byte-in-range-0.c: New test.
* gcc.target/powerpc/byte-in-range-1.c: New test.
* gcc.target/powerpc/byte-in-set-0.c: New test.
* gcc.target/powerpc/byte-in-set-1.c: New test.
* gcc.target/powerpc/byte-in-set-2.c: New test.

gcc/ChangeLog:

2016-12-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/altivec.md (UNSPEC_CMPRB): New unspec value.
(UNSPEC_CMPRB2): New unspec value.
(UNSPEC_CMPEQB): New unspec value.
(cmprb): New expansion.
(*cmprb_internal): New insn.
(*setb_internal): New insn.
(cmprb2): New expansion.
(*cmprb2_internal): New insn.
(cmpeqb): New expansion.
(*cmpeqb_internal): New insn.
* config/rs6000/rs6000-builtin.def (BU_P9_2): New macro.
(BU_P9_64BIT_2): Likewise.
(BU_P9_OVERLOAD_2): Likewise.
(CMPRB): Add byte-in-range built-in function.
(CMBRB2): Add byte-in-either-range built-in function.
(CMPEQB): Add byte-in-set built-in function.
(CMPRB): Add overload support for byte-in-range function.
(CMPRB2): Add overload support for byte-in-either-range function.
(CMPEQB): Add overload support for byte-in-set built-in function.
* config/rs6000/rs6000-c.c (P9_BUILTIN_CMPRB): Macro expansion to
define argument types for new builtin.
(P9_BUILTIN_CMPRB2): Likewise.
(P9_BUILTIN_CMPEQB): Likewise.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Rearrange
the order of presentation for certain built-in functions
(scalar_extract_exp, scalar_extract_sig, scalar_insert_exp)
(scalar_cmp_exp_gt, scalar_cmp_exp_lt, scalar_cmp_exp_eq)
(scalar_cmp_exp_unordered, scalar_test_data_class)
(scalar_test_neg) to improve locality and flow.  Document
the new __builtin_scalar_byte_in_set,
__builtin_scalar_byte_in_range, and
__builtin_scalar_byte_in_either_range functions.

From-SVN: r243770

7 years agoDaily bump.
GCC Administrator [Sat, 17 Dec 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243769

7 years agocompiler: add containing Bfunction to some backend interfaces.
Than McIntosh [Fri, 16 Dec 2016 22:11:28 +0000 (22:11 +0000)]
compiler: add containing Bfunction to some backend interfaces.

    Change the interfaces for backend methods that create statements to
    always pass in the enclosing Bfunction for the statement.  Having the
    function available simplifies things if a temporary variable has to be
    created during the construction of a statement.

    This also includes a change to the Mark_lvalue_varexprs helper
    class to handle indirections on the left hand side of assignments
    (e.g. "*x.y = ...").

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

* go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
parameter.
(Gcc_backend::init_statement): Likewise.
(Gcc_backend::assignment_statement): Likewise.
(Gcc_backend::if_statement): Likewise.

From-SVN: r243766

7 years agore PR fortran/78662 ([F03] Incorrect parsing of quotes in the char-literal-constant...
Jerry DeLisle [Fri, 16 Dec 2016 20:27:51 +0000 (20:27 +0000)]
re PR fortran/78662 ([F03] Incorrect parsing of quotes in the char-literal-constant of the DT data descriptor)

2016-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/78622
* io.c (format_lex): Continue of string delimiter seen.

* io/transfer.c (get_dt_format): New static function to alloc
and set the DT iotype string, handling doubled quotes.
(formatted_transfer_scalar_read,
formatted_transfer_scalar_write): Use new function.

* gfortran.dg/dtio_20.f03: New test.

From-SVN: r243765

7 years agore PR fortran/78757 (ICE with function returning a pointer to a character)
Jakub Jelinek [Fri, 16 Dec 2016 19:41:13 +0000 (20:41 +0100)]
re PR fortran/78757 (ICE with function returning a pointer to a character)

PR fortran/78757
* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR for the
type pstr var points to.

* gfortran.dg/char_result_16.f90: New test.

From-SVN: r243761

7 years ago* fr.po: Update.
Joseph Myers [Fri, 16 Dec 2016 19:01:47 +0000 (19:01 +0000)]
* fr.po: Update.

From-SVN: r243759

7 years agoReuse Doxygen comments for map::erase overloads
Jonathan Wakely [Fri, 16 Dec 2016 18:13:20 +0000 (18:13 +0000)]
Reuse Doxygen comments for map::erase overloads

* include/bits/stl_map.h (map::erase(iterator)): Add Doxygen markup
to reuse documentation for erase(const_iterator) overload.
* include/bits/stl_multimap.h (multimap::erase(iterator)): Likewise.

From-SVN: r243758

7 years agoAdd assertion to _Rb_tree::erase to check for end iterators
Jonathan Wakely [Fri, 16 Dec 2016 18:13:09 +0000 (18:13 +0000)]
Add assertion to _Rb_tree::erase to check for end iterators

* include/bits/stl_tree.h (_Rb_tree::_M_erase_aux(const_iterator)):
Add assertion for undefined argument.
(_Rb_tree::_M_erase_aux(const_iterator, const_iterator)): Call
_M_erase_aux directly instead of through erase.
(_Rb_tree::_M_erase_aux(const Key&)): Likewise.
* testsuite/23_containers/map/modifiers/erase/end_neg.cc: New test.

From-SVN: r243757

7 years ago[AArch64] Split X-reg UBFIZ into W-reg LSL when possible
Kyrylo Tkachov [Fri, 16 Dec 2016 16:26:08 +0000 (16:26 +0000)]
[AArch64] Split X-reg UBFIZ into W-reg LSL when possible

* config/aarch64/aarch64.md: New define_split above bswap<mode>2.

* gcc.target/aarch64/ubfiz_lsl_1.c: New test.

From-SVN: r243756

7 years ago[AArch64] Split X-reg UBFX into W-reg LSR when possible
Kyrylo Tkachov [Fri, 16 Dec 2016 16:24:26 +0000 (16:24 +0000)]
[AArch64] Split X-reg UBFX into W-reg LSR when possible

* config/aarch64/aarch64.md: New define_split above insv<mode>.

* gcc.target/aarch64/ubfx_lsr_1.c: New test.

From-SVN: r243755

7 years agoRevert accidentally changed file.
Jakub Jelinek [Fri, 16 Dec 2016 16:04:20 +0000 (17:04 +0100)]
Revert accidentally changed file.

From-SVN: r243754

7 years agore PR c/78408 (C loop initial declarations generate wrong code)
Jakub Jelinek [Fri, 16 Dec 2016 15:57:43 +0000 (16:57 +0100)]
re PR c/78408 (C loop initial declarations generate wrong code)

PR c/78408
* tree-ssa-ccp.c: Include tree-dfa.h.
(optimize_memcpy): New function.
(pass_fold_builtins::execute): Use it.  Remove useless conditional
break after BUILT_IN_VA_*.

* gcc.dg/pr78408-1.c: New test.
* gcc.dg/pr78408-2.c: New test.

From-SVN: r243753

7 years agore PR tree-optimization/78819 (Wrong code with VRP caused by register assertions...
Marek Polacek [Fri, 16 Dec 2016 14:19:44 +0000 (14:19 +0000)]
re PR tree-optimization/78819 (Wrong code with VRP caused by register assertions along default switch labels)

PR tree-optimization/78819
* tree-vrp.c (find_switch_asserts): Return if the insertion limit is 0.
Don't register an assertion if the default case shares a label with
another case.

* gcc.dg/tree-ssa/vrp112.c: New test.

From-SVN: r243746

7 years agoThe negdi2 patterns for ARM and Thumb-2 are duplicated because Thumb-2 doesn't suppor...
Wilco Dijkstra [Fri, 16 Dec 2016 13:14:46 +0000 (13:14 +0000)]
The negdi2 patterns for ARM and Thumb-2 are duplicated because Thumb-2 doesn't support RSC with an immediate.

The negdi2 patterns for ARM and Thumb-2 are duplicated because Thumb-2
doesn't support RSC with an immediate.  We can however emulate RSC with
zero using a shifted SBC.  If we add this to subsi3_carryin the negdi
patterns can be merged, simplifying things a bit.  This should generate
identical code in all cases.

    gcc/
        * config/arm/arm.md (subsi3_carryin): Add Thumb-2 RSC #0.
        (arm_negdi2) Rename to negdi2_insn, allow on Thumb-2.
        * config/arm/thumb2.md (thumb2_negdi2): Remove pattern.

From-SVN: r243745

7 years agoThumb uses a special register allocation order to increase the use of low registers.
Wilco Dijkstra [Fri, 16 Dec 2016 12:59:41 +0000 (12:59 +0000)]
Thumb uses a special register allocation order to increase the use of low registers.

Thumb uses a special register allocation order to increase the use of low
registers.  Oddly enough, LR appears before R12, which means that LR must
be saved and restored even if R12 is available.  Swapping R12 and LR means
this simple example now uses R12 as a temporary (just like ARM):

int f(long long a, long long b)
{
  if (a < b) return 1;
  return a + b;
}

    gcc/
* config/arm/arm.c (thumb_core_reg_alloc_order): Swap R12 and R14.

From-SVN: r243744

7 years ago[ARC] Remove old prof patterns.
Claudiu Zissulescu [Fri, 16 Dec 2016 12:56:32 +0000 (13:56 +0100)]
[ARC] Remove old prof patterns.

gcc/
2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (call_prof): Remove.
(call_value_prof): Likewise.
(sibcall_prof): Likewise.
(sibcall_value_prof): Likewise.

From-SVN: r243743

7 years ago[ARC] Rework code for profiling.
Claudiu Zissulescu [Fri, 16 Dec 2016 12:56:21 +0000 (13:56 +0100)]
[ARC] Rework code for profiling.

gcc/
2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.h (LINK_SPEC): Tidy up.
(ENDFILE_SPEC): Likewise.
(LIB_SPEC): Likewise.
(STARTFILE_SPEC): Include gcrt0 when profiling.
(FUNCTION_PROFILER): Use __mcount.
* config/arc/arc.opt (mucb-mcount): Remove.
* doc/invoke.texi (ARC): Remove mucb-mcount doc.
* arc/arc-protos.h (arc_profile_call): Remove.
* config/arc/arc.c (write_profile_sections): Likewise.
(arc_profile_call): Likewise.
(unspec_prof_hash): Likewise.
(unspec_prof_htab_eq): Likewise.
(arc_legitimate_constant_p): Remove UNSPEC_PROF.
(arc_reorg): Remove call to write_profile_sections.
* config/arc/arc.md (call): Remove call to arc_profile_call.
(call_value): Likewise.
(sibcall): Likewise.
(sibcall_value): Likewise.
(define_constants): Remove UNSPEC_PROF.

libgcc/
* config.host (arc*-*-linux-uclibc*): Remove libgmon, crtg, and
crtgend.
(arc*-*-elf*): Likewise.
* config/arc/t-arc: Remove old gmon lib targets.
* config/arc/crtg.S: Remove.
* config/arc/crtgend.S: Likewise.
* config/arc/gmon/atomic.h: Likewise.
* config/arc/gmon/auxreg.h: Likewise.
* config/arc/gmon/dcache_linesz.S: Likewise.
* config/arc/gmon/gmon.c: Likewise.
* config/arc/gmon/machine-gmon.h: Likewise.
* config/arc/gmon/mcount.c: Likewise.
* config/arc/gmon/prof-freq-stub.S: Likewise.
* config/arc/gmon/prof-freq.c: Likewise.
* config/arc/gmon/profil.S: Likewise.
* config/arc/gmon/sys/gmon.h: Likewise.
* config/arc/gmon/sys/gmon_out.h: Likewise.
* config/arc/t-arc-newlib: Likewise.
* config/arc/t-arc700-uClibc: Renamed to t-arc-uClibc.

From-SVN: r243742

7 years ago[ARC] Rework ARC600 64-bit multiplication patterns.
Claudiu Zissulescu [Fri, 16 Dec 2016 12:56:09 +0000 (13:56 +0100)]
[ARC] Rework ARC600 64-bit multiplication patterns.

Previously users of mulsidi_600 and umulsidi_600 had to take care of
moving the multiplication result into the final destination themselves
(from the MUL64_OUT_REG register).  This commit converts these two
instruction patterns into insn_and_split patterns that now take the
final destination as an extra operand.  The insn_and_split patterns
generate the multiplication using two new multiplication instruction
patterns, then generate the move of the result from the MUL64_OUT_REG
register into the final destination.

This is a clean up commit, there should be no user visible changes
after this commit.

2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (mulsidi_600): Change to insn_and_split,
generate new mul64 insn for core multiplication work.
(umulsidi_600): Likewise, but use mulu64 insn.
(mul64): New pattern, content taken from old mulsidi_600 insn
pattern.
(mulu64): Likewise, but using umulsidi_600.
(mulsidi3): Remove move to destination, this is now handled by
mulsidi_600 insn_and_split.
(umulsidi3): Likewise, but using umulsidi_600.

From-SVN: r243741

7 years agoopt61.adb: New test.
Eric Botcazou [Fri, 16 Dec 2016 12:21:45 +0000 (12:21 +0000)]
opt61.adb: New test.

* gnat.dg/opt61.adb: New test.
* gnat.dg/opt61_pkg.ad[sb]: New helper.

From-SVN: r243740

7 years agoImplement LWG 2769, Redundant const in the return type of any_cast(const any&).
Ville Voutilainen [Fri, 16 Dec 2016 11:34:45 +0000 (13:34 +0200)]
Implement LWG 2769, Redundant const in the return type of any_cast(const any&).

Implement LWG 2769, Redundant const in the return type of
any_cast(const any&).
* include/std/any (_AnyCast): New.
(any_cast(const any&)): Use it and add an explicit cast for return.
(any_cast(any&)): Likewise.
(any_cast(any&&)): Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Add a test for a type
that has an explicit copy constructor.
*testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.

From-SVN: r243739

7 years agore PR c++/71694 (store-data race with bitfields and tail-padding in C++)
Richard Biener [Fri, 16 Dec 2016 09:40:03 +0000 (09:40 +0000)]
re PR c++/71694 (store-data race with bitfields and tail-padding in C++)

2016-12-16  Richard Biener  <rguenther@suse.de>

PR c++/71694
* langhooks-def.h (lhd_unit_size_without_reusable_padding): Declare.
(LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Adjust.
* langhooks.h (struct lang_hooks_for_types): Add
unit_size_without_reusable_padding.
* langhooks.c (lhd_unit_size_without_reusable_padding): New.
* stor-layout.c (finish_bitfield_representative): Use
unit_size_without_reusable_padding langhook to decide on the
last representatives size.

cp/
* cp-objcp-common.h (cp_unit_size_without_reusable_padding): Declare.
(LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define.
* cp-objcp-common.c (cp_unit_size_without_reusable_padding): New.

* g++.dg/pr71694.C: New testcase.

From-SVN: r243738

7 years agore PR middle-end/71632 (hang at -O3 on x86_64-linux-gnu)
Richard Biener [Fri, 16 Dec 2016 09:38:18 +0000 (09:38 +0000)]
re PR middle-end/71632 (hang at -O3 on x86_64-linux-gnu)

2016-12-16  Richard Biener  <rguenther@suse.de>

PR middle-end/71632
* expr.c (expand_cond_expr_using_cmove): Bail out early if
we end up recursing via TER.

* gcc.dg/pr71632.c: New testcase.

From-SVN: r243737

7 years agoPR bootstrap/78817 - stage2 bootstrap failure in vec.h:1613:5: error: argument 1...
Martin Sebor [Fri, 16 Dec 2016 02:57:22 +0000 (02:57 +0000)]
PR bootstrap/78817 - stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661

gcc/ChangeLog:
* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Assert
a pointer is non-null.

From-SVN: r243736

7 years agocompiler: fix comments + fieldnames to match libgo source
Ian Lance Taylor [Fri, 16 Dec 2016 00:34:37 +0000 (00:34 +0000)]
compiler: fix comments + fieldnames to match libgo source

    A couple of the comments in the type descriptor code were out of date
    with respect to the names in libgo/go/runtime/type.go.  Fix up the
    comments and field names to bring them into sync.

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

From-SVN: r243735

7 years agoDaily bump.
GCC Administrator [Fri, 16 Dec 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243734

7 years agocompiler: fix off-by-1 array type len in Type::gc_symbol_constructor
Ian Lance Taylor [Thu, 15 Dec 2016 23:44:13 +0000 (23:44 +0000)]
compiler: fix off-by-1 array type len in Type::gc_symbol_constructor

    Array type being built to hold GC var initializer was being created
    with an extra/unneeded slot. Fix up the code to insure that the array
    length matches the length of the initializer list.

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

From-SVN: r243731

7 years agore PR go/78763 (go1: internal compiler error: in do_get_backend, at go/gofrontend...
Ian Lance Taylor [Thu, 15 Dec 2016 22:47:43 +0000 (22:47 +0000)]
re PR go/78763 (go1: internal compiler error: in do_get_backend, at go/gofrontend/expressions.cc:8352)

PR go/78763
    compiler: call determine_types even for constant expressions

    We need to call determine_types even for constant expressions, since a
    constant expression may include code like unsafe.Sizeof(0).  Something
    needs to determine the type of the untyped 0, and that should be the
    determine_types pass.

    Implementing that triggered a compiler crash on test/const1.go because
    it permitted some erroneous constants to make it all the way to the
    backend.  Catch that case by checking whether we get a constant
    overflow error, and marking the expression invalid if we do.  This is
    a good change in any case, as previously we reported the same constant
    overflow error multiple times, and now we only report it once.

    Fixes GCC PR 78763.

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

From-SVN: r243729