1. 01 Mar, 2018 4 commits
    • re PR target/84528 (gcc.c-torture/execute/960419-2.c -O3 fails with -fno-omit-frame-pointer) · 6ecdd2b4
      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 committed
    • Tighten use of HARD_FRAME_POINTER_REGNUM in alias.c (PR 84538) · e6eacdc9
      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
      Richard Sandiford committed
    • Fix liveness analysis in lra for spilled-into hard regs · 54178a01
      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
      Tom de Vries committed
    • Daily bump. · 7540ea86
      From-SVN: r258092
      GCC Administrator committed
  2. 28 Feb, 2018 31 commits
    • Warray-bounds-2.c: Declare helper static to avoid -fpic test failures. · d8e0920d
      
      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
      Martin Sebor committed
    • PR c++/71784 - ICE with ref-qualifier and explicit specialization. · 9ea97097
      	* pt.c (determine_specialization): Check ref-qualifier.
      
      From-SVN: r258085
      Jason Merrill committed
    • config.gcc (powerpc-ibm-aix7.1.*): New stanza. · 74fc2a2b
      * 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 committed
    • re PR target/84014 (ICE in setup_min_max_allocno_live_range_point, at ira-build.c:2762) · 99f6220a
              PR target/84014
              * gcc.target/powerpc/pr84014.c: Use ilp32, not -m32 option.
      
      From-SVN: r258081
      David Edelsohn committed
    • re PR c++/84609 (internal compiler error: in cp_parser_abort_tentative_parse, at… · 60d2d641
      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 committed
    • re PR c++/83871 (wrong code for attribute const and pure on distinct template specializations) · f6eee6bf
      	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 committed
    • gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of… · 15d3974b
      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
      Jakub Jelinek committed
    • PR testsuite/84617 - new test cases g++.dg/ext/attr-const.C and g++.dg/ext/attr-pure.C fail · be583c04
      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
      Martin Sebor committed
    • re PR fortran/83901 (ICE in fold_convert_loc, at fold-const.c:2402) · b14a13fa
      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
      Paul Thomas committed
    • re PR target/52991 (attribute packed broken on mingw32?) · ba64c7b8
      	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
      Jakub Jelinek committed
    • aarch64.c (aarch64_emit_probe_stack_range): Remove superfluous parentheses and trailing spaces. · 8dd64cdf
      	* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Remove
      	superfluous parentheses and trailing spaces.
      
      From-SVN: r258074
      Eric Botcazou committed
    • Remove config/i386/i386.opt from revision 258001 ChangeLog · 6fd94ee2
      Revision 258001 doesn't change config/i386/i386.opt.
      
      From-SVN: r258073
      H.J. Lu committed
    • re PR target/83399 (Power8 ICE During LRA with 2-op rtl pattern for lvx instruction) · bf3c8adf
      	PR target/83399
      	* gcc.target/powerpc/pr83399.c: Only run on Linux.
      
      From-SVN: r258071
      Peter Bergner committed
    • re PR tree-optimization/84584 ([graphite] ICE: Segmentation fault (in dominated_by_p)) · 0e0e545f
      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
      Richard Biener committed
    • PR preprocessor/84517 allow double-underscore macros after string literals · b44f8ad8
      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
      Jonathan Wakely committed
    • i-cexten.ads (Float_128): New type. · c6db43fa
      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 committed
    • c-ada-spec.c (dump_ada_double_name): New case. · 9e25c7ed
      	* 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 committed
    • c-ada-spec.c (dump_ada_node): Do not use generic address for incomplete structures. · 09de3550
      	* 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 committed
    • c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. · e02f4b92
      	* 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
      Eric Botcazou committed
    • Fix timevar format and fix tests (PR testsuite/84597). · 4830cfc0
      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
      Martin Liska committed
    • c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. · 095d8d4b
      	* 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
      Eric Botcazou committed
    • re PR c/84607 (Side effects discarded in address computation inside 'if') · 9348eb67
      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
      Richard Biener committed
    • [PR c++/84602] ICE with anon-struct · 35129fd3
      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
      Nathan Sidwell committed
    • re PR c++/83871 (wrong code for attribute const and pure on distinct template specializations) · 6030f6fe
      	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 committed
    • decl.c (cp_finish_decomp): Don't adjust eltscnt when calling inform_n. · c1299a9e
      	* decl.c (cp_finish_decomp): Don't adjust eltscnt when calling
      	inform_n.
      
      From-SVN: r258058
      Jakub Jelinek committed
    • re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call… · ce579a4f
      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
      Jakub Jelinek committed
    • gcc testsuite changes for new linker messages · 678127a8
      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
      Alan Modra committed
    • [PR81611] turn inc-and-use-of-dead-orig into auto-inc · 408e8935
      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
      Alexandre Oliva committed
    • libgo: update to final Go 1.10 release · 930540ca
          
          Reviewed-on: https://go-review.googlesource.com/97517
      
      From-SVN: r258051
      Ian Lance Taylor committed
    • Daily bump. · 5007cea3
      From-SVN: r258050
      GCC Administrator committed
  3. 27 Feb, 2018 5 commits
    • Avoid including <string> directly. · 2211eff6
      From-SVN: r258046
      Martin Sebor committed
    • PR c++/83871 - wrong code for attribute const and pure on distinct template specializations · d4cfd486
      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 committed
    • PR translation/84207 - Hard coded plural in gimple-fold.c · 1c89478a
      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
      Martin Sebor committed
    • PR c++/71546 - lambda init-capture with qualified-id. · 76bd270a
      	* parser.c (cp_parser_lambda_introducer): Clear scope after
      	each lambda capture.
      
      From-SVN: r258043
      Håkon Sandsmark committed
    • [PR c++/84426] ICE after conflicting member decl · 10b5c982
      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
      Nathan Sidwell committed