gcc.git
6 years agoaltivec.h: Add builtin names vec_extract4b vec_insert4b.
Carl Love [Fri, 16 Feb 2018 17:30:45 +0000 (17:30 +0000)]
altivec.h: Add builtin names vec_extract4b vec_insert4b.

gcc/ChangeLog:

2018-02-16  Carl Love  <cel@us.ibm.com>

* config/rs6000/altivec.h: Add builtin names vec_extract4b
vec_insert4b.
* config/rs6000/rs6000-builtin.def: Add INSERT4B and EXTRACT4B
definitions.
* config/rs6000/rs6000-c.c: Add the definitions for
P9V_BUILTIN_VEC_EXTRACT4B and P9V_BUILTIN_VEC_INSERT4B.
* config/rs6000/rs6000.c (altivec_expand_builtin): Add
P9V_BUILTIN_EXTRACT4B and P9V_BUILTIN_INSERT4B case statements.
* config/rs6000/vsx.md: Add define_insn extract4b.  Add define_expand
definition for insert4b and define insn *insert3b_internal.
* doc/extend.texi: Add documentation for vec_extract4b.

gcc/testsuite/ChangeLog:

2018-02-16  Carl Love  <cel@us.ibm.com>
* gcc.target/powerpc/builtins-7-p9-runnable.c: New runnable test file
for the ABI definitions for vec_extract4b and vec_insert4b.

From-SVN: r257747

6 years agoPR c++/82764 - C++17 ICE with empty base
Jason Merrill [Fri, 16 Feb 2018 16:44:26 +0000 (11:44 -0500)]
PR c++/82764 - C++17 ICE with empty base

* class.c (build_base_field_1): Set DECL_SIZE to zero for empty
base.

From-SVN: r257745

6 years agoPR c++/84421 - type-dependent if constexpr
Jason Merrill [Fri, 16 Feb 2018 16:44:17 +0000 (11:44 -0500)]
PR c++/84421 - type-dependent if constexpr

* semantics.c (finish_if_stmt_cond): Check
type_dependent_expression_p.

From-SVN: r257744

6 years agoruntime: add some more preemption checks
Ian Lance Taylor [Fri, 16 Feb 2018 16:42:53 +0000 (16:42 +0000)]
runtime: add some more preemption checks

    In particular this lets BenchmarkPingPongHog in runtime/proc_test.go
    complete.

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

From-SVN: r257743

6 years ago[C++ PATCH] Deprecate -ffriend-injection
Nathan Sidwell [Fri, 16 Feb 2018 16:21:36 +0000 (16:21 +0000)]
[C++ PATCH] Deprecate -ffriend-injection

https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00998.html
Deprecate -ffriend-injection.
* decl.c (cxx_init_decl_processing): Emit warning on option.
* name-lookup.c (do_pushdecl): Emit warning if we push a visible
friend.

* doc/extend.texi (Backwards Compatibility): Mention friend
injection.  Note for-scope is deprecated.
* doc/invoke.texi (-ffriend-injection): Deprecate.

* g++.old-deja/g++.jason/scoping15.C: Expect warnings.
* g++.old-deja/g++.mike/net43.C: Likewise.

From-SVN: r257742

6 years agore PR c++/82468 (ICE with deduction guide template)
Paolo Carlini [Fri, 16 Feb 2018 15:34:58 +0000 (15:34 +0000)]
re PR c++/82468 (ICE with deduction guide template)

/cp
2018-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/82468
* decl.c (check_special_function_return_type): Reject template
template parameter in deduction guide.

/testsuite
2018-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/82468
* g++.dg/cpp1z/class-deduction48.C: New.

From-SVN: r257740

6 years ago[PR c++/84375] Fix ICE after bad friend
Nathan Sidwell [Fri, 16 Feb 2018 14:30:55 +0000 (14:30 +0000)]
[PR c++/84375] Fix ICE after bad friend

https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00987.html
PR c++/84375
* name-lookup.c (do_pushdecl): Bail out on bad local friend injection.

* g++.dg/lookup/pr84375.C: New.

From-SVN: r257739

6 years agocombine: Fix problem with RTL checking
Segher Boessenkool [Fri, 16 Feb 2018 14:03:17 +0000 (15:03 +0100)]
combine: Fix problem with RTL checking

As Jakub found, after my recent combine patch at least on x86 problems
show up with RTL checking enabled.  This is because the I2 generated
by a successful instruction combination can write not only a register
but it can also write a paradoxical subreg of one.

This fixes it.

* combine.c (try_combine): When adjusting LOG_LINKS for the destination
that moved to I2, also allow destinations that are a paradoxical
subreg (instead of a normal reg).

From-SVN: r257736

6 years agore PR target/83831 ([RX] Unused bclr,bnot,bset insns)
Oleg Endo [Fri, 16 Feb 2018 13:52:49 +0000 (13:52 +0000)]
re PR target/83831 ([RX] Unused bclr,bnot,bset insns)

gcc/
PR target/83831
* config/rx/rx.c (rx_fuse_in_memory_bitop): Convert shift operand
to QImode.

gcc/testsuite/
PR target/83831
* gcc.target/rx/pr83831.c (test_3, test_6): Adjust test cases.

From-SVN: r257735

6 years agore PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644)
Richard Biener [Fri, 16 Feb 2018 13:47:25 +0000 (13:47 +0000)]
re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644)

2018-02-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84037
PR tree-optimization/84016
PR target/82862
* config/i386/i386.c (ix86_builtin_vectorization_cost):
Adjust vec_construct for the fact we need additional higher latency
128bit inserts for AVX256 and AVX512 vector builds.
(ix86_add_stmt_cost): Scale vector construction cost for
elementwise loads.

From-SVN: r257734

6 years agore PR bootstrap/82939 (genmatch fills up terminal with endless printing of periods)
Richard Biener [Fri, 16 Feb 2018 12:02:34 +0000 (12:02 +0000)]
re PR bootstrap/82939 (genmatch fills up terminal with endless printing of periods)

2018-02-16  Richard Biener  <rguenther@suse.de>

PR bootstrap/82939
* line-map.c (linemap_init): Avoid broken value-init when compiling
with GCC 4.2.

From-SVN: r257732

6 years agore PR tree-optimization/84417 (internal compiler error: verify_gimple failed)
Richard Biener [Fri, 16 Feb 2018 12:01:23 +0000 (12:01 +0000)]
re PR tree-optimization/84417 (internal compiler error: verify_gimple failed)

2018-02-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84417
* tree-ssa.c (non_rewritable_mem_ref_base): Properly constrain
the MEM_REF offset when conversion to BIT_FIELD_REF is desired.
(non_rewritable_lvalue_p): Likewise, use poly-ints.

* gcc.dg/torture/pr84417.c: New testcase.

From-SVN: r257731

6 years agoAdditional fix for PR 84239.
Igor Tsimbalist [Fri, 16 Feb 2018 10:19:14 +0000 (11:19 +0100)]
Additional fix for PR 84239.

PR target/84239
* libgcc/config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
Include cetintrin.h not x86intrin.h.

From-SVN: r257730

6 years agoSet proper internal functions fnspec (PR sanitizer/84307).
Martin Liska [Fri, 16 Feb 2018 10:03:47 +0000 (11:03 +0100)]
Set proper internal functions fnspec (PR sanitizer/84307).

