1. 20 Jan, 2017 40 commits
    • * update-copyright.py (LibJavaFilter): Remove. · a395b2e5
      From-SVN: r244719
      Gerald Pfeifer committed
    • [multiple changes] · be42aa71
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb: minor style fixes in comments.
      	* sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay
      	relative statement introduces an implicit dependency on
      	Ada.Real_Time.Clock_Time.
      	* sem_util.adb: Minor reformatting.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment
      	must be treated as delayed aspect even if the expression is
      	a literal, because the aspect affects the freezing and the
      	elaboration of the object to which it applies.
      
      2017-01-20  Tristan Gingold  <gingold@adacore.com>
      
      	* s-osinte-vxworks.ads (Interrup_Range): New subtype.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.adb (Generate_Reference): Do not warn about the
      	presence of a pragma Unreferenced if the entity appears as the
      	actual in a procedure call that does not come from source.
      
      2017-01-20  Pascal Obry  <obry@adacore.com>
      
      	* expect.c, terminals.c: Fix some warnings about unused variables.
      	* gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part
      	of the runtime.
      
      2017-01-20  Bob Duff  <duff@adacore.com>
      
      	* exp_attr.adb (Constrained): Apply an access check (check that
      	the prefix is not null) when the prefix denotes an object of an
      	access type; that is, when there is an implicit dereference.
      
      2017-01-20  Gary Dismukes  <dismukes@adacore.com>
      
      	* s-rident.ads (constant Profile_Info): Remove
      	No_Calendar from GNAT_Extended_Ravenscar restrictions.
      
      2017-01-20  Tristan Gingold  <gingold@adacore.com>
      
      	*  s-maccod.ads: Add pragma No_Elaboration_Code_All
      
      From-SVN: r244718
      Arnaud Charlet committed
    • omp-offload: use PROP_gimple_lomp_dev · 4cea8675
      	* omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
      	of safelen status.
      	* omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
      	* passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
      	* tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
      
      From-SVN: r244717
      Alexander Monakov committed
    • [ARM] PR target/71270 fix neon_valid_immediate for big-endian · 8b0fb476
      	PR target/71270
      	* config/arm/arm.c (neon_valid_immediate): Reject vector constants
      	in big-endian mode when they are not a single duplicated value.
      
      From-SVN: r244716
      Kyrylo Tkachov committed
    • C++: fix fix-it hints for misspellings within explicit namespaces · ebed7175
      gcc/cp/ChangeLog:
      	PR c++/77829
      	PR c++/78656
      	* cp-tree.h (suggest_alternatives_for): Add bool param.
      	(suggest_alternative_in_explicit_scope): New decl.
      	* error.c (qualified_name_lookup_error): When SCOPE is a namespace
      	that isn't the global one, call new function
      	suggest_alternative_in_explicit_scope, only calling
      	suggest_alternatives_for if it fails, and disabling near match
      	searches fort that case.  When SCOPE is the global namespace,
      	pass true for new param to suggest_alternatives_for to allow for
      	fuzzy name lookups.
      	* lex.c (unqualified_name_lookup_error): Pass true for new param
      	to suggest_alternatives_for.
      	* name-lookup.c (consider_binding_level): Add forward decl.
      	(suggest_alternatives_for): Add "suggest_misspellings" param,
      	using it to conditionalize the fuzzy name-lookup code.
      	(suggest_alternative_in_explicit_scope): New function.
      	* parser.c (cp_parser_primary_expression): When calling
      	finish_id_expression, pass location of id_expression rather
      	than that of id_expr_token.
      	(cp_parser_id_expression): Convert local "unqualified_id" from
      	tree to cp_expr to avoid implicitly dropping location information.
      
      gcc/testsuite/ChangeLog:
      	PR c++/77829
      	PR c++/78656
      	* g++.dg/spellcheck-pr77829.C: New test case.
      	* g++.dg/spellcheck-pr78656.C: New test case.
      
      From-SVN: r244715
      David Malcolm committed
    • BASE-VER: Bump to 7.0.1. · d40036b8
      2017-01-20  Richard Biener  <rguenther@suse.de>
      
      	* BASE-VER: Bump to 7.0.1.
      
      From-SVN: r244714
      Richard Biener committed
    • omp-low: introduce omplow_simd_context · 6943af07
      	* omp-low.c (omplow_simd_context): New struct.  Use it...
      	(lower_rec_simd_input_clauses): ...here and...
      	(lower_rec_input_clauses): ...here to hold common data.  Adjust all
      	references to idx, lane, max_vf, is_simt.
      
      From-SVN: r244713
      Alexander Monakov committed
    • arc/nps: Use arclinux_nps linker emulation for nps · 7b96920e
      gcc/ChangeLog:
      
      	* config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
      	mcpu=nps400.
      
      From-SVN: r244712
      Graham Markall committed
    • [hsa] Rename hsa.[ch] to hsa-common.[ch] · 13293add
      2017-01-20  Martin Jambor  <mjambor@suse.cz>
              
              * hsa.h: Renaed to hsa-common.h.  Adjusted a comment.
              * hsa.c: Renaed to hsa-common.c.  Change include of gt-hsa.h to
              gt-hsa-common.h.
              * Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
              (GTFILES): Rename hsa.c to hsa-common.c.
              * hsa-brig.c: Change include of hsa.h to hsa-common.h.
              * hsa-dump.c: Likewise.
              * hsa-gen.c: Likewise.
              * hsa-regalloc.c: Likewise.
              * ipa-hsa.c: Likewise.
              * omp-expand.c: Likewise.
              * omp-low.c: Likewise.
              * toplev.c: Likewise.
      
      From-SVN: r244711
      Martin Jambor committed
    • [AArch64] Always include linux-unwind.h · aa348be2
      libgcc/
              * config/aarch64/linux-unwind.h: Always include aarch64-unwind.h.
      
      From-SVN: r244710
      Jiong Wang committed
    • PR72792 detect allocator pointer types without invalid rebinding · 4dfdda10
      	PR libstdc++/72792
      	* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
      	(__allocator_traits_base::__size_type): Remove.
      	(allocator_traits::_Ptr): New class template to detect const and void
      	pointer types without instantiating pointer_traits::rebind
      	unnecessarily.
      	(allocator_traits::_Diff): Likewise for detecting difference_type.
      	(allocator_traits::_Size): New class template to detect size_type
      	without instantiating make_unsigned unnecessarily.
      	* include/bits/ptr_traits.h (pointer_traits::element_type): Use
      	__detected_or_t instead of __detected_or_t_.
      	* include/std/type_traits (__detected_or_t_): Remove.
      	* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
      
      From-SVN: r244706
      Jonathan Wakely committed
    • re PR c/64279 (Warning missing for "(cond) ? A : A" / if(cond) expr1; else… · 2ebd93e1
      re PR c/64279 (Warning missing for "(cond) ? A : A" / if(cond) expr1; else expr1; // same expression in if and else branch)
      
      	PR c/64279
      	* c-common.h (do_warn_duplicated_branches_r): Declare.
      	* c-gimplify.c (c_genericize): Walk the function tree calling
      	do_warn_duplicated_branches_r.
      	* c-warn.c (expr_from_macro_expansion_r): New.
      	(do_warn_duplicated_branches): New.
      	(do_warn_duplicated_branches_r): New.
      	* c.opt (Wduplicated-branches): New option.
      
      	* c-typeck.c (build_conditional_expr): Warn about duplicated branches.
      
      	* call.c (build_conditional_expr_1): Warn about duplicated branches.
      	* semantics.c (finish_expr_stmt): Build statement using the proper
      	location.
      
      	* doc/invoke.texi: Document -Wduplicated-branches.
      	* fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
      	COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
      	POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
      	STATEMENT_LIST, and RETURN_EXPR.  For non-pure non-const functions
      	return 0 only when not OEP_LEXICOGRAPHIC.
      	(fold_build_cleanup_point_expr): Use the expression
      	location when building CLEANUP_POINT_EXPR.
      	* tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
      	* tree.c (add_expr): Handle error_mark_node.
      
      	* c-c++-common/Wduplicated-branches-1.c: New test.
      	* c-c++-common/Wduplicated-branches-10.c: New test.
      	* c-c++-common/Wduplicated-branches-11.c: New test.
      	* c-c++-common/Wduplicated-branches-12.c: New test.
      	* c-c++-common/Wduplicated-branches-2.c: New test.
      	* c-c++-common/Wduplicated-branches-3.c: New test.
      	* c-c++-common/Wduplicated-branches-4.c: New test.
      	* c-c++-common/Wduplicated-branches-5.c: New test.
      	* c-c++-common/Wduplicated-branches-6.c: New test.
      	* c-c++-common/Wduplicated-branches-7.c: New test.
      	* c-c++-common/Wduplicated-branches-8.c: New test.
      	* c-c++-common/Wduplicated-branches-9.c: New test.
      	* c-c++-common/Wimplicit-fallthrough-7.c: Coalesce dg-warning.
      	* g++.dg/cpp0x/lambda/lambda-switch.C: Move dg-warning.
      	* g++.dg/ext/builtin-object-size3.C: Likewise.
      	* g++.dg/gomp/loop-1.C: Likewise.
      	* g++.dg/warn/Wduplicated-branches1.C: New test.
      	* g++.dg/warn/Wduplicated-branches2.C: New test.
      
      From-SVN: r244705
      Marek Polacek committed
    • [multiple changes] · 6e9e35e1
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* ghost.adb (Mark_Ghost_Clause): New routine.
      	(Prune_Node): Do not prune compilation unit nodes.
      	(Remove_Ignored_Ghost_Code): Prune the compilation unit node directly.
      	This does not touch the node itself, but does prune all its fields.
      	* ghost.ads (Mark_Ghost_Clause): New routine.
      	* sem_ch8.adb (Analyze_Use_Package): Emit an error when a use
      	package clause mentions Ghost and non-Ghost packages. Mark a
      	use package clause as Ghost when it mentions a Ghost package.
      	(Analyze_Use_Type): Emit an error when a use type clause mentions
      	Ghost and non-Ghost types. Mark a use type clause as Ghost when
      	it mentions a Ghost type.
      	* sem_ch10.adb (Analyze_With_Clause): Mark a with clause as
      	Ghost when it withs a Ghost unit.
      
      2017-01-20  Javier Miranda  <miranda@adacore.com>
      
      	* sem_res.adb (Resolve_Call): If a function call
      	returns a limited view of a type and at the point of the call the
      	function is not declared in the extended main unit then replace
      	it with the non-limited view, which must be available. If the
      	called function is in the extended main unit then no action is
      	needed since the back-end handles this case.
      
      2017-01-20  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into...
      	(Contains_Subprograms_Refs): ...this.  Adjust comment
      	for constants.	(Is_Subp_Or_Const_Ref): Rename into...
      	(Is_Subprogram_Ref): ...this.
      	(Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into
      	Has_Non_Subprograms_Referencer and adjust comment.  Remove
      	incorrect shortcut for package declarations and bodies.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Complete_Private_Subtype): If the scope of the
      	base type differs from that of the completion and the private
      	subtype is an itype (created for a constraint on an access
      	type e.g.), set Delayed_Freeze on both to prevent out-of-scope
      	anomalies in gigi.
      
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
      	When inheriting the SPARK_Mode of a prior expression function,
      	look at the properly resolved entity rather than the initial
      	candidate which may denote a homonym.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Rewrite_Assertion_Kind): If the name is
      	Precondition or Postcondition, and the context is pragma
      	Check_Policy, indicate that this Pre-Ada2012 usage is deprecated
      	and suggest the standard names Assertion_Policy /Pre /Post
      	instead.
      
      From-SVN: r244704
      Arnaud Charlet committed
    • sem_ch10.adb, [...]: Minor reformatting. · 7124d1a5
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch10.adb, sem_cat.adb: Minor reformatting.
      
      From-SVN: r244703
      Hristian Kirtchev committed
    • [multiple changes] · 89a53f83
      2017-01-20  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Access_Type_Declaration): Protect access to the
      	Entity attribute.
      	* sem_ch10.adb (Install_Siblings): Skip processing malformed trees.
      	* sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing
      	malformed trees.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specification, case
      	Dynamic_Predicate): If the entity E is a subtype that inherits
      	a static predicate for its parent P,, the inherited and the
      	new predicate combine in the generated predicate function,
      	and E only has a dynamic predicate.
      
      2017-01-20  Tristan Gingold  <gingold@adacore.com>
      
      	* s-boustr.ads, s-boustr.adb: New package.
      	* Makefile.rtl: Add s-boustr.
      
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* inline.adb (Process_Formals): Qualify the
      	expression of a return statement when it yields a universal type.
      
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* freeze.adb (Freeze_All): Freeze the default
      	expressions of all eligible formal parameters that appear in
      	entries, entry families, and protected subprograms.
      
      From-SVN: r244701
      Arnaud Charlet committed
    • Minor reformatting. · 4f324de2
      From-SVN: r244700
      Arnaud Charlet committed
    • [multiple changes] · f68fc405
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check
      	for illegal inherited Implicit_Dereference aspects with renamed
      	discriminants.
      
      2017-01-20  Javier Miranda  <miranda@adacore.com>
      
      	* debug.adb (switch d.6): do not avoid declaring unreferenced itypes.
      	* nlists.ads (Lock_Lists, Unlock_Lists): New subprograms.
      	* nlists.adb (Lock_Lists, Unlock_Lists): New subprograms.
      	(Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent,
      	Set_Prev, Tree_Read): Adding assertion.
      	* atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms.
      	* atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms.
      	(Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source,
      	Set_Ekind, Set_Error_Posted, Set_Has_Aspects,
      	Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count,
      	Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN,
      	Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN,
      	Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent,
      	Set_ListN_With_Parent): Adding assertion.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Process_Convention): Diagnose properly a pragma
      	import that applies to several homograph subprograms. when one
      	of them is declared by a subprogram body.
      
      2017-01-20  Justin Squirek  <squirek@adacore.com>
      
      	* exp_ch6.adb (Expand_Call): Remove optimization
      	that nulls out calls to null procedures.
      
      From-SVN: r244699
      Arnaud Charlet committed
    • [multiple changes] · f4ef7b06
      2017-01-20  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Expand_Inlined_Call): Keep more
      	precise type of actual for inlining whenever possible. In
      	particular, do not switch to the formal type in GNATprove mode in
      	some case where the GNAT backend might require it for visibility.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited
      	aspect Implicit_Dereference can be inherited by a full view if
      	the partial view has no discriminants, because there is no way
      	to apply the aspect to the partial view.
      	(Build_Derived_Record_Type): If derived type renames discriminants
      	of the parent, the new discriminant inherits the aspect from
      	the old one.
      	* sem_ch4.adb (Analyze_Call): Handle properly a parameterless
      	call through an access discriminant designating a subprogram.
      	* sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle
      	properly a parameterless call through an access discriminant on
      	the left-hand side of an assignment.
      	* sem_res.adb (resolve): If an interpreation involves a
      	discriminant with an implicit dereference and the expression is an
      	entity, resolution takes place later in the appropriate routine.
      	* sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize
      	access discriminants that designate a subprogram type.
      
      2017-01-20  Pascal Obry  <obry@adacore.com>
      
      	* a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016
      
      From-SVN: r244698
      Arnaud Charlet committed
    • Minor reformatting. · 8f1fe1f8
      From-SVN: r244697
      Arnaud Charlet committed
    • [multiple changes] · ce06d641
      2017-01-20  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error
      	on implicitly with'ed units in GNATprove mode.
      	* sinfo.ads (Implicit_With): Document use of flag for implicitly
      	with'ed units in GNATprove mode.
      
      2017-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_cat.adb (Validate_Static_Object_Name): In a preelaborated
      	unit Do not report an error on a non-static entity that appears
      	in the context of a spec expression, such as an aspect expression.
      
      2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Flag298 now denotes Is_Underlying_Full_View.
      	(Is_Underlying_Full_View): New routine.
      	(Set_Is_Underlying_Full_View): New routine.
      	(Write_Entity_Flags): Add an entry for Is_Underlying_Full_View.
      	* einfo.ads Add new attribute Is_Underlying_Full_View.
      	(Is_Underlying_Full_View): New routine along with pragma Inline.
      	(Set_Is_Underlying_Full_View): New routine along with pragma Inline.
      	* exp_util.adb (Build_DIC_Procedure_Body): Do not consider
      	class-wide types and underlying full views. The first subtype
      	is used as the working type for all Itypes, not just array base types.
      	(Build_DIC_Procedure_Declaration): Do not consider
      	class-wide types and underlying full views. The first subtype
      	is used as the working type for all Itypes, not just array
      	base types.
      	* freeze.adb (Freeze_Entity): Inherit the freeze node of a full
      	view or an underlying full view without clobbering the attributes
      	of a previous freeze node.
      	(Inherit_Freeze_Node): New routine.
      	* sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying
      	full view as such.
      	(Build_Underlying_Full_View): Mark an underlying full view as such.
      	* sem_ch7.adb (Install_Private_Declarations): Mark an underlying
      	full view as such.
      
      From-SVN: r244696
      Arnaud Charlet committed
    • Revert previous change. · 17d302ec
      From-SVN: r244695
      Arnaud Charlet committed
    • [multiple changes] · 49779c98
      2017-01-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch3.adb: Reenable code.
      
      2017-01-20  Yannick Moy  <moy@adacore.com>
      
      	* sinfo.ads: Document lack of Do_Division_Check flag
      	on float exponentiation.
      
      From-SVN: r244693
      Arnaud Charlet committed
    • Do not declare artificial variables in tree-profile.c to have a definition (PR lto/69188). · 0ce4024a
      2017-01-20  Martin Liska  <mliska@suse.cz>
      
      	PR lto/69188
      	* gcc.dg/lto/pr69188_0.c: New test.
      	* gcc.dg/lto/pr69188_1.c: New test.
      2017-01-20  Martin Liska  <mliska@suse.cz>
      
      	PR lto/69188
      	* tree-profile.c (init_ic_make_global_vars): Do not call
      	finalize_decl.
      	(gimple_init_gcov_profiler): Likewise.
      
      From-SVN: r244692
      Martin Liska committed
    • Fix IPA CP where it forgot to add a reference in cgraph (PR ipa/71190). · 2d8d3ae2
      2017-01-20  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/71190
      	* cgraph.h (maybe_create_reference): Remove argument and
      	update comment.
      	* cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
      	argument.
      	* ipa-cp.c (create_specialized_node): Likewise.
      	* symtab.c (symtab_node::maybe_create_reference): Handle
      	VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
      
      From-SVN: r244687
      Martin Liska committed
    • Fix --enable-gather-detailed-mem-stats · a809d564
      2017-01-20  Martin Liska  <mliska@suse.cz>
      
      	* read-rtl-function.c (function_reader::create_function): Use
      	build_decl instread of build_decl_stat.
      
      From-SVN: r244686
      Martin Liska committed
    • Add AVX512 k-mask intrinsics. · d8ea3e7c
      gcc/
      	* config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
      	* config/i386/avx512dqintrin.h: Ditto.
      	* config/i386/avx512fintrin.h: Ditto.
      	* config/i386/i386-builtin-types.def: Add new types.
      	* gcc/config/i386/i386.c: Handle new types.
      	* config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
      	(__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
      	(__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
      	(__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
      	(__builtin_ia32_kshiftridi): New.
      	* config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
      
      gcc/testsuite/
      	* gcc.target/i386/avx512bw-kshiftld-1.c: New test.
      	* gcc.target/i386/avx512bw-kshiftlq-1.c: Ditto.
      	* gcc.target/i386/avx512dq-kshiftlb-1.c: Ditto.
      	* gcc.target/i386/avx512f-kshiftlw-1.c: Ditto.
      	* gcc.target/i386/avx512bw-kshiftrd-1.c: Ditto.
      	* gcc.target/i386/avx512bw-kshiftrq-1.c: Ditto.
      	* gcc.target/i386/avx512dq-kshiftrb-1.c: Ditto.
      	* gcc.target/i386/avx512f-kshiftrw-1.c: Ditto.
      	* gcc.target/i386/avx512bw-kshiftld-2.c: Ditto.
      	* gcc.target/i386/avx512bw-kshiftlq-2.c: Ditto.
      	* gcc.target/i386/avx512bw-kshiftrd-2.c: Ditto.
      	* gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
      	* gcc.target/i386/avx512dq-kshiftlb-2.c: Ditto.
      	* gcc.target/i386/avx512dq-kshiftrb-2.c: Ditto.
      	* gcc.target/i386/avx512f-kshiftlw-2.c: Ditto.
      	* gcc.target/i386/avx512f-kshiftrw-2.c: Ditto.
      	* gcc.target/i386/avx-1.c: Test new intrinsics.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      
      From-SVN: r244685
      Andrew Senkevich committed
    • re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) · 8d67fcd8
      	PR other/79046
      liboffloadmic/
      	* aclocal.m4: Regenerated.
      	* Makefile.in: Regenerated.
      libcilkrts/
      	* aclocal.m4: Regenerated.
      	* Makefile.in: Regenerated.
      
      From-SVN: r244684
      Jakub Jelinek committed
    • re PR tree-optimization/71264 (ICE in convert_move) · 0516164b
      2017-01-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71264
      	* gcc.dg/vect/pr71264.c: Make sure memory is aligned.
      
      From-SVN: r244683
      Richard Biener committed
    • US 20 - forwarding references and class template argument deduction · b2c06d05
      	* cp-tree.h (TEMPLATE_TYPE_PARM_FOR_CLASS): New.
      	* pt.c (push_template_decl_real): Set it.
      	(maybe_adjust_types_for_deduction): Check it.
      	(rewrite_template_parm): Copy it.
      
      From-SVN: r244682
      Jason Merrill committed
    • US 19 - deduction guides and constructors · 689f867c
      	* call.c (joust): Prefer deduction guides to constructors.
      	* pt.c (build_deduction_guide): Set DECL_ARTIFICIAL.
      	(deduction_guide_p): Check DECL_P.
      
      From-SVN: r244681
      Jason Merrill committed
    • PR72792 PR72793 relax requirements on rebind members · a3a1620b
      	PR libstdc++/72792
      	PR libstdc++/72793
      	* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
      	Replace with class template using void_t.
      	(__alloc_rebind): Define in terms of
      	__allocator_traits_base::__rebind.
      	(allocator_traits): Remove unconditional static_assert for
      	rebind_alloc.
      	* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
      	(pointer_traits::__rebind): Replace with class template using void_t.
      	(pointer_traits::rebind): Define in terms of __rebind.
      	(pointer_traits): Remove unconditional static_assert for rebind.
      	* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
      	* testsuite/20_util/pointer_traits/rebind.cc: New test.
      
      From-SVN: r244680
      Jonathan Wakely committed
    • re PR go/79146 (Bootstrapping go on s390x fails; redefined symbols) · 198766b6
      	PR go/79146
          crypto/elliptic: explicitly ignore p256_s390x.go
          
          The file only works if used in conjunction with assembly code not
          (yet) written for gccgo.
          
          Fixes GCC PR 79146.
      
          Reviewed-on: https://go-review.googlesource.com/35477
      
      From-SVN: r244679
      Ian Lance Taylor committed
    • PR69321 fix any_cast<T>(any*) for non-copyable T · 38a9e5a6
      	PR libstdc++/69321
      	* include/experimental/any (__any_caster): Avoid instantiating
      	manager function for types that can't be stored in any.
      	* include/std/any (__any_caster): Likewise.
      	* testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
      	* testsuite/experimental/any/misc/any_cast.cc: Likewise.
      
      From-SVN: r244678
      Jonathan Wakely committed
    • rs6000: Fix the new SSP guard configuration code (PR79140) · 01334be4
      I foolishly tested this with r241087 reverted.  After that revision
      default_stack_protect_guard is no longer called if the compiler defaults
      to using the TLS guard, which of course is the wrong thing to do if
      there is some other way to enable the global guard.
      
      This fixes it.
      
      
      	PR target/78875
      	PR target/79140
      	* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
      	define to rs6000_init_stack_protect_guard.
      	(rs6000_init_stack_protect_guard): New function.
      
      From-SVN: r244677
      Segher Boessenkool committed
    • config.gcc (supported_defaults): Add madd4. · d821744c
      gcc/
      2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
      	    Yunqiang Su  <yunqiang.su@imgtec.com>
      
      	* config.gcc (supported_defaults): Add madd4.
      	(with_madd4): Add validation.
      	(all_defaults): Add madd4.
      	* config/mips/mips.opt (mmadd4): New option.
      	* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
      	mmadd4.
      	(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
      	__mips_no_madd4.
      	(ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
      	(ISA_HAS_FUSED_MADD4): Likewise.
      	* gcc/doc/invoke.texi (-mmadd4): Document the new option.
      	* gcc/doc/install.texi (--with-madd4): Document the new option.
      
      gcc/testsuite/
      2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
      
      	* gcc.target/mips/madd4-1.c: New file.
      	* gcc.target/mips/madd4-2.c: Likewise.
      	* gcc.target/mips/mips.exp (mips_option_groups): Add ghost option
      	HAS_MADD4.
      	(mips_option_groups): Add -m[no-]madd4.
      	(mips-dg-init): Detect default -mno-madd4.
      	(mips-dg-options): Handle HAS_MADD4 arch upgrade/downgrade.
      	* gcc.target/mips/mips-ps-type.c: Add -mmadd4 test option.
      	* gcc.target/mips/mips-ps-type-2.c: Likewise.
      	* gcc.target/mips/nmadd-1.c: Likewise.
      	* gcc.target/mips/nmadd-2.c: Likewise.
      	* gcc.target/mips/nmadd-3.c: Likewise.
      
      Co-Authored-By: Yunqiang Su <yunqiang.su@imgtec.com>
      
      From-SVN: r244676
      Matthew Fortune committed
    • PR64903 simplify last fix to std::is_partitioned · 5b4ca306
      	PR libstdc++/64903
      	* include/bits/stl_algo.h (is_partitioned): Use increment instead of
      	std::advance.
      
      From-SVN: r244675
      Jonathan Wakely committed
    • [AArch64, libgcc] Add missing file, forget "svn add" · f2f6dece
      From-SVN: r244674
      Jiong Wang committed
    • [AArch64][4/4] libgcc unwinder support for return address signing · 5636faf2
      libgcc/
      	* config/aarch64/aarch64-unwind.h: New file.
      	(DWARF_REGNUM_AARCH64_RA_STATE): Define.
      	(MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64.
      	(MD_POST_EXTRACT_FRAME_ADDR): Likewise.
      	(MD_POST_FROB_EH_HANDLER_ADDR): Likewise.
      	(MD_FROB_UPDATE_CONTEXT): Define it on AArch64.
      	(aarch64_post_extract_frame_addr): New function.
      	(aarch64_post_frob_eh_handler_addr): New function.
      	(aarch64_frob_update_context): New function.
      	* config/aarch64/linux-unwind.h: Include aarch64-unwind.h
      	* config.host (aarch64*-*-elf, aarch64*-*-rtems*,
      	aarch64*-*-freebsd*):
      	Initialize md_unwind_header to include aarch64-unwind.h.
      	* unwind-dw2.c (struct _Unwind_Context): Define "RA_A_SIGNED_BIT".
      	(execute_cfa_program): Multiplex DW_CFA_GNU_window_save for
      	__aarch64__.
      	(uw_update_context): Honor MD_POST_EXTRACT_FRAME_ADDR.
      	(uw_init_context_1): Honor MD_POST_EXTRACT_ROOT_ADDR.
      	(uw_frob_return_addr): New function.
      	(uw_install_context): Use uw_frob_return_addr.
      
      From-SVN: r244673
      Jiong Wang committed
    • Daily bump. · 1d9a7629
      From-SVN: r244672
      GCC Administrator committed
    • [AArch64][3/4] New PAUTH builtins required by libgcc unwinder · 312492bd
      gcc/
      	* config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
      	entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
      	AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
      	(aarch64_init_pauth_hint_builtins): New.
      	(aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
      	(aarch64_expand_builtin): Expand new builtins.
      
      From-SVN: r244669
      Jiong Wang committed