1. 20 Jan, 2017 40 commits
    • re PR go/79146 (Bootstrapping go on s390x fails; redefined symbols) · 5dc8f5d9
      	PR go/79146
          math/big: fix build on s390x
          
          Don't build arith_decl_s390x.go for gccgo; it is only for assembly
          code that has not yet been ported to gccgo.
          
          For GCC PR 79146.
      
      From-SVN: r244731
      Ian Lance Taylor committed
    • PR c++/78495 - wrong code inherited ctor and invisi-ref parm · 4b9f2115
      	PR c++/78495 - wrong code inherited ctor and invisi-ref parm
      	* cp-gimplify.c (cp_generize_r): Don't skip thunks.
      
      	PR c++/79495
      	* g++.dg/cpp1z/inh-ctor38.C: New.
      
      From-SVN: r244728
      Nathan Sidwell committed
    • Support unsigned __int20 in checks for size_t mangling · f14d2c52
      2017-01-20  Joe Seymour  <joe.s@somniumtech.com>
      
      	* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
      	* configure: Regenerate.
      
      From-SVN: r244727
      Joe Seymour committed
    • re PR c/79152 (-Wimplicit-fallthrough false positive triggered by goto statements) · d2aadab1
      	PR c/79152
      	* gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
      	non-case labels.
      
      	* c-c++-common/Wimplicit-fallthrough-35.c: New test.
      
      From-SVN: r244726
      Marek Polacek committed
    • Remove orphaned entries · 776d5404
      From-SVN: r244725
      Eric Botcazou committed
    • Skip optional_mthumb tests if GCC has a default mode · 449cd5af
      2017-01-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/testsuite/
          * lib/target-supports.exp (check_configured_with): New procedure.
          (check_effective_target_default_mode): new effective target.
          * gcc.target/arm/optional_thumb-1.c: Skip if GCC was configured with a
          default mode.  Fix dg-skip-if target selector syntax.
          * gcc.target/arm/optional_thumb-2.c: Likewise.
          * gcc.target/arm/optional_thumb-3.c: Fix dg-skip-if target selector
          syntax.
      
      From-SVN: r244723
      Thomas Preud'homme committed
    • PR69240 Define inequality operators for <random> param types · 12905f10
      	PR libstdc++/69240
      	* include/bits/random.h (uniform_real_distribution::param_type)
      	(normal_distribution::param_type, lognormal_distribution::param_type)
      	(gamma_distribution::param_type, chi_squared_distribution::param_type)
      	(cauchy_distribution::param_type, fisher_f_distribution::param_type)
      	(student_t_distribution::param_type)
      	(bernoulli_distribution::param_type, binomial_distribution::param_type)
      	(geometric_distribution::param_type)
      	(negative_binomial_distribution::param_type)
      	(poisson_distribution::param_type)
      	(exponential_distribution::param_type)
      	(weibull_distribution::param_type)
      	(extreme_value_distribution::param_type)
      	(discrete_distribution::param_type)
      	(piecewise_constant_distribution::param_type)
      	(piecewise_linear_distribution::param_type): Define operator!=.
      	* include/bits/uniform_int_dist.h
      	(uniform_int_distribution::param_type): Likewise.
      	* include/ext/random (beta_distribution::param_type)
      	(rice_distribution::param_type, nakagami_distribution::param_type)
      	(pareto_distribution::param_type, k_distribution::param_type)
      	(arcsine_distribution::param_type, hoyt_distribution::param_type)
      	(triangular_distribution::param_type)
      	(von_mises_distribution::param_type)
      	(hypergeometric_distribution::param_type)
      	(logistic_distribution::param_type)
      	(uniform_on_sphere_distribution::param_type)
      	(uniform_inside_sphere_distribution::param_type): Likewise.
      	* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
      	Test construction with param_type.
      	* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/extreme_value_distribution/cons/
      	parms.cc: Likewise.
      	* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
      	parms.cc: Likewise.
      	* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
      	* testsuite/ext/random/triangular_distribution/cons/parms.cc:
      	Likewise.
      	* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
      	parms.cc: Likewise.
      	* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
      
      From-SVN: r244722
      Jonathan Wakely committed
    • [multiple changes] · 0a3ec628
      2017-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning
      	message.
      
      2017-01-20  Nicolas Roche  <roche@adacore.com>
      
      	* terminals.c: Ignore failures on setpgid and tcsetpgrp commands.
      
      2017-01-20  Bob Duff  <duff@adacore.com>
      
      	* sem_eval.adb (Compile_Time_Compare): Disable the expr+literal
      	(etc) optimizations when the type is modular.
      
      2017-01-20  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Move_Pragmas): move some pragmas,
      	but copy the SPARK_Mode pragma instead of moving it.
      	(Build_Subprogram_Declaration): Ensure that the generated spec
      	and original body share the same SPARK_Pragma aspect/pragma.
      	* sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New
      	procedure to copy SPARK_Mode aspect.
      
      2017-01-20  Bob Duff  <duff@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects
      	even in ASIS mode.
      	* sem_ch13.adb (Resolve_Name): Enable setting the entity to
      	Empty even in ASIS mode.
      
      From-SVN: r244720
      Arnaud Charlet committed
    • * 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