2018-02-16  Martin Liska  <mliska@suse.cz>

PR sanitizer/84307
* internal-fn.def (ASAN_CHECK): Set proper flags.
(ASAN_MARK): Likewise.

From-SVN: r257729

6 years agoRemove CLWB from Cannonlake.
Julia Koval [Fri, 16 Feb 2018 09:31:49 +0000 (10:31 +0100)]
Remove CLWB from Cannonlake.

gcc/
* config/i386/i386.c (ix86_option_override_internal): Remove PTA_CLWB
from PTA_CANNONLAKE.

From-SVN: r257728

6 years agore PR target/84272 (AddressSanitizer: heap-use-after-free ../../gcc/config/aarch64...
Jakub Jelinek [Fri, 16 Feb 2018 09:26:27 +0000 (10:26 +0100)]
re PR target/84272 (AddressSanitizer: heap-use-after-free ../../gcc/config/aarch64/cortex-a57-fma-steering.c:519 in fma_node::get_parity())

PR target/84272
* config/aarch64/cortex-a57-fma-steering.c (fma_forest::merge_forest):
Use ++iter rather than iter++ for std::list iterators.
(func_fma_steering::dfs): Likewise.  Don't delete nodes right away,
defer deleting them until all nodes in the forest are processed.  Do
free even leaf nodes.  Change to_process into auto_vec.

* g++.dg/opt/pr84272.C: New test.

From-SVN: r257727

6 years agore PR bootstrap/84405 (Fails to bootstrap with GCC 4.1.2, GCC 4.2.4)
Jakub Jelinek [Fri, 16 Feb 2018 09:05:35 +0000 (10:05 +0100)]
re PR bootstrap/84405 (Fails to bootstrap with GCC 4.1.2, GCC 4.2.4)

PR bootstrap/84405
* system.h (BROKEN_VALUE_INITIALIZATION): Define for GCC < 4.3.
* vec.h (vec_default_construct): Use memset instead of placement new
if BROKEN_VALUE_INITIALIZATION is defined.
* hash-table.h (hash_table<Descriptor, Allocator>::empty_slow): Use
memset instead of value initialization if BROKEN_VALUE_INITIALIZATION
is defined.

From-SVN: r257726

6 years agore PR rtl-optimization/83723 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:1010)
Jakub Jelinek [Fri, 16 Feb 2018 09:04:00 +0000 (10:04 +0100)]
re PR rtl-optimization/83723 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:1010)

PR rtl-optimization/83723
* lra-int.h (lra_substitute_pseudo): Add DEBUG_P argument.
* lra.c (lra_substitute_pseudo): Likewise.  If true, use
gen_rtx_raw_SUBREG instead of gen_rtx_SUBREG.  Pass DEBUG_P to
recursive calls.
(lra_substitute_pseudo_within_insn): Adjust lra_substitute_pseudo
callers.
* lra-constraints.c (inherit_reload_reg, split_reg): Likewise.

* gcc.dg/pr83723.c: New test.

From-SVN: r257725

6 years agore PR rtl-optimization/81443 (build/genrecog.o: virtual memory exhausted: Cannot...
Eric Botcazou [Fri, 16 Feb 2018 08:20:32 +0000 (08:20 +0000)]
re PR rtl-optimization/81443 (build/genrecog.o: virtual memory exhausted: Cannot allocate memory)

PR rtl-optimization/81443
* rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results
from inner REGs to paradoxical SUBREGs.

From-SVN: r257724

6 years agore PR tree-optimization/84399 ([graphite] ICE in set_codegen_error, at graphite-isl...
Richard Biener [Fri, 16 Feb 2018 08:16:17 +0000 (08:16 +0000)]
re PR tree-optimization/84399 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206)

2018-02-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84399
* graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p):
For operands we can analyze at their definition make sure we can
analyze them at each use as well.

* gcc.dg/graphite/pr84399.c: New testcase.

From-SVN: r257723

6 years agore PR c/84190 (double arithmetic on x86 no longer rounds to nearest)
Richard Biener [Fri, 16 Feb 2018 07:56:16 +0000 (07:56 +0000)]
re PR c/84190 (double arithmetic on x86 no longer rounds to nearest)

2018-02-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84190
* tree-ssa.c (non_rewritable_mem_ref_base): Do not touch
volatile accesses if the decl isn't volatile.

* g++.dg/torture/pr84190.C: New testcase.

From-SVN: r257721

6 years agoPR c++/83227 - C++17 ICE with init-list derived-to-base conversion.
Jason Merrill [Fri, 16 Feb 2018 02:47:19 +0000 (21:47 -0500)]
PR c++/83227 - C++17 ICE with init-list derived-to-base conversion.

* call.c (convert_like_real): Don't use the copy-list-initialization
shortcut for ck_base.

From-SVN: r257720

