1. 13 Jan, 2017 12 commits
    • re PR sanitizer/78887 (Failure to build aarch64 allmodconfig Linux kernel 4.9) · 0acd830b
      	PR sanitizer/78887
      	* asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
      	if -fsanitize=kernel-address is present.
      
      From-SVN: r244402
      Maxim Ostapenko committed
    • [multiple changes] · 582dbb53
      2017-01-13  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling
      	of the style check until after preanalysis of acutals.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting.
      	* par-ch11.adb: minor style fix in whitespace
      	* gnatbind.adb (Gnatbind): Scope of Std_Lib_File
      	reduced to Add_Artificial_ALI_File; style fix in declaration of
      	Text; grammar fix in comment.
      	* osint-c.adb (Read_Library_Info): strip trailing NUL from result.
      	* freeze.adb: Cleanup to pass pragma instead of
      	expression to call.
      	* exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to
      	replace System'To_Address by equivalent call.
      
      From-SVN: r244401
      Arnaud Charlet committed
    • [multiple changes] · e4d04166
      2017-01-13  Arnaud Charlet  <charlet@adacore.com>
      
      	* bindusg.adb: Improve usage output for -f switch.
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* frontend.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_ch8.adb:
      	Minor reformatting.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Is_Predicate_Static): Following the intent of the RM,
      	treat comparisons on strings as legal in a Static_Predicate.
      	(Is_Predicate_Static, Is_Type_Ref): Predicate also returns true on
      	a function call that is the expansion of a string comparison.The
      	function call is built when compiling the corresponding predicate
      	function, but the expression has been found legal as a static
      	predicate during earlier analysis.
      	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Handle
      	properly a function call that is the expansion of a string
      	comparison operation, in order to recover the Static_Predicate
      	expression and apply it to a static argument when needed.
      
      From-SVN: r244400
      Arnaud Charlet committed
    • [multiple changes] · 66340e0e
      2017-01-13  Tristan Gingold  <gingold@adacore.com>
      
      	* s-mmap.adb, s-mmap.ads (Open_Read_No_Exception): New function.
      	(Open_Read): Re-implement using Open_Read_No_Exception.
      	(Open_Write): Raise exception in case of error.
      	* s-mmosin-mingw.adb (Open_Common): Do not raise exception.
      	* s-mmosin-unix.adb (Open_Read, Open_Write): Do not
      	reaise exception.
      	* s-mmosin-mingw.ads, s-mmosin-unix.ads (Open_Read): Adjust comment.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb: Code cleanup.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* freeze.adb (Check_Inherited_Conditions): Use analyzed pragma
      	expression instead of unanalyzed aspect expression for checking
      	the validity of inheriting an operation. Also copy the expression
      	being passing it to Build_Class_Wide_Expression, as this call
      	modifies its argument.
      	* sem_util.ads Fix comment to reference correct function name
      	New_Copy_Tree.
      
      2017-01-13  Javier Miranda  <miranda@adacore.com>
      
      	* sem_res.adb (Resolve_Generalized_Indexing): Compiling in ASIS mode,
      	when we propagate information about the indexes back to the original
      	indexing mode and the prefix of the index is a function call, do not
      	remove any parameter from such call.
      
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch6.ads (Needs_BIP_Finalization_Master): Update comment.
      	* exp_ch6.adb (Needs_BIP_Finalization_Master): Return True for
      	a build-in-place function whose result type is tagged.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
      	Do not generate a wrapper when the only candidate is a class-wide
      	subprogram.
      	(Analyze_Subprogram_Renaming): Do not freeze the renaming or renamed
      	inside a generic context.
      
      From-SVN: r244399
      Arnaud Charlet committed
    • [multiple changes] · 27bb7941
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_util.adb (Add_Inherited_Tagged_DIC):
      	Pass the object parameters of both the parent and the derived
      	type DIC procedure to the reference replacement circuitry.
      	(Find_DIC_Type): Modify the circuitry to present the partial
      	view of a private type in case the private type defines its own
      	DIC pragma.
      	(Replace_Object_And_Primitive_References): Add two
      	optional formal parameters.  Update the comment on usage. Update
      	the replacement of references to object parameters.
      
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* einfo.adb, sem_ch6.adb, atree.adb: Minor reformatting and typo fix.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Actuals): Apply Scalar_Range_Check to
      	an out parameter that is a type conversion, independently of th
      	range check that may apply to the expression of the conversion,
      	for use in GNATProve.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): Move the implicit with for System in
      	GNATprove_Mode here to Frontend.
      	* frontend.adb (Frontend): Move the implicit with for System
      	in GNATprove_Mode here as it ismore correct this way; the old
      	place only worked by chance, since there were no overloaded names.
      	* rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Tasking_State.
      	* sem_attr.adb (Analyze_Attribute): In GNATprove_Mode, for the
      	four attributes identified in SRM 9(18), add an implicit with
      	to Ada.Task_Identification.
      	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
      	Deal specially with the wrapper introduced for AI05-0071 in GNATprove
      	mode.
      	* checks.adb (Apply_Discriminant_Check,
      	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks):
      	In GNATprove mode, we do not apply the checks, but we still
      	analyze the expression to possibly issue errors on SPARK
      	code when a run-time error can be detected at compile time.
      	(Selected_Length_Checks, Selected_Range_Checks): Perform analysis
      	in GNATprove mode.
      
      From-SVN: r244398
      Arnaud Charlet committed
    • Minor reformatting. · 9574e75f
      From-SVN: r244397
      Arnaud Charlet committed
    • [multiple changes] · b0bf18ad
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* expander.adb (Expand): Add a warning about using return
      	statements in Ghost management code.
      	* exp_ch3.adb (Freeze_Type): Add a warning about using return
      	statements in Ghost management code.
      	* exp_ch7.adb (Build_Invariant_Procedure_Body,
      	Build_Invariant_Procedure_Declaration): Add a warning about
      	using return statements in Ghost management code.
      	* exp_disp.adb (Make_DT): Add a warning about using return
      	statements in Ghost management code.
      	* exp_util.adb (Build_DIC_Procedure_Body,
      	Build_DIC_Procedure_Declaration, Make_Predicated_Call): Add a
      	warning about using return statements in Ghost management code.
      	* freeze.adb (Freeze_Entity): Add a warning about using return
      	statements in Ghost management code.
      	* sem.adb (Analyze, Do_Analyze): Add a warning about using return
      	statements in Ghost management code.
      	* sem_ch3.adb (Analyze_Object_Declaration, Process_Full_View): Add
      	a warning about using return statements in Ghost management code.
      	* sem_ch5.adb (Analyze_Assignment): Add a warning about using
      	return statements in Ghost management code.
      	* sem_ch6.adb (Analyze_Procedure_Call,
      	Analyze_Subprogram_Body_Helper): Add a warning about using return
      	statements in Ghost management code.
      	* sem_ch7.adb (Analyze_Package_Body_Helper): Add a warning about
      	using return statements in Ghost management code.
      	* sem_ch12.adb (Analyze_Package_Instantiation,
      	Analyze_Subprogram_Instantiation, Instantiate_Package_Body,
      	Instantiate_Subprogram_Body): Add a warning about using return
      	statements in Ghost management code.
      	* sem_ch13.adb (Build_Predicate_Functions,
      	Build_Predicate_Function_Declarations): Add a warning about
      	using return statements in Ghost management code.
      	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part,
      	Analyze_Initial_Condition_In_Decl_Part, Analyze_Pragma,
      	Analyze_Pre_Post_Condition_In_Decl_Part):  Add a warning about
      	using return statements in Ghost management code.
      
      2017-01-13  Tristan Gingold  <gingold@adacore.com>
      
      	* s-mmosin-mingw.adb: Fix pragma import.
      
      2017-01-13  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Ignore -gnateE in
      	codepeer mode.
      
      From-SVN: r244396
      Arnaud Charlet committed
    • atree.adb (Allocate_Initialize_Node): A newly created node is no longer marked… · d65a80fd
      atree.adb (Allocate_Initialize_Node): A newly created node is no longer marked as Ghost at this level.
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* atree.adb (Allocate_Initialize_Node): A newly created node is
      	no longer marked as Ghost at this level.
      	(Mark_New_Ghost_Node): New routine.
      	(New_Copy): Mark the copy as Ghost.
      	(New_Entity): Mark the entity as Ghost.
      	(New_Node): Mark the node as Ghost.
      	* einfo.adb (Is_Checked_Ghost_Entity): This attribute can now
      	apply to unanalyzed entities.
      	(Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed
      	entities.
      	(Set_Is_Checked_Ghost_Entity): This attribute now
      	applies to all entities as well as unanalyzed entities.
      	(Set_Is_Ignored_Ghost_Entity): This attribute now applies to
      	all entities as well as unanalyzed entities.
      	* expander.adb Add with and use clauses for Ghost.
      	(Expand): Install and revert the Ghost region associated with the node
      	being expanded.
      	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code.
      	(Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code.
      	(Expand_Freeze_Enumeration_Type): Remove all Ghost-related code.
      	(Expand_Freeze_Record_Type): Remove all Ghost-related code.
      	(Freeze_Type): Install and revert the Ghost region associated
      	with the type being frozen.
      	* exp_ch5.adb Remove with and use clauses for Ghost.
      	(Expand_N_Assignment_Statement): Remove all Ghost-related code.
      	* exp_ch6.adb Remove with and use clauses for Ghost.
      	(Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code.
      	(Expand_N_Subprogram_Body): Remove all Ghost-related code.
      	* exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the
      	Ghost region of the working type.
      	(Build_Invariant_Procedure_Declaration): Install and revert
      	the Ghost region of the working type.
      	(Expand_N_Package_Body): Remove all Ghost-related code.
      	* exp_ch8.adb Remove with and use clauses for Ghost.
      	(Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related
      	code.
      	(Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code.
      	(Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code.
      	(Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related
      	code.
      	* exp_ch13.adb Remove with and use clauses for Ghost.
      	(Expand_N_Freeze_Entity): Remove all Ghost-related code.
      	* exp_disp.adb (Make_DT): Install and revert the Ghost region of
      	the tagged type. Move the generation of various entities within
      	the Ghost region of the type.
      	* exp_prag.adb Remove with and use clauses for Ghost.
      	(Expand_Pragma_Check): Remove all Ghost-related code.
      	(Expand_Pragma_Contract_Cases): Remove all Ghost-related code.
      	(Expand_Pragma_Initial_Condition): Remove all Ghost-related code.
      	(Expand_Pragma_Loop_Variant): Remove all Ghost-related code.
      	* exp_util.adb (Build_DIC_Procedure_Body): Install
      	and revert the Ghost region of the working types.
      	(Build_DIC_Procedure_Declaration): Install and revert the
      	Ghost region of the working type.
      	(Make_Invariant_Call): Install and revert the Ghost region of the
      	associated type.
      	(Make_Predicate_Call): Reimplemented. Install and revert the
      	Ghost region of the associated type.
      	* freeze.adb (Freeze_Entity): Install and revert the Ghost region
      	of the entity being frozen.
      	(New_Freeze_Node): Removed.
      	* ghost.adb Remove with and use clauses for Opt.
      	(Check_Ghost_Completion): Update the parameter profile
      	and all references to formal parameters.
      	(Ghost_Entity): Update the comment on usage.
      	(Install_Ghost_Mode): New routines.
      	(Is_Ghost_Assignment): New routine.
      	(Is_Ghost_Declaration): New routine.
      	(Is_Ghost_Pragma): New routine.
      	(Is_Ghost_Procedure_Call): New routine.
      	(Is_Ghost_Renaming): Removed.
      	(Is_OK_Declaration): Reimplemented.
      	(Is_OK_Pragma): Reimplemented.
      	(Is_OK_Statement): Reimplemented.
      	(Is_Subject_To_Ghost): Update the comment on usage.
      	(Mark_And_Set_Ghost_Assignment): New routine.
      	(Mark_And_Set_Ghost_Body): New routine.
      	(Mark_And_Set_Ghost_Completion): New routine.
      	(Mark_And_Set_Ghost_Declaration): New routine.
      	(Mark_And_Set_Ghost_Instantiation): New routine.
      	(Mark_And_Set_Ghost_Procedure_Call): New routine.
      	(Mark_Full_View_As_Ghost): Removed.
      	(Mark_Ghost_Declaration_Or_Body): New routine.
      	(Mark_Ghost_Pragma): New routine.
      	(Mark_Ghost_Renaming): New routine.
      	(Mark_Pragma_As_Ghost): Removed.
      	(Mark_Renaming_As_Ghost): Removed.
      	(Propagate_Ignored_Ghost_Code): Update the comment on usage.
      	(Prune_Node): Freeze nodes no longer need special pruning, they
      	are processed by the general ignored Ghost code mechanism.
      	(Restore_Ghost_Mode): New routine.
      	(Set_Ghost_Mode): Reimplemented.
      	(Set_Ghost_Mode_From_Entity): Removed.
      	* ghost.ads Add with and use clauses for Ghost.
      	(Check_Ghost_Completion): Update the parameter profile
      	along with the comment on usage.
      	(Install_Ghost_Mode): New routine.
      	(Is_Ghost_Assignment): New routine.
      	(Is_Ghost_Declaration): New routine.
      	(Is_Ghost_Pragma): New routine.
      	(Is_Ghost_Procedure_Call): New routine.
      	(Mark_And_Set_Ghost_Assignment): New routine.
      	(Mark_And_Set_Ghost_Body): New routine.
      	(Mark_And_Set_Ghost_Completion): New routine.
      	(Mark_And_Set_Ghost_Declaration): New routine.
      	(Mark_And_Set_Ghost_Instantiation): New routine.
      	(Mark_And_Set_Ghost_Procedure_Call): New routine.
      	(Mark_Full_View_As_Ghost): Removed.
      	(Mark_Ghost_Pragma): New routine.
      	(Mark_Ghost_Renaming): New routine.
      	(Mark_Pragma_As_Ghost): Removed.
      	(Mark_Renaming_As_Ghost): Removed.
      	(Restore_Ghost_Mode): New routine.
      	(Set_Ghost_Mode): Redefined.
      	(Set_Ghost_Mode_From_Entity): Removed.
      	* sem.adb (Analyze): Install and revert the Ghost region of the
      	node being analyzed.
      	(Do_Analyze): Change the way a clean Ghost
      	region is installed and reverted.
      	* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove
      	all Ghost-related code.
      	(Analyze_Incomplete_Type_Decl): Remove all Ghost-related code.
      	(Analyze_Number_Declaration): Remove all Ghost-related code.
      	(Analyze_Object_Declaration): Install and revert the Ghost region of
      	a deferred object declaration's completion.
      	(Array_Type_Declaration): Remove all Ghost-related code.
      	(Build_Derived_Type): Update the comment on
      	the propagation of Ghost attributes from a parent to a derived type.
      	(Derive_Subprogram): Remove all Ghost-related code.
      	(Make_Class_Wide_Type): Remove all Ghost-related code.
      	(Make_Implicit_Base): Remove all Ghost-related code.
      	(Process_Full_View): Install and revert the Ghost region of
      	the partial view.  There is no longer need to check the Ghost
      	completion here.
      	* sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost
      	region of the left hand side.
      	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
      	all Ghost-related code.
      	(Analyze_Expression_Function): Remove all Ghost-related code.
      	(Analyze_Generic_Subprogram_Body): Remove all Ghost-related code.
      	(Analyze_Procedure_Call): Install and revert the Ghost region of
      	the procedure being called.
      	(Analyze_Subprogram_Body_Helper): Install and revert the Ghost
      	region of the spec or body.
      	(Analyze_Subprogram_Declaration): Remove all Ghost-related code.
      	(Build_Subprogram_Declaration): Remove all Ghost-related code.
      	(Find_Corresponding_Spec): Remove all Ghost-related code.
      	(Process_Formals): Remove all Ghost-related code.
      	* sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert
      	the Ghost region of the spec.
      	(Analyze_Package_Declaration): Remove all Ghost-related code.
      	* sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as
      	Ghost when it aliases a Ghost entity.
      	(Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases
      	a Ghost entity.
      	(Analyze_Object_Renaming): Mark a renaming as Ghost when
      	it aliases a Ghost entity.
      	(Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases
      	a Ghost entity.
      	(Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it
      	aliases a Ghost entity.
      	* sem_ch11.adb Remove with and use clauses for Ghost.
      	(Analyze_Exception_Declaration): Remove all Ghost-related code.
      	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all
      	Ghost-related code.
      	(Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related
      	code.
      	(Analyze_Package_Instantiation): Install and revert the Ghost region
      	of the package instantiation.
      	(Analyze_Subprogram_Instantiation): Install
      	and revert the Ghost region of the subprogram instantiation.
      	(Instantiate_Package_Body): Code clean up. Install and revert the
      	Ghost region of the package body.
      	(Instantiate_Subprogram_Body): Code clean up. Install and revert the
      	Ghost region of the subprogram body.
      	* sem_ch13.adb (Build_Predicate_Functions): Install
      	and revert the Ghost region of the related type.
      	(Build_Predicate_Function_Declaration): Code clean up. Install
      	and rever the Ghost region of the related type.
      	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
      	Install and revert the Ghost region of the pragma.
      	(Analyze_Initial_Condition_In_Decl_Part): Install and revert the
      	Ghost region of the pragma.
      	(Analyze_Pragma): Install and revert the Ghost region of various
      	pragmas.  Mark a pragma as Ghost when it is related to a Ghost entity
      	or encloses a Ghost entity.
      	(Analyze_Pre_Post_Condition): Install and revert the Ghost
      	region of the pragma.
      	(Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the
      	Ghost region of the pragma.
      	* sem_res.adb (Resolve): Remove all Ghost-related code.
      	* sem_util.adb (Is_Declaration): Reimplemented.
      	(Is_Declaration_Other_Than_Renaming): New routine.
      	* sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine.
      	* sinfo.adb (Is_Checked_Ghost_Pragma): New routine.
      	(Is_Ghost_Pragma): Removed.
      	(Is_Ignored_Ghost_Pragma): New routine.
      	(Set_Is_Checked_Ghost_Pragma): New routine.
      	(Set_Is_Ghost_Pragma): Removed.
      	(Set_Is_Ignored_Ghost_Pragma): New routine.
      	* sinfo.ads: Update the documentation on Ghost mode and
      	Ghost regions.	New attributes Is_Checked_Ghost_Pragma
      	and Is_Ignored_Ghost_Pragma along with usages in nodes.
      	Remove attribute Is_Ghost_Pragma along with usages in nodes.
      	(Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
      	(Is_Ghost_Pragma): Removed along with pragma Inline.
      	(Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
      	(Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
      	(Set_Is_Ghost_Pragma): Removed along with pragma Inline.
      	(Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
      
      From-SVN: r244395
      Hristian Kirtchev committed
    • re PR tree-optimization/77283 (Revision 238005 disables loop unrolling) · 3c3b9090
      2017-01-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77283
      	* gcc.dg/tree-ssa/split-path-9.c: Fix.
      
      From-SVN: r244394
      Richard Biener committed
    • gimple-parser.c (c_parser_gimple_postfix_expression): Parse _Literal ( type-name ) number. · 25329913
      2017-01-13  Richard Biener  <rguenther@suse.de>
      
      	c/
      	* gimple-parser.c (c_parser_gimple_postfix_expression): Parse
      	_Literal ( type-name ) number.
      
      	* tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
      	as _Literal ( type ) number in case usual suffixes do not
      	preserve all information.
      
      	* gcc.dg/gimplefe-22.c: New testcase.
      
      From-SVN: r244393
      Richard Biener committed
    • re PR tree-optimization/77283 (Revision 238005 disables loop unrolling) · 10b70b8e
      2017-01-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77283
      	* gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
      	and ssa-iterators.h.
      	(is_feasible_trace): Implement a cost model based on joiner
      	PHI node uses.
      
      	* gcc.dg/tree-ssa/split-path-7.c: Adjust.
      	* gcc.dg/tree-ssa/split-path-8.c: New testcase.
      	* gcc.dg/tree-ssa/split-path-9.c: Likewise.
      
      From-SVN: r244392
      Richard Biener committed
    • Daily bump. · 53b586f2
      From-SVN: r244391
      GCC Administrator committed
  2. 12 Jan, 2017 28 commits
    • pr77862.c: Require fpic target. · 76a8f82f
      2017-01-12  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/testsuite/
      	* gcc.dg/pr77862.c: Require fpic target.
      
      From-SVN: r244387
      Sandra Loosemore committed
    • re PR target/79004 (ICE in gcc.dg/torture/fp-int-convert-float128-ieee.c with -mcpu=power9) · 59a505da
      [gcc]
      2017-01-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/79004
      	* config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
      	char or short to __float128/_Float128 directly.
      
      [gcc/testsuite]
      2017-01-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/79004
      	* gcc.target/powerpc/pr79004.c: New test.
      
      From-SVN: r244386
      Michael Meissner committed
    • (-Wformat-overflow): ...to this. · bce6f760
      
      gcc/c-family/ChangeLog:
      
      	(-Wformat-overflow): ...to this.
      
      gcc/ChangeLog:
      
      	to -Wformat-overflow.
      	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
      	(min_bytes_remaining): Same.
      	(get_string_length): Same.
      	(format_string): Same.
      	(format_directive): Same.
      	(add_bytes): Same.
      	(pass_sprintf_length::handle_gimple_call): Same.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/pr78138.c: Adjust.
      	* gcc.dg/pr78768.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-4.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-8.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Adjust.
      	* gcc.dg/tree-ssa/pr78605.c: Adjust.
      	* gcc.dg/tree-ssa/pr78622.c: Adjust.
      
      From-SVN: r244385
      Martin Sebor committed
    • gimple-ssa-sprintf.c (try_substitute_return_value): Remove info.nowrite calls… · 3eefa646
      gimple-ssa-sprintf.c (try_substitute_return_value): Remove info.nowrite calls with no lhs that can't throw.
      
      	* gimple-ssa-sprintf.c (try_substitute_return_value): Remove
      	info.nowrite calls with no lhs that can't throw.  Return bool
      	whether gsi_remove has been called or not.
      	(pass_sprintf_length::handle_gimple_call): Return bool whether
      	try_substitute_return_value called gsi_remove.  Formatting fix.
      	(pass_sprintf_length::execute): Don't use gsi_remove if
      	handle_gimple_call returned true.
      
      	* gcc.dg/tree-ssa/builtin-snprintf-1.c: New test.
      
      From-SVN: r244384
      Jakub Jelinek committed
    • re PR bootstrap/79069 (Bootstrap failure on s390x-linux while building libgo) · b34f29a1
      	PR bootstrap/79069
      	* cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
      	be removed due to side-effects, don't remove following barrier nor
      	turn the successor edge into fallthru edge.
      
      From-SVN: r244383
      Jakub Jelinek committed
    • re PR testsuite/79051 (FAIL: gcc.dg/attr-alloc_size-4.c (test for warnings, line 140)) · 940242cd
      PR testsuite/79051
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/attr-alloc_size-4.c: Work harder to avoid false negatives
      	due to bug 79054.
      
      From-SVN: r244382
      Martin Sebor committed
    • Reference PR testsuite/79051, not 791051. · 8be3f306
      From-SVN: r244381
      Martin Sebor committed
    • PR testsuite/791051 - FAIL: gcc.dg/attr-alloc_size-4.c (test for warnings, line 140) · dcb56243
      gcc/testsuite/ChangeLog:
      	* gcc.dg/attr-alloc_size-4.c: Avoid false negatives due to bug 79054.
      
      From-SVN: r244380
      Martin Sebor committed
    • * gcc.dg/pr78768.c: Require LTO. · b7431c20
      From-SVN: r244379
      David Edelsohn committed
    • PR c/79074 - -Waddress difference between C and C++ with (T*)0 · 2bcd9f32
      gcc/testsuite/ChangeLog:
      	* c-c++-common/Waddress-2.c: Remove a test to avoid a C failure
      	due to the referenced bug.
      
      From-SVN: r244378
      Martin Sebor committed
    • PR testsuite/79073 - FAIL: gcc.dg/pr78973.c (test for warnings, line 12) in ILP32 · b2fc1c70
      gcc/testsuite/ChangeLog:
      	* gcc.dg/pr78973.c: Xfail on ILP32 targets.
      
      From-SVN: r244377
      Martin Sebor committed
    • builtin_target.c (check_features): Check all supported __builtin_cpu_supports options. · fbed6f36
      	* gcc.target/i386/builtin_target.c (check_features): Check all
      	supported __builtin_cpu_supports options.
      
      From-SVN: r244375
      Uros Bizjak committed
    • PR77528 partially revert r244278 and define default constructors · a1f009a6
      	PR libstdc++/77528
      	* include/bits/stl_queue.h (queue, priority_queue): Remove default
      	member-initializers and define default constructors as templates with
      	constraints.
      	* include/bits/stl_stack.h (stack): Likewise.
      	* testsuite/23_containers/priority_queue/requirements/constructible.cc:
      	New.
      	* testsuite/23_containers/priority_queue/requirements/
      	explicit_instantiation/1.cc: Test more instantiations.
      	* testsuite/23_containers/priority_queue/requirements/
      	explicit_instantiation/1_c++98.cc: Likewise.
      	* testsuite/23_containers/queue/requirements/constructible.cc: New.
      	* testsuite/23_containers/stack/requirements/constructible.cc: New.
      
      From-SVN: r244374
      Jonathan Wakely committed
    • Add Cortex-A15 tuning to gcc.dg/uninit-pred-8_a.c · 27282dad
      	PR tree-optimization/78319
      	* gcc.dg/uninit-pred-8_a.c: Add -mtune=cortex-a15 for arm.
      	Remove xfail.
      
      From-SVN: r244372
      Kyrylo Tkachov committed
    • * config/i386/i386.c: Fix whitespace. · 2da3add5
      From-SVN: r244371
      Uros Bizjak committed
    • * config/i386/i386.c (PTA_SGX): Define to 1 << 63. · 211a2f4a
      From-SVN: r244370
      Uros Bizjak committed
    • [multiple changes] · ca0eb951
      2017-01-12  Tristan Gingold  <gingold@adacore.com>
      
      	* s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb,
      	s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files.
      
      2017-01-12  Yannick Moy  <moy@adacore.com>
      
      	* errout.adb, errout.ads (Initialize): Factor common treatment
      	in Reset_Warnings.
      	(Reset_Warnings): New procedure to reset counts related to warnings.
      	(Record_Compilation_Errors): New variable to store the presence of an
      	error, used in gnat2why to allow changing the Warning_Mode.
      	(Compilation_Errors): Use new variable Record_Compilation_Errors to
      	store the presence of an error.
      
      2017-01-12  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications):
      	For Interrupt_Handler and Attach_ Handler aspects, decorate the
      	internally built reference to the protected procedure as coming
      	from sources and force its analysis.
      
      2017-01-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Type): For a scalar derived type,
      	inherit predicates if any from the first_subtype of the parent,
      	not from the anonymous parent type.
      	* sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic
      	predicate is not a static subtype.
      
      2017-01-12  Gary Dismukes  <dismukes@adacore.com>
      
      	* freeze.adb (Check_Suspicious_Convention): New procedure
      	performing a warning check on discriminated record types with
      	convention C or C++. Factored out of procedure Freeze_Record_Type,
      	and changed to only apply to base types (to avoid spurious
      	warnings on subtypes). Minor improvement of warning messages
      	to refer to discriminated rather than variant record types.
      	(Freeze_Record_Type): Remove code for performing a suspicious
      	convention check.
      	(Freeze_Entity): Only call Freeze_Record_Type
      	on types that aren't declared within any enclosing generic units
      	(rather than just excluding the type when the innermost scope
      	is generic). Call Check_Suspicious_Convention whether or not
      	the type is declared within a generic unit.
      	* sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util.
      	* sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved
      	from Sem_Ch8).
      
      2017-01-12  Tristan Gingold  <gingold@adacore.com>
      
      	* sysdep.c, adaint.c, rtinit.c, ming32.h:
      	(__gnat_current_codepage): Renamed from CurrentCodePage
      	(__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding
      
      2017-01-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Fully_Conformant_Expressions): Handle properly
      	quantified expressions, following AI12-050: the loop parameters
      	of two quantified expressions are conformant if they have the
      	same identifier.
      
      From-SVN: r244369
      Arnaud Charlet committed
    • re PR target/79044 (ICE in insn_is_swappable_p, at config/rs6000/rs6000.c:41191) · 66113166
      [gcc]
      
      2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/79044
      	* config/rs6000/rs6000.c (insn_is_swappable_p): Mark
      	element-reversing loads and stores as not swappable.
      
      [gcc/testsuite]
      
      2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/79044
      	* gcc.target/powerpc/swaps-p8-26.c: New.
      
      From-SVN: r244368
      Bill Schmidt committed
    • * gcc-interface/Makefile.in: Clean up VxWorks targets. · 4e41b0e6
      From-SVN: r244367
      Arnaud Charlet committed
    • [multiple changes] · 0289a8d7
      2017-01-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry):
      	Hnadle properly the attribute reference when it appears as part
      	of an expression in another loop aspect.
      
      2017-01-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Check_Predicated_Discriminant): New procedure,
      	subsidiary of Build_Initialization_Call, to complete generation
      	of predicate checks on discriminants whose (sub)types have
      	predicates, and to add checks on variants that do not have an
      	others clause.
      	* sem_util.adb (Gather_Components): A missing Others alternative is
      	not an error when the type of the discriminant is a static predicate
      	(and coverage has been checked when analyzing the case statement). A
      	runtime check is generated to verify that a given discriminant
      	satisfies the predicate (RM 3.8.1. (21.1/2)).
      
      2017-01-12  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Only
      	perform checking of exception mechanism when generating code.
      
      2017-01-12  Justin Squirek  <squirek@adacore.com>
      
      	* exp_ch7.adb (Add_Type_Invariants, Process_Array_Component):
      	Remove handling of access component with invariant.
      	(Build_Invariant_Procedure_Declaration): Remove return on class
      	wide type.
      	* freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove
      	conditional exception for component or array so Has_Own_Invariants
      	flag is not falsly set.
      	* sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class
      	wide type to have no invariant flags.
      
      From-SVN: r244366
      Arnaud Charlet committed
    • [multiple changes] · 2168d7cc
      2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb,
      	sem_ch13.adb: Minor reformatting.
      
      2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing
      	adjustment primitive when the ancestor type was not properly frozen.
      	(Gen_Assign): Guard against a missing initialization
      	primitive when the component type was not properly frozen.
      	(Initialize_Array_Component): Guard against a missing adjustment
      	primitive when the component type was not properly frozen.
      	(Initialize_Record_Component): Guard against a missing adjustment
      	primitive when the component type was not properly frozen.
      	(Process_Transient_Component_Completion): The transient object may
      	not be finalized when its associated type was not properly frozen.
      	* exp_ch3.adb (Build_Assignment): Guard against a missing
      	adjustment primitive when the component type was not properly frozen.
      	(Build_Initialization_Call): Guard against a missing
      	initialization primitive when the associated type was not properly
      	frozen.
      	(Expand_N_Object_Declaration): Guard against a missing
      	adjustment primitive when the base type was not properly frozen.
      	(Predefined_Primitive_Bodies): Create an empty Deep_Adjust
      	body when there is no adjustment primitive available. Create an
      	empty Deep_Finalize body when there is no finalization primitive
      	available.
      	* exp_ch4.adb (Apply_Accessibility_Check): Guard against a
      	missing finalization primitive when the designated type was
      	not properly frozen.
      	(Expand_N_Allocator): Guard against a missing initialization primitive
      	when the designated type was not properly frozen.
      	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call
      	only when the corresponding adjustment primitive is available.
      	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the
      	adjustment/finalization statements only when there is an available
      	primitive to carry out the action.
      	(Build_Initialize_Statements): Generate the initialization/finalization
      	statements only when there is an available primitive to carry out the
      	action.
      	(Make_Adjust_Call): Do not generate a call when the underlying
      	type is not present due to a possible missing full view.
      	(Make_Final_Call): Do not generate a call when the underlying
      	type is not present due to a possible missing full view.
      	(Make_Finalize_Address_Stmts): Generate an empty body when the
      	designated type lacks a finalization primitive.
      	(Make_Init_Call): Do not generate a call when the underlying type is
      	not present due to a possible missing full view.
      	(Process_Component_For_Adjust): Add the adjustment call only when the
      	corresponding adjustment primitive is available.
      	(Process_Component_For_Finalize): Add the finalization call only when
      	the corresponding finalization primitive is available.
      	(Process_Object_Declaration): Use a null statement to emulate a
      	missing call to the finalization primitive of the object type.
      	* exp_ch7.ads (Make_Adjust_Call): Update the comment on usage.
      	(Make_Final_Call): Update the comment on usage.
      	(Make_Init_Call): Update the comment on usage.
      	* exp_util.adb (Build_Transient_Object_Statements): Code reformatting.
      
      2017-01-12  Arnaud Charlet  <charlet@adacore.com>
      
      	* einfo.ads: Update documentation of Address_Taken.
      	* sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute
      	[Access_Attribute]): Only consider 'Access/'Unchecked_Access
      	for subprograms when setting Address_Taken flag.
      
      2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
      
      	* sem_ch10.adb (Analyze_With_Clause): Removed code that turned
      	Configurable_Run_Time_Mode off when analysing with'ed predefined
      	libraries.
      
      From-SVN: r244365
      Arnaud Charlet committed
    • PR66284 remove std::function special case for reference_wrapper · 4704f28e
      	PR libstdc++/66284
      	* doc/xml/manual/intro.xml: Document LWG 2781 change.
      	* doc/html/*: Regenerate.
      	* include/std/functional (_Function_base::_Ref_manager): Remove.
      	(_Function_handler): Remove partial specializations for
      	reference_wrapper.
      	(function::target): Remove special case for const qualification.
      	* testsuite/20_util/function/6.cc: Adjust tests for target type.
      	* testsuite/20_util/function/7.cc: Likewise.
      	* testsuite/20_util/function/8.cc: Likewise.
      
      From-SVN: r244364
      Jonathan Wakely committed
    • sem_prag.adb: Minor reformatting. · 872fc7b5
      2017-01-12  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_prag.adb: Minor reformatting.
      	* sem_util.adb (Unique_Entity): fix result for
      	bodies of entry families.
      
      From-SVN: r244363
      Gary Dismukes committed
    • sem_prag.adb (Analyze_Pragma): Add appropriate calls to Resolve_Suppressible in… · 00420f74
      sem_prag.adb (Analyze_Pragma): Add appropriate calls to Resolve_Suppressible in the pragma Assertion_Policy case.
      
      2017-01-12  Justin Squirek  <squirek@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Add appropriate calls to
      	Resolve_Suppressible in the pragma Assertion_Policy case.
      	(Resolve_Suppressible): Created this function to factor out
      	common code used to resolve Suppress to either Ignore or Check
      	* snames.ads-tmpl: Add name for Suppressible.
      
      From-SVN: r244362
      Justin Squirek committed
    • combine.c (try_combine): Don't ignore result of overlap checking loop. · 06914403
      	* combine.c (try_combine): Don't ignore result of overlap checking
      	loop.  Combine overlap & asm check into single loop.
      
      Co-Authored-By: Nicolai Stange <nicstange@gmail.com>
      
      From-SVN: r244361
      Nathan Sidwell committed
    • exp_ch9.adb, [...]: Minor reformatting. · 4bfe4a99
      2017-01-12  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor
      	reformatting.
      	* debug.adb: Minor comment fixes.
      
      From-SVN: r244360
      Gary Dismukes committed
    • Change percentage to 25 · fedb0830
      From-SVN: r244359
      Arnaud Charlet committed
    • [multiple changes] · eacfa9bc
      2017-01-12  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_util.adb (Unique_Entity): For concurrent
      	bodies that are defined with stubs and complete a declaration
      	of a single concurrent object return the entity of an implicit
      	concurrent type, not the entity of the anonymous concurrent
      	object.
      	* debug.adb: -gnatd.J is no longer used.
      	* make.adb (Globalize): Removed, no longer used.
      	* sem_ch9.adb: minor typo in comment for entry index
      
      2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
      
      	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
      	* exp_ch3.adb (Build_Init_Statements): As part of initialising
      	the value record of a task, set its _Secondary_Stack_Size field
      	if present.
      	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
      	a _Secondary_Stack_Size field in the value record of
      	the task if a Secondary_Stack_Size rep item is present.
      	(Make_Task_Create_Call): Include secondary stack size
      	parameter. If No_Secondary_Stack restriction is in place, passes
      	stack size of 0.
      	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
      	Secondary_Stack_Size.
      	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
      	function to define the overhead of the secondary stack.
      	* s-tarest.adb (Create_Restricted_Task,
      	Create_Restricted_Task_Sequential): Functions now include
      	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
      	* s-tarest.adb (Create_Restricted_Task,
      	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now
      	include Secondary_Stack_Size parameter.
      	(Task_Wrapper): Secondary stack now allocated to the size specified by
      	the Secondary_Stack_Size parameter in the task's ATCB.
      	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New
      	Secondary_Stack_Size component.
      	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
      	Create_Restricted_Task_Sequential): Function now include
      	Secondary_Stack_Size parameter.
      	(Task_Wrapper): Secondary stack now allocated to the size
      	specified by the Secondary_Stack_Size parameter in the task's
      	ATCB.
      	* s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call
      	to include Secondary_Stack_Size parameter.
      	* sem_ch13.adb (Analyze_Aspect_Specification): Add support for
      	Secondary_Stack_Size aspect, turning the aspect into its corresponding
      	internal attribute.
      	(Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute.
      	* snames.adb-tmpl, snames.ads-tmpl: Added names
      	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
      	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
      
      From-SVN: r244358
      Arnaud Charlet committed