Michael Meissner [Wed, 20 Jun 2018 21:36:55 +0000 (20 21:36 +0000)]
Apply patches 120-126
From-SVN: r261825
Michael Meissner [Wed, 20 Jun 2018 21:31:33 +0000 (20 21:31 +0000)]
Merge up to 261823
From-SVN: r261824
Jakub Jelinek [Wed, 20 Jun 2018 20:41:12 +0000 (20 22:41 +0200)]
backport: re PR rtl-optimization/86108 (crash during unwinding with -O2)
Backported from mainline
2018-06-16 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/86108
* bb-reorder.c (create_forwarder_block): Renamed to ...
(create_eh_forwarder_block): ... this. Split OLD_BB after labels and
jump from new landing pad to the second part.
(sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad):
Adjust callers.
From-SVN: r261821
Jakub Jelinek [Wed, 20 Jun 2018 20:40:33 +0000 (20 22:40 +0200)]
backport: re PR c/86093 (volatile ignored on pointer in C)
Backported from mainline
2018-06-15 Jakub Jelinek <jakub@redhat.com>
PR c/86093
* c-typeck.c (pointer_diff): Cast both pointers to unqualified types
before doing POINTER_DIFF_EXPR.
* c-c++-common/pr86093.c: New test.
From-SVN: r261820
Nathan Sidwell [Wed, 20 Jun 2018 16:54:44 +0000 (20 16:54 +0000)]
[PR c++/85634] Fix tsubst ICE
https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01269.html
PR c++/85634 - tsubst ICE on unmarked lookup
* parser.c (cp_parser_primary_expression): Keep lookup in template.
PR c++/85634 - tsubst ICE on unmarked lookup
* g++.dg/lookup/pr85634.C: New.
From-SVN: r261814
Jakub Jelinek [Wed, 20 Jun 2018 16:08:14 +0000 (20 18:08 +0200)]
re PR c++/86210 (Missing -Wnonnull warning for function defined in the same TU)
PR c++/86210
* c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
comment.
* g++.dg/warn/Wnonnull4.C: New test.
From-SVN: r261812
Jakub Jelinek [Wed, 20 Jun 2018 14:57:55 +0000 (20 16:57 +0200)]
re PR debug/86194 (ICE: SIGSEGV in avoid_constant_pool_reference (simplify-rtx.c:215) with -O -g -mavx512bw)
PR debug/86194
* var-tracking.c (use_narrower_mode_test): Check if shift amount can
be narrowed.
* gcc.target/i386/pr86194.c: New test.
From-SVN: r261808
Jakub Jelinek [Wed, 20 Jun 2018 14:50:09 +0000 (20 16:50 +0200)]
re PR tree-optimization/86231 (vrp_meet causes wrong-code)
PR tree-optimization/86231
* tree-vrp.c (union_ranges): For ( [ ) ] or ( )[ ] range and
anti-range don't overwrite *vr0min before using it to compute *vr0max.
* gcc.dg/tree-ssa/vrp119.c: New test.
* gcc.c-torture/execute/pr86231.c: New test.
From-SVN: r261806
GCC Administrator [Wed, 20 Jun 2018 00:16:53 +0000 (20 00:16 +0000)]
Daily bump.
From-SVN: r261778
Max Filippov [Tue, 19 Jun 2018 20:57:46 +0000 (19 20:57 +0000)]
xtensa: fix PR target/65416
The issue is caused by reordering of stack pointer update after stack
space allocation with instructions that write to the allocated stack
space. In windowed ABI register spill area for the previous call frame
is located just below the stack pointer and may be reloaded back into
the register file on movsp.
Implement allocate_stack pattern for windowed ABI configuration and
insert an instruction that prevents reordering of frame memory access
and stack pointer update.
gcc/
2018-06-19 Max Filippov <jcmvbkbc@gmail.com>
Backport from mainline
2018-06-19 Max Filippov <jcmvbkbc@gmail.com>
* config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
constant.
(allocate_stack, frame_blockage, *frame_blockage): New patterns.
From-SVN: r261763
Jonathan Wakely [Tue, 19 Jun 2018 17:19:54 +0000 (19 18:19 +0100)]
Remove unused <exception> header from <utility>
This header was needed for the declaration of std::terminate but the
calls to it were removed in r242401.
* include/std/utility: Remove unused <exception> header.
From-SVN: r261750
Joseph Myers [Tue, 19 Jun 2018 15:05:14 +0000 (19 16:05 +0100)]
* es.po: Update.
From-SVN: r261746
Jonathan Wakely [Tue, 19 Jun 2018 13:16:44 +0000 (19 14:16 +0100)]
PR libstdc++/82644 define TR1 hypergeometric functions in strict modes
Following a recent change for PR 82644 the non-standard hypergeomtric
functions are not defined by <cmath> when __STRICT_ANSI__ is defined
(e.g. for -std=c++17, or -std=c++14 -D__STDCPP_WANT_MATH_SPEC_FUNCS__).
That caused errors in <tr1/cmath> because the using-declarations for
tr1::hyperg et al are invalid in strict modes.
The solution is to define the TR1 hypergeometric functions inline in
<tr1/cmath> if __STRICT_ANSI__ is defined.
Backport from mainline
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/82644
* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
inline definitions instead of using-declarations.
[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
07_conf_hyperg/compile_cxx17.cc: New.
* testsuite/tr1/5_numerical_facilities/special_functions/
17_hyperg/compile_cxx17.cc: New.
From-SVN: r261743
Eric Botcazou [Tue, 19 Jun 2018 09:44:33 +0000 (19 09:44 +0000)]
gimplify.c (gimplify_init_constructor): Really never clear for an incomplete constructor if CONSTRUCTOR_NO_CLEARING is set.
* gimplify.c (gimplify_init_constructor): Really never clear for an
incomplete constructor if CONSTRUCTOR_NO_CLEARING is set.
From-SVN: r261736
Jason Merrill [Tue, 19 Jun 2018 00:38:58 +0000 (18 20:38 -0400)]
PR c++/86200 - ICE with unexpanded pack in lambda parameter.
* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the
function type.
From-SVN: r261730
Jason Merrill [Tue, 19 Jun 2018 00:38:52 +0000 (18 20:38 -0400)]
PR c++/81060 - ICE with unexpanded parameter pack.
* pt.c (check_for_bare_parameter_packs): Add loc parameter.
* decl.c (grokdeclarator): Call it for qualifying_scope.
From-SVN: r261729
GCC Administrator [Tue, 19 Jun 2018 00:16:36 +0000 (19 00:16 +0000)]
Daily bump.
From-SVN: r261723
Martin Sebor [Mon, 18 Jun 2018 23:31:53 +0000 (18 23:31 +0000)]
PR c/82063 - issues with arguments enabled by -Wall
gcc/ChangeLog:
PR c/82063
* calls.c (alloc_max_size): Correct a logic error/typo.
Treat excessive arguments as infinite. Warn for invalid arguments.
* doc/invoke.texi (-Walloc-size-larger-than): Update.
gcc/testsuite/ChangeLog:
PR c/82063
* gcc.dg/Walloc-size-larger-than-1.c: New test.
* gcc.dg/Walloc-size-larger-than-10.c: New test.
* gcc.dg/Walloc-size-larger-than-11.c: New test.
* gcc.dg/Walloc-size-larger-than-12.c: New test.
* gcc.dg/Walloc-size-larger-than-13.c: New test.
* gcc.dg/Walloc-size-larger-than-14.c: New test.
* gcc.dg/Walloc-size-larger-than-15.c: New test.
* gcc.dg/Walloc-size-larger-than-16.c: New test.
* gcc.dg/Walloc-size-larger-than-2.c: New test.
* gcc.dg/Walloc-size-larger-than-3.c: New test.
* gcc.dg/Walloc-size-larger-than-4.c: New test.
* gcc.dg/Walloc-size-larger-than-5.c: New test.
* gcc.dg/Walloc-size-larger-than-6.c: New test.
* gcc.dg/Walloc-size-larger-than-7.c: New test.
* gcc.dg/Walloc-size-larger-than-8.c: New test.
* gcc.dg/Walloc-size-larger-than-9.c: New test.
* gcc.dg/Walloc-size-larger-than.c: New test.
From-SVN: r261719
Michael Meissner [Mon, 18 Jun 2018 19:58:18 +0000 (18 19:58 +0000)]
Back port 6/18 patch to gcc8
From-SVN: r261714
Michael Meissner [Mon, 18 Jun 2018 19:39:13 +0000 (18 19:39 +0000)]
Merge up to 261712
From-SVN: r261713
GCC Administrator [Mon, 18 Jun 2018 00:16:37 +0000 (18 00:16 +0000)]
Daily bump.
From-SVN: r261694
GCC Administrator [Sun, 17 Jun 2018 00:16:21 +0000 (17 00:16 +0000)]
Daily bump.
From-SVN: r261685
Jakub Jelinek [Sat, 16 Jun 2018 06:52:17 +0000 (16 08:52 +0200)]
re PR middle-end/86095 (documentation for -Wunsafe-loop-optimizations references options which have no effect any more)
PR middle-end/86095
* common.opt (Wunsafe-loop-optimizations): Add Ignore, remove Var,
documented as preserved for backward compatibility only.
* doc/invoke.texi: Remove -Wunsafe-loop-optimizations documentation.
From-SVN: r261680
Jason Merrill [Sat, 16 Jun 2018 06:36:19 +0000 (16 02:36 -0400)]
PR c++/86147 - wrong capture for template argument.
* expr.c (mark_use): Look through NOP_EXPR.
From-SVN: r261677
GCC Administrator [Sat, 16 Jun 2018 00:16:34 +0000 (16 00:16 +0000)]
Daily bump.
From-SVN: r261673
Michael Meissner [Fri, 15 Jun 2018 22:36:36 +0000 (15 22:36 +0000)]
Backport May 21st patch to GCC 8 branch #2
From-SVN: r261668
Michael Meissner [Fri, 15 Jun 2018 21:37:50 +0000 (15 21:37 +0000)]
Backport May 21st patch to GCC 8 branch
From-SVN: r261666
Michael Meissner [Fri, 15 Jun 2018 21:08:05 +0000 (15 21:08 +0000)]
setup branch
From-SVN: r261665
Jakub Jelinek [Fri, 15 Jun 2018 20:37:46 +0000 (15 22:37 +0200)]
re PR middle-end/85878 (ICE in convert_mode_scalar, at expr.c:287)
PR middle-end/85878
* expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P
check from first store_expr, use to_mode instead of GET_MODE (to_rtx).
Only call store_expr for halves if the mode is the same.
* gfortran.fortran-torture/compile/pr85878.f90: New test.
From-SVN: r261660
Jason Merrill [Fri, 15 Jun 2018 20:23:13 +0000 (15 16:23 -0400)]
PR c++/82882 - ICE with lambda in template default argument.
* lambda.c (record_null_lambda_scope): New.
* pt.c (tsubst_lambda_expr): Use it.
* name-lookup.c (do_pushtag): Don't give a lambda DECL_CONTEXT of a
function that isn't open.
From-SVN: r261658
Jason Merrill [Fri, 15 Jun 2018 20:23:08 +0000 (15 16:23 -0400)]
* tree.c (maybe_warn_parm_abi): Inform the location of the class.
From-SVN: r261657
Jakub Jelinek [Fri, 15 Jun 2018 19:34:11 +0000 (15 21:34 +0200)]
re PR middle-end/86123 (ICE in prepare_cmp_insn, at optabs.c:3967)
PR middle-end/86123
* match.pd ((X / Y) == 0 -> X < Y): Don't transform complex divisions.
Fix up comment formatting.
* gcc.c-torture/compile/pr86123.c: New test.
From-SVN: r261648
Jonathan Wakely [Fri, 15 Jun 2018 19:01:39 +0000 (15 20:01 +0100)]
PR libstdc++/86169 unshare COW string when non-const data() called
PR libstdc++/86169
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::data()): Unshare string.
* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
New.
From-SVN: r261644
Jonathan Wakely [Fri, 15 Jun 2018 17:15:54 +0000 (15 18:15 +0100)]
Only define __cpp_lib_constexpr_char_traits for C++17
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
define for C++17 and above.
From-SVN: r261639
Cesar Philippidis [Fri, 15 Jun 2018 14:03:00 +0000 (15 07:03 -0700)]
re PR fortran/85703 ([openacc] ICE in resolve_fntype, at fortran/resolve.c:16313)
PR fortran/85703
Backport from mainline
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85703
gcc/fortran/
* parse.c (decode_oacc_directive): Set gfc_matching_function
to false.
(decode_omp_directive): Likewise.
gcc/testsuite/
* gfortran.dg/goacc/pr85703.f90: New test.
* gfortran.dg/gomp/pr85703.f90: New test.
From-SVN: r261631
Cesar Philippidis [Fri, 15 Jun 2018 14:01:00 +0000 (15 07:01 -0700)]
re PR fortran/85702 ([openacc] ICE in gfc_format_decoder, at fortran/error.c:943)
PR fortran/85702
Backport from mainline
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85702
gcc/fortran/
* openmp.c (gfc_match_oacc_wait): Use %C to report error location.
gcc/testsuite/
* gfortran.dg/goacc/pr85702.f90: New test.
From-SVN: r261630
Cesar Philippidis [Fri, 15 Jun 2018 13:59:14 +0000 (15 06:59 -0700)]
re PR fortran/85701 ([openacc] ICE in mark_scope_block_unused, at tree-ssa-live.c:364)
PR fortran/85701
Backport from mainline
2018-06-05 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85701
gcc/fortran/
* openmp.c (gfc_resolve_oacc_declare): Error on functions and
subroutine data clause arguments.
gcc/testsuite/
* gfortran.dg/goacc/pr85701.f90: New test.
From-SVN: r261629
GCC Administrator [Fri, 15 Jun 2018 00:16:41 +0000 (15 00:16 +0000)]
Daily bump.
From-SVN: r261616
Jakub Jelinek [Thu, 14 Jun 2018 19:16:52 +0000 (14 21:16 +0200)]
re PR target/86048 (.seh_savexmm offset is negative error when compiling libpng)
PR target/86048
* gcc.target/i386/pr86048.c: Require sse2 effective target. Add
-msse2 to dg-options.
From-SVN: r261609
Jakub Jelinek [Thu, 14 Jun 2018 19:11:21 +0000 (14 21:11 +0200)]
re PR middle-end/86122 (ICE in useless_type_conversion_p, at gimple-expr.c:87)
PR middle-end/86122
* match.pd ((A +- CST1) +- CST2): Punt if last resort
unsigned_type_for returns NULL.
* gcc.c-torture/compile/pr86122.c: New test.
From-SVN: r261607
Jakub Jelinek [Thu, 14 Jun 2018 13:36:43 +0000 (14 15:36 +0200)]
re PR target/85945 (ICE in resolve_subreg_use, at lower-subreg.c:751)
PR target/85945
* lower-subreg.c (find_decomposable_subregs): Don't decompose float
subregs of multi-word pseudos unless the float mode has word size.
* gcc.c-torture/compile/pr85945.c: New test.
From-SVN: r261594
Richard Biener [Thu, 14 Jun 2018 12:31:46 +0000 (14 12:31 +0000)]
re PR target/86139 (ICE in in store_constructor, at expr.c:6849 on arm-linux-gnueabihf)
2018-06-14 Richard Biener <rguenther@suse.de>
PR middle-end/86139
* tree-vect-generic.c (build_word_mode_vector_type): Remove
duplicate and harmful type_hash_canon.
* tree.c (type_hash_canon): Assert we didn't find ourselves.
From-SVN: r261591
Sebastian Huber [Thu, 14 Jun 2018 05:17:50 +0000 (14 05:17 +0000)]
RTEMS: Prefer int for int32_t
Common systems like glibc and FreeBSD define int32_t to int. This means
a lot of third party code works well in these cases:
#include <stdint.h>
void f(int32_t);
void f(int);
void g(int32_t *);
void h(void)
{
int i;
g(&i);
}
On RTEMS you got however in C
test.c:5:6: error: conflicting types for 'f'
void f(int);
^
test.c:3:6: note: previous declaration of 'f' was here
void f(int32_t);
^
test.c: In function 'h':
test.c:12:4: warning: passing argument 1 of 'g' from incompatible
pointer type [-Wincompatible-pointer-types]
g(&i);
^
test.c:7:6: note: expected 'int32_t * {aka long int *}' but argument
is of type 'int *' void g(int32_t *);
and C++
test.c: In function 'void h()':
test.c:12:4: error: invalid conversion from 'int*' to 'int32_t* {aka
long int*}' [-fpermissive]
g(&i);
^~
test.c:7:6: note: initializing argument 1 of 'void g(int32_t*)'
void g(int32_t *);
^
This was due to a Newlib speciality which uses long for int32_t if long
is a 32-bit type. To ease the use of third party software in RTEMS we
override this Newlib option now and use int for int32_t if int is a
32-bit type.
gcc/
* config/rtems.h (STDINT_LONG32): Define.
From-SVN: r261583
Roland McGrath [Thu, 14 Jun 2018 01:18:59 +0000 (14 01:18 +0000)]
PR other/77609: Let the assembler choose ELF section types for miscellaneous named sections
gcc/
PR other/77609
* varasm.c (default_section_type_flags): Set SECTION_NOTYPE for
any section for which we don't know a specific type it should have,
regardless of name. Previously this was done only for the exact
names ".init_array", ".fini_array", and ".preinit_array".
(default_elf_asm_named_section): Add comment about
relationship with default_section_type_flags and SECTION_NOTYPE.
(get_section): Don't consider it a type conflict if one side has
SECTION_NOTYPE and the other doesn't, as long as neither has the
SECTION_BSS et al used in the default_section_type_flags logic.
(cherry picked from commit
db7548a2771bbf34cf7430712af7ac670b429958)
From-SVN: r261581
GCC Administrator [Thu, 14 Jun 2018 00:16:14 +0000 (14 00:16 +0000)]
Daily bump.
From-SVN: r261579
Jason Merrill [Wed, 13 Jun 2018 21:05:46 +0000 (13 17:05 -0400)]
c-opts.c (c_common_post_options): Warn about useless -Wabi.
* c-opts.c (c_common_post_options): Warn about useless -Wabi.
(c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
handling.
From-SVN: r261572
Martin Sebor [Wed, 13 Jun 2018 20:39:50 +0000 (13 20:39 +0000)]
PR tree-optimization/86114 - ICE in gimple_fold_builtin_strlen with an invalid call to strnlen
gcc/testsuite/ChangeLog:
PR tree-optimization/86114
* gcc.dg/pr86114.c: New test.
gcc/ChangeLog:
PR tree-optimization/86114
* gimple-fold.c (gimple_fold_builtin_strlen): Only handle LHS
of integer types.
* tree-ssa-strlen.c (maybe_set_strlen_range): Same.
From-SVN: r261569
Steven G. Kargl [Wed, 13 Jun 2018 20:17:58 +0000 (13 20:17 +0000)]
re PR fortran/86110 (ICE in gfc_resolve_character_array_constructor, at fortran/array.c:2044)
2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/86110
* array.c (gfc_resolve_character_array_constructor): Avoid NULL
pointer dereference.
2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/86110
* gfortran.dg/pr86110.f90: New test.
From-SVN: r261565
Jason Merrill [Wed, 13 Jun 2018 19:39:53 +0000 (13 15:39 -0400)]
PR c++/86094 - wrong code with defaulted move ctor.
gcc/c-family/
* c-opts.c (c_common_post_options): Bump the current ABI version to
13. Set warn_abi_version and flag_abi_compat_version to the current
version rather than 0. Fix defaulting flag_abi_compat_version from
warn_abi_version.
gcc/cp/
* class.c (classtype_has_non_deleted_move_ctor): New.
* tree.c (maybe_warn_parm_abi, type_has_nontrivial_copy_init):
Handle v12 breakage.
From-SVN: r261563
Ian Lance Taylor [Wed, 13 Jun 2018 13:51:01 +0000 (13 13:51 +0000)]
libgo: update to Go 1.10.3 release
Reviewed-on: https://go-review.googlesource.com/118495
From-SVN: r261548
Eric Botcazou [Wed, 13 Jun 2018 11:22:17 +0000 (13 11:22 +0000)]
re PR target/86048 (.seh_savexmm offset is negative error when compiling libpng)
PR target/86048
* config/i386/winnt.c (i386_pe_seh_cold_init): Do not emit negative
offsets for register save directives. Emit a second batch of save
directives, if need be, when the function accesses prior frames.
From-SVN: r261545
GCC Administrator [Wed, 13 Jun 2018 00:16:47 +0000 (13 00:16 +0000)]
Daily bump.
From-SVN: r261534
Steven G. Kargl [Tue, 12 Jun 2018 18:19:03 +0000 (12 18:19 +0000)]
re PR fortran/44491 (Diagnostic just shows "<During initialization>" instead of a locus)
2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44491
* gfortran.dg/pr44491.f90: Add dg-options omitted in previous commit.
From-SVN: r261519
Steven G. Kargl [Tue, 12 Jun 2018 18:05:05 +0000 (12 18:05 +0000)]
re PR fortran/44491 (Diagnostic just shows "<During initialization>" instead of a locus)
2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44491
* expr.c (gfc_check_assign): Select non-NULL locus.
2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44491
* gfortran.dg/pr44491.f90: New testcase
From-SVN: r261517
Eric Botcazou [Tue, 12 Jun 2018 10:34:41 +0000 (12 10:34 +0000)]
ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0.
* gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from
using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0.
(TYPE_ALIGN_OK): Move around.
(TYPE_PADDING_FOR_COMPONENT): Remove superfluous parentheses.
* gcc-interface/decl.c (change_qualified_type): Move to...
(gnat_to_gnu_entity): Adjust comment.
* gcc-interface/gigi.h (change_qualified_type): ...here; make inline.
(ceil_pow2): Use ceil_log2.
* gcc-interface/utils.c (finish_subprog_decl): Add couple of comments
and do not set TREE_SIDE_EFFECTS.
(handle_noreturn_attribute): Use change_qualified_type.
From-SVN: r261487
Eric Botcazou [Tue, 12 Jun 2018 10:19:54 +0000 (12 10:19 +0000)]
decl.c (gnat_to_gnu_entity): Do not get the expression of a dispatch table that is not being defined.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Do not get
the expression of a dispatch table that is not being defined.
<E_Record_Subtype>: Remove obsolete kludge.
From-SVN: r261484
Eric Botcazou [Tue, 12 Jun 2018 10:01:39 +0000 (12 10:01 +0000)]
decl.c (warn_on_field_placement): Use specific wording for discriminants.
* gcc-interface/decl.c (warn_on_field_placement): Use specific wording
for discriminants.
(warn_on_list_placement): New static function.
(components_to_record): Use it to warn on multiple fields in list.
From-SVN: r261481
Eric Botcazou [Tue, 12 Jun 2018 09:31:32 +0000 (12 09:31 +0000)]
backport: decl.c (gnat_to_gnu_entity): Reuse the existing fields of a dummy fat pointer type, if any.
Backport from mainline
2018-06-11 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Reuse the
existing fields of a dummy fat pointer type, if any. Clear the
TYPE_DECL_SUPPRESS_DEBUG on the fat pointer type after completing it.
From-SVN: r261477
GCC Administrator [Tue, 12 Jun 2018 00:16:26 +0000 (12 00:16 +0000)]
Daily bump.
From-SVN: r261471
Jason Merrill [Mon, 11 Jun 2018 22:02:37 +0000 (11 18:02 -0400)]
PR c++/85792 -Wctor-dtor-privacy and inherited constructor.
* class.c (maybe_warn_about_overly_private_class): Handle inherited
constructors.
From-SVN: r261467
Jason Merrill [Mon, 11 Jun 2018 22:02:31 +0000 (11 18:02 -0400)]
PR c++/85963 - -Wunused-but-set with ?: in template.
* pt.c (tsubst_copy_and_build) [COND_EXPR]: Call mark_rvalue_use.
From-SVN: r261466
Jason Merrill [Mon, 11 Jun 2018 22:02:25 +0000 (11 18:02 -0400)]
PR c++/85710 - ICE with -Wmemset-elt-size.
c-family/
* c-warn.c (warn_for_memset): Don't crash on incomplete elt type.
From-SVN: r261465
Jason Merrill [Mon, 11 Jun 2018 22:02:19 +0000 (11 18:02 -0400)]
PR c++/61806 - missed SFINAE with partial specialization.
* cp-tree.h (deferring_access_check_sentinel): Add deferring_kind
parameter to constructor.
* pt.c (instantiate_class_template_1): Enable access checking
before call to most_specialized_partial_spec.
From-SVN: r261464
Jason Merrill [Mon, 11 Jun 2018 22:02:13 +0000 (11 18:02 -0400)]
PR c++/85765 - SFINAE and non-type default template arg.
* pt.c (type_unification_real): Do full semantic processing if
substituting a partial args list replaces all template parms.
From-SVN: r261463
Jason Merrill [Mon, 11 Jun 2018 22:02:07 +0000 (11 18:02 -0400)]
PR c++/85764 - bogus 'this' not captured error.
* lambda.c (resolvable_dummy_lambda): Use nonlambda_method_basetype.
(nonlambda_method_basetype): Handle NSDMI.
From-SVN: r261462
Jason Merrill [Mon, 11 Jun 2018 22:02:01 +0000 (11 18:02 -0400)]
PR c++/85807 - ICE with call in template NSDMI.
* init.c (get_nsdmi): Use push_to/pop_from_top_level.
* tree.c (bot_manip): Don't set_flags_from_callee in a template.
From-SVN: r261461
Jason Merrill [Mon, 11 Jun 2018 22:01:55 +0000 (11 18:01 -0400)]
PR c++/85815 - reference to member of enclosing template.
* search.c (lookup_base): Use currently_open_class.
(lookup_member): Use it regardless of -fconcepts.
* parser.c (cp_parser_postfix_dot_deref_expression): Check it.
From-SVN: r261460
Jason Merrill [Mon, 11 Jun 2018 18:56:56 +0000 (11 14:56 -0400)]
PR c++/80485 - inline function non-zero address.
* symtab.c (nonzero_address): Check DECL_COMDAT.
From-SVN: r261449
Jason Merrill [Mon, 11 Jun 2018 18:42:15 +0000 (11 14:42 -0400)]
* doc/invoke.texi: Document -fabi-version=12.
From-SVN: r261447
Marek Polacek [Mon, 11 Jun 2018 18:41:33 +0000 (11 18:41 +0000)]
* g++.dg/cpp0x/range-for9.C: Adjust dg-error.
From-SVN: r261446
Jason Merrill [Mon, 11 Jun 2018 18:40:14 +0000 (11 14:40 -0400)]
PR c++/86094 - wrong code with defaulted move ctor.
* tree.c (type_has_nontrivial_copy_init): Fix move ctor handling.
From-SVN: r261445
Peter Bergner [Mon, 11 Jun 2018 18:23:28 +0000 (11 13:23 -0500)]
backport: re PR target/85755 (PowerPC Gcc's -mupdate produces inefficient code on power8/power9 machines)
gcc/
Backport from mainline
2018-06-08 Peter Bergner <bergner@vnet.ibm.com>
PR target/85755
* config/rs6000/rs6000.c (mem_operand_gpr): Enable PRE_INC and PRE_DEC
addresses.
gcc/testsuite/
Backport from mainline
2018-06-08 Peter Bergner <bergner@vnet.ibm.com>
PR target/85755
* gcc.target/powerpc/pr85755.c: New test.
From-SVN: r261441
Joseph Myers [Mon, 11 Jun 2018 17:08:26 +0000 (11 18:08 +0100)]
* fr.po: Update.
From-SVN: r261440
Segher Boessenkool [Mon, 11 Jun 2018 16:06:49 +0000 (11 18:06 +0200)]
backport: re PR target/85755 (PowerPC Gcc's -mupdate produces inefficient code on power8/power9 machines)
Backport from trunk
2018-06-11 Segher Boessenkool <segher@kernel.crashing.org>
PR target/85755
* config/rs6000/rs6000.md (*movdi_internal32): Put constraint modifiers
on the correct operand.
(*movdi_internal64): Ditto.
From-SVN: r261436
GCC Administrator [Mon, 11 Jun 2018 00:16:56 +0000 (11 00:16 +0000)]
Daily bump.
From-SVN: r261392
Jerry DeLisle [Sun, 10 Jun 2018 02:26:57 +0000 (10 02:26 +0000)]
re PR libfortran/86070 (gfortran.dg/fmt_zero_digits.f90 segmentation fault starting with r261077)
2018-06-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/86070
* io/write_float.def (build_float_string): Initialize *len.
From-SVN: r261383
GCC Administrator [Sun, 10 Jun 2018 00:17:07 +0000 (10 00:17 +0000)]
Daily bump.
From-SVN: r261380
Steven G. Kargl [Sat, 9 Jun 2018 18:09:00 +0000 (9 18:09 +0000)]
re PR fortran/85138 (ICE with generic function)
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85138
PR fortran/85996
PR fortran/86051
* decl.c (gfc_match_char_spec): Use private namespace in attempt to
reduce a charlen to a constant.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85138
PR fortran/85996
PR fortran/86051
* gfortran.dg/pr85138_1.f90: New test.
* gfortran.dg/pr85138_2.f90: Ditto.
* gfortran.dg/pr85996.f90: Ditto.
From-SVN: r261370
Steven G. Kargl [Sat, 9 Jun 2018 18:06:04 +0000 (9 18:06 +0000)]
re PR fortran/86059 (ICE in reduce_binary_ac, at fortran/arith.c:1308 (and others))
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/86059
* array.c (match_array_cons_element): NULL() cannot be in an
array constructor.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/86059
* gfortran.dg/associate_30.f90: Remove code tested ...
* gfortran.dg/pr67803.f90: Ditto.
* gfortran.dg/pr67805.f90: Ditto.
* gfortran.dg/pr86059.f90: ... here. New test.
From-SVN: r261369
Steven G. Kargl [Sat, 9 Jun 2018 18:02:56 +0000 (9 18:02 +0000)]
re PR fortran/63514 (functions containing volatile are considered pure)
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/63514
* symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/63514
* gfortran.dg/pr63514.f90: New test.
From-SVN: r261368
Steven G. Kargl [Sat, 9 Jun 2018 17:47:06 +0000 (9 17:47 +0000)]
Commit testcases ommitted in last commit.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78278
* gfortran.dg/data_bounds_1.f90: Add -std=gnu option.
* gfortran.dg/data_char_1.f90: Ditto.
* gfortran.dg/pr78278.f90: New test.
From-SVN: r261367
Steven G. Kargl [Sat, 9 Jun 2018 17:46:07 +0000 (9 17:46 +0000)]
re PR fortran/78278 (ICE in gfc_wide_memset, at fortran/scanner.c:153)
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78278
Committed as part of r261364
* data.c (gfc_assign_data_value): Re-arrange code to allow for
an error for double initialization of CHARACTER entities.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78278
* gfortran.dg/data_bounds_1.f90: Add -std=gnu option.
* gfortran.dg/data_char_1.f90: Ditto.
* gfortran.dg/pr78278.f90: New test.
From-SVN: r261366
Steven G. Kargl [Sat, 9 Jun 2018 17:38:24 +0000 (9 17:38 +0000)]
re PR fortran/38351 (Poor error message for rank mismatch in operator args)
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/38351
* resolve.c (resolve_operator): Provide better error message for
derived type entity used in an binary intrinsic numeric operator.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/38351
* gfortran.dg/pr38351.f90: New test.
* gfortran.dg/typebound_operator_4.f03: Adjust for new error message.
From-SVN: r261365
Steven G. Kargl [Sat, 9 Jun 2018 17:34:59 +0000 (9 17:34 +0000)]
re PR fortran/78571 (ICE in create_character_initializer, at fortran/data.c:191)
2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78571
* data.c (create_character_initializer): Return early if type is
incompatible with CHARACTER.
2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78571
* gfortran.dg/pr78571.f90: New test.
From-SVN: r261364
Thomas Koenig [Sat, 9 Jun 2018 14:15:53 +0000 (9 14:15 +0000)]
re PR fortran/85631 (Runtime error message array bound mismatch with nonzero optimization)
2018-06-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/85631
Backport from trunk.
* trans.h (gfc_ss): Add field no_bounds_check.
* trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and
ss->no_bounds_check is set, do not use runtime checks.
* trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check
for reallocatable lhs.
2018-06-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/85631
Backport from trunk.
* gfortran.dg/bounds_check_20.f90: New test.
From-SVN: r261359
GCC Administrator [Sat, 9 Jun 2018 00:16:29 +0000 (9 00:16 +0000)]
Daily bump.
From-SVN: r261356
Carl Love [Fri, 8 Jun 2018 23:12:35 +0000 (8 23:12 +0000)]
backport: vsx.md (vextract_fp_from_shorth, [...]): Add BE support.
gcc/ChangeLog:
2018-06-08 Carl Love <cel@us.ibm.com>
Backport from mainline
* gcc/config/rs6000/vsx.md (vextract_fp_from_shorth,
vextract_fp_from_shortl): Add BE support.
gcc/testsuite/ChangeLog:
2018-06-08 Carl Love <cel@us.ibm.com>
Backport from mainline.
* gcc.target/powerpc/builtins-3-p9-runnable.c: Add debug print
statements.
From-SVN: r261351
Carl Love [Fri, 8 Jun 2018 23:07:55 +0000 (8 23:07 +0000)]
backport: vsx.md (first_match_index_<mode>): Calculate index using natureal element order.
gcc/ChangeLog:
2018-06-08 Carl Love <cel@us.ibm.com>
Backport from mainline
* gcc/config/rs6000/vsx.md (first_match_index_<mode>):
Calculate index using natureal element order.
(first_match_or_eos_index_<mode>):
Calculate index using natural element order.
(first_match_index_<mode>):
Calculate index using natural element order.
(first_match_or_eos_index_<mode>):
Calculate index using natural order.
(define_insn vclzlsbb): Change to define_insn vclzlsbb_<mode>.
for BE and LE modes.
* gcc/config/rs6000/rs6000-c.c: Rename P9V_BUILTIN_VCLZLSBB,
P9V_BUILTIN_VCLZLSBB_V16QI.
* gcc/config/rs6000/rs6000-builtin.def: Make VCLZLSBB mode
specific.
gcc/testsuite/ChangeLog:
2018-06-08 Carl Love <cel@us.ibm.com>
Backport from mainline
* gcc.target/powerpc/builtins-8-p9-runnable.c: New test file.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c (dg-error): Update expected
error message.
From-SVN: r261349
Joseph Myers [Fri, 8 Jun 2018 15:16:31 +0000 (8 16:16 +0100)]
* es.po: Update.
From-SVN: r261332
Kyrylo Tkachov [Fri, 8 Jun 2018 08:18:43 +0000 (8 08:18 +0000)]
[arm] PR target/81497: Fix arm_acle.h for C++
Backport from mainline
2018-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/81497
* config/arm/arm-builtins.c (arm_type_qualifiers): Add
qualifier_void_pointer and qualifier_const_void_pointer.
(arm_ldc_qualifiers, arm_stc_qualifiers): Use the above.
(arm_init_builtins): Handle the above.
* config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc,
__arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2,
__arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for
void intrinsics.
* g++.target/arm/arm.exp: New file.
* g++.target/arm/pr81497.C: Likewise.
From-SVN: r261305
GCC Administrator [Fri, 8 Jun 2018 00:16:24 +0000 (8 00:16 +0000)]
Daily bump.
From-SVN: r261302
Steven G. Kargl [Thu, 7 Jun 2018 18:17:49 +0000 (7 18:17 +0000)]
re PR fortran/86045 (ICE in reduce_binary_ac, at fortran/arith.c:1308)
2018-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/86045
* simplify.c (gfc_simplify_mod): Re-arrange code to test whether
'P' is zero and issue an error if it is.
2018-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/86045
* gfortran.dg/pr86045.f90: New test.
From-SVN: r261290
Thomas Koenig [Thu, 7 Jun 2018 17:33:44 +0000 (7 17:33 +0000)]
re PR fortran/85641 (ICE with string concatenate)
2018-06-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/85641
Backport from trunk.
* frontend-passes.c (is_fe_temp): Add prototype.
(realloc_string_callback): Early return for frontend-generated
temporary.
2018-06-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/85641
Backport from trunk.
* gfortran.dg/realloc_on_assign_30.f90: New test.
From-SVN: r261285
Uros Bizjak [Thu, 7 Jun 2018 16:37:01 +0000 (7 18:37 +0200)]
re PR target/85684 (output of instrinsic _xgetbv is wrongly overwritten)
PR target/85684
* config/i386/i386.c (ix86_expand_builtin) <case IX86_BUILTIN_RDPID>:
Generate SImode target register for null target.
<case IX86_BUILTIN_XGETBV>: Ditto.
<case IX86_BUILTIN_XSETBV>: Optimize LSHIFTRT generation.
* config/i386/xsaveintrin.h (_xgetbv): Add missing return.
testsuite/ChangeLog:
PR target/85684
* gcc.target/i386/xgetsetbv.c: Check also variable arguments.
From-SVN: r261283
Joseph Myers [Thu, 7 Jun 2018 15:27:19 +0000 (7 16:27 +0100)]
* eo.po: Update.
From-SVN: r261281
Peter Bergner [Thu, 7 Jun 2018 13:59:37 +0000 (7 08:59 -0500)]
backport: re PR target/63177 (Powerpc no-vfa-vect-depend-2.c and no-vfa-vect-depend-3.c failures)
Backport from mainline
2018-06-06 Peter Bergner <bergner@vnet.ibm.com>
PR target/63177
* /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9.
Don't handle -mcpu=power8 if -mpower9-vector is also used.
From-SVN: r261275
GCC Administrator [Thu, 7 Jun 2018 00:16:17 +0000 (7 00:16 +0000)]
Daily bump.
From-SVN: r261258
Jason Merrill [Wed, 6 Jun 2018 17:48:35 +0000 (6 13:48 -0400)]
PR c++/86060 - ICE on range for with -std=c++98.
* parser.c (cp_parser_init_statement): Don't clobber *decl after
pedwarn.
From-SVN: r261240
Richard Biener [Wed, 6 Jun 2018 15:06:50 +0000 (6 15:06 +0000)]
Backport PRs 85863, 85934, 85964, 86038
2018-06-06 Richard Biener <rguenther@suse.de>
Backport from mainline
2018-06-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/86038
* tracer.c (find_best_successor): Check probability for
being initialized, bail out if not.
* gcc.dg/pr86038.c: New testcase.
2018-05-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/85964
* tracer.c (better_p): Drop initialized count check, we only
call the function with initialized counts now.
(find_best_successor): Do find a best edge if one
has uninitialized count.
(find_best_predecessor): Likewise. Do BB frequency check only
if count is initialized.
2018-05-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/85934
* tree-vect-generic.c (expand_vector_operations_1): Hoist
vector boolean check before scalar optimization.
* gcc.target/i386/pr85934.c: New testcase.
2018-05-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/85863
* tree-vect-stmts.c (vect_is_simple_cond): Only widen invariant
comparisons when vectype is specified.
(vectorizable_condition): Do not specify vectype for
vect_is_simple_cond when SLP vectorizing.
* gfortran.fortran-torture/compile/pr85863.f: New testcase.
From-SVN: r261237
Jonathan Wakely [Wed, 6 Jun 2018 11:41:57 +0000 (6 12:41 +0100)]
PR libstdc++/86008 add std::quoted support for string_view
PR libstdc++/86008
* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
Define new partial specialization.
* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
new overload.
(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
value not reference for iteration.
* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
comment.
* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
comment.
From-SVN: r261228