6 years agoDaily bump.
GCC Administrator [Fri, 16 Feb 2018 00:16:35 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r257718

6 years agoREADME (dg-lto-warning, [...]): Document new directives.
Martin Sebor [Thu, 15 Feb 2018 22:28:23 +0000 (22:28 +0000)]
README (dg-lto-warning, [...]): Document new directives.

gcc/testsuite/ChangeLog:

* gcc.dg/lto/README (dg-lto-warning, dg-lto-message): Document new
directives.

From-SVN: r257714

6 years agoPR c++/84045 - ICE with typedef and noexcept.
Jason Merrill [Thu, 15 Feb 2018 22:01:33 +0000 (17:01 -0500)]
PR c++/84045 - ICE with typedef and noexcept.

* except.c (build_noexcept_spec): Use strip_typedefs_expr.

From-SVN: r257713

6 years agore PR fortran/84409 ([F03] check DTIO arguments for character len)
Janus Weil [Thu, 15 Feb 2018 21:16:00 +0000 (22:16 +0100)]
re PR fortran/84409 ([F03] check DTIO arguments for character len)

2018-02-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84409
* interface.c (check_dtio_arg_TKR_intent): Add a check for character
length.

2018-02-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84409
* gfortran.dg/dtio_21.f03: Add an error message.
* gfortran.dg/dtio_22.f90: Fix invalid test case.

From-SVN: r257711

6 years agoPR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for darwin
Jonathan Wakely [Thu, 15 Feb 2018 20:56:41 +0000 (20:56 +0000)]
PR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for darwin

PR libstdc++/81797
* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
* configure: Regenerate.
* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
defined.
* include/Makefile.in: Regenerate.

From-SVN: r257710

6 years agoPR c++/84376 - ICE with omitted template arguments.
Jason Merrill [Thu, 15 Feb 2018 19:46:13 +0000 (14:46 -0500)]
PR c++/84376 - ICE with omitted template arguments.

* pt.c (dguide_name_p): Check for IDENTIFIER_NODE.

From-SVN: r257706

6 years agore PR fortran/84381 (replace non-std 'call abort' by 'stop 1' in gfortran testsuite)
Thomas Koenig [Thu, 15 Feb 2018 18:46:22 +0000 (18:46 +0000)]
re PR fortran/84381 (replace non-std 'call abort' by 'stop 1' in gfortran testsuite)

2018-02-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/84381
* gfortran.dg/stop_shouldfail.f90: New test.

From-SVN: r257703

6 years ago2018-02-15 Thomas Koenig <tkoenig@gcc.gnu.org>
Thomas Koenig [Thu, 15 Feb 2018 18:41:02 +0000 (18:41 +0000)]
2018-02-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/stop_shouldfail.f90: New test.

From-SVN: r257702

6 years ago* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
Jason Merrill [Thu, 15 Feb 2018 18:16:05 +0000 (13:16 -0500)]
* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.

From-SVN: r257700

6 years agoPR c++/84368 - wrong error with local variable in variadic lambda.
Jason Merrill [Thu, 15 Feb 2018 18:15:32 +0000 (13:15 -0500)]
PR c++/84368 - wrong error with local variable in variadic lambda.

* pt.c (tsubst_pack_expansion): Fix handling of non-packs in
local_specializations.

From-SVN: r257699

6 years agore PR c++/84330 ([concepts] ICE with broken constraint)
Paolo Carlini [Thu, 15 Feb 2018 18:05:40 +0000 (18:05 +0000)]
re PR c++/84330 ([concepts] ICE with broken constraint)

/cp
2018-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84330
* constraint.cc (tsubst_constraint_info): Handle an error_mark_node
as first argument.

/testsuite
2018-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84330
* g++.dg/concepts/pr84330.C: New.

From-SVN: r257698

6 years agoPR preprocessor/83063 - __VA_OPT__ and ##
Jason Merrill [Thu, 15 Feb 2018 17:43:01 +0000 (12:43 -0500)]
PR preprocessor/83063 - __VA_OPT__ and ##

PR preprocessor/83708
* macro.c (vaopt_state): Reorder m_last_was_paste before m_state.
(vaopt_state::vaopt_state): Adjust.
(vaopt_state::update_flags): Add BEGIN and END.
(vaopt_state::update): Return them.
(copy_paste_flag): Factor out of replace_args.
(last_token_is): New.
(replace_args): Handle BEGIN and END.  Avoid padding there.
(tokens_buff_last_token_ptr): Return NULL if no tokens.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r257696

6 years agoPR c++/84314 - ICE with templates and fastcall attribute.
Jason Merrill [Thu, 15 Feb 2018 16:54:12 +0000 (11:54 -0500)]
PR c++/84314 - ICE with templates and fastcall attribute.

* attribs.c (build_type_attribute_qual_variant): Don't clobber
TYPE_CANONICAL on an existing type.

From-SVN: r257695

6 years agoFix my changelog entry for PR target/83758
Aaron Sawdey [Thu, 15 Feb 2018 14:26:46 +0000 (08:26 -0600)]
Fix my changelog entry for PR target/83758

From-SVN: r257690

6 years ago[testsuite] Require et alloca for Wstringop-overflow-3.c
Tom de Vries [Thu, 15 Feb 2018 13:05:57 +0000 (13:05 +0000)]
[testsuite] Require et alloca for Wstringop-overflow-3.c

2018-02-15  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/Wstringop-overflow-3.c: Require effective target alloca.

From-SVN: r257687

6 years ago[testsuite] Require et indirect_jumps for pr84136.c
Tom de Vries [Thu, 15 Feb 2018 13:05:37 +0000 (13:05 +0000)]
[testsuite] Require et indirect_jumps for pr84136.c

2018-02-15  Tom de Vries  <tom@codesourcery.com>

* gcc.c-torture/compile/pr84136.c: Require effective target
indirect_jumps.

From-SVN: r257686

6 years agore PR other/82368 (with r253275 several new test cases in libbacktrace fail)
Jakub Jelinek [Thu, 15 Feb 2018 11:32:27 +0000 (12:32 +0100)]
re PR other/82368 (with r253275 several new test cases in libbacktrace fail)

PR other/82368
* elf.c (SHT_PROGBITS): Undefine and define.

From-SVN: r257685

6 years agore PR tree-optimization/84383 (ICE in maybe_diag_stxncpy_trunc)
Jakub Jelinek [Thu, 15 Feb 2018 11:18:47 +0000 (12:18 +0100)]
re PR tree-optimization/84383 (ICE in maybe_diag_stxncpy_trunc)

PR tree-optimization/84383
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Don't look at
dstoff nor call operand_equal_p if dstbase is NULL.

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

From-SVN: r257684

6 years agore PR tree-optimization/84334 (Stack overflow with -Ofast -frounding-math)
Jakub Jelinek [Thu, 15 Feb 2018 11:17:05 +0000 (12:17 +0100)]
re PR tree-optimization/84334 (Stack overflow with -Ofast -frounding-math)

PR tree-optimization/84334
* match.pd ((A +- CST1) +- CST2 -> A + CST3): If A is
also a CONSTANT_CLASS_P, punt.

* gcc.dg/pr84334.c: New test.

From-SVN: r257683

6 years ago* libcpp/macro.c: Fix typos.
Jason Merrill [Thu, 15 Feb 2018 05:58:35 +0000 (00:58 -0500)]
* libcpp/macro.c: Fix typos.

From-SVN: r257682

6 years agoRISC-V: Change sp subtracts so prologue stores can compress.
Jim Wilson [Thu, 15 Feb 2018 01:14:23 +0000 (01:14 +0000)]
RISC-V: Change sp subtracts so prologue stores can compress.

gcc/
* config/riscv/riscv.c (riscv_first_stack_step): Move locals after
first SMALL_OPERAND check.  New local min_second_step.  Move assert
to where locals are set.  Add TARGET_RVC support.
* config/riscv/riscv.h (C_SxSP_BITS, SWSP_REACH, SDSP_REACH): New.

From-SVN: r257681

6 years agoinvoke.texi: Correct -Wformat-overflow code sample.
Indu Bhagat [Thu, 15 Feb 2018 00:47:22 +0000 (00:47 +0000)]
invoke.texi: Correct -Wformat-overflow code sample.

gcc/ChangeLog:

2018-02-14  Indu Bhagat  <indu.bhagat@oracle.com>

* doc/invoke.texi: Correct -Wformat-overflow code sample.

From-SVN: r257680

6 years agoDaily bump.
GCC Administrator [Thu, 15 Feb 2018 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r257679

6 years agoPR tree-optimization/83698 - bogus offset in -Wrestrict messages for strcat of unknow...
Martin Sebor [Wed, 14 Feb 2018 23:22:15 +0000 (23:22 +0000)]
PR tree-optimization/83698 - bogus offset in -Wrestrict messages for strcat of unknown strings

gcc/ChangeLog:

PR tree-optimization/83698
* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): For
arrays constrain the offset range to their bounds.
(builtin_access::strcat_overlap): Adjust the bounds of overlap offset.
(builtin_access::overlap): Avoid setting the size of overlap if it's
already been set.
(maybe_diag_overlap): Also consider arrays when deciding what values
of offsets to include in diagnostics.

gcc/testsuite/ChangeLog:

PR tree-optimization/83698
* gcc.dg/Wrestrict-7.c: New test.
* c-c++-common/Wrestrict.c: Adjust expected values for strcat.
* gcc.target/i386/chkp-stropt-17.c: Same.

From-SVN: r257676

6 years agogcc/testsuite/ChangeLog:
Carl Love [Wed, 14 Feb 2018 22:12:04 +0000 (22:12 +0000)]
gcc/testsuite/ChangeLog:

2018-02-14  Carl Love  <cel@us.ibm.com>
        * gcc.target/powerpc/builtins-4-int128-runnable.c
(dg-require-effective-target): Change vsx_hw to p8vector_hw.
(dg-options): Change -maltivec -mvsx to -mpower8-vector.

From-SVN: r257675

6 years agoPR middle-end/84108 - incorrect -Wattributes warning for packed/aligned conflict...
Martin Sebor [Wed, 14 Feb 2018 22:02:43 +0000 (22:02 +0000)]
PR middle-end/84108 - incorrect -Wattributes warning for packed/aligned conflict on struct members

gcc/ChangeLog:

PR c/84108
* attribs.c (diag_attr_exclusions): Consider the exclusion(s)
that correspond to the kind of a declaration.

gcc/testsuite/ChangeLog:

PR c/84108
* gcc.dg/Wattributes-8.c: New test.

From-SVN: r257674

6 years agore PR fortran/84385 ([F03] Reject invalid SELECT TYPE selector (allocate_with_source_...
Janus Weil [Wed, 14 Feb 2018 21:46:59 +0000 (22:46 +0100)]
re PR fortran/84385 ([F03] Reject invalid SELECT TYPE selector (allocate_with_source_22.f03))

2018-02-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84385
* match.c (gfc_match_select_type): Fix check for selector in
SELECT TYPE statement.

2018-02-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84385
* gfortran.dg/allocate_with_source_22.f03: Fix invalid test case.
* gfortran.dg/allocate_with_source_23.f90: Ditto.
* gfortran.dg/select_type_1.f03: Extend test case.

From-SVN: r257673

6 years agore PR target/83984 (ld: The value 0x8000000000005 does not fit when applying the...
John David Anglin [Wed, 14 Feb 2018 21:13:26 +0000 (21:13 +0000)]
re PR target/83984 (ld: The value 0x8000000000005 does not fit when applying the relocation DIR21L)

PR target/83984
* config/pa/pa.md: Load address of PIC label using the linkage table
if the label is nonlocal.

From-SVN: r257672

6 years agopr57193.c (dg-do): Remove target selector.
Uros Bizjak [Wed, 14 Feb 2018 19:24:04 +0000 (20:24 +0100)]
pr57193.c (dg-do): Remove target selector.

* gcc.target/i386/pr57193.c (dg-do): Remove target selector.
(dg-options): Use -O2 -msse2 -mno-sse3.

From-SVN: r257669

6 years agors6000.c (rs6000_option_override_internal): Issue warning message if user requests...
Kelvin Nilsen [Wed, 14 Feb 2018 19:20:30 +0000 (19:20 +0000)]
rs6000.c (rs6000_option_override_internal): Issue warning message if user requests -maltivec=be.

gcc/ChangeLog:

2018-02-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/rs6000.c (rs6000_option_override_internal): Issue
warning message if user requests -maltivec=be.
* doc/invoke.texi: Document deprecation of -maltivec=be.

gcc/testsuite/ChangeLog:

2018-02-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.dg/vmx/extract-be-order.c: Disable -maltivec=be warning so
this test case still works ok.
* gcc.dg/vmx/extract-vsx-be-order.c: Likewise.
* gcc.dg/vmx/insert-be-order.c: Likewise.
* gcc.dg/vmx/insert-vsx-be-order.c: Likewise.
* gcc.dg/vmx/ld-be-order.c: Likewise.
* gcc.dg/vmx/ld-vsx-be-order.c: Likewise.
* gcc.dg/vmx/lde-be-order.c: Likewise.
* gcc.dg/vmx/ldl-be-order.c: Likewise.
* gcc.dg/vmx/ldl-vsx-be-order.c: Likewise.
* gcc.dg/vmx/merge-be-order.c: Likewise.
* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
* gcc.dg/vmx/mult-even-odd-be-order.c: Likewise.
* gcc.dg/vmx/pack-be-order.c: Likewise.
* gcc.dg/vmx/perm-be-order.c: Likewise.
* gcc.dg/vmx/splat-be-order.c: Likewise.
* gcc.dg/vmx/splat-vsx-be-order.c: Likewise.
* gcc.dg/vmx/st-be-order.c: Likewise.
* gcc.dg/vmx/st-vsx-be-order.c: Likewise.
* gcc.dg/vmx/ste-be-order.c: Likewise.
* gcc.dg/vmx/stl-be-order.c: Likewise.
* gcc.dg/vmx/stl-vsx-be-order.c: Likewise.
* gcc.dg/vmx/sum2s-be-order.c: Likewise.
* gcc.dg/vmx/unpack-be-order.c: Likewise.
* gcc.dg/vmx/vsums-be-order.c: Likewise.
* gcc.target/powerpc/vec-setup-be-long.c: Likewise.

From-SVN: r257668

6 years agore PR c++/84350 (ICE with new and auto)
Paolo Carlini [Wed, 14 Feb 2018 17:59:29 +0000 (17:59 +0000)]
re PR c++/84350 (ICE with new and auto)

/cp
2018-02-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84350
* pt.c (do_auto_deduction): Don't check the TREE_TYPE of a null
init, early return.

/testsuite
2018-02-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84350
* g++.dg/cpp0x/auto49.C: New.

From-SVN: r257666

6 years ago[C++ PATCH]: instantiation via vtable marking
Nathan Sidwell [Wed, 14 Feb 2018 16:31:26 +0000 (16:31 +0000)]
[C++ PATCH]: instantiation via vtable marking

https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00850.html
gcc/cp/
* decl2.c (mark_vtable_entries): Set input_location to decl's.
(c_parse_final_cleanups): Restore input_location after emitting
vtables.

gcc/testsuite/
* g++.dg/template/instantiate5.C: Adjust required-from loc.

From-SVN: r257665

6 years agoaltivec-consts.c: Update compile stanzas.
Will Schmidt [Wed, 14 Feb 2018 15:47:54 +0000 (15:47 +0000)]
altivec-consts.c: Update compile stanzas.

[testsuite]

2018-02-14  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/altivec-consts.c:  Update compile stanzas.
* gcc.target/powerpc/le-altivec-consts.c:  Same.

From-SVN: r257664

6 years agore PR target/84220 (rs6000 builtin __builtin_vec_sld() ICEs on invalid 3rd argument)
Will Schmidt [Wed, 14 Feb 2018 15:32:02 +0000 (15:32 +0000)]
re PR target/84220 (rs6000 builtin __builtin_vec_sld() ICEs on invalid 3rd argument)

[gcc]

2018-02-14  Will Schmidt  <will_schmidt@vnet.ibm.com>

PR target/84220
* config/rs6000/rs6000-c.c: Update definitions for
ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SLDW,
ALTIVEC_BUILTIN_VEC_XXPERMDI builtins.

[testsuite]

2018-02-14  Will Schmidt  <will_schmidt@vnet.ibm.com>

PR target/84220
* gcc.target/powerpc/pr84220-sld.c: New test.
* gcc.target/powerpc/pr84220-sld2.c: New test.
* gcc.target/powerpc/pr84220-sldw.c: New test.
* gcc.target/powerpc/pr84220-xxperm.c: New test.
* gcc.target/powerpc/pr84220-xxsld.c: New test.

From-SVN: r257662

6 years agoReimplement CET intrinsics for rdssp/incssp insn.
Igor Tsimbalist [Wed, 14 Feb 2018 15:06:21 +0000 (16:06 +0100)]
Reimplement CET intrinsics for rdssp/incssp insn.

Introduce a couple of new CET intrinsics for reading and updating a
shadow stack pointer (_get_ssp and _inc_ssp). They replace the existing
_rdssp[d|q] and _incssp[d|q] instrinsics.

PR target/84239
* gcc/config/i386/cetintrin.h: Remove _rdssp[d|q] and
add _get_ssp intrinsics. Remove argument from
__builtin_ia32_rdssp[d|q].
* gcc/config/i386/i386-builtin-types.def: Add UINT_FTYPE_VOID.
* gcc/config/i386/i386-builtin.def: Remove argument from
__builtin_ia32_rdssp[d|q].
* gcc/config/i386/i386.c: Use UINT_FTYPE_VOID. Use
ix86_expand_special_args_builtin for _rdssp[d|q].
* gcc/config/i386/i386.md: Remove argument from rdssp[si|di] insn.
Clear register before usage.
* doc/extend.texi: Remove argument from __builtin_ia32_rdssp[d|q].
Add documentation for new _get_ssp and _inc_ssp intrinsics.
* testsuite/gcc.target/i386/cet-intrin-3.c: Use new _get_ssp and
_inc_ssp intrinsics.
* testsuite/gcc.target/i386/cet-intrin-4.c: Likewise.
* testsuite/gcc.target/i386/cet-rdssp-1.c: Remove argument from
__builtin_ia32_rdssp[d|q].
* libgcc/config/i386/shadow-stack-unwind.hi (_Unwind_Frames_Extra):
Use new _get_ssp and _inc_ssp intrinsics.

From-SVN: r257660

6 years agocp-tree.h (do_auto_deduction (tree, tree, tree)): Remove.
Paolo Carlini [Wed, 14 Feb 2018 14:19:50 +0000 (14:19 +0000)]
cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove.

2018-02-14  Paolo Carlini  <paolo.carlini@oracle.com>

* cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove.
(do_auto_deduction (tree, tree, tree, tsubst_flags_t,
auto_deduction_context, tree, int): Add defaults.
* pt.c (do_auto_deduction (tree, tree, tree)): Remove definition.
(tsubst_omp_for_iterator): Adjust do_auto_deduction call, forward
tsubst_flags_t argument.
* init.c (build_new): Likewise.

From-SVN: r257659

6 years agore PR other/82368 (with r253275 several new test cases in libbacktrace fail)
Jakub Jelinek [Wed, 14 Feb 2018 14:19:36 +0000 (15:19 +0100)]
re PR other/82368 (with r253275 several new test cases in libbacktrace fail)

PR other/82368
* elf.c (EM_PPC64, EF_PPC64_ABI): Undefine and define.
(struct elf_ppc64_opd_data): New type.
(elf_initialize_syminfo): Add opd argument, handle symbols
pointing into the PowerPC64 ELFv1 .opd section.
(elf_add): Read .opd section on PowerPC64 ELFv1, pass pointer
to structure with .opd data to elf_initialize_syminfo.

From-SVN: r257658

6 years agoCheck array indices in object_address_invariant_in_loop_p (PR 84357)
Richard Sandiford [Wed, 14 Feb 2018 13:14:51 +0000 (13:14 +0000)]
Check array indices in object_address_invariant_in_loop_p (PR 84357)

object_address_invariant_in_loop_p ignored ARRAY_REF indices on
the basis that:

  /* Index of the ARRAY_REF was zeroed in analyze_indices, thus we only
     need to check the stride and the lower bound of the reference.  */

That was true back in 2007 when the code was added:

static void
dr_analyze_indices (struct data_reference *dr, struct loop *nest)
{
  [...]
  while (handled_component_p (aref))
    {
      if (TREE_CODE (aref) == ARRAY_REF)
        {
          op = TREE_OPERAND (aref, 1);
          access_fn = analyze_scalar_evolution (loop, op);
          access_fn = resolve_mixers (nest, access_fn);
          VEC_safe_push (tree, heap, access_fns, access_fn);

          TREE_OPERAND (aref, 1) = build_int_cst (TREE_TYPE (op), 0);
        }

      aref = TREE_OPERAND (aref, 0);
    }

but the assignment was removed a few years ago.  We were therefore
treating "two->arr[i]" and "three->arr[i]" as loop invariant.

2018-02-14  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
PR tree-optimization/84357
* tree-data-ref.c (object_address_invariant_in_loop_p): Check
operand 1 of an ARRAY_REF too.

gcc/testsuite/
PR tree-optimization/84357
* gcc.dg/vect/pr84357.c: New test.

From-SVN: r257657

6 years agore PR target/83831 ([RX] Unused bclr,bnot,bset insns)
Oleg Endo [Wed, 14 Feb 2018 12:33:37 +0000 (12:33 +0000)]
re PR target/83831 ([RX] Unused bclr,bnot,bset insns)

gcc/
PR target/83831
* config/rx/rx-protos.h (rx_reg_dead_or_unused_after_insn,
rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New
declarations.
(set_of_reg): New struct.
(rx_find_set_of_reg, rx_find_use_of_reg): New functions.
* config/rx/rx.c (rx_reg_dead_or_unused_after_insn,
rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New
functions.
* config/rx/rx.md (andsi3, iorsi3, xorsi3): Convert to insn_and_split.
Split into bitclr, bitset, bitinvert patterns if appropriate.
(*bitset, *bitinvert, *bitclr): Convert to named insn_and_split and
use rx_fuse_in_memory_bitop.
(*bitset_in_memory, *bitinvert_in_memory, *bitclr_in_memory): Convert
to named insn, correct maximum insn length.

gcc/testsuite/
PR target/83831
* gcc.target/rx/pr83831.c: New tests.

From-SVN: r257655

6 years agore PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)
Jakub Jelinek [Wed, 14 Feb 2018 12:12:15 +0000 (13:12 +0100)]
re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)

PR fortran/84313
* testsuite/libgomp.fortran/threadprivate4.f90: Add
-std=f2003 -fall-intrinsics into dg-additional-options.

From-SVN: r257654

6 years agore PR target/79242 (ICE in simplify_subreg, at simplify-rtx.c:6029)
Jozef Lawrynowicz [Wed, 14 Feb 2018 07:21:11 +0000 (07:21 +0000)]
re PR target/79242 (ICE in simplify_subreg, at simplify-rtx.c:6029)

2018-02-14  Jozef Lawrynowicz <jozefl.gcc@gmail.com>

PR target/79242
* machmode.def: Define a complex mode for PARTIAL_INT.
* genmodes.c (complex_class): Return MODE_COMPLEX_INT for
MODE_PARTIAL_INT.
* doc/rtl.texi: Document CSPImode.
* config/msp430/msp430.c (msp430_hard_regno_nregs): Add CPSImode
handling.
(msp430_hard_regno_nregs_with_padding): Likewise.

PR target/79242
* gcc.target/msp430/pr79242.c: New test.

From-SVN: r257653

6 years agoDaily bump.
GCC Administrator [Wed, 14 Feb 2018 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r257651

6 years agore PR target/84372 (test case gcc.target/powerpc/lvsl-lvsr.c fails on power9)
Peter Bergner [Tue, 13 Feb 2018 23:29:38 +0000 (17:29 -0600)]
re PR target/84372 (test case gcc.target/powerpc/lvsl-lvsr.c fails on power9)

PR target/84372
* gcc.target/powerpc/lvsl-lvsr.c: Also match lxv when compiling
with -mcpu=power9.

From-SVN: r257648

6 years agore PR target/84279 (powerpc64le ICE on cvc4)
Peter Bergner [Tue, 13 Feb 2018 23:05:59 +0000 (17:05 -0600)]
re PR target/84279 (powerpc64le ICE on cvc4)

gcc/
PR target/84279
* config/rs6000/rs6000.c (mem_operand_gpr): Disallow altivec addresses.

gcc/testsuite/
PR target/84279
* g++.dg/pr84279.C: New test.

From-SVN: r257647

6 years agoAdd another PR marker to Alex's change.
Jeff Law [Tue, 13 Feb 2018 22:43:36 +0000 (15:43 -0700)]
Add another PR marker to Alex's change.

From-SVN: r257646

6 years agoAdd PR marker for one of Alex's changes
Jeff Law [Tue, 13 Feb 2018 22:38:42 +0000 (15:38 -0700)]
Add PR marker for one of Alex's changes

From-SVN: r257645

6 years agocombine: Update links correctly for new I2 (PR84169)
Segher Boessenkool [Tue, 13 Feb 2018 22:12:55 +0000 (23:12 +0100)]
combine: Update links correctly for new I2 (PR84169)

If there is a LOG_LINK between two insns, this means those two insns
can be combined, as far as dataflow is concerned.  There never should
be a LOG_LINK between two unrelated insns.  If there is one, combine
will try to combine the insns without doing all the needed checks if
the earlier destination is used before the later insn, etc.

Unfortunately we do not update the LOG_LINKs correctly in some cases.
This patch fixes at least some of those cases.

PR rtl-optimization/84169
* combine.c (try_combine): New variable split_i2i3.  Set it to true if
we generated a parallel as new i3 and we split that to new i2 and i3
instructions.  Handle split_i2i3 similar to swap_i2i3: scan the
LOG_LINKs of i3 to see which of those need to link to i2 now.  Link
those to i2, not i1.  Partially rewrite this scan code.

gcc/testsuite/
PR rtl-optimization/84169
* gcc.c-torture/execute/pr84169.c: New.

From-SVN: r257644

6 years agore PR testsuite/84370 (Invalid option used in test case gcc.target/powerpc/builtins...
Peter Bergner [Tue, 13 Feb 2018 22:04:00 +0000 (16:04 -0600)]
re PR testsuite/84370 (Invalid option used in test case gcc.target/powerpc/builtins-3-p9-runnable.c)

PR target/84370
* gcc.target/powerpc/builtins-3-p9-runnable.c: Remove deprecated option.

From-SVN: r257642

6 years agore PR target/84365 (gcc.target/powerpc/altivec-7-le.c fails on power9)
Peter Bergner [Tue, 13 Feb 2018 21:52:12 +0000 (15:52 -0600)]
re PR target/84365 (gcc.target/powerpc/altivec-7-le.c fails on power9)

PR target/84365
* gcc.target/powerpc/altivec-7-le.c: Also match lxv when compiling
with -mcpu=power9.

From-SVN: r257641

6 years agore PR c++/84364 (-Weffc++ warns on "return *this" in template after r253599)
Jakub Jelinek [Tue, 13 Feb 2018 21:40:35 +0000 (22:40 +0100)]
re PR c++/84364 (-Weffc++ warns on "return *this" in template after r253599)

PR c++/84364
* typeck.c (check_return_expr): Don't emit -Weffc++ warning
about return other than *this in assignment operators if
retval is type dependent expression.

* g++.dg/warn/effc4.C: New test.

From-SVN: r257640

6 years ago* fr.po: Update.
Joseph Myers [Tue, 13 Feb 2018 21:32:49 +0000 (21:32 +0000)]
* fr.po: Update.

From-SVN: r257639

6 years agore PR c++/84333 (ICE with ternary operator in template function)
Paolo Carlini [Tue, 13 Feb 2018 21:23:22 +0000 (21:23 +0000)]
re PR c++/84333 (ICE with ternary operator in template function)

/cp
2018-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84333
* call.c (build_conditional_expr_1): Use cp_save_expr instead of
save_expr for the G++ extension.

/testsuite
2018-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84333
* g++.dg/template/sizeof16.C: New.
* g++.dg/template/sizeof17.C: Likewise.

From-SVN: r257638

6 years agocompiler: don't export function descriptors for unexported names
Ian Lance Taylor [Tue, 13 Feb 2018 21:15:41 +0000 (21:15 +0000)]
compiler: don't export function descriptors for unexported names

    They aren't needed, and could potentially cause unlikely symbol name
    collisions.  Also, the runtime package's reference to main could cause
    the runtime package to define main.main..f, which could also be
    defined in the main package if it does something like fmt.Print(main).
    That will normally work but will fail with a multiple symbol
    definition error when using -static-libgo.

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

From-SVN: r257637

6 years agore PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)
Janus Weil [Tue, 13 Feb 2018 21:00:37 +0000 (22:00 +0100)]
re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)

2018-02-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84313
* symbol.c (check_conflict): Reject procedure pointers in common blocks.

2018-02-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84313
* gfortran.dg/proc_ptr_common_1.f90: Fix invalid test case,
add necessary compiler options.
* gfortran.dg/proc_ptr_common_2.f90: Add missing error message.

From-SVN: r257636

6 years agore PR c/82210 (Having _Alignas in a struct with VLAs causes writing to one array...
Jakub Jelinek [Tue, 13 Feb 2018 20:23:58 +0000 (21:23 +0100)]
re PR c/82210 (Having _Alignas in a struct with VLAs causes writing to one array to overwrite another)

PR c/82210
* stor-layout.c (place_field): For variable length fields, adjust
offset_align afterwards not just based on the field's alignment,
but also on the size.

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

From-SVN: r257635

6 years agore PR middle-end/84309 (Wrong-code with -ffast-math)
Jakub Jelinek [Tue, 13 Feb 2018 20:22:50 +0000 (21:22 +0100)]
re PR middle-end/84309 (Wrong-code with -ffast-math)

PR middle-end/84309
* match.pd (pow(C,x) -> exp(log(C)*x)): Use exp2s and log2s instead
of exps and logs in the use_exp2 case.

* gcc.dg/pr84309-2.c: New test.

From-SVN: r257634

6 years agorl78.c (rl78_attribute_table): Fix terminator and entry for "vector".
Jeff Law [Tue, 13 Feb 2018 18:36:51 +0000 (11:36 -0700)]
rl78.c (rl78_attribute_table): Fix terminator and entry for "vector".

2018-02-13  Jeff Law  <law@redhat.com>

  * config/rl/rl78.c (rl78_attribute_table): Fix terminator and
entry for "vector".

From-SVN: r257633

6 years agorl78.c (rl78_handle_func_attribute): Mark ARGS as unused.
Jeff Law [Tue, 13 Feb 2018 18:17:23 +0000 (11:17 -0700)]
rl78.c (rl78_handle_func_attribute): Mark ARGS as unused.

* config/rl78/rl78.c (rl78_handle_func_attribute): Mark
ARGS as unused.

From-SVN: r257632

6 years agocommon.opt (gas-loc-support, [...]): New.
Alexandre Oliva [Tue, 13 Feb 2018 16:18:37 +0000 (16:18 +0000)]
common.opt (gas-loc-support, [...]): New.

* common.opt (gas-loc-support, gas-locview-support): New.
(ginline-points, ginternal-reset-location-views): New.
* doc/invoke.texi: Document them.  Use @itemx where intended.
(gvariable-location-views): Adjust.
* target.def (reset_location_view): New.
* doc/tm.texi.in (DWARF2_ASM_VIEW_DEBUG_INFO): New.
(TARGET_RESET_LOCATION_VIEW): New.
* doc/tm.texi: Rebuilt.
* dwarf2out.c (dwarf2out_default_as_loc_support): New.
(dwarf2out_default_as_locview_support): New.
(output_asm_line_debug_info): Use option variables.
(dwarf2out_maybe_output_loclist_view_pair): Likewise.
(output_loc_list): Likewise.
(add_high_low_attributes): Check option variables.
Don't output entry view attribute in strict mode.
(gen_inlined_subroutine_die): Check option variables.
(dwarf2out_inline_entry): Likewise.
(init_sections_and_labels): Likewise.
(dwarf2out_early_finish): Likewise.
(maybe_reset_location_view): New, from...
(dwarf2out_var_location): ... here.  Call it.
* debug.h (dwarf2out_default_as_loc_support): Declare.
(dwarf2out_default_as_locview_support): Declare.
* hooks.c (hook_int_rtx_insn_0): New.
* hooks.h (hook_int_rtx_insn_0): Declare.
* toplev.c (process_options): Take -gas-loc-support and
-gas-locview-support from dwarf2out.  Enable
-gvariable-location-views by default only with locview
assembler support.  Enable -ginternal-reset-location-views by
default only if the target defines the corresponding hook.
Enable -ginline-points by default if location views are
enabled; force it disabled if statement frontiers are
disabled.
* tree-inline.c (expand_call_inline): Check option variables.
* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.

From-SVN: r257631

6 years agoPR c++/84080 - ICE with return type deduction and specialization.
Jason Merrill [Tue, 13 Feb 2018 15:57:00 +0000 (10:57 -0500)]
PR c++/84080 - ICE with return type deduction and specialization.

* pt.c (determine_specialization): Check uses_template_parms.

From-SVN: r257630

6 years agore PR tree-optimization/84321 (ice in intersect_range_with_nonzero_bits, at tree...
Richard Sandiford [Tue, 13 Feb 2018 15:48:38 +0000 (15:48 +0000)]
re PR tree-optimization/84321 (ice in intersect_range_with_nonzero_bits, at tree-vrp.c:213)

2018-02-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
PR tree-optimization/84321
* tree-vrp.c (intersect_range_with_nonzero_bits): Fix VR_ANTI_RANGE
handling.  Also check whether the anti-range contains any values
that satisfy the mask; switch to a VR_RANGE if not.

gcc/testsuite/
PR tree-optimization/84321
* gcc.dg/pr84321.c: New test.

From-SVN: r257629

6 years agore PR target/84359 (gcc.target/i386/pr57193.c fail)
Vladimir Makarov [Tue, 13 Feb 2018 14:57:17 +0000 (14:57 +0000)]
re PR target/84359 (gcc.target/i386/pr57193.c fail)

2018-02-13  Vladimir Makarov  <vmakarov@redhat.com>

PR target/84359
* gcc.target/i386/57193.c: Add -march=x86-64.

From-SVN: r257628

6 years agoFix more variadic capture issues.
Jason Merrill [Tue, 13 Feb 2018 14:22:07 +0000 (09:22 -0500)]
Fix more variadic capture issues.

* pt.c (find_parameter_packs_r): Also look at explicit captures.
(check_for_bare_parameter_packs): Check current_class_type for
lambda context.
(extract_locals_r): Handle seeing a full instantiation of a pack.
(tsubst_pack_expansion): Likewise.  Force lambda capture.
* parser.c (cp_parser_lambda_introducer): Don't
check_for_bare_parameter_packs.

From-SVN: r257627

6 years agoPR c++/84338 - wrong variadic sizeof.
Jason Merrill [Tue, 13 Feb 2018 14:22:01 +0000 (09:22 -0500)]
PR c++/84338 - wrong variadic sizeof.

* pt.c (argument_pack_select_arg): Like the macro, but look through
a pack expansion.
(tsubst, tsubst_copy, dependent_template_arg_p): Use it.
(extract_fnparm_pack): Do make_pack_expansion.
(extract_locals_r): Do strip a pack expansion.
* cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove.

From-SVN: r257626

6 years agore PR sanitizer/84340 (g++.dg/asan/use-after-scope-types-1.C (and others) fails after...
Paolo Bonzini [Tue, 13 Feb 2018 13:03:22 +0000 (13:03 +0000)]
re PR sanitizer/84340 (g++.dg/asan/use-after-scope-types-1.C (and others) fails after r257585)

gcc:
2018-02-13  Paolo Bonzini <bonzini@gnu.org>

PR sanitizer/84340
* internal-fn.def (ASAN_CHECK, ASAN_MARK): Revert changes to fnspec.

gcc/testsuite:
2018-02-13  Paolo Bonzini  <bonzini@gnu.org>

PR sanitizer/84307
* gcc.dg/asan/pr84307.c: Remove test.

From-SVN: r257625

6 years agoWebAssembly: Disable subdirectory configuration for unsupported LD
Maciej W. Rozycki [Tue, 13 Feb 2018 13:01:33 +0000 (13:01 +0000)]
WebAssembly: Disable subdirectory configuration for unsupported LD

Remove an LD subdirectory configuration error:

*** ld does not support target wasm32-unknown-none
*** see ld/configure.tgt for supported targets
make[1]: *** [configure-ld] Error 1

which prevents binutils for the WebAssembly target from being built
unless an explicit `--disable-ld' configuration option has been given.
Users must not have to disable features selected by default to get a
working configuration.

/
* configure.ac <wasm32-*-*> (noconfigdirs): Add `ld'.
* configure: Regenerate.

From-SVN: r257624

6 years ago[PR 83990] Fix location handling in ipa_modify_call_arguments
Martin Jambor [Tue, 13 Feb 2018 12:25:36 +0000 (13:25 +0100)]
[PR 83990] Fix location handling in ipa_modify_call_arguments

2018-02-13  Martin Jambor  <mjambor@suse.cz>

PR c++/83990
* ipa-param-manipulation.c (ipa_modify_call_arguments): Use location
of call statements, also set location of a load to a temporary.

From-SVN: r257623

6 years agorl78.c (add_vector_labels): New function.
Sebastian Perta [Tue, 13 Feb 2018 11:55:39 +0000 (11:55 +0000)]
rl78.c (add_vector_labels): New function.

2018-02-13  Sebastian Perta  <sebastian.perta@renesas.com>

* config/rl78/rl78.c (add_vector_labels): New function.
* config/rl78/rl78.c (rl78_handle_vector_attribute): New function.
* config/rl78/rl78.c (rl78_start_function): Call add_vector_labels.
* config/rl78/rl78.c (rl78_handle_func_attribute): Removed the assert
which checks that no arguments are passed.
* config/rl78/rl78.c (rl78_attribute_table): Add "vector" attribute.
* doc/extend.texi: Documentation for the new attribute.

2018-02-13  Sebastian Perta  <sebastian.perta@renesas.com>

* gcc.target/rl78/test_auto_vector.c: New test.

From-SVN: r257622

6 years agoRISC-V: define _REENTRANT with -pthread
Andreas Schwab [Tue, 13 Feb 2018 11:21:01 +0000 (11:21 +0000)]
RISC-V: define _REENTRANT with -pthread

This is expected by the AX_PTHREAD autoconf macro from
<http://www.gnu.org/software/autoconf-archive/ax_pthread.html>.

* config/riscv/linux.h (CPP_SPEC): Define.

From-SVN: r257621

6 years agoAdd a DECL_EXPR for VLA pointer casts (PR 84305)
Richard Sandiford [Tue, 13 Feb 2018 10:28:54 +0000 (10:28 +0000)]
Add a DECL_EXPR for VLA pointer casts (PR 84305)

This PR was about a case in which we ended up with a MULT_EXPR
that was shared between an ungimplified VLA type and a pointer
calculation.  The SSA names used in the pointer calculation were
later freed, but they were still there in the VLA, and caused an
ICE when remapping the types during inlinling.

The fix is to add a DECL_EXPR that forces the VLA type sizes to be
gimplified too, but the tricky part is deciding where.  As the comment
in grokdeclarator says, we can't just add it to the statement list,
since the size might only be conditionally evaluated.  It might also
end up being evaluated out of sequence.

The patch gets around that by putting the DECL_EXPR in a BIND_EXPR
and adding the BIND_EXPR to the list of things that need to be
evaluated for the declarator.

2018-02-13  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/c/
PR c/84305
* c-decl.c (grokdeclarator): Create an anonymous TYPE_DECL
in PARM and TYPENAME contexts too, but attach it to a BIND_EXPR
and include the BIND_EXPR in the list of things that need to be
pre-evaluated.

gcc/testsuite/
PR c/84305
* gcc.c-torture/compile/pr84305.c: New test.

From-SVN: r257620

6 years agore PR target/84335 (ICE on invalid code in copy_to_mode_reg, at explow.c:612)
Jakub Jelinek [Tue, 13 Feb 2018 09:12:47 +0000 (10:12 +0100)]
re PR target/84335 (ICE on invalid code in copy_to_mode_reg, at explow.c:612)

PR target/84335
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Pass
OPTION_MASK_ISA_AES | OPTION_MASK_ISA_SSE2 instead of
OPTION_MASK_ISA_AES as first argument to def_builtin_const
for AES builtins.  Pass OPTION_MASK_ISA_PCLMUL | OPTION_MASK_ISA_SSE2
instead of OPTION_MASK_ISA_PCLMUL as first argument to
def_builtin_const for __builtin_ia32_pclmulqdq128 builtin.
* config/i386/wmmintrin.h: If __SSE2__ is not defined, enable it
temporarily for AES and PCLMUL builtins.

* gcc.target/i386/pr84335.c: New test.

From-SVN: r257619

6 years agore PR tree-optimization/84339 (Wrong-code with optimizing strlen)
Jakub Jelinek [Tue, 13 Feb 2018 08:35:53 +0000 (09:35 +0100)]
re PR tree-optimization/84339 (Wrong-code with optimizing strlen)

PR tree-optimization/84339
* gimple-fold.c (get_range_strlen): Set *FLEXP to true when handling
ARRAY_REF where first operand is array_at_struct_end_p COMPONENT_REF.
Formatting fixes.

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

From-SVN: r257618

6 years agore PR middle-end/84309 (Wrong-code with -ffast-math)
Jakub Jelinek [Tue, 13 Feb 2018 08:34:42 +0000 (09:34 +0100)]
re PR middle-end/84309 (Wrong-code with -ffast-math)

PR middle-end/84309
* match.pd (pow(C,x) -> exp(log(C)*x)): Optimize instead into
exp2(log2(C)*x) if C is a power of 2 and c99 runtime is available.
* generic-match-head.c (canonicalize_math_after_vectorization_p): New
inline function.
* gimple-match-head.c (canonicalize_math_after_vectorization_p): New
inline function.
* omp-simd-clone.h: New file.
* omp-simd-clone.c: Include omp-simd-clone.h.
(expand_simd_clones): No longer static.
* tree-vect-patterns.c: Include fold-const-call.h, attribs.h,
cgraph.h and omp-simd-clone.h.
(vect_recog_pow_pattern): Optimize pow(C,x) to exp(log(C)*x).
(vect_recog_widen_shift_pattern): Formatting fix.
(vect_pattern_recog_1): Don't check optab for calls.

* gcc.dg/pr84309.c: New test.
* gcc.target/i386/pr84309.c: New test.

From-SVN: r257617

6 years agore PR target/84336 (ICE in extract_insn, at recog.c:2304)
Jakub Jelinek [Tue, 13 Feb 2018 08:31:58 +0000 (09:31 +0100)]
re PR target/84336 (ICE in extract_insn, at recog.c:2304)

PR target/84336
* config/i386/sse.md (<avx512>_vpermi2var<mode>3_mask): Force
operands[2] into a REG before using gen_lowpart on it.

* gcc.target/i386/pr84336.c: New test.

From-SVN: r257616

6 years agoMake module files reproducible
Alastair McKinstry [Tue, 13 Feb 2018 07:59:10 +0000 (07:59 +0000)]
Make module files reproducible

Using lbasename ensures that the build path does not end up in the
module file.

Regtested on x86_64-pc-linux-gnu, committed to trunk. Will shortly
backport to the 6 and 7 branches as well.

2018-02-13  Alastair McKinstry  <alastair.mckinstry@sceal.ie>
    Janne Blomqvist  <jb@gcc.gnu.org>

* module.c (dump_module): Use lbasename to ensure that module
files are reproducible.

Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r257613

6 years agore PR target/83760 ([SH] ICE in maybe_record_trace_start building glibc tst-copy_file...
Jeff Law [Tue, 13 Feb 2018 03:07:04 +0000 (20:07 -0700)]
re PR target/83760 ([SH] ICE in maybe_record_trace_start building glibc tst-copy_file_range.c)

PR target/83760
* config/sh/sh.c (find_barrier): Consider a sibling call
a barrier as well.

From-SVN: r257611

6 years agoDaily bump.
GCC Administrator [Tue, 13 Feb 2018 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r257610

6 years agore PR c++/84341 (ICE with #pragma omp atomic)
Jakub Jelinek [Mon, 12 Feb 2018 22:25:41 +0000 (23:25 +0100)]
re PR c++/84341 (ICE with #pragma omp atomic)

PR c++/84341
* parser.c (cp_parser_binary_expression): Use build_min instead of
build2_loc to build the no_toplevel_fold_p toplevel binary expression.

* c-c++-common/gomp/pr84341.c: New test.

From-SVN: r257607