1. 13 Jan, 2017 23 commits
    • re PR fortran/70697 ([Coarray] ICE on EVENT WAIT with array element UNTIL_COUNT argument) · eaed3226
      gcc/testsuite/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70697
      	* gfortran.dg/coarray/event_4.f08: New test.
      
      
      gcc/fortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70697
      	* resolve.c (resolve_lock_unlock_event): Resolve the expression for
      	event's until_count.
      
      From-SVN: r244413
      Andre Vehreschild committed
    • Code cleanups. · 3603fa5c
      From-SVN: r244412
      Arnaud Charlet committed
    • [multiple changes] · 3abbc5c2
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb: Code cleanup.
      	* sem_util.adb (Is_OK_Volatile_Context): Add
      	expression in delay statement as OK for volatile context.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation
      	mode a choice that is a subtype with a static predicate is
      	replaced by the values it covers. This transformation must not
      	be performed in ASIS mode, to preserve the source for analysis.
      
      2017-01-13  Justin Squirek  <squirek@adacore.com>
      
      	* nlists.ads: Correct minor typo.
      
      From-SVN: r244411
      Arnaud Charlet committed
    • [multiple changes] · ef74daea
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting and typo fix.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): An
      	Iterated_Component_Association is a named association in an
      	array aggregate.
      	* sem_aggr.adb (Resolve_Iterated_Component_Association): New
      	procedure, subsidiary of Resolve_Array_Aggregate, to analyze
      	and resolve the discrete choices and the expression of the
      	new construct.
      	* sinfo.adb, sinfo.ads: In analogy with N_Component_Association,
      	Loop_Actions and Box_Present are attributes of
      	N_Iterated_Component_Association nodes. Box_Present is always
      	False in this case.
      	* sprint.adb (Sprint_Node): An Iterated_Component_Association
      	has a Discrete_Choices list, as specified in the RM. A
      	Component_Association for aggregate uses instead a Choices list.
      	We have to live with this small inconsistency because the new
      	construct also has a defining identifier, and there is no way
      	to merge the two node structures.
      
      From-SVN: r244410
      Arnaud Charlet committed
    • [multiple changes] · da9683f4
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the
      	list of pragmas to remove.  Remove pragmas from the list of
      	statements in the body to inline.
      	* namet.adb, namet.ads (Nam_In): New version with 12 parameters.
      
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of
      	Analyze_Declarations, to analyze and resolve the expressions of
      	aspect specifications in the current declarative list, so that
      	the expressions have proper entity and type info.  This is needed
      	for ASIS when there is no subsequent expansion to generate this
      	semantic information.
      	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of
      	original expression, to suppress cascaded errors when expression
      	has been constant-folded.
      	(Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in
      	ASIS mode, because there is no subsequent expansion to decorate
      	the tree.
      
      From-SVN: r244409
      Arnaud Charlet committed
    • inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode): New function to… · 3de3a1be
      inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode): New function to detect when a call may be inlined or not in GNATprove mode.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode):
      	New function to detect when a call may be inlined or not in
      	GNATprove mode.
      	(Expand_Inlined_Call): Ensure that a temporary
      	is always created in the cases where a type conversion may be
      	needed on an input parameter in GNATprove mode, so that GNATprove
      	sees the check to perform.
      	* sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining
      	when not applicable due to actual requiring type conversion
      	with possible check but no temporary value can be copied for
      	GNATprove to see the check.
      
      From-SVN: r244408
      Yannick Moy committed
    • re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray) · 4ccff88b
      gcc/testsuite/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* gfortran.dg/coarray/event_3.f08: New test.
      
      gcc/fortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
      	is valid before accessing it.
      
      libgfortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* caf/single.c (_gfortran_caf_register): Allocate enough memory for
      	the event counter.
      
      From-SVN: r244407
      Andre Vehreschild committed
    • sem_aggr.adb, [...]: Update all eligible case statements to reflect the new… · d8f43ee6
      sem_aggr.adb, [...]: Update all eligible case statements to reflect the new style for case alternatives.
      
      2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb,
      	exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb,
      	layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb,
      	exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb,
      	exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb,
      	g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb,
      	sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb,
      	prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb,
      	a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb,
      	get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb,
      	g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb,
      	sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb,
      	s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb,
      	contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb,
      	g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb,
      	g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb,
      	a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb,
      	ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb,
      	get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb,
      	prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb,
      	exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb,
      	s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb,
      	a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb,
      	a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb,
      	g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb,
      	par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb,
      	uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb,
      	a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case
      	statements to reflect the new style for case alternatives. Various
      	code clean up and reformatting.
      
      From-SVN: r244406
      Hristian Kirtchev committed
    • [multiple changes] · d4bf622f
      2017-01-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_util.adb: Minor reformatting.
      
      2017-01-13  Yannick Moy  <moy@adacore.com>
      
      	* exp_spark.adb: Code cleanup.
      	* sem_ch9.adb (Analyze_Delay_Until): Resolve
      	expression so that calls are identified as such inside delay
      	until.
      
      From-SVN: r244405
      Arnaud Charlet committed
    • Minor reformatting. · 53a5377a
      From-SVN: r244404
      Arnaud Charlet committed
    • exp_util.adb (Insert_Actions): Handle Iterated_Component_Association. · a702c9b9
      2017-01-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.adb (Insert_Actions): Handle Iterated_Component_Association.
      	* par-ch3.adb (P_Discrete_Choice_List): An
      	Iterated_Component_Association is an array aggregate component.
      	* par-ch4.adb (P_Iterated_Component_Association): New procedure.
      	(Is_Quantified_Expression): New function that performs a lookahead
      	to distinguish quantified expressions from iterated component
      	associations.
      	(P_Aggregate_Or_Paren_Expr): Recognize iterated component
      	associations.
      	(P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto.
      	* sem.adb (Analyze): Handle Iterated_Component_Association.
      	* sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated
      	component associations.
      	* sinfo.ads, sinfo.adb: Entries for for
      	N_Iterated_Component_Association and its fields.
      	* sprint.adb (Sprint_Node_Actual): Handle
      	N_Iterated_Component_Association.
      
      From-SVN: r244403
      Ed Schonberg committed
    • 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 17 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