]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years agoBits propagation only for int and ptr types
jamborm [Tue, 3 Apr 2018 13:27:26 +0000 (13:27 +0000)] 
Bits propagation only for int and ptr types

2018-03-29  Martin Liska  <mliska@suse.cz>
    Martin Jambor  <mjambor@suse.cz>

PR ipa/84947
* ipa-cp.c (propagate_bits_across_jump_function): Bail out if
param_type is not an integral or pointer type.

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

6 years agors6000: Fix testcase pr82015.c
segher [Tue, 3 Apr 2018 12:21:12 +0000 (12:21 +0000)] 
rs6000: Fix testcase pr82015.c

It used "vector" but that is not defined.  Let's use __vector instead.

gcc/testsuite/
* gcc.target/powerpc/pr82015.c: Use __vector instead of vector.

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

6 years ago2018-04-03 Richard Biener <rguenther@suse.de>
rguenth [Tue, 3 Apr 2018 12:06:27 +0000 (12:06 +0000)] 
2018-04-03  Richard Biener  <rguenther@suse.de>

* sese.h (recompute_all_dominators): Remove.

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

6 years ago2018-04-03 Richard Biener <rguenther@suse.de>
rguenth [Tue, 3 Apr 2018 09:54:22 +0000 (09:54 +0000)] 
2018-04-03  Richard Biener  <rguenther@suse.de>

PR testsuite/85154
* gcc.dg/vect/vect-95.c: Remove scan for alignment peeling.

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

6 years agoDaily bump.
gccadmin [Tue, 3 Apr 2018 00:16:26 +0000 (00:16 +0000)] 
Daily bump.

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

6 years agogcc/ChangeLog:
msebor [Mon, 2 Apr 2018 23:36:21 +0000 (23:36 +0000)] 
gcc/ChangeLog:

* doc/invoke.texi (-Wrestrict): Fix typos.

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

6 years agoRISC-V: Fix for combine bug with shift and AND operations.
wilson [Mon, 2 Apr 2018 22:37:21 +0000 (22:37 +0000)] 
RISC-V: Fix for combine bug with shift and AND operations.

PR rtl-optimization/84660
gcc/
* config/riscv/riscv.h (SHIFT_COUNT_TRUNCATED): Set to zero.
* config/riscv/riscv.md (<optab>si3): Use QImode shift count.
(<optab>di3, <optab>si3_extend): Likewise.
(<optab>si3_mask, <optab>si3_mask_1): New.
(<optab>di3_mask, <optab>di3_mask_1): New.
(<optab>si3_extend_mask, <optab>si3_extend_mask_1): New.
(lshrsi3_zero_extend_1): Use VOIDmode shift count.
* config/riscv/sync.md (atomic_test_and_set): Emit QImode shift count.
gcc/testsuite/
* gcc.target/riscv/pr84660.c: New.
* gcc.target/riscv/shift-and-1.c: New.
* gcc.target/riscv/shift-and-2.c: New.

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

6 years ago PR c++/64095 - auto... parameter pack.
jason [Mon, 2 Apr 2018 18:20:04 +0000 (18:20 +0000)] 
PR c++/64095 - auto... parameter pack.

* parser.c (cp_parser_parameter_declaration): Handle turning autos
into packs here.
(cp_parser_parameter_declaration_list): Not here.

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

6 years ago2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 2 Apr 2018 16:47:48 +0000 (16:47 +0000)] 
2018-04-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85102
* decl.c (variable_decl): If upper or lower bounds simplify
to a constant, use that.

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

PR fortran/85102
* gfortran.dg/array_simplify_2.f90: New test.

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

6 years ago * doc/cpp.texi (Variadic Macros): Fix line continuation in an
gerald [Mon, 2 Apr 2018 16:04:06 +0000 (16:04 +0000)] 
* doc/cpp.texi (Variadic Macros): Fix line continuation in an
example.

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

6 years ago[NDS32] Implement TARGET_CANONICALIZE_COMPARISON for specific cases.
jasonwucj [Mon, 2 Apr 2018 01:55:53 +0000 (01:55 +0000)] 
[NDS32] Implement TARGET_CANONICALIZE_COMPARISON for specific cases.

gcc/
* config/nds32/nds32.c (TARGET_CANONICALIZE_COMPARISON): Define.
(nds32_canonicalize_comparison): New function.

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

6 years ago2018-04-02 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Mon, 2 Apr 2018 01:31:19 +0000 (01:31 +0000)] 
2018-04-02  Bill Schmidt  <wschmidt@linux.ibm.com>

* MAINTAINERS: Remove redundant Write-After-Approval entry.

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

