Joseph Myers [Sat, 3 Mar 2018 18:55:20 +0000 (18:55 +0000)]
* da.po: Update.
From-SVN: r258221
Steven G. Kargl [Sat, 3 Mar 2018 18:20:32 +0000 (18:20 +0000)]
re PR fortran/51434 (ICE with scalar init of an array parameter, used in DT default init with transfer)
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/51434
* simplify.c (gfc_simplify_transfer): Resolve mold.
2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/51434
* gfortran.dg/pr51434.f90: New test.
From-SVN: r258220
Paolo Carlini [Sat, 3 Mar 2018 18:18:25 +0000 (18:18 +0000)]
re PR c++/61358 (Bogus "duplicate label" error after label used within C++11 lambda)
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61358
* g++.dg/cpp0x/lambda/lambda-61358.C: New.
From-SVN: r258219
Paolo Carlini [Sat, 3 Mar 2018 18:09:27 +0000 (18:09 +0000)]
re PR c++/67370 (Invalid "parameter packs not expanded" error in lambda capture)
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67370
* g++.dg/cpp0x/lambda/lambda-67370.C: New.
From-SVN: r258218
Paolo Carlini [Sat, 3 Mar 2018 17:48:23 +0000 (17:48 +0000)]
re PR c++/71464 (ICE on invalid code (with redeclared constructor) at -Os: Segmentation fault)
/cp
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71464
* optimize.c (maybe_thunk_body): Bail out immediately if either
fns[0] or fns[1] is null.
/testsuite
2018-03-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71464
* g++.dg/torture/pr71464.C: New.
From-SVN: r258216
Chung-Ju Wu [Sat, 3 Mar 2018 16:47:10 +0000 (16:47 +0000)]
[NDS32] Change to large model by default.
gcc/
* config/nds32/nds32.opt: Change -mcmodel= default value.
From-SVN: r258215
Kito Cheng [Sat, 3 Mar 2018 16:38:14 +0000 (16:38 +0000)]
[NDS32] Add intrinsic functions for unalignment memory access.
gcc/
* config/nds32/constants.md (unspec_element): New enum.
* config/nds32/constraints.md (Umw): New constraint.
* config/nds32/nds32-intrinsic.c: Add more builtin functions.
* config/nds32/nds32-intrinsic.md: Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_regno_to_enable4): New.
(nds32_valid_smw_lwm_base_p): New.
(nds32_output_smw_single_word): New.
(nds32_output_lmw_single_word): New.
(nds32_expand_unaligned_load): New.
(nds32_expand_unaligned_store): New.
* config/nds32/nds32-protos.h (nds32_valid_smw_lwm_base_p): Declare.
(nds32_output_smw_single_word): Declare.
(nds32_output_lmw_single_word): Declare.
(nds32_expand_unaligned_load): Declare.
(nds32_expand_unaligned_store): Declare.
* config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_UALOAD_HW,
NDS32_BUILTIN_UALOAD_W, NDS32_BUILTIN_UALOAD_DW,
NDS32_BUILTIN_UASTORE_HW, NDS32_BUILTIN_UASTORE_W,
NDS32_BUILTIN_UASTORE_DW.
* config/nds32/predicates.md (nds32_lmw_smw_base_operand): New
predicate.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r258214
Monk Chiang [Sat, 3 Mar 2018 16:05:25 +0000 (16:05 +0000)]
[NDS32] Rewrite infrastructure for intrinsic.
gcc/
* config/nds32/nds32-intrinsic.c
(nds32_expand_builtin_null_ftype_reg): Delete.
(nds32_expand_builtin_reg_ftype_imm): Ditto.
(nds32_expand_builtin_null_ftype_reg_imm): Ditto.
(nds32_read_argument): New.
(nds32_legitimize_target): Ditto.
(nds32_legitimize_argument): Ditto.
(nds32_check_constant_argument): Ditto.
(nds32_expand_unop_builtin): Ditto.
(nds32_expand_unopimm_builtin): Ditto.
(nds32_expand_binop_builtin): Ditto.
(nds32_builtin_decl_impl): Ditto.
(builtin_description): Ditto.
(nds32_expand_builtin_impl): Rewrite with new infrastructure.
(nds32_init_builtins_impl): Ditto.
* config/nds32/nds32.c (TARGET_BUILTIN_DECL): Define.
(nds32_builtin_decl): New.
* config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_COUNT.
* config/nds32/nds32-protos.h (nds32_builtin_decl_impl): Declare.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
Co-Authored-By: Kito Cheng <kito.cheng@gmail.com>
From-SVN: r258211
Paul Thomas [Sat, 3 Mar 2018 13:34:10 +0000 (13:34 +0000)]
re PR fortran/80965 (ICE with class argument and -O2 optimization)
2018-03-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80965
* resolve.c (build_loc_call): Change symtree name from 'loc' to
'_loc'.
2018-03-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80965
* gfortran.dg/select_type_41.f90: New test.
From-SVN: r258195
Paolo Carlini [Sat, 3 Mar 2018 00:28:03 +0000 (00:28 +0000)]
re PR c++/61135 (It seems to be not able to call virtual method of literal object in lambda expression)
2018-03-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61135
* g++.dg/cpp0x/lambda/lambda-61135.C: New.
From-SVN: r258165
GCC Administrator [Sat, 3 Mar 2018 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r258163
Joseph Myers [Fri, 2 Mar 2018 23:55:25 +0000 (23:55 +0000)]
* es.po: Update.
From-SVN: r258160
Jeff Law [Fri, 2 Mar 2018 23:47:56 +0000 (16:47 -0700)]
reorg.c (stop_search_p): Handle DEBUG_INSN.
* reorg.c (stop_search_p): Handle DEBUG_INSN.
(redundant_insn, fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
* resource.c (mark_referenced_resources): Likewise.
(mark_set_resources, find_dead_or_set_registers): Likewise.
From-SVN: r258158
Jonathan Wakely [Fri, 2 Mar 2018 20:38:50 +0000 (20:38 +0000)]
PR libstdc++/84671 handle digit separators in duration literals
PR libstdc++/84671
* include/bits/parse_numbers.h (_Number_help): Add partial
specialization to handle digit separators. Adjust partial
specialization for recursion temrination to require _Pow == 1ULL.
* testsuite/20_util/duration/literals/84671.cc: New
From-SVN: r258157
Marek Polacek [Fri, 2 Mar 2018 20:27:46 +0000 (20:27 +0000)]
re PR c++/84578 (ICE with flexible array member and constexpr)
PR c++/84578
* constexpr.c (get_array_or_vector_nelts): New.
(cxx_eval_array_reference): Use it.
(cxx_eval_vec_init_1): Likewise.
(cxx_eval_store_expression): Likewise.
* g++.dg/ext/flexary29.C: New test.
From-SVN: r258156
David Malcolm [Fri, 2 Mar 2018 20:20:37 +0000 (20:20 +0000)]
libiberty: fix URL for demangler ABI
libiberty/ChangeLog:
* cp-demangle.c: Update URL for g++ V3 ABI.
From-SVN: r258155
Jakub Jelinek [Fri, 2 Mar 2018 19:04:58 +0000 (20:04 +0100)]
substring-locations.h (format_warning_va): Formatting fix for ATTRIBUTE_GCC_DIAG.
* substring-locations.h (format_warning_va): Formatting fix for
ATTRIBUTE_GCC_DIAG.
(format_warning_at_substring): Fix up ATTRIBUTE_GCC_DIAG second
argument.
(format_warning_n_va, format_warning_at_substring_n): New prototypes.
* substring-locations.c: Include intl.h.
(format_warning_va): Turned into small wrapper around
format_warning_n_va, renamed to ...
(format_warning_n_va): ... this, add N and PLURAL_GMSGID arguments,
rename GMSGID to SINGULAR_GMSGID, if SINGULAR_GMSGID != PLURAL_GMSGID,
use ngettext.
(format_warning_at_substring_n): New function.
* gimple-ssa-sprintf.c: Remove GCC diagnostic ignored pragma.
(fmtwarn): Add ATTRIBUTE_GCC_DIAG. Turn into a copy of
format_warning_at_substring with just a shorter name instead of
const function pointer.
(fmtwarn_n): New function.
(maybe_warn, format_directive, parse_directive): Use fmtwarn_n where
appropriate, get rid of all the fmtstr temporaries, move conditionals
with G_() wrapped string literals directly into fmtwarn arguments,
cast dir.len to (int), formatting fixes.
From-SVN: r258154
Jakub Jelinek [Fri, 2 Mar 2018 19:04:10 +0000 (20:04 +0100)]
* c-c++-common/Warray-bounds-2.c: Fix a comment typo.
From-SVN: r258153
Jason Merrill [Fri, 2 Mar 2018 18:18:13 +0000 (13:18 -0500)]
* semantics.c (force_paren_expr): Remove redundant test.
From-SVN: r258151
Paolo Carlini [Fri, 2 Mar 2018 18:06:44 +0000 (18:06 +0000)]
re PR middle-end/81812 (Empty virtual function fails to compile)
2018-03-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/81812
* g++.dg/torture/pr81812.C: New.
From-SVN: r258150
Marek Polacek [Fri, 2 Mar 2018 17:55:28 +0000 (17:55 +0000)]
re PR c++/84664 (internal compiler error: in cp_perform_integral_promotions, at cp/typeck.c:2172)
PR c++/84664
* typeck.c (cp_perform_integral_promotions): Check the result of
mark_rvalue_use.
* g++.dg/cpp0x/lambda/lambda-ice28.C: New test.
From-SVN: r258149
Marek Polacek [Fri, 2 Mar 2018 17:54:23 +0000 (17:54 +0000)]
re PR c++/84663 (internal compiler error: tree check: expected array_type, have error_mark in cp_complete_array_type, at cp/decl.c:8334)
PR c++/84663
* decl.c (cp_complete_array_type): Check error_mark_node.
* g++.dg/parse/array-size3.C: New test.
From-SVN: r258148
Marek Polacek [Fri, 2 Mar 2018 17:51:24 +0000 (17:51 +0000)]
re PR c++/84171 (ICE with -Wsign-compare)
PR c++/84171
* c-warn.c (warn_for_sign_compare): Bail out if any of the operands
is erroneous.
* g++.dg/warn/Wsign-compare-8.C: New test.
From-SVN: r258147
Jakub Jelinek [Fri, 2 Mar 2018 17:07:39 +0000 (18:07 +0100)]
re PR c++/84662 (internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in is_bitfield_expr_with_lowered_type, at cp/typeck.c:1944)
PR c++/84662
* pt.c (tsubst_copy_and_build) <case TEMPLATE_ID_EXPR>: Use
RETURN instead of return.
<case POINTER_PLUS_EXPR>: Likewise.
<case CONVERT_EXPR>: If op0 is error_mark_node, just return
it instead of wrapping it into CONVERT_EXPR.
* g++.dg/cpp1y/pr84662.C: New test.
From-SVN: r258146
Jason Merrill [Fri, 2 Mar 2018 16:54:23 +0000 (11:54 -0500)]
Fix MIPS16 ICE.
* pt.c (type_dependent_expression_p): Check DECL_LANG_SPECIFIC.
From-SVN: r258143
Thomas Schwinge [Fri, 2 Mar 2018 16:35:36 +0000 (17:35 +0100)]
Fix "dg-lto-options" misuse
gcc/testsuite/
* g++.dg/lto/20080915_0.C: Don't use "dg-lto-options".
* g++.dg/lto/20080907_0.C: Use "#pragma GCC" instead of
"dg-lto-options".
* g++.dg/lto/
20101010-1_0.C: Likewise.
* g++.dg/lto/
20101010-2_0.C: Likewise.
Reviewed-by: Jason Merrill <jason@redhat.com>
From-SVN: r258142
Thomas Schwinge [Fri, 2 Mar 2018 16:35:26 +0000 (17:35 +0100)]
More Cilk Plus removal
contrib/
* update-copyright.py: Remove "libcilkrts" reference.
gcc/c-family/
* c-attribs.c (c_common_attribute_table): Remove "cilk simd
function".
gcc/
* doc/invoke.texi: Remove "Cilk Plus" references.
From-SVN: r258141
Jakub Jelinek [Fri, 2 Mar 2018 16:19:43 +0000 (17:19 +0100)]
re PR ipa/84628 (attribute(warning/error) functions should not be merged together)
PR ipa/84628
* expr.c (expand_expr_real_1) <case CALL_EXPR>: Don't emit diagnostics
for error or warning attributes if CALL_FROM_THUNK_P is set.
Formatting fixes.
* gcc.dg/pr84628.c: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r258140
Jakub Jelinek [Fri, 2 Mar 2018 16:18:06 +0000 (17:18 +0100)]
re PR target/56540 (No __SIZEOF__XXX__ macro for __float128)
PR target/56540
* config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Predefine
__SIZEOF_128__ macro if HPUX_LONG_DOUBLE_LIBRARY.
From-SVN: r258139
Jakub Jelinek [Fri, 2 Mar 2018 16:17:18 +0000 (17:17 +0100)]
re PR target/56540 (No __SIZEOF__XXX__ macro for __float128)
PR target/56540
* config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Predefine
__SIZEOF_{FPREG,FLOAT{80,128}}__ macros.
* gcc.target/ia64/pr56540.c: New test.
From-SVN: r258138
Will Schmidt [Fri, 2 Mar 2018 15:18:54 +0000 (15:18 +0000)]
altivec-7-be.c: Remove VSX content, allow 32-bit target.
[testsuite]
2018-03-02 Will Schmidt <will_schmidt@vnet.ibm.com>
* gcc.target/powerpc/altivec-7-be.c: Remove VSX content, allow
32-bit target.
* gcc.target/powerpc/altivec-7.h: Remove VSX content.
* gcc.target/powerpc/vsx-7-be.c: New test (VSX content).
* gcc.target/powerpc/vsx-7.h: New include (VSX content).
* gcc.target/powerpc/altivec-7-le.c: Add vsx-7.h include.
From-SVN: r258137
Jakub Jelinek [Fri, 2 Mar 2018 15:10:10 +0000 (16:10 +0100)]
predict.c (test_prediction_value_range): Use PROB_UNINITIALIZED instead of -1U in last predictors element's probability...
* predict.c (test_prediction_value_range): Use PROB_UNINITIALIZED
instead of -1U in last predictors element's probability member.
From-SVN: r258136
Eric Botcazou [Fri, 2 Mar 2018 09:57:43 +0000 (09:57 +0000)]
re PR ipa/83983 (FAIL: g++.dg/lto/pr83121 (test for LTO warnings, pr83121_0.C line 8))
PR ipa/83983
* ipa-devirt.c (odr_subtypes_equivalent_p): Get the ODR type of both
arguments if they are comparable.
From-SVN: r258133
Marek Polacek [Fri, 2 Mar 2018 09:48:41 +0000 (09:48 +0000)]
re PR c++/84590 (-fsanitize=undefined internal compiler error: tree check: expected constructor, have target_expr in split_nonconstant_init_1, at cp/typeck2.c:629)
PR c++/84590
* cp-gimplify.c (cp_fully_fold): Unwrap TARGET_EXPR or a CONSTRUCTOR
wrapped in VIEW_CONVERT_EXPR.
* c-c++-common/ubsan/shift-11.c: New test.
From-SVN: r258132
Richard Sandiford [Fri, 2 Mar 2018 09:46:43 +0000 (09:46 +0000)]
Avoid &LOOP_VINFO_MASKS for bb vectorisation (PR 84634)
We were computing &LOOP_VINFO_MASKS even for bb vectorisation,
which is UB.
2018-03-02 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
PR tree-optimization/84634
* tree-vect-stmts.c (vectorizable_store, vectorizable_load): Replace
masks and masked_loop_p with a single loop_masks, making sure it's
null for bb vectorization.
From-SVN: r258131
Richard Sandiford [Fri, 2 Mar 2018 09:45:51 +0000 (09:45 +0000)]
Use loop->safelen rather than loop->force_vectorize
...since the latter doesn't guarantee independence by itself.
2018-03-02 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence)
(vect_analyze_data_ref_access): Use loop->safe_len rather than
loop->force_vectorize to check whether there is no alias.
gcc/testsuite/
* gcc.dg/vect/vect-alias-check-13.c: New test.
From-SVN: r258130
Jakub Jelinek [Fri, 2 Mar 2018 09:16:50 +0000 (10:16 +0100)]
re PR rtl-optimization/84614 (wrong code with u16->u128 extension at aarch64 -fno-split-wide-types -g3 --param=max-combine-insns=3)
PR target/84614
* rtl.h (prev_real_nondebug_insn, next_real_nondebug_insn): New
prototypes.
* emit-rtl.c (next_real_insn, prev_real_insn): Fix up function
comments.
(next_real_nondebug_insn, prev_real_nondebug_insn): New functions.
* cfgcleanup.c (try_head_merge_bb): Use prev_real_nondebug_insn
instead of a loop around prev_real_insn.
* combine.c (move_deaths): Use prev_real_nondebug_insn instead of
prev_real_insn.
* gcc.dg/pr84614.c: New test.
From-SVN: r258129
Paul Thomas [Fri, 2 Mar 2018 08:51:06 +0000 (08:51 +0000)]
re PR fortran/84219 (Failure to generate error for IO of transfer intrinsic, when MOLD has derived type components.)
2018-03-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84219
* gfortran.dg/coarray_47.f90: Use the correct test.
From-SVN: r258128
Jakub Jelinek [Fri, 2 Mar 2018 07:57:26 +0000 (08:57 +0100)]
re PR inline-asm/84625 (ICE with empty constraint and vector constant)
PR inline-asm/84625
* config/i386/i386.c (ix86_print_operand): Use conditional
output_operand_lossage instead of gcc_assert if CONST_VECTOR is not
zero vector.
* gcc.target/i386/pr84625.c: New test.
From-SVN: r258125
Richard Biener [Fri, 2 Mar 2018 07:45:41 +0000 (07:45 +0000)]
re PR tree-optimization/84427 (gcc ICE at -O3 on x86_64-linux-gnu in compute_antic, at tree-ssa-pre.c:2356)
2018-03-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/84427
* tree-ssa-pre.c (bitmap_remove_expr_from_set): Remove.
(bitmap_set_subtract_values): Rewrite to handle multiple
exprs per value.
(clean): Likewise.
(prune_clobbered_mems): Likewise.
(phi_translate): Take edge instead of pred/phiblock.
(phi_translate_1): Likewise.
(phi_translate_set): Likewise. Insert all translated
exprs for a value into the set, keeping possibly multiple
expressions per value.
(compute_antic_aux): Adjust for phi_translate changes.
When intersecting union the expressions and prune those
not in the final value set, keeping possibly multiple
expressions per value. Do not use value-insertion
for unioning ANTIC_OUT U EXP_GEN - TMP_GEN but merge
all expressions. Add verification that the value-sets
only shrink during iteration.
(compute_partial_antic_aux): Adjust for the phi_translate changes.
(do_pre_regular_insertion): Likewise.
(do_pre_partial_partial_insertion): Likewise.
* gcc.dg/torture/pr84427.c: New testcase.
From-SVN: r258124
Richard Biener [Fri, 2 Mar 2018 07:42:58 +0000 (07:42 +0000)]
re PR target/82005 (Early lto debug not implemented on Darwin)
2018-03-02 Richard Biener <rguenther@suse.de>
PR target/82005
* config/darwin.c (saved_debug_info_level): New static global.
(darwin_asm_lto_start): Disable debug info generation for LTO out.
(darwin_asm_lto_end): Restore debug info generation settings.
From-SVN: r258123
Peter Bergner [Fri, 2 Mar 2018 02:54:40 +0000 (20:54 -0600)]
re PR target/84534 (several powerpc test cases fail starting with r257915)
PR target/84534
* gcc.target/powerpc/vec-setup-be-long.c: Add dg-xfail-run-if on
powerpc64le*-*-linux*.
* gcc.target/powerpc/vsx-vector-6-le.c: Do not count xxlor's.
* gcc.target/powerpc/vsx-vector-6-le.p9.c: Likewise.
From-SVN: r258122
Martin Sebor [Fri, 2 Mar 2018 00:16:52 +0000 (00:16 +0000)]
PR c++/84294 - attributes on a function template redeclaration silently discarded
gcc/cp/ChangeLog:
PR c++/84294
* decl.c (check_redeclaration_no_default_args): Merge attributes
specified on redeclarations of the same function template.
Remove dead code.
gcc/testsuite/ChangeLog:
PR c++/84294
* g++.dg/ext/attr-const.C: Remove xfail.
* g++.dg/ext/attr-malloc-3.C: New test.
* g++.dg/ext/attr-noinline-3.C: New test.
* g++.dg/ext/attr-noreturn-3.C: New test.
* g++.dg/ext/attr-nothrow-3.C: New test.
* g++.dg/ext/attr-pure.C: Remove xfail.
From-SVN: r258121
GCC Administrator [Fri, 2 Mar 2018 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r258120
Jakub Jelinek [Thu, 1 Mar 2018 23:28:31 +0000 (00:28 +0100)]
re PR sanitizer/70875 (ICE in get_ubsan_type_info_for_type with -fsanitize=undefined)
PR sanitizer/70875
* gcc.dg/ubsan/bounds-3.c: Add -fno-sanitize-recover=bounds to
dg-options and dg-shouldfail "ubsan" directive.
From-SVN: r258117
Marek Polacek [Thu, 1 Mar 2018 22:44:54 +0000 (22:44 +0000)]
re PR c++/84582 (Rejected valid C++ code since r257961)
PR c++/84582
* semantics.c (force_paren_expr): Create a PAREN_EXPR when in
a template.
(maybe_undo_parenthesized_ref): Unwrap PAREN_EXPR.
* typeck2.c (store_init_value): Call fold_non_dependent_expr instead
of instantiate_non_dependent_expr.
* tree.c (lvalue_kind): Handle PAREN_EXPR like NON_DEPENDENT_EXPR.
* g++.dg/cpp1y/auto-fn15.C: Extend testing.
* g++.dg/cpp1z/static1.C: New test.
* g++.dg/template/static37.C: New test.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r258116
Nathan Sidwell [Thu, 1 Mar 2018 22:08:02 +0000 (22:08 +0000)]
[PR c++/84434] ICE with deduction guide
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00063.html
PR c++/84434
* name-lookup.c (member_vec_dedup): Remove manually peeled
iteration. Ignore dependent ctor inheritance.
PR c++/84434
* g++.dg/template/pr84434.C: New.
From-SVN: r258114
Ian Lance Taylor [Thu, 1 Mar 2018 19:56:14 +0000 (19:56 +0000)]
compiler: avoid crashing on bad self-referential type
The compiler was crashing partway through emitting an error for a bad
self-referential struct type (which refers to one of its own fields
via an unsafe.Offset expression). Tweak the offset logic to check for
this class of type error and exit cleanly.
Fixes golang/go#24180
Reviewed-on: https://go-review.googlesource.com/97855
From-SVN: r258112
Jason Merrill [Thu, 1 Mar 2018 19:40:36 +0000 (14:40 -0500)]
PR c++/71569 - decltype of template.
* parser.c (cp_parser_decltype_expr): Handle missing template args.
From-SVN: r258110
Marek Polacek [Thu, 1 Mar 2018 19:15:42 +0000 (19:15 +0000)]
re PR c++/84639 (gcc/c-family/c-attribs.c:1822:27: runtime error: shift exponent -1 is negative)
PR c++/84639
* c-attribs.c (common_handle_aligned_attribute): Don't use invalid
alignment in computation.
From-SVN: r258109
Thomas Preud'homme [Thu, 1 Mar 2018 18:22:56 +0000 (18:22 +0000)]
[ARM] Fix copysign_softfloat_1.c option directives
gcc.target/arm/copysign_softfloat_1.c's use of arm_arch_v6t2 in
dg-add-option changes the architecture to -march=armv6t2. Since the test
only requires Thumb-2 capable architecture, we just need to add -mthumb
on the command line since arm_thumb2_ok guarantees by definition that
doing that is enough to select Thumb-2. This fixes warning on the
command line when having -mcpu=cortex-m3 in RUNTESTFLAGS for instance.
2018-03-01 Thomas Preud'homme <thomas.preudhomme@arm.com
gcc/testsuite/
* gcc.target/arm/copysign_softfloat_1.c: Remove dg-add-options and add
-mthumb to the command-line.
From-SVN: r258108
Marek Polacek [Thu, 1 Mar 2018 17:08:35 +0000 (17:08 +0000)]
re PR c++/84596 (internal compiler error: unexpected expression '(bool)c' of kind implicit_conv_expr (cxx_eval_constant_expression))
PR c++/84596
* constexpr.c (require_rvalue_constant_expression): New function.
* cp-tree.h: Declare it.
* semantics.c (finish_static_assert): Use it instead of
require_potential_rvalue_constant_expression.
* g++.dg/cpp0x/static_assert14.C: New test.
From-SVN: r258107
Paolo Carlini [Thu, 1 Mar 2018 17:01:54 +0000 (17:01 +0000)]
re PR c++/79410 (internal compiler error: in gimplify_init_ctor_preeval, at gimplify.c:3489)
2018-03-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79410
* g++.dg/torture/pr79410.C: New.
From-SVN: r258106
Jason Merrill [Thu, 1 Mar 2018 16:00:34 +0000 (11:00 -0500)]
PR c++/71569 - ICE with redundant args on member variable template.
* decl.c (start_decl): Handle partial specialization of member
variable template.
* pt.c (determine_specialization): Allow partial specialization
of member variable template without specializing enclosing class.
(process_partial_specialization): Improve error message.
Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>
From-SVN: r258102
Martin Liska [Thu, 1 Mar 2018 14:54:10 +0000 (15:54 +0100)]
Do not handled volatile arguments (PR sanitizer/82484).
2018-03-01 Martin Liska <mliska@suse.cz>
PR sanitizer/82484
* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
volatile arguments.
2018-03-01 Martin Liska <mliska@suse.cz>
PR sanitizer/82484
* gcc.dg/asan/pr82484.c: New test.
From-SVN: r258101
Richard Biener [Thu, 1 Mar 2018 13:39:56 +0000 (13:39 +0000)]
re PR debug/84645 (-flto -g0 at compile-time vs. -flto -g at link time ICEs in add_dwarf_attr, at dwarf2out.c:4353)
2018-03-01 Richard Biener <rguenther@suse.de>
PR debug/84645
* dwarf2out.c (gen_variable_die): Properly handle late VLA
type annotation with LTO when debug was disabled at compile-time.
* gfortran.dg/lto/pr84645_0.f90: New testcase.
From-SVN: r258100
Matthew Fortune [Thu, 1 Mar 2018 11:37:35 +0000 (11:37 +0000)]
MIPS: Fix wrong use of XINT instead of INTVAL
This issue was caught with assert checking enabled but is not a
functional bug as XINT(x, 0) happens to overlay INTVAL(x) anyway.
gcc/
* config/mips/mips.c (mips_final_prescan_insn): Fix incorrect
XINT with INTVAL.
(mips_final_postscan_insn): Likewise.
From-SVN: r258099
Paul Thomas [Thu, 1 Mar 2018 11:06:18 +0000 (11:06 +0000)]
re PR fortran/84219 (Failure to generate error for IO of transfer intrinsic, when MOLD has derived type components.)
2018-03-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84219
* target-memory.c (gfc_interpret_derived): Assert that BT_VOID
components are caf tokens.
(gfc_target_interpret_expr): Treat BT_VOID expressions as
integers.
2018-03-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84219
* gfortran.dg/coarray_47.f90: New test.
From-SVN: r258098
Paul Thomas [Thu, 1 Mar 2018 08:56:31 +0000 (08:56 +0000)]
re PR fortran/84538 (Array of derived type elements incorrectly accessed in function)
2018-03-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84538
* class.c (class_array_ref_detected): Remove the condition that
there be no reference after the array reference.
(find_intrinsic_vtab): Remove excess whitespace.
* trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
as 'base and call build_class_array_ref earlier.
2018-03-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84538
* gfortran.dg/class_array_23.f03: New test.
From-SVN: r258097
Richard Sandiford [Thu, 1 Mar 2018 08:31:45 +0000 (08:31 +0000)]
Fix PR number in changelog entry
From-SVN: r258096
Richard Sandiford [Thu, 1 Mar 2018 08:30:20 +0000 (08:30 +0000)]
re PR target/84528 (gcc.c-torture/execute/960419-2.c -O3 fails with -fno-omit-frame-pointer)
2018-03-01 Richard Sandiford <richard.sandiford@linaro.org>
gcc/testsuite/
PR rtl-optimization/84528
* gcc.dg/torture/pr84538.c: Rename to...
* gcc.dg/torture/pr84528.c: ...this.
From-SVN: r258095
Richard Sandiford [Thu, 1 Mar 2018 08:22:06 +0000 (08:22 +0000)]
Tighten use of HARD_FRAME_POINTER_REGNUM in alias.c (PR 84538)
RTL code needs to be consistent about whether it uses the stack
pointer, the frame pointer or the argument pointer to access a
given part of the frame. alias.c used this to divide accesses
into three independent areas.
The problem in the PR is that we did this for HARD_FRAME_POINTER_REGNUM
even when the register wasn't being used as a frame pointer. We can't
do that because the frame pointer is then just any old allocatable
register and could certainly point to info accessed through the
argument pointer or stack pointer.
2018-03-01 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
PR rtl-optimization/84538
* alias.c (init_alias_target): Add commentary.
(init_alias_analysis): Only give HARD_FRAME_POINTER_REGNUM
a unique base value if the frame pointer is not eliminated
to the stack pointer.
gcc/testsuite/
PR rtl-optimization/84538
* gcc.dg/torture/pr84538.c: New test.
From-SVN: r258094
Tom de Vries [Thu, 1 Mar 2018 05:51:08 +0000 (05:51 +0000)]
Fix liveness analysis in lra for spilled-into hard regs
2018-03-01 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/83327
* lra-int.h (hard_regs_spilled_into): Declare.
* lra.c (hard_regs_spilled_into): Define.
(init_reg_info): Init hard_regs_spilled_into.
* lra-spills.c (assign_spill_hard_regs): Update hard_regs_spilled_into.
* lra-lives.c (make_hard_regno_born, make_hard_regno_dead)
(process_bb_lives): Handle hard_regs_spilled_into.
(lra_create_live_ranges_1): Before doing liveness propagation, clear
regs in all_hard_regs_bitmap if set in hard_regs_spilled_into.
From-SVN: r258093
GCC Administrator [Thu, 1 Mar 2018 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r258092
Martin Sebor [Wed, 28 Feb 2018 23:39:52 +0000 (23:39 +0000)]
Warray-bounds-2.c: Declare helper static to avoid -fpic test failures.
gcc/testsuite/ChangeLog:
* c-c++-common/Warray-bounds-2.c: Declare helper static to avoid
-fpic test failures.
* c-c++-common/Wrestrict-2.c: Same.
* c-c++-common/Wstringop-truncation.c: Same.
* gcc.dg/Warray-bounds-22.c: Same.
* gcc.dg/Wstringop-overflow.c: Same.
* gcc.dg/attr-alloc_size-3.c (unsigned_range): Same.
(signed_range): Same.
(unsigned_anti_range): Same.
* gcc.dg/attr-alloc_size-4.c (unsigned_range): Same.
(signed_range): Same.
(unsigned_anti_range): Same.
* gcc.dg/attr-alloc_size-7.c: Same.
* gcc.dg/attr-alloc_size-8.c: Same.
* gcc.dg/builtin-alloc-size.c: Same.
* gcc.dg/builtin-stpncpy.c: Same.
* gcc.dg/builtins-nonnull.c: Same.
* gcc.dg/nonnull-4.c (g16_1_3_5_7_11_13): Same.
* gcc.dg/pr79214.c: Same.
* gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-12.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-13.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-14.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-19.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same.
From-SVN: r258089
Jason Merrill [Wed, 28 Feb 2018 21:34:07 +0000 (16:34 -0500)]
PR c++/71784 - ICE with ref-qualifier and explicit specialization.
* pt.c (determine_specialization): Check ref-qualifier.
From-SVN: r258085
David Edelsohn [Wed, 28 Feb 2018 20:00:03 +0000 (20:00 +0000)]
config.gcc (powerpc-ibm-aix7.1.*): New stanza.
* config.gcc (powerpc-ibm-aix7.1.*): New stanza.
(powerpc-ibm-aix[789]*): Default to AIX 7.2.
* config/rs6000/aix71.h (TARGET_DEFAULT): Revert to Power4 ISA.
* config/rs6000/aix72.h: New file.
From-SVN: r258082
David Edelsohn [Wed, 28 Feb 2018 19:53:24 +0000 (19:53 +0000)]
re PR target/84014 (ICE in setup_min_max_allocno_live_range_point, at ira-build.c:2762)
PR target/84014
* gcc.target/powerpc/pr84014.c: Use ilp32, not -m32 option.
From-SVN: r258081
Jakub Jelinek [Wed, 28 Feb 2018 18:57:38 +0000 (19:57 +0100)]
re PR c++/84609 (internal compiler error: in cp_parser_abort_tentative_parse, at cp/parser.c:28960 (cp_parser_member_declaration()))
PR c++/84609
* parser.c (cp_parser_attributes_opt): Formatting fix.
(cp_parser_skip_balanced_tokens, cp_parser_skip_gnu_attributes_opt,
cp_parser_skip_std_attribute_spec_seq, cp_parser_skip_attributes_opt):
New functions.
(cp_parser_member_declaration): Use cp_parser_skip_attributes_opt
instead of tentative parse to peek over optional attribute tokens
to check for CPP_COLON after them.
* g++.dg/cpp0x/pr84609.C: New test.
From-SVN: r258080
Jakub Jelinek [Wed, 28 Feb 2018 18:56:36 +0000 (19:56 +0100)]
re PR c++/83871 (wrong code for attribute const and pure on distinct template specializations)
PR c++/83871
PR c++/83503
* pt.c (INCLUDE_STRING): Remove define.
(warn_spec_missing_attributes): Use pretty_printer instead of
std::string. Fix up inform call so that the list of attributes
is in %s argument.
From-SVN: r258079
Jakub Jelinek [Wed, 28 Feb 2018 18:38:19 +0000 (19:38 +0100)]
gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of warning_at with conditional singular and plural...
* gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n
instead of warning_at with conditional singular and plural messages
where possible.
From-SVN: r258078
Martin Sebor [Wed, 28 Feb 2018 18:28:53 +0000 (18:28 +0000)]
PR testsuite/84617 - new test cases g++.dg/ext/attr-const.C and g++.dg/ext/attr-pure.C fail
gcc/cp/ChangeLog:
* decl.c (duplicate_decls): Fully merge attributes const, pure,
and malloc.
gcc/testsuite/ChangeLog:
* g++.dg/ext/attr-malloc-3.C: New test.
* g++.dg/ext/attr-const.C: Adjust. Xfail assertions failing due
to pre-existing problems.
* g++.dg/ext/attr-pure.C: Same.
From-SVN: r258077
Paul Thomas [Wed, 28 Feb 2018 17:36:20 +0000 (17:36 +0000)]
re PR fortran/83901 (ICE in fold_convert_loc, at fold-const.c:2402)
2018-02-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/83901
* trans-stmt.c (trans_associate_var): Make sure that the se
expression is a pointer type before converting it to the symbol
backend_decl type.
2018-02-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/83901
* gfortran.dg/associate_37.f90: New test.
PR fortran/83344
* gfortran.dg/associate_36.f90: Add Steve Kargl as contributer.
From-SVN: r258076
Jakub Jelinek [Wed, 28 Feb 2018 17:17:29 +0000 (18:17 +0100)]
re PR target/52991 (attribute packed broken on mingw32?)
PR target/52991
* stor-layout.c (update_alignment_for_field): For
targetm.ms_bitfield_layout_p (rli->t), if !is_bitfield
&& !DECL_PACKED (field), do the alignment update, just use
only desired_align instead of MAX (type_align, desired_align)
as the alignment.
(place_field): Don't do known_align < desired_align handling
early if targetm.ms_bitfield_layout_p (rli->t) and rli->prev_field
is non-NULL, instead do it after rli->prev_field handling and
only if not within a bitfield word. For DECL_PACKED (field)
use type_align of BITS_PER_UNIT.
* gcc.dg/bf-ms-layout.c: Revert 2012-04-26 changes.
* gcc.dg/bf-ms-layout-2.c: Revert 2012-02-23 changes.
* gcc.dg/bf-ms-layout-4.c: New test.
* gcc.dg/bf-ms-layout-5.c: New test.
From-SVN: r258075
Eric Botcazou [Wed, 28 Feb 2018 16:45:53 +0000 (16:45 +0000)]
aarch64.c (aarch64_emit_probe_stack_range): Remove superfluous parentheses and trailing spaces.
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Remove
superfluous parentheses and trailing spaces.
From-SVN: r258074
H.J. Lu [Wed, 28 Feb 2018 16:19:51 +0000 (08:19 -0800)]
Remove config/i386/i386.opt from revision 258001 ChangeLog
Revision 258001 doesn't change config/i386/i386.opt.
From-SVN: r258073
Peter Bergner [Wed, 28 Feb 2018 15:43:41 +0000 (09:43 -0600)]
re PR target/83399 (Power8 ICE During LRA with 2-op rtl pattern for lvx instruction)
PR target/83399
* gcc.target/powerpc/pr83399.c: Only run on Linux.
From-SVN: r258071
Richard Biener [Wed, 28 Feb 2018 15:33:33 +0000 (15:33 +0000)]
re PR tree-optimization/84584 ([graphite] ICE: Segmentation fault (in dominated_by_p))
2018-02-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/84584
* graphite-scop-detection.c (scop_detection::add_scop): Discard
SCoPs with fake exit edge.
* gcc.dg/graphite/pr84584.c: New testcase.
From-SVN: r258070
Jonathan Wakely [Wed, 28 Feb 2018 15:27:17 +0000 (15:27 +0000)]
PR preprocessor/84517 allow double-underscore macros after string literals
gcc/testsuite:
PR preprocessor/84517
* g++.dg/cpp0x/udlit-macros.C: Expect a warning for ""__FILE__.
libcpp:
PR preprocessor/84517
* lex.c (is_macro_not_literal_suffix): New function.
(lex_raw_string, lex_string): Use is_macro_not_literal_suffix to
decide when to issue -Wliteral-suffix warnings.
From-SVN: r258069
Eric Botcazou [Wed, 28 Feb 2018 14:31:02 +0000 (14:31 +0000)]
i-cexten.ads (Float_128): New type.
ada/
* libgnat/i-cexten.ads (Float_128): New type.
c-family/
* c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
<REAL_TYPE>: Deal specifically with _Float128/__float128.
From-SVN: r258068
Eric Botcazou [Wed, 28 Feb 2018 14:14:12 +0000 (14:14 +0000)]
c-ada-spec.c (dump_ada_double_name): New case.
* c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
(is_char_array): Take a type instead of a declaration.
(dump_ada_array_type): Likewise.
(is_simple_enum): Minor tweak.
(dump_ada_enum_type): New function extracted from...
(dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
<INTEGER_TYPE>: Remove unreachable code.
<RECORD_TYPE>: Likewise. Minor tweaks.
(dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
<ENUMERAL_TYPE>: New case.
<RECORD_TYPE>: Factor out common code.
(dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
Minor tweaks. Deal with enumeral types.
(dump_ada_structure): Minor tweaks.
From-SVN: r258067
Eric Botcazou [Wed, 28 Feb 2018 13:59:44 +0000 (13:59 +0000)]
c-ada-spec.c (dump_ada_node): Do not use generic address for incomplete structures.
* c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
address for incomplete structures.
(dump_forward_type): Do not bail out for incomplete structures.
(dump_ada_declaration): Do not special-case incomplete structures
for subtypes. Dump them as null records for types.
From-SVN: r258066
Eric Botcazou [Wed, 28 Feb 2018 13:53:54 +0000 (13:53 +0000)]
c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
(is_char_array): Fix formatting.
(dump_template_types): Likewise.
(dump_generic_ada_node): Rename into...
(dump_ada_node): ...this.
<POINTER_TYPE>: Remove superfluous space. Use generic address for
incomplete structures and not for empty structures. Do not use it
when forward declarations are needed.
(dump_forward_type): New function.
(dump_nested_types): Remove FORWARD parameter. Do not consider
TREE_VISITED and do not generate a forward declaration. Only dump
original nested types for nested declaration.
(dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
<ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
<RECORD_TYPE>: Do not consider TREE_VISITED.
(dump_ada_declaration): Use booleans and fix formatting throughout.
<TYPE_DECL>: Skip incomplete structures and not empty structures.
Call dump_forward_type instead of dump_nested_types for a typedef.
Remove superfluous check and adjust call to dump_nested_types.
<POINTER_TYPE>: Call dump_forward_type and fall through.
(dump_ada_struct_decl): Rename into...
(dump_ada_structure): ...this. Do not special-case empty structures.
From-SVN: r258064
Martin Liska [Wed, 28 Feb 2018 13:45:59 +0000 (14:45 +0100)]
Fix timevar format and fix tests (PR testsuite/84597).
2018-02-28 Martin Liska <mliska@suse.cz>
PR testsuite/84597
* timevar.c (timer::print): Fix format to properly print 100%
values.
2018-02-28 Martin Liska <mliska@suse.cz>
PR testsuite/84597
* g++.dg/ext/timevar1.C: Fix pruned patterns.
* g++.dg/ext/timevar2.C: Likewise.
From-SVN: r258063
Eric Botcazou [Wed, 28 Feb 2018 13:43:38 +0000 (13:43 +0000)]
c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
(is_char_array): Fix formatting.
(dump_template_types): Likewise.
(dump_generic_ada_node): Rename into...
(dump_ada_node): ...this.
<POINTER_TYPE>: Remove superfluous space. Use generic address for
incomplete structures and not for empty structures. Do not use it
when forward declarations are needed.
(dump_forward_type): New function.
(dump_nested_types): Remove FORWARD parameter. Do not consider
TREE_VISITED and do not generate a forward declaration. Only dump
original nested types for nested declaration.
(dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
<ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
<RECORD_TYPE>: Do not consider TREE_VISITED.
(dump_ada_declaration): Use booleans and fix formatting throughout.
<TYPE_DECL>: Skip incomplete structures and not empty structures.
Call dump_forward_type instead of dump_nested_types for a typedef.
Remove superfluous check and adjust call to dump_nested_types.
<POINTER_TYPE>: Call dump_forward_type and fall through.
(dump_ada_struct_decl): Rename into...
(dump_ada_structure): ...this. Do not special-case empty structures.
From-SVN: r258062
Richard Biener [Wed, 28 Feb 2018 13:40:41 +0000 (13:40 +0000)]
re PR c/84607 (Side effects discarded in address computation inside 'if')
2018-02-28 Richard Biener <rguenther@suse.de>
PR middle-end/84607
* genmatch.c (capture_info::walk_match): Do not mark
captured expressions without operands as expr_p given
they act more like predicates and should be subject to
"lost tail" side-effect preserving.
* gcc.dg/pr84607.c: New testcase.
From-SVN: r258061
Nathan Sidwell [Wed, 28 Feb 2018 12:32:10 +0000 (12:32 +0000)]
[PR c++/84602] ICE with anon-struct
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01577.html
PR c++/84602
* name-lookup.h (search_anon_aggr): Add defaulted WANT_TYPE arg.
* name-lookup.c (fields_linear_search): Look in an anon-aggr
regardless of want_type.
(search_anon_aggr): Just use get_class_binding_direct.
PR c++/84602
* g++.dg/lookup/pr84602.C: New.
From-SVN: r258060
Jakub Jelinek [Wed, 28 Feb 2018 09:43:10 +0000 (10:43 +0100)]
re PR c++/83871 (wrong code for attribute const and pure on distinct template specializations)
PR c++/83871
PR c++/83503
* g++.dg/ext/attr-warning.C: Remove -fdump-tree-optimized from
dg-options.
* g++.dg/ext/attr-nonnull.C: Likewise.
* g++.dg/ext/attr-noinline.C: Fix syntax in scan-tree-dump-not directives.
* g++.dg/ext/attr-noinline-2.C: Likewise.
* g++.dg/ext/attr-noreturn-2.C: Use -fdump-tree-optimized instead of
-fdump-tree-eh in dg-options.
From-SVN: r258059
Jakub Jelinek [Wed, 28 Feb 2018 09:01:13 +0000 (10:01 +0100)]
decl.c (cp_finish_decomp): Don't adjust eltscnt when calling inform_n.
* decl.c (cp_finish_decomp): Don't adjust eltscnt when calling
inform_n.
From-SVN: r258058
Jakub Jelinek [Wed, 28 Feb 2018 08:59:15 +0000 (09:59 +0100)]
re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace)
PR debug/83917
* configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to
$asm_hidden_op if visibility ("hidden") attribute works.
(HAVE_AS_CFI_SECTIONS): New AC_DEFINE.
* config/i386/i386-asm.h: Don't include auto-host.h.
(PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME,
PACKAGE_URL): Don't undefine.
(USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead
guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM.
(FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to
#ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the
definition instead of hardcoded .hidden.
* config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections
directive. Use #ifdef HAVE_AS_CFI_SECTIONS rather than
#ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections.
(USE_GAS_CFI_DIRECTIVES): Don't define.
* configure: Regenerated.
* config.in: Likewise.
From-SVN: r258057
Alan Modra [Wed, 28 Feb 2018 08:03:06 +0000 (18:33 +1030)]
gcc testsuite changes for new linker messages
GNU ld error messages have changed to comply with the GNU coding
standards.
* lib/prune.exp (prune_gcc_output): Match lower case "in function"
GNU ld message.
* g++.dg/other/anon5.C: Match lower case "bad value" GNU ld message.
From-SVN: r258054
Alexandre Oliva [Wed, 28 Feb 2018 05:25:34 +0000 (05:25 +0000)]
[PR81611] turn inc-and-use-of-dead-orig into auto-inc
When the addressing modes available on the machine don't allow offsets
in addresses, odds are that post-increments will be represented in
trees and RTL as:
y <= x + 1
... *(x) ...
x <= y
so deal with it by turning such RTL as:
(set y (plus x n))
... (mem x) ...
without intervening uses of y into
(set y x)
... (mem (post_add y n)) ...
so as to create auto-inc addresses that we'd otherwise miss.
for gcc/ChangeLog
PR rtl-optimization/81611
* auto-inc-dec.c (attempt_change): Move dead note from
mem_insn if it's the next use of regno
(find_address): Take address use of reg holding
non-incremented value. Add parm to limit search to the named
reg only.
(merge_in_block): Attempt to use a mem insn that is the next
use of the original regno.
From-SVN: r258053
Ian Lance Taylor [Wed, 28 Feb 2018 01:39:03 +0000 (01:39 +0000)]
runtime: update AIX memory allocation for new versions
Reviewed-on: https://go-review.googlesource.com/97357
From-SVN: r258052
Ian Lance Taylor [Wed, 28 Feb 2018 01:19:07 +0000 (01:19 +0000)]
libgo: update to final Go 1.10 release
Reviewed-on: https://go-review.googlesource.com/97517
From-SVN: r258051
GCC Administrator [Wed, 28 Feb 2018 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r258050
Martin Sebor [Tue, 27 Feb 2018 23:29:51 +0000 (23:29 +0000)]
Avoid including <string> directly.
From-SVN: r258046
Martin Sebor [Tue, 27 Feb 2018 22:28:21 +0000 (22:28 +0000)]
PR c++/83871 - wrong code for attribute const and pure on distinct template specializations
PR c++/83871 - wrong code for attribute const and pure on distinct template specializations
PR c++/83503 - [8 Regression] bogus -Wattributes for const and pure on function template specialization
gcc/ChangeLog:
PR c++/83871
* gcc/doc/invoke.texi (-Wmissing-attributes): New option.
* gcc/print-tree.c (print_node): Handle DECL_UNINLINABLE.
gcc/c-family/ChangeLog:
PR c++/83871
* c.opt (-Wmissing-attributes): New option.
gcc/cp/ChangeLog:
PR c++/83871
PR c++/83503
* cp-tree.h (warn_spec_missing_attributes): New function.
((check_explicit_specialization): Add an argument. Call the above
function.
* decl.c (duplicate_decls): Avoid applying primary function template's
attributes to its explicit specializations.
cp/pt.c (warn_spec_missing_attributes): Define.
gcc/testsuite/ChangeLog:
PR c++/83871
PR c++/83503
* g++.dg/Wmissing-attributes.C: New test.
* g++.dg/ext/attr-const-pure.C: New test.
* g++.dg/ext/attr-const.C: New test.
* g++.dg/ext/attr-deprecated-2.C: New test.
* g++.dg/ext/attr-malloc-2.C: New test.
* g++.dg/ext/attr-malloc.C: New test.
* g++.dg/ext/attr-noinline-2.C: New test.
* g++.dg/ext/attr-noinline.C: New test.
* g++.dg/ext/attr-nonnull.C: New test.
* g++.dg/ext/attr-noreturn-2.C: New test.
* g++.dg/ext/attr-noreturn.C: New test.
* g++.dg/ext/attr-nothrow-2.C: New test.
* g++.dg/ext/attr-nothrow.C: New test.
* g++.dg/ext/attr-optimize.C: New test.
* g++.dg/ext/attr-pure.C: New test.
* g++.dg/ext/attr-returns-nonnull.C: New test.
* g++.dg/ext/attr-warning.C: New test.
From-SVN: r258045
Martin Sebor [Tue, 27 Feb 2018 22:06:03 +0000 (22:06 +0000)]
PR translation/84207 - Hard coded plural in gimple-fold.c
gcc/ChangeLog:
PR translation/84207
* diagnostic-core.h (warning_n, error_n, inform_n): Change
n argument to unsigned HOST_WIDE_INT.
* diagnostic.c (warning_n, error_n, inform_n): Ditto.
(diagnostic_n_impl): Ditto. Handle arguments in excess of LONG_MAX.
* gimple-ssa-sprintf.c (format_directive): Simplify inform_n call.
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Use warning_n.
From-SVN: r258044
Håkon Sandsmark [Tue, 27 Feb 2018 20:57:35 +0000 (20:57 +0000)]
PR c++/71546 - lambda init-capture with qualified-id.
* parser.c (cp_parser_lambda_introducer): Clear scope after
each lambda capture.
From-SVN: r258043
Nathan Sidwell [Tue, 27 Feb 2018 20:52:15 +0000 (20:52 +0000)]
[PR c++/84426] ICE after conflicting member decl
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01529.html
PR c++/84426
* name-lookup.h (get_member_slot): Rename ...
(find_member_slot): ... here.
(add_member_slot): New.
* name-lookup.c (member_vec_linear_search): No need to check for
NULL slot.
(get_member_slot): Rename ...
(find_member_slot): ... here. Don't add slot for incomplete class.
(add_member_slot): New.
* class.c (add_method): Adjust get_member_slot rename. Bail out
if push_class_level_binding fails. Create slot and grok
properties once we're committed to insertion.
PR c++/84426
* g++.dg/lookup/pr84426.C: New.
From-SVN: r258042