6 years agoDaily bump.
gccadmin [Mon, 2 Apr 2018 00:16:23 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago[NDS32] Add relax optimization as new pass.
jasonwucj [Sun, 1 Apr 2018 10:07:40 +0000 (10:07 +0000)] 
[NDS32] Add relax optimization as new pass.

gcc/
* config.gcc (nds32): Add nds32-relax-opt.o into extra_objs.
* config/nds32/constants.md (unspec_volatile_element): Add
UNSPEC_VOLATILE_RELAX_GROUP.
* config/nds32/nds32-relax-opt.c: New file.
* config/nds32/nds32-predicates.c
(nds32_symbol_load_store_p): New function.
* config/nds32/nds32-protos.h
(nds32_symbol_load_store_p): Declare function.
(make_pass_nds32_relax_opt): Declare new rtl pass function.
* config/nds32/nds32.c
(nds32_register_pass): New function to register pass.
(nds32_register_passes): New function to register passes.
* config/nds32/nds32.md (relax_group): New pattern.
* config/nds32/nds32.opt (mrelax-hint): New option.
* config/nds32/t-nds32 (nds32-relax-opt.o): New dependency.

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

6 years ago[NDS32] Correct the dependency in t-nds32.
jasonwucj [Sun, 1 Apr 2018 09:14:12 +0000 (09:14 +0000)] 
[NDS32] Correct the dependency in t-nds32.

gcc/
* config/nds32/t-nds32: Modify files dependency.

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

6 years ago[NDS32] Implement PROFILE_HOOK.
jasonwucj [Sun, 1 Apr 2018 08:52:24 +0000 (08:52 +0000)] 
[NDS32] Implement PROFILE_HOOK.

gcc/
* config/nds32/nds32.h (FUNCTION_PROFILER): Output newline character.
(PROFILE_HOOK): Define its implementation.

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

6 years ago[NDS32] Change wchar type to unsinged int.
jasonwucj [Sun, 1 Apr 2018 08:29:40 +0000 (08:29 +0000)] 
[NDS32] Change wchar type to unsinged int.

gcc/
* config/nds32/nds32.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use unsigned int
type and 32-bit size.

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

6 years ago PR middle-end/85090
jakub [Sun, 1 Apr 2018 06:05:01 +0000 (06:05 +0000)] 
PR middle-end/85090
* config/i386/sse.md (V): Add V64QI and V32HI for TARGET_AVX512F.
(V_128_256): New mode iterator.
(*avx512dq_vextract<shuffletype>64x2_1 splitter): New define_split.
(*avx512f_vextract<shuffletype>32x4_1 splitter): Likewise.
(xop_pcmov_<mode><avxsizesuffix>): Use V_128_256 mode iterator instead
of V.
* config/i386/i386.c (ix86_expand_vector_set): Improve V32HImode and
V64QImode expansion for !TARGET_AVX512BW && TARGET_AVX512F.

* gcc.target/i386/avx512f-pr85090-1.c: New test.
* gcc.target/i386/avx512f-pr85090-2.c: New test.
* gcc.target/i386/avx512f-pr85090-3.c: New test.
* gcc.target/i386/avx512bw-pr85090-2.c: New test.
* gcc.target/i386/avx512bw-pr85090-3.c: New test.

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

6 years agoDaily bump.
gccadmin [Sun, 1 Apr 2018 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago[PR c++/85027] deal with baselink in save_expr in instantiate_type
aoliva [Sat, 31 Mar 2018 03:44:12 +0000 (03:44 +0000)] 
[PR c++/85027] deal with baselink in save_expr in instantiate_type

We use SAVE_EXPRs in conditional expressions without the middle
operand, to evaluate the first operand only once.  When the conversion
of the first operand fails, we may call instantiate_type get a better
error message.  We have code to peel off the SAVE_EXPR there, but then
we may end up with a BASELINK, and we're past the code that deals with
BASELINKs.  Reorder the tests so that we expose the saved expr first,
and then deal with BASELINKs.

for  gcc/cp/ChangeLog

PR c++/85027
* class.c (instantiate_type): Peel off SAVE_EXPR before
BASELINK.

for  gcc/testsuite/ChangeLog

PR c++/85027
* g++.dg/pr85027.C: New.

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

6 years agors6000: Fix _mm_min_ps and _mm_max_ps (PR83315)
segher [Sat, 31 Mar 2018 03:05:35 +0000 (03:05 +0000)] 
rs6000: Fix _mm_min_ps and _mm_max_ps (PR83315)

This makes _mm_{min,max}_ps work correctly for QNaNs.

PR target/83315
* config/rs6000/xmmintrin.h (_mm_set_ps, _mm_max_ps): Handle (quiet)
NaN inputs correctly.

gcc/testsuite/
PR target/83315
* gcc.target/powerpc/sse-maxps-2.c: New test.
* gcc.target/powerpc/sse-minps-2.c: New test.

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

6 years ago PR target/80546
bergner [Sat, 31 Mar 2018 00:52:01 +0000 (00:52 +0000)] 
PR target/80546
* config/rs6000/vsx.md (??r): New mode attribute.
(*vsx_mov<mode>_64bit): Use it.
(*vsx_mov<mode>_32bit): Likewise.

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

6 years agoDaily bump.
gccadmin [Sat, 31 Mar 2018 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

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

6 years agoPR tree-optimization/84818 - integer_onep must not be used for i18n
msebor [Fri, 30 Mar 2018 21:04:06 +0000 (21:04 +0000)] 
PR tree-optimization/84818 - integer_onep must not be used for i18n

gcc/ChangeLog:

PR tree-optimization/84818
* builtins.c (check_access): Use warning_n.

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

6 years agoFix designated initializer for anonymous union.
jason [Fri, 30 Mar 2018 20:08:51 +0000 (20:08 +0000)] 
Fix designated initializer for anonymous union.

* typeck2.c (process_init_constructor_record): Use
init_list_type_node for the CONSTRUCTOR around an anonymous union
designated initializer.

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

6 years ago PR c++/84791
jakub [Fri, 30 Mar 2018 18:38:36 +0000 (18:38 +0000)] 
PR c++/84791
* semantics.c (finish_omp_reduction_clause): If
OMP_CLAUSE_REDUCTION_PLACEHOLDER is error_mark_node, return true
even if processing_template_decl.

* g++.dg/gomp/pr84791.C: New test.

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

6 years ago2018-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Fri, 30 Mar 2018 16:17:24 +0000 (16:17 +0000)] 
2018-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>

* MAINTAINERS: Update my email address and disambiguate myself
a bit from Will Schmidt.

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

6 years ago2018-03-30 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 30 Mar 2018 12:33:49 +0000 (12:33 +0000)] 
2018-03-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/84931
* simplify.c (gfc_convert_constant): Handle case of array
constructors within an array that has no iterator and improve
the conciseness of this section of code.

2018-03-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/84931
* gfortran.dg/array_constructor_53.f90: New test.

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

6 years ago2018-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Fri, 30 Mar 2018 12:18:30 +0000 (12:18 +0000)] 
2018-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85130
* gfortran.dg/substr_6.f90: Remove illegal test for
out-of-bounds substring.

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

6 years ago2018-03-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
acsawdey [Fri, 30 Mar 2018 12:17:31 +0000 (12:17 +0000)] 
2018-03-30  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

PR target/83822
* config/rs6000/rs6000-string.c (expand_compare_loop): Fix redundant
condition.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Fix redundant
condition.

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

6 years ago2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Fri, 30 Mar 2018 09:58:35 +0000 (09:58 +0000)] 
2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85111
* array.c (gfc_resolve_character_array_constructor): Early
exit for zero-size arrays.
* simplify.c (simplify_transformation_to_array): Exit early
if the result size is zero.
(simplify_minmaxloc_to_array): Likewise.

2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85111
* gfortran.dg/zero_sized_10.f90: New test.

Add ChangeLog entries for r258973.

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

6 years ago2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Fri, 30 Mar 2018 09:56:46 +0000 (09:56 +0000)] 
2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85111
* array.c (gfc_resolve_character_array_constructor): Early
exit for zero-size arrays.
* simplify.c (simplify_transformation_to_array): Exit early
if the result size is zero.
(simplify_minmaxloc_to_array): Likewise.

2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85111
* gfortran.dg/zero_sized_10.f90: New test.

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

6 years agoEnable tuning options for skylake-avx512.
jkoval [Fri, 30 Mar 2018 07:04:55 +0000 (07:04 +0000)] 
Enable tuning options for skylake-avx512.

gcc/
PR target/84413
* x86-tune.def (movx, partial_reg_dependency): Enable for
m_SKYLAKE_AVX512.

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

6 years agoDaily bump.
gccadmin [Fri, 30 Mar 2018 00:16:24 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago * gcc.pot: Regenerate.
jsm28 [Thu, 29 Mar 2018 23:06:47 +0000 (23:06 +0000)] 
* gcc.pot: Regenerate.

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

6 years agoMore #include suggestions (PR c++/84269)
dmalcolm [Thu, 29 Mar 2018 20:43:48 +0000 (20:43 +0000)] 
More #include suggestions (PR c++/84269)

PR c++/84269 reports a number of names in the C and C++ standard
libraries for which we don't yet offer #include fix-it hints.

This patch adds them (up to comment #9).

gcc/c-family/ChangeLog:
PR c++/84269
* known-headers.cc (get_stdlib_header_for_name): Add various names
from <assert.h>, <string.h>, and <memory.h>; add more names from
<stdio.h>.

gcc/cp/ChangeLog:
PR c++/84269
* name-lookup.c (get_std_name_hint): Add names from <memory>,
<tuple>, and <utility>.

gcc/testsuite/ChangeLog:
PR c++/84269
* g++.dg/lookup/missing-std-include-6.C: New test.
* g++.dg/lookup/missing-std-include.C: Add std::pair and
std::tuple tests.
* g++.dg/spellcheck-reswords.C: Expect a hint about <cstring>.
* g++.dg/spellcheck-stdlib.C: Add tests for names in <cstdio>,
<cstring>, <cassert>, and <cstdlib>.

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

6 years ago PR c++/85093 - too many template args with pack expansion.
jason [Thu, 29 Mar 2018 19:38:41 +0000 (19:38 +0000)] 
PR c++/85093 - too many template args with pack expansion.
* pt.c (coerce_template_parms): Keep pack expansion args that will
need to be empty.

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

6 years ago * pt.c (build_non_dependent_expr): Propagate expr location.
jason [Thu, 29 Mar 2018 19:38:35 +0000 (19:38 +0000)] 
* pt.c (build_non_dependent_expr): Propagate expr location.

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

6 years ago PR c++/85060 - wrong-code with call to base member in template.
jason [Thu, 29 Mar 2018 19:38:29 +0000 (19:38 +0000)] 
PR c++/85060 - wrong-code with call to base member in template.

* search.c (any_dependent_bases_p): Check uses_template_parms
rather than processing_template_decl.

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

6 years ago2018-03-29 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 29 Mar 2018 18:29:12 +0000 (18:29 +0000)] 
2018-03-29  Vladimir Makarov  <vmakarov@redhat.com>

PR inline-asm/84985
* lra-constraints.c (process_alt_operands): Move setting
this_alternative_matches below.

2018-03-29  Vladimir Makarov  <vmakarov@redhat.com>

PR inline-asm/84985
* gcc.target/i386/pr84985.c: New.

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

6 years agoMore underlining of bad arguments (PR c++/85110)
dmalcolm [Thu, 29 Mar 2018 14:43:01 +0000 (14:43 +0000)] 
More underlining of bad arguments (PR c++/85110)

As of r256448, the C++ frontend underlines many bad arguments in its
diagnostics; those where perform_overload_resolution returns a
non-NULL candidate, but there's a failure in convert_like_real.

However, for the case where perform_overload_resolution fails, but
there's a single non-viable candidate, the error is diagnosed by
cp_build_function_call_vec, and that currently doesn't underline
the bad argument:

$ cat test.cc
void callee (int one, const char **two, int three);

void
caller (const char *fmt)
{
  callee (1, fmt, 3);
}

We emit:

$ g++ test.cc
test.cc: In function 'void caller(const char*)':
test.cc:6:20: error: cannot convert 'const char*' to 'const char**' for argument '2' to 'void callee(int, const char**, int)'
   callee (1, fmt, 3);
                    ^

It's going through convert_for_assignment, and
implicitly using input_location.

This patch updates convert_for_assignment for this case, using
an EXPR_LOCATION if there is one, or falling back to input_location
otherwise, underlining the argument in question:

test.cc: In function 'void caller(const char*)':
test.cc:6:14: error: cannot convert 'const char*' to 'const char**' for argument '2' to 'void callee(int, const char**, int)'
   callee (1, fmt, 3);
              ^~~

gcc/cp/ChangeLog:
PR c++/85110
* typeck.c (convert_for_assignment): When complaining due to
conversions for an argument, attempt to use the location of the
argument.

gcc/testsuite/ChangeLog:
PR c++/85110
* g++.dg/diagnostic/param-type-mismatch-2.C: New test.

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

6 years agoi386: Enable AVX/AVX512 features only if supported by OSXSAVE
hjl [Thu, 29 Mar 2018 13:14:06 +0000 (13:14 +0000)] 
i386: Enable AVX/AVX512 features only if supported by OSXSAVE

Enable AVX and AVX512 features only if their states are supported by
OSXSAVE.

PR target/85100
* config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New.
(XSTATE_FP): Likewise.
(XSTATE_SSE): Likewise.
(XSTATE_YMM): Likewise.
(XSTATE_OPMASK): Likewise.
(XSTATE_ZMM): Likewise.
(XSTATE_HI_ZMM): Likewise.
(XCR_AVX_ENABLED_MASK): Likewise.
(XCR_AVX512F_ENABLED_MASK): Likewise.
(get_available_features): Enable AVX and AVX512 features only
if their states are supported by OSXSAVE.

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

6 years agoDocumentation tweaks.
marxin [Thu, 29 Mar 2018 13:02:23 +0000 (13:02 +0000)] 
Documentation tweaks.

2018-03-29  Martin Liska  <mliska@suse.cz>

        PR lto/84995.
        * doc/invoke.texi: Document how LTO works with debug info.
        Describe auto-load support of binutils.  Mention 'x86-64'
        as valid option value of -march option.

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

6 years ago PR c++/85108
jakub [Thu, 29 Mar 2018 11:18:04 +0000 (11:18 +0000)] 
PR c++/85108
* g++.dg/warn/Wunused-var-31.C: New test.

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

6 years ago * config/i386/sse.md (<avx512>_blendm<mode>): Use <sseintprefix>.
jakub [Thu, 29 Mar 2018 10:38:51 +0000 (10:38 +0000)] 
* config/i386/sse.md (<avx512>_blendm<mode>): Use <sseintprefix>.

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

6 years ago PR c/85094
jakub [Thu, 29 Mar 2018 10:37:58 +0000 (10:37 +0000)] 
PR c/85094
* fold-const.c (operand_equal_p): Handle DEBUG_BEGIN_STMT.
For STATEMENT_LIST, pass down OEP_LEXICOGRAPHIC and maybe
OEP_NO_HASH_CHECK for recursive call, to avoid exponential
checking.

* c-c++-common/Wduplicated-branches-14.c: New test.

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

6 years ago2018-03-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Mar 2018 08:43:43 +0000 (08:43 +0000)] 
2018-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84606
* g++.dg/cpp0x/pr84606.C: New.

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

6 years agoDaily bump.
gccadmin [Thu, 29 Mar 2018 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago PR target/84912
bergner [Thu, 29 Mar 2018 00:06:31 +0000 (00:06 +0000)] 
PR target/84912
* config/rs6000/rs6000.h (RS6000_BTM_POWERPC64): New define.
(RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support
for RS6000_BTM_POWERPC64.
(rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64
(rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64.
* config/rs6000/rs6000-builtin.def (BU_P7_POWERPC64_MISC_2): New macro
definition.
(DIVDE): Use it.
(DIVDEU): Likewise.

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

6 years agogcc/ChangeLog:
carll [Wed, 28 Mar 2018 23:08:16 +0000 (23:08 +0000)] 
gcc/ChangeLog:

2018-03-20 Carl Love  <cel@us.ibm.com>

Revert
2017-09-27  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
fctiw instruction.

gcc/testsuite/ChangeLog:

2018-03-20  Carl Love  <cel@us.ibm.com>

Revert
2017-09-27  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file
for the __builtin_fctid and __builtin_fctiw.

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

6 years ago2018-03-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Wed, 28 Mar 2018 20:40:36 +0000 (20:40 +0000)] 
2018-03-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/xmmintrin.h (_mm_max_pi16): Use __vector __bool
instead of __vector bool.
(_mm_max_pu8): Likewise.
(_mm_min_pi16): Likewise.

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

6 years ago PR fortran/69497
mikael [Wed, 28 Mar 2018 20:12:55 +0000 (20:12 +0000)] 
PR fortran/69497
* symbol.c (gfc_symbol_done_2): Start freeing namespaces
from the root.
(gfc_free_namespace): Restore assert (revert r258839).

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

6 years agoFix typo in last ChangeLog entry
bergner [Wed, 28 Mar 2018 20:10:18 +0000 (20:10 +0000)] 
Fix typo in last ChangeLog entry

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

6 years agogcc/
bergner [Wed, 28 Mar 2018 20:09:02 +0000 (20:09 +0000)] 
gcc/
PR target/84912
* config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion.
(DIVWEUO): Likewise.
(DIVDEO): Likewise.
(DIVDEUO): Likewise.
* config/rs6000/rs6000.c (builtin_function_type): Remove support for
DIVWEUO and DIVDEUO.
* config/rs6000/rs6000.md (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs.
(UNSPEC_DIV_EXTEND): Remove deleted unspecs.
(div_extend): Likewise.
* doc/extend.texi (__builtin_divweo): Remove documention for deleted
builtin function.
(__builtin_divweuo): Likewise.
(__builtin_divdeo): Likewise.
(__builtin_divdeuo): Likewise.

gcc/testsuite/
PR target/84912
* gcc.target/powerpc/extend-divide-1.c (div_weo): Remove test for
deleted builtin function.
(div_weuo): Likewise.
* gcc.target/powerpc/extend-divide-2.c (div_deo): Likewise.
(div_deuo): Likewise.

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

6 years ago/cp
paolo [Wed, 28 Mar 2018 19:21:41 +0000 (19:21 +0000)] 
/cp
2018-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/85028
* pt.c (tsubst_default_argument): Early return if the type of the
parameter is erroneous.

/testsuite
2018-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/85028
* g++.dg/other/default13.C: New.

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

6 years ago PR target/85095
jakub [Wed, 28 Mar 2018 19:16:50 +0000 (19:16 +0000)] 
PR target/85095
* config/i386/i386.md (*add<mode>3_carry_0, *addsi3_carry_zext_0,
*sub<mode>3_carry_0, *subsi3_carry_zext_0): New patterns.

* gcc.target/i386/pr85095-1.c: New test.
* gcc.target/i386/pr85095-2.c: New test.
* gcc.c-torture/execute/pr85095.c: New test.

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

6 years ago PR tree-optimization/82004
jakub [Wed, 28 Mar 2018 19:15:39 +0000 (19:15 +0000)] 
PR tree-optimization/82004
* gimple-match-head.c (optimize_pow_to_exp): New function.
* match.pd (pow(C,x) -> exp(log(C)*x)): Wrap with #if GIMPLE.
Don't fold to exp if optimize_pow_to_exp is false.

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

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

6 years agoFix typos (PR other/84819).
marxin [Wed, 28 Mar 2018 14:51:09 +0000 (14:51 +0000)] 
Fix typos (PR other/84819).

2018-03-28  Martin Liska  <mliska@suse.cz>

PR other/84819
* calls.c (initialize_argument_information): Fix trailing space.
* common.opt: Fix typo and provide better explanation for
-fsanitize-coverage option.
* config/i386/i386.opt: Fix typo.

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

6 years agoFix wrong use-after-scope sanitization for omp variable (PR sanitizer/85081).
marxin [Wed, 28 Mar 2018 14:45:21 +0000 (14:45 +0000)] 
Fix wrong use-after-scope sanitization for omp variable (PR sanitizer/85081).

2018-03-28  Jakub Jelinek  <jakub@redhat.com>
    Martin Liska  <mliska@suse.cz>

PR sanitizer/85081
* gimplify.c (asan_poison_variable): Don't do the check for
gimplify_omp_ctxp here.
(gimplify_decl_expr): Do it here.
(gimplify_target_expr): Likewise.
2018-03-28  Jakub Jelinek  <jakub@redhat.com>
    Martin Liska  <mliska@suse.cz>

PR sanitizer/85081
* g++.dg/asan/pr85081.C: New test.

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

6 years agoDo not call chkp_type_bounds_count if MPX is not enabled (PR target/84988).
marxin [Wed, 28 Mar 2018 14:22:27 +0000 (14:22 +0000)] 
Do not call chkp_type_bounds_count if MPX is not enabled (PR target/84988).

2018-03-28  Martin Liska  <mliska@suse.cz>

PR target/84988
* config/i386/i386.c (ix86_function_arg_advance): Do not call
chkp_type_bounds_count if MPX is not enabled.

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

6 years ago[NDS32] Adjust BRANCH_COST to prevent too much jump when compile with -Os.
jasonwucj [Wed, 28 Mar 2018 13:26:42 +0000 (13:26 +0000)] 
[NDS32] Adjust BRANCH_COST to prevent too much jump when compile with -Os.

gcc/
* config/nds32/nds32.h (BRANCH_COST): Adjust cost.

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

6 years ago * gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
jakub [Wed, 28 Mar 2018 11:59:06 +0000 (11:59 +0000)] 
* gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
* ioparm.def (IOPARM_dt_default_exp): Rename to ...
(IOPARM_dt_dec_ext): ... this.
* trans-io.c (build_dt): Adjust for default_exp renaming to
dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
* io.c (match_io): Likewise.

* io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ...
(IOPARM_DT_DEC_EXT): ... this.
* io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP
renaming to IOPARM_DT_DEC_EXT.
(read_real): Likewise.
* io/read.c (read_f): Likewise.

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

6 years ago[PR c++/84789] adjust testcase for -fconcepts
aoliva [Wed, 28 Mar 2018 05:05:30 +0000 (05:05 +0000)] 
[PR c++/84789] adjust testcase for -fconcepts

When compiling with -fconcepts,
cp_parser_template_declaration_after_export calls
cp_parser_template_introduction and that preparses qualified-ids not
preceded by typename in such a way that, when we get to
cp_parser_parse_and_diagnose_invalid_type_name and then
cp_parser_diagnose_invalid_type_name, the nested name specifier no
longer carries the previous template-dependent context, so we don't
stand a chance to suggest the use of 'typename' any more.  Thus,
tolerate in the testcase the poorer error messages we get.

for  gcc/testsuite/ChangeLog

PR c++/84789
* g++.dg/template/pr84789.C: Adjust for testing with
-fconcepts too.

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

6 years ago[PR c++/84973] don't defer output of uninstantiated templates
aoliva [Wed, 28 Mar 2018 05:05:14 +0000 (05:05 +0000)] 
[PR c++/84973] don't defer output of uninstantiated templates

When an anon struct gets a name through a typedef, we reset its
linkage and that of its members.  Member functions may get vague
linkage, which schedules them for deferred output, but we don't want
to add them to the queue if they're uninstantiated templates,
e.g. because the enclosing function is a template.  They will be added
as needed when the enclosing template is instantiated.

for  gcc/cp/ChangeLog

PR c++/84973
* decl2.c (note_vague_linkage_fn): Don't defer uninstantiated
templates.

for  gcc/testsuite/ChangeLog

PR c++/84973
* g++.dg/template/pr84973.C: New.
* g++.dg/template/pr84973-2.C: New.
* g++.dg/template/pr84973-3.C: New.

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

6 years ago[PR c++/84968] reject stmt-exprs in noexcept constexprs
aoliva [Wed, 28 Mar 2018 05:04:59 +0000 (05:04 +0000)] 
[PR c++/84968] reject stmt-exprs in noexcept constexprs

We reject extended statement-expressions in template parameters, so we
might as well reject them in constant expressions used in noexcept
specifications.

for  gcc/cp/ChangeLog

PR c++/84968
* tree.c (strip_typedefs_expr): Reject STATEMENT_LISTs.

for  gcc/testsuite/ChangeLog

PR c++/84968
* g++.dg/eh/pr84968.C: New.

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

6 years agoDaily bump.
gccadmin [Wed, 28 Mar 2018 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago[gcc]
meissner [Tue, 27 Mar 2018 23:14:22 +0000 (23:14 +0000)] 
[gcc]
2018-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/84914
* config/rs6000/rs6000.c (create_complex_muldiv): New helper
function to create the function decl for complex long double
multiply and divide for -mabi=ieeelongdouble.
(init_float128_ieee): Call it.

[gcc/testsuite]
2018-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/84914
* gcc.target/powerpc/mulkc-2.c: New tests to make sure complex
long double multiply/divide uses the correct function.
* gcc.target/powerpc/mulkc-3.c: Likewise.
* gcc.target/powerpc/divkc-2.c: Likewise.
* gcc.target/powerpc/divkc-3.c: Likewise.

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

6 years ago * es.po: Update.
jsm28 [Tue, 27 Mar 2018 22:31:08 +0000 (22:31 +0000)] 
* es.po: Update.

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

6 years ago/cp
paolo [Tue, 27 Mar 2018 21:19:25 +0000 (21:19 +0000)] 
/cp
2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/85067
* method.c (defaulted_late_check): Partially revert r253321 changes,
do not early return upon error.

/testsuite
2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/85067
* g++.dg/cpp0x/defaulted51.C: New.
* g++.dg/cpp0x/constexpr-68754.C: Adjust.

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

6 years ago PR c++/85077
jakub [Tue, 27 Mar 2018 20:00:56 +0000 (20:00 +0000)] 
PR c++/85077
* cp-gimplify.c (cp_fold) <case CONSTRUCTOR>: For ctors with vector
type call fold to generate VECTOR_CSTs when possible.

* g++.dg/ext/vector35.C: New test.

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

6 years ago PR c++/85061
jakub [Tue, 27 Mar 2018 19:59:30 +0000 (19:59 +0000)] 
PR c++/85061
* c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
get_base_address of the second operand is a VAR_P, rather than the
operand itself, and use gcc_checking_assert instead of gcc_assert.

* g++.dg/ext/builtin-offsetof3.C: New test.

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

6 years ago PR c++/85076
jakub [Tue, 27 Mar 2018 19:58:30 +0000 (19:58 +0000)] 
PR c++/85076
* tree.c (cp_build_reference_type): If to_type is error_mark_node,
return it right away.

* g++.dg/cpp1y/pr85076.C: New test.

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

6 years ago2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 27 Mar 2018 18:42:02 +0000 (18:42 +0000)] 
2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85084
* frontend-passes.c (gfc_run_passes): Do not run front-end
optimizations if a previous error occurred.

2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85084
* gfortran.dg/matmul_rank_1.f90: New test.

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

6 years ago2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 27 Mar 2018 17:28:35 +0000 (17:28 +0000)] 
2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
Harald Anlauf  <anlauf@gmx.de>

PR fortran/85083
* primary.c (gfc_convert_to_structure_constructor): Check
conformance of argument types in structure constructor.

2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
Harald Anlauf  <anlauf@gmx.de>

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

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

6 years ago2018-03-27 Volker Reichelt <v.reichelt@netcologne.de>
reichelt [Tue, 27 Mar 2018 17:21:20 +0000 (17:21 +0000)] 
2018-03-27  Volker Reichelt  <v.reichelt@netcologne.de>

        * search.c (check_final_overrider): Use inform instead of error
        for the diagnostics of the overridden functions.  Tweak wording.

        * g++.dg/cpp0x/defaulted2.C: Use dg-message instead of dg-error
        for the diagnostics of overridden functions.  Adjust for new wording.
        * g++.dg/cpp0x/implicit1.C: Likewise.
        * g++.dg/cpp0x/override1.C: Likewise.
        * g++.dg/cpp1y/auto-fn18.C: Likewise.
        * g++.dg/eh/shadow1.C: Likewise.
        * g++.dg/inherit/covariant12.C: Likewise.
        * g++.dg/inherit/covariant14.C: Likewise.
        * g++.dg/inherit/covariant15.C: Likewise.
        * g++.dg/inherit/covariant16.C: Likewise.
        * g++.dg/inherit/covariant22.C: Likewise.
        * g++.dg/inherit/crash3.C: Likewise.
        * g++.dg/inherit/error2.C: Likewise.
        * g++.dg/template/crash100.C: Likewise.
        * g++.old-deja/g++.eh/spec6.C: Likewise.
        * g++.old-deja/g++.mike/p811.C: Likewise.
        * g++.old-deja/g++.other/virtual11.C: Likewise.
        * g++.old-deja/g++.other/virtual4.C: Likewise.

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

6 years agoi386: Insert ENDBR to trampoline for -fcf-protection=branch -mibt
hjl [Tue, 27 Mar 2018 17:18:51 +0000 (17:18 +0000)] 
i386: Insert ENDBR to trampoline for -fcf-protection=branch -mibt

When -fcf-protection=branch -mibt are used, we need to insert ENDBR
to trampoline.  TRAMPOLINE_SIZE is creased by 4 bytes to accommodate
4-byte ENDBR instruction.

gcc/

PR target/85044
* config/i386/i386.c (ix86_trampoline_init): Insert ENDBR for
-fcf-protection=branch -mibt.
* config/i386/i386.h (TRAMPOLINE_SIZE): Increased by 4 bytes.

gcc/testsuite/

PR target/85044
* gcc.target/i386/pr85044.c: New test.

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

6 years agoPR testsuite/83462 - c-c++-common/Warray-bounds-3.c fails on arm-none-eabi
msebor [Tue, 27 Mar 2018 17:08:41 +0000 (17:08 +0000)] 
PR testsuite/83462 - c-c++-common/Warray-bounds-3.c fails on arm-none-eabi

gcc/testsuite/ChangeLog:
* c-c++-common/Warray-bounds-4.c: Disable assertion for targets
other than x86.

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

6 years ago[AArch64] XFAIL gcc.target/aarch64/store_v2vec_lanes.c for ILP32
ktkachov [Tue, 27 Mar 2018 16:52:10 +0000 (16:52 +0000)] 
[AArch64] XFAIL gcc.target/aarch64/store_v2vec_lanes.c for ILP32

The test in question fails for ilp32. The initial analysis I did in the PR for it
is that for ILP32 we generate somewhat different address forms that we'd need to adjust aarch64_classify_address to catch.
Given the optimisation this test checks for was added for GCC 8 it is not a regression, and improving the codegen on ILP32
would be an enhancement rather than a fix. So Richi has asked for it to be marked as XFAIL on ILP32, which is what this
patch does.
Checked that the test still passes on LP64 and appears as XFAIL on -mabi=ilp32.

PR target/83009
* gcc.target/aarch64/store_v2vec_lanes.c: XFAIL for ilp32.

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

6 years ago[Patch ARM] Fix PR target/81863
ramana [Tue, 27 Mar 2018 14:06:20 +0000 (14:06 +0000)] 
[Patch ARM] Fix PR target/81863

This has been in my patch stack for quite some time. The problem here
was that we weren't handling arm_word_relocations in
arm_valid_symbolic_address and is the surest fix for this
for GCC8 and GCC7.

Regression tested on arm-none-linux-gnueabihf . Applying to
trunk and backporting to GCC-7 in a day or so.

regards
Ramana

2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/81863
* config/arm/arm.c (arm_valid_symbolic_address): Handle arm_word_relocations

2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/81863
* gcc.target/arm/pr81863.c: New test.

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

6 years agoPR target/85056
cesar [Tue, 27 Mar 2018 13:54:03 +0000 (13:54 +0000)] 
PR target/85056

gcc/
* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to
extern array declarations.

gcc/testsuite/
* testsuite/gcc.target/nvptx/pr85056.c: New test.
* testsuite/gcc.target/nvptx/pr85056a.c: New test.

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

6 years ago2018-03-27 Richard Biener <rguenther@suse.de>
rguenth [Tue, 27 Mar 2018 13:26:04 +0000 (13:26 +0000)] 
2018-03-27  Richard Biener  <rguenther@suse.de>

PR testsuite/82847
* lib/target-supports.exp (check_ssse3_available): New function.
(check_effective_target_vect_perm_short): Enable for x86 if
check_ssse3_available.

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

6 years ago2018-03-27 Richard Biener <rguenther@suse.de>
rguenth [Tue, 27 Mar 2018 13:23:15 +0000 (13:23 +0000)] 
2018-03-27  Richard Biener  <rguenther@suse.de>

PR middle-ed/84067
* match.pd ((A * C) +- (B * C) -> (A+-B) * C): Guard with
explicit single_use checks.

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

6 years ago2018-03-27 Richard Biener <rguenther@suse.de>
rguenth [Tue, 27 Mar 2018 12:13:55 +0000 (12:13 +0000)] 
2018-03-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/85082
* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_for_pieces):
Valueize the VUSE.

* gfortran.dg/pr85082.f90: New testcase.

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

6 years ago2018-03-27 Chenghua Xu <paul.hua.gm@gmail.com>
paulhua [Tue, 27 Mar 2018 11:43:43 +0000 (11:43 +0000)] 
2018-03-27  Chenghua Xu  <paul.hua.gm@gmail.com>

    * gcc.target/mips/umips-stroe16-2.c: Change "length = 2"
    to "l=2" in dg-final.

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

6 years ago2018-03-27 Chenghua Xu <paul.hua.gm@gmail.com>
paulhua [Tue, 27 Mar 2018 11:35:07 +0000 (11:35 +0000)] 
2018-03-27  Chenghua Xu  <paul.hua.gm@gmail.com>

    * gcc.target/mips/fix-r4000-1.c: Delete "[^\n]+" in dg-final.
    * gcc.target/mips/fix-r4000-2.c: Likewise.
    * gcc.target/mips/fix-r4000-3.c: Likewise.
    * gcc.target/mips/fix-r4000-4.c: Likewise.
    * gcc.target/mips/fix-r4000-5.c: Likewise.
    * gcc.target/mips/fix-r4000-6.c: Likewise.
    * gcc.target/mips/fix-r4000-7.c: Likewise.
    * gcc.target/mips/fix-r4000-8.c: Likewise.
    * gcc.target/mips/fix-r4000-9.c: Likewise.
    * gcc.target/mips/fix-r4000-10.c: Likewise.
    * gcc.target/mips/fix-r4000-7.c: Change dg-final
    "mulditi3_r4000" instead of "mulditi3".
    * gcc.target/mips/fix-r4000-8.c: Change dg-final
    "umulditi3_r4000" instead of "umulditi3".

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

6 years ago PR c++/85068
jakub [Tue, 27 Mar 2018 11:02:08 +0000 (11:02 +0000)] 
PR c++/85068
* class.c (update_vtable_entry_for_fn): Don't ICE if base_binfo
is NULL.  Assert if thunk_binfo is NULL then errorcount is non-zero.

* g++.dg/inherit/covariant22.C: New test.

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

6 years ago2018-03-27 Richard Biener <rguenther@suse.de>
rguenth [Tue, 27 Mar 2018 10:01:46 +0000 (10:01 +0000)] 
2018-03-27  Richard Biener  <rguenther@suse.de>

PR testsuite/84004
* gcc.dg/vect/vect-95.c: Never expect the loop to be peeled for
alignment.

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

6 years ago[Patch AArch64] Turn on -fasynchronous-unwind-tables and -funwind-tables by default
ramana [Tue, 27 Mar 2018 09:26:16 +0000 (09:26 +0000)] 
[Patch AArch64] Turn on -fasynchronous-unwind-tables and -funwind-tables by default

2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config.gcc (aarch64*-*-linux*): New TARGET_DEFAULT_ASYNC_UNWIND_TABLES
* common/config/aarch64/aarch64-common.c (aarch64_optimization_table[]):
Turn on fasynchronous-unwind-tables and funwind-tables.

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

6 years ago/cp
paolo [Tue, 27 Mar 2018 06:52:04 +0000 (06:52 +0000)] 
/cp
2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
    Jason Merrill  <jason@redhat.com>

PR c++/84632
* init.c (build_aggr_init): When initializing from array,
reject anything but CONSTRUCTORs and TARGET_EXPRs.
(build_vec_init): Handle separately ARRAY_TYPEs.

/testsuite
2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
    Jason Merrill  <jason@redhat.com>

PR c++/84632
* g++.dg/init/array49.C: New.
* g++.dg/torture/pr70499.C: Adjust.

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

6 years agoDaily bump.
gccadmin [Tue, 27 Mar 2018 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago * es.po, sv.po: Update.
jsm28 [Mon, 26 Mar 2018 22:02:59 +0000 (22:02 +0000)] 
* es.po, sv.po: Update.

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

6 years ago runtime: don't check for stale runtime
ian [Mon, 26 Mar 2018 19:29:27 +0000 (19:29 +0000)] 
runtime: don't check for stale runtime

    The gccgo runtime is never stale, and on a system with gc sources in
    ~/go the test may wind up checking whether the gc runtime is stale.

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

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

6 years ago PR target/85073
uros [Mon, 26 Mar 2018 19:26:19 +0000 (19:26 +0000)] 
PR target/85073
* config/i386/i386.md (*bmi_blsr_<mode>_cmp): New insn pattern.
(*bmi_blsr_<mode>_ccz): Ditto.

testsuite/ChangeLog:

PR target/85073
* gcc.target/i386/pr85073.c: New test.

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

6 years ago PR c++/85062 - ICE with alignas in wrong place.
jason [Mon, 26 Mar 2018 16:30:41 +0000 (16:30 +0000)] 
PR c++/85062 - ICE with alignas in wrong place.

* decl.c (grokdeclarator): Ignore attributes on type-specifiers
here.

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

6 years ago PR c++/85049 - ICE with __integer_pack.
jason [Mon, 26 Mar 2018 14:37:50 +0000 (14:37 +0000)] 
PR c++/85049 - ICE with __integer_pack.

* pt.c (unify_pack_expansion): Don't try to deduce generated packs.
* cp-tree.h (TEMPLATE_PARM_P): New.

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

6 years agoAdd workaround to std::variant for Clang bug 31852
redi [Mon, 26 Mar 2018 13:09:10 +0000 (13:09 +0000)] 
Add workaround to std::variant for Clang bug 31852

* include/std/variant (__get): Qualify calls to avoid ADL.
(__select_index): Adjust whitespace.
(variant): Add using-declaration to workaround Clang bug.

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

6 years agoFix switch conversion in offloading functions
vries [Mon, 26 Mar 2018 09:45:49 +0000 (09:45 +0000)] 
Fix switch conversion in offloading functions

2018-03-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/85063
* omp-general.c (offloading_function_p): New function.  Factor out
of ...
* omp-offload.c (pass_omp_target_link::gate): ... here.
* omp-general.h (offloading_function_p): Declare.
* tree-switch-conversion.c (build_one_array): Mark CSWTCH.x variable
with attribute omp declare target for offloading functions.

* testsuite/libgomp.c/switch-conversion-2.c: New test.
* testsuite/libgomp.c/switch-conversion.c: New test.
* testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.

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

6 years ago2018-03-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Mar 2018 08:18:43 +0000 (08:18 +0000)] 
2018-03-26  Richard Biener  <rguenther@suse.de>

PR testsuite/85066
* gcc.dg/vect/costmodel/x86_64/costmodel-pr84986.c: Use long long
instead of long.

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

6 years ago2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 26 Mar 2018 06:29:01 +0000 (06:29 +0000)] 
2018-03-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66709
* io.c: Include constructor.h.
(resolve_tag_format): For a constant character array, concatenate
into a single character expression.

2018-03-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66709
* gfortran.dg/parameter_array_format.f90: New test.

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

6 years agoDaily bump.
gccadmin [Mon, 26 Mar 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

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