Commit Graph

95 Commits

Author SHA1 Message Date
Hristian Kirtchev f31dcd99ac exp_ch5.adb, [...]: Minor reformatting.
2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, exp_ch9.adb, a-tags.adb, sem_prag.adb,
	sem_ch12.adb, xref_lib.adb, a-strunb-shared.adb, rtsfind.adb,
	freeze.adb, sem_attr.adb, sem_case.adb, exp_ch4.adb, ghost.adb,
	exp_ch6.adb, sem_ch4.adb, restrict.adb, s-os_lib.adb: Minor
	reformatting.

From-SVN: r241041
2016-10-12 14:59:57 +02:00
Arnaud Charlet 393525afc3 [multiple changes]
2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
	an instance of a formal package with defaults, when defaulted
	parameters include tagged private types and array types.

2016-10-12  Tristan Gingold  <gingold@adacore.com>

	* restrict.ads, restrict.adb (Restricted_Profile): Adjust
	comment, use Restricted_Tasking to compare restrictions.
	* s-rident.ads (Profile_Name): Add Restricted_Tasking and
	reorder literals.
	(Profile_Info): Set restrictions for Restricted_Tasking.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
	of type before elaborating inherited operations, so that the
	Ghost status is set properly for them.
	* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
	override an abstract subprogram coming from an interface
	operation.

From-SVN: r241026
2016-10-12 12:33:08 +02:00
Arnaud Charlet 497a660d21 [multiple changes]
2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb,
	s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb,
	sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor
	reformatting.

2016-06-22  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of
	treatments so that files without compilation unit are simply skipped
	before more elaborate treatments.

2016-06-22  Bob Duff  <duff@adacore.com>

	* s-memory.ads: Minor typo fixes in comments.
	* s-memory.adb: Code cleanup.

From-SVN: r237697
2016-06-22 12:48:33 +02:00
Arnaud Charlet fb757f7da4 [multiple changes]
2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb, inline.adb, sem_attr.adb, sem_elab.adb: Minor
	reformatting.

2016-06-16  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Collect): Avoid Empty Full_T. Otherwise Etype
	(Full_T) crashes when assertions are on.
	* sem_ch12.adb (Matching_Actual): Correctly handle the case where
	"others => <>" appears in a generic formal package, other than
	by itself.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

	* usage.adb: Remove confusing comment in usage line.
	* bindgen.adb: Fix binder generated file in codepeer mode wrt
	recent additions.

2016-06-16  Javier Miranda  <miranda@adacore.com>

	* restrict.adb (Check_Restriction_No_Use_Of_Entity): Avoid
	never-ending loop, code cleanup; adding also support for Text_IO.
	* sem_ch8.adb (Find_Expanded_Name): Invoke
	Check_Restriction_No_Use_Entity.

2016-06-16  Tristan Gingold  <gingold@adacore.com>

	* exp_ch9.adb: Minor comment fix.
	* einfo.ads (Has_Protected): Clarify comment.
	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do not
	consider private protected types declared in the runtime for
	the No_Local_Protected_Types restriction.

From-SVN: r237507
2016-06-16 11:44:04 +02:00
Hristian Kirtchev 58ba241591 par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
	(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
	of reserved words is OK.
	(Scan_Pragma_Argument_Association):
	Add new formal Reserved_Words_OK and update the comment on
	usage. Code cleanup. Parse an expression or a reserved word in
	identifier form for pragmas Restriction_Warnings and Restrictions
	No_Use_Of_Attribute.
	* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
	Reimplemented.	(Check_Restriction_No_Use_Of_Pragma): Code cleanup.
	(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
	flag for an aspect.
	(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
	flag for an attribute.	(Set_Restriction_No_Use_Of_Entity):
	Update the parameter profile.
	(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
	a pragma.
	* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
	the comment on usage.
	(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
	* sem_attr.adb (Analyze_Attribute): Check restriction
	No_Use_Of_Attribute.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
	restriction No_Use_Of_Attribute before any rewritings have
	taken place.
	* sem_prag.adb (Analyze_Pragma): Check restriction
	No_Use_Of_Pragma before any rewritings have taken place.

From-SVN: r235134
2016-04-18 14:18:16 +02:00
Arnaud Charlet 45969c973f gnat1drv.adb (Adjust_Global_Switches): Adjust settings.
2015-10-23  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Adjust settings.
	* sem.adb (Semantics): Remove special case.

From-SVN: r229230
2015-10-23 12:46:27 +02:00
Arnaud Charlet ed37f25a36 [multiple changes]
2015-10-23  Gary Dismukes  <dismukes@adacore.com>

	* bindgen.adb, restrict.adb: Minor spelling/grammar fixes.

2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible
	elaboration issues in SPARK when the name denotes a source variable.

From-SVN: r229228
2015-10-23 12:44:35 +02:00
Hristian Kirtchev 6e84098973 exp_ch7.adb (Process_Transient_Objects): Reimplement to properly handle restriction No_Exception_Propagation.
2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Transient_Objects): Reimplement to properly
	handle restriction No_Exception_Propagation.
	* exp_ch11.adb (Expand_At_End_Handler): Update the parameter
	profile and all references to Block.
	* exp_ch11.ads (Expand_At_End_Handler): Update the parameter
	profile and comment on usage.
	* exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly
	handle restriction No_Exception_Propagation.
	* gnat1drv.adb, restrict.adb: Update comment.

From-SVN: r229227
2015-10-23 12:43:30 +02:00
Yannick Moy 704228bdcc fmap.adb, [...]: Fix coding style for marking start of processing of subprograms.
2015-10-20  Yannick Moy  <moy@adacore.com>

	* fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb,
	a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb,
	sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding
	style for marking start of processing of subprograms.

2015-10-20  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal
	by requesting info from stubs.	(Traverse_All_Compilation_Units):
	Remove unused procedure.
	(Traverse_Declarations_Or_Statements): Handle protected and task units.
	* lib-xref.ads (Traverse_All_Compilation_Units): Remove unused
	procedure.
	* restrict.adb (Check_Restriction): Do not ignore
	restrictions in GNATprove_Mode.

From-SVN: r229078
2015-10-20 14:42:53 +02:00
Arnaud Charlet c96c518f9d [multiple changes]
2015-10-20  Jerome Lambourg  <lambourg@adacore.com>

	* init.c (__gnat_vxsim_error_handler): Completely disable on
	VxWorks-7 as the VSBs used to build gcc do not support vxsim
	architecture.

2015-10-20  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit
	SPARK_Mode.
	* a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode.

2015-10-20  Tristan Gingold  <gingold@adacore.com>

	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
	Check for No_Implicit_Protected_Object_Allocations.
	* fe.h (Check_No_Implicit_Task_Alloc,
	Check_No_Implicit_Protected_Alloc): Define and declare.
	* restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc,
	Check_No_Implicit_Protected_Alloc): New procedures to check the
	restrictions.
	* s-rident.ads (No_Implicit_Task_Allocations)
	(No_Implicit_Protected_Object_Allocations): Declare new
	restrictions.

2015-10-20  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Selected_Component): Only set flag
	when component is defined in a variant part.
	* sem_util.adb,
	* sem_util.ads (Is_Declared_Within_Variant): Promote local query
	as publicy visible one for use in Resolve_Selected_Component.

2015-10-20  Philippe Gil  <gil@adacore.com>

	* g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool
	from foreign threads.
	* g-debpoo.adb (Print_Traceback): NEW print traceback if available
	added to support Stack_Trace_Depth = 0.
	(Print_Address): NEW print System.Address without no secondary
	stack use (Address_Image uses secondary stack)

From-SVN: r229058
2015-10-20 14:09:17 +02:00
Arnaud Charlet b68cf874f6 [multiple changes]
2015-05-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
	Minor reformatting.

2015-05-26  Gary Dismukes  <dismukes@adacore.com>

	* gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
	reformatting and typo fixes in comments.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb (Swap_Private_Dependets): Set visibility of
	the two views of a private dependent in two separate steps,
	to ensure proper visibility in parent units analyzed for inlining.

From-SVN: r223682
2015-05-26 12:42:26 +02:00
Arnaud Charlet 596b25f9a1 [multiple changes]
2015-05-26  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Defend against
	bad bounds.
	* debug.adb: Document -gnatd.k.
	* erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.

2015-05-26  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Gnat1drv): Provide new arguments for
	Get_Target_Parameters.
	* restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
	new procedure.
	(Set_Restriction_No_Use_Of_Attribute): new procedure.
	* restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
	new procedure.
	(Set_Restriction_No_Use_Of_Attribute): new procedure.
	* s-rident.ads (Integer_Parameter_Restrictions): New subtype.
	* targparm.adb (Get_Target_Parameters): Allow new restriction
	pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
	No_Use_Of_Pragma.
	* targparm.ads: New parameters for Get_Target_Parameters.
	* tbuild.adb (Set_NOD): New name for Set_RND.
	(Set_NSA): New procedure.
	(Set_NUA): New procedure.
	(Set_NUP): New procedure.
	* tbuild.ads (Make_SC): Minor reformatting.
	(Set_NOD): New name for Set_RND.
	(Set_NSA, Set_NUA, Set_NUP): New procedure.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

	* a-stwise.adb (Find_Token): If source'first is not positive,
	an exception must be raised, as specified by RM 2005 A.4.3
	(68/1). This must be checked explicitly, given that run-time
	files are normally compiled without constraint checks.
	* a-stzsea.adb (Find_Token): Ditto.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads sem_util.adb (Is_Current_Instance):  New predicate
	to fully implement RM 8.6 (17/3). which earlier only applied
	to synchronized types. Used to preanalyze aspects that include
	current instances of types, such as Predicate and Invariant.
	* sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
	* sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
	expression of aspect and analyze it to provide proper type
	information.

2015-05-26  Robert Dewar  <dewar@adacore.com>

	* rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
	* s-exnllf.adb (Exn_Float): New function.
	(Exn_Long_Float): New function.
	(Exn_Long_Long_Float): Rewritten interface.
	(Exp): New name for what used to be Exn_Long_Long_Float.
	* s-exnllf.ads (Exn_Float): New function.
	(Exn_Long_Float): New function.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Find_Selected_Component): Do not emit an error
	on a selected component when the prefix is a type name that is
	a Current_Instance.
	* einfo.ads: Minor grammar fix.

2015-05-26  Doug Rupp  <rupp@adacore.com>

	* init.c [vxworks] (sysLib.h): Only for x86.

From-SVN: r223678
2015-05-26 12:29:25 +02:00
Robert Dewar 18dae8141c prj.ads, [...]: Minor reformatting.
2015-01-07  Robert Dewar  <dewar@adacore.com>

	* prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
	reformatting.

2015-01-07  Robert Dewar  <dewar@adacore.com>

	* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
	New procedure.
	(OK_No_Use_Of_Entity_Name): New function.
	(Set_Restriction_No_Use_Of_Entity): New procedure.
	* restrict.ads (Check_Restriction_No_Use_Of_Attribute):
	New procedure.
	(OK_No_Use_Of_Entity_Name): New function.
	(Set_Restriction_No_Use_Of_Entity): New procedure.
	* sem_ch8.adb (Find_Direct_Name): Add check for violation of
	No_Use_Of_Entity.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Add processing for new restriction No_Use_Of_Entity.

From-SVN: r219282
2015-01-07 09:49:42 +01:00
Arnaud Charlet 43c58950be [multiple changes]
2014-10-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb (Expand_N_Task_Body): Add defense against
	previous errors.
	* freeze.adb (Freeze_Entity): Add defense against checking null
	scope for generic.
	* restrict.adb (Tasking_Allowed): Add test for No_Run_Time mode.
	* sem_ch13.adb (Freeze_Entity_Checks): Add defense against
	previous errors.
	* sem_ch9.adb (Analyze_Task_Type_Declaration): Give error if
	in No_Run_Time mode.

2014-10-17  Robert Dewar  <dewar@adacore.com>

	* prj-makr.adb: Minor reformatting.

2014-10-17  Robert Dewar  <dewar@adacore.com>

	* gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,
	prj-conf.adb, prj-env.adb: Use Is_Directory_Separator where possible.

2014-10-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_prag.adb (Undo_Initialization): If Initialize_Scalars
	is enabled, code will be generated for some composite types
	to initialize an object after its declaration. If there is
	a subsequent Import pragma for the object, that code must be
	removed as specified byw the semantics of the pragma, and to
	prevent out-of-order elaboration issues in the back-end.

2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Concat): Keep concatenation operator
	wrapping mechanism under debug flag -gnatd.h.
	* debug.adb: Claim debug switch -gnatd.h.

From-SVN: r216384
2014-10-17 11:20:50 +02:00
Arnaud Charlet ce5ba43a4e [multiple changes]
2014-08-04  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb,
	sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb,
	exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb,
	sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to
	SPARK_05 instead of SPARK.

2014-08-04  Robert Dewar  <dewar@adacore.com>

	* sem.ads: Minor reformatting.
	* sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor
	reformatting.
	(Analyze_Aspect_Specifications, case Convention): Put External_Name
	before Link_Name when constructing pragma.

From-SVN: r213537
2014-08-04 10:06:12 +02:00
Arnaud Charlet b6621d10eb [multiple changes]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special
	cases related to equality.  Remove the special processing
	for dispatching abstract subprograms as it is not needed.
	(Interpretation_Error): Add a specialized error message for
	predefined operators.
	(Is_Intrinsic_Equality): New routine.
	(Is_Suitable_Candidate): New routine.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb: Minor comment reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

	* restrict.adb (Check_Restriction): For checked max_parameter
	restrictions reset Violated flag, so that subsequent violations
	are properly detected.

2014-08-04  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove
	mode.
	(Process_Discriminants): Fix bad test of GNATprove mode

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram):
	Move variable to their own section. Propagate the source
	location of a formal parameter to the corresponding formal of
	the subprogram renaming declaration. Code reformatting.

From-SVN: r213533
2014-08-04 09:56:02 +02:00
Ed Schonberg 1696d58da2 restrict.adb (Update_Restrictions): For restrictions with a maximum parameter (e.g.
2014-08-01  Ed Schonberg  <schonberg@adacore.com>

	* restrict.adb (Update_Restrictions): For restrictions with a
	maximum parameter (e.g. number of protected entries in Ravenscar)
	do not compute the maximum of the violation over several objects,
	because the restriction is per-object.
	(Check_Restriction): After possible message, reset the value
	of of a checked max_parameter restriction to zero, to prevent
	cascaded errors.
	* sem_ch3.adb (Build_Derived_Private_Type): Use base of parent
	(sub)type to determine whether derived type should be on the
	list of private dependents of a type whose full view may become
	visible subsequently.

From-SVN: r213483
2014-08-01 16:46:11 +02:00
Arnaud Charlet 4887624ec8 [multiple changes]
2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb: Fix minor oversight in condition.

2014-08-01  Bob Duff  <duff@adacore.com>

	* projects.texi: Minor documentation improvements.

2014-08-01  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All.
	* gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect.
	* lib-load.adb: Initialize No_Elab_Code_All field.
	* lib-writ.adb: Initialize No_Elab_Code_All.
	* lib.ads, lib.adb: New field No_Elab_Code_All.
	* par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All.
	* restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no
	longer exists.
	* sem_ch10.adb (Analyze_Context): Processing for
	No_Elaboration_Code_All removed.
	(Generate_Parent_References): Moved to Sem_Util.
	* sem_prag.adb: Add processing for pragma No_Elaboration_Code_All.
	* sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from
	Sem_Ch10.
	* snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All.
	* targparm.adb: Minor comment updates Add comments on ignoring
	pragma No_Elaboration_Code_All.

2014-08-01  Nicolas Roche  <roche@adacore.com>

	* adaint.c (__gnat_set_close_on_exec): Ensure that
	we can unset "close_on_exec" flag.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building
	the parameter specs of the wrapper program for a primitive operation
	of a synchronized type that implements an interface, copy the
	null_exclusion indicator as well.

2014-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_eval.ads: Minor reformatting.

From-SVN: r213466
2014-08-01 15:54:30 +02:00
Arnaud Charlet e8cddc3b5a [multiple changes]
2014-07-31  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor spelling error fix.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document No_Elaboration_Code_All restriction.
	* lib-writ.adb, lib-load.adb: Initialize No_Elab_Code field in unit
	information.
	* lib.ads, lib.adb (No_Elab_Code): New field in unit information.
	* restrict.adb (Process_Restriction_Synonyms): Add handling
	of No_Elaboration_Code_All.
	* restrict.ads (Process_Restriction_Synonyms): Now handles
	No_Elaboration_Code_All.
	* sem_ch10.adb (Analyze_Context): Enforce transitive with for
	No_Elaboration_Code_All.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Handle setting of No_Elab_Code in unit information. Handle
	No_Elaboration_Code_All.
	* snames.ads-tmpl (Name_No_Elaboration_Code): New name for
	pragma processing.
	(Name_No_Elaboration_Code_All): New name for pragma processing.

2014-07-31  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
	types with a null range and use the Esize of the component
	instead of its RM_Size to identify appropriate values.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb Add with and use clause for Aspects.
	(Freeze_Expression): Emit an error when a volatile constant lacks
	Boolean aspect Import.
	(Has_Boolean_Aspect_Import): New routine.

From-SVN: r213347
2014-07-31 14:32:10 +02:00
Robert Dewar c86cf71483 lib.ads, [...] (Is_Compiler_Unit): Removed.
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit):
	Removed.
	* opt.ads (Compiler_Unit): New flag.
	* par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit
	for null statement sequence (not allowed in compiler unit).
	* par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during
	parsing.
	* restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new
	calling sequence.
	* sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for
	Check_Compiler_Unit.
	* sem_ch6.adb (Analyze_Extended_Return_Statement): Call
	Check_Compiler_Unit (this construct is not allowed in compiler
	units).
	* sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]):
	Set Opt.Compiler_Unit.

From-SVN: r211617
2014-06-13 12:02:31 +02:00
Arnaud Charlet 810241a5bf 2014-06-11 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: add description of gnatstub -W<par>
	option to specify the result file encoding.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* errout.ads, sem_ch12.adb: Minor reformatting.
	* debug.adb, erroutc.adb: Remove -gnatd.q debug switch.
	* lib-xref.adb: Minor reformatting.
	* restrict.adb: Minor code reorganization (put routines in
	alpha order).

From-SVN: r211455
2014-06-11 14:25:22 +02:00
Arnaud Charlet 23e28b4217 [multiple changes]
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb, prj-dect.adb: Minor reformatting.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* erroutc.ads: Minor comment addition.

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Add documentation for use of >*> tag.
	* restrict.adb: Make sure we use >*> tag for restriction warnings.

2014-05-21  Gary Dismukes  <dismukes@adacore.com>

	* debug.adb: Add case of illegal overriding_indicator for a
	protected subprogram body to description of -gnatd.E switch.
	* sem_ch6.adb (Verify_Overriding_Indicator): Issue error message
	for cases of giving overriding_indicators on protected subprogram
	bodies, but change this to a warning if -gnatd.E is enabled. No
	longer give a style warning about missing indicators on protected
	subprogram bodies.

From-SVN: r210704
2014-05-21 15:08:13 +02:00
Arnaud Charlet 17cf9038e1 [multiple changes]
2014-05-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Clearly document -gnatw.g (GNAT warnings).
	Clearly document -gnatyg (GNAT style switches).
	* usage.adb: Add line line for -gnatw.g (GNAT warnings) More
	detail for line for -gnatyg (GNAT style switches) -gnatw.d/D is
	available for VMS after all.
	* warnsw.adb: Reorganize to eliminate duplicated code
	(Restore_Warnings): Add a couple of missing entries
	(Save_Warnings): Add a couple of missing entries.
	* warnsw.ads: Add missing entries to Warning_Record (not clear
	what the impact is).

2014-05-21  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Set_Msg_Insertion_Warning): Handle ?*? (restriction
	warning) case.
	* errout.ads: Document ?*? (restriction warning) insertion.
	* erroutc.adb (Get_Warning_Tag): Deal with ?*? (restriction
	warning) case.
	* erroutc.ads: Document use of * for restriction warning tag.
	* restrict.adb (Restriction_Msg): Tag with ?*? instead of ??.

2014-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb (Push_Scope_And_Install_Discriminants): Do not
	make discriminants immediately visible when analyzing an aspect
	of a subtype declaration.
	(Uninstall_Discriminants): Do not apply to the entity in a
	subtype declaration.

From-SVN: r210693
2014-05-21 13:05:25 +02:00
Arnaud Charlet 0355e3ebbe lib.ads, [...]: Implement pragma Compiler_Unit_Warning...
2014-02-25  Robert Dewar  <dewar@adacore.com>

	* lib.ads, s-bitops.adb, s-bitops.ads, s-conca5.adb, gnat_rm.texi,
	s-conca5.ads, s-conca7.adb, s-conca7.ads, s-crc32.adb, s-crc32.ads,
	s-conca9.adb, s-conca9.ads, g-dyntab.adb, s-crtl.ads, g-dyntab.ads,
	s-excdeb.adb, s-addope.adb, s-addope.ads, s-carun8.adb, s-carun8.ads,
	g-htable.adb, g-htable.ads, g-hesora.adb, g-hesora.ads, s-conca2.adb,
	s-conca2.ads, a-comlin.adb, a-chlat1.ads, a-comlin.ads, errout.ads,
	a-except.adb, s-conca4.adb, a-except.ads, s-conca4.ads, s-conca6.adb,
	s-conca6.ads, g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads,
	a-strhas.ads, restrict.adb, aspects.adb, aspects.ads, s-conca8.adb,
	s-conca8.ads, back_end.adb, par-prag.adb, g-byorma.adb, g-byorma.ads,
	a-elchha.adb, a-elchha.ads, g-speche.adb, g-speche.ads, s-casuti.adb,
	s-assert.adb, s-casuti.ads, s-assert.ads, a-clrefi.adb, a-clrefi.ads,
	s-conca3.adb, s-conca3.ads, a-ioexce.ads: Implement pragma
	Compiler_Unit_Warning, change Compiler_Unit everywhere to
	Compiler_Unit_Warning.

2014-02-25  Sergey Rybin  <rybin@adacore.com frybin>

	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Do not normalize
	in ASIS mode aggregates that are used as aspect definitions.

From-SVN: r208137
2014-02-25 16:15:44 +01:00
Arnaud Charlet 3b8056a559 [multiple changes]
2014-01-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): A subprogram
	body generated for an expression function within a protected body
	needs a set of renaming declarations if the expression function
	comes from source.

2014-01-22  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Get_Type_Reference): In semantics-only mode,
	list interface progenitor of a tagged concurrent type, for better
	source navigation.

2014-01-22  Robert Dewar  <dewar@adacore.com>

	* lib.adb (In_Extended_Main_Code_Unit): Return False for
	Standard_Location.
	(In_Extended_Main_Source_Unit): Return False for Standard_Location.
	* lib.ads (In_Extended_Main_Code_Unit): Add documentation on
	treatment of Slocs No_Location and Standard_Location.
	* restrict.adb (Check_Restriction_No_Dependence): Explicitly
	check for entity with Standard_Location Sloc, rather than relying
	on Lib routines to do that.
	* sem_res.adb (Resolve_Call): Implement SPARK_05 restriction
	that a call cannot occur before a later occuring body within
	the same unit.

From-SVN: r206931
2014-01-22 18:04:57 +01:00
Arnaud Charlet 4a28b181a6 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Make warnings on exceptions into errors in GNATprove mode.
	* errout.adb: Implement [ and ] insertion characters.
	* errout.ads: Document new [ and ] insertion characters.
	* sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor
	addition of ??? comment.
	* lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting
	* exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb,
	sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb:
	Make warnings on exceptions into errors in GNATprove mode.
	* sem_dim.adb: Minor reformatting throughout Quote [ and ]
	in error messages.

2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Code clean up.

From-SVN: r206841
2014-01-20 17:01:22 +01:00
Yannick Moy f5da7a97f5 2014-01-20 Yannick Moy <moy@adacore.com>
* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
	* exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
	* sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
	* sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
	GNATprove_Mode.
	* sem_ch13.adb: Remove blank.
	* exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
	subprograms by alias for renamings, not for inherited primitive
	operations.
	* exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
	in GNATprove mode.
	(Remove_Side_Effects): Apply the removal in
	GNATprove mode, for the full analysis of expressions.
	* expander.adb (Expand): Call the light SPARK expansion in GNATprove
	mode.
	(Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
	save/restore actions for Expander_Active flag in GNATprove mode,
	similar to what is done in ASIS mode.
	* frontend.adb (Frontend): Generic bodies are instantiated in
	GNATprove mode.
	* gnat1drv.adb (Adjust_Global_Switches): Set operating
	mode to Check_Semantics in GNATprove mode, although a light
	expansion is still performed.
	(Gnat1drv): Set Back_End_Mode to
	Declarations_Only in GNATprove mode, and later on special case
	the GNATprove mode to continue analysis anyway.
	* lib-writ.adb (Write_ALI): Always generate ALI files in
	GNATprove mode.
	* opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
	Expander_Active.
	(SPARK_Mode): Renamed as GNATprove_Mode.
	* sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
	tree in GNATprove_Mode.
	* sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
	body in GNATprove mode.
	(Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
	mode.
	* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
	Make sure side effects are removed in GNATprove mode.

From-SVN: r206805
2014-01-20 14:44:07 +01:00
Arnaud Charlet 08988ed947 [multiple changes]
2013-10-10  Robert Dewar  <dewar@adacore.com>

	* par-ch6.adb (Check_Junk_Semicolon_Before_Return): Remove
	junk code.

2013-10-10  Javier Miranda  <miranda@adacore.com>

	* sem_ch13.adb (Freeze_Entity_Checks): Avoid
	loosing errors on CPP entities in -gnatc mode.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb (Analyze_If_Statement): Only diagnose redundant
	if from source.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* restrict.adb (Check_SPARK_Restriction): Refine test (don't
	automatically go to the original node).
	* sem_ch11.adb (Analyze_Raise_Statement): Only raise
	statements that come from source violate SPARK restrictions.
	(Analyze_Raise_xxx_Error): Same fix.
	* sem_ch3.adb (Analyze_Object_Declaration): Check OK SPARK
	initialization on original node, not on possibly rewritten
	expression.
	* sem_ch4.adb (Analyze_If_Expression): Only if expressions that
	come from source violate SPARK mode restrictions.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Fix confusing documentation for -gnatyM.

From-SVN: r203374
2013-10-10 15:17:07 +02:00
Arnaud Charlet 2cbac6c692 [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* sem.ads: Minor comment updates.
	* s-restri.ads, exp_ch6.adb, lib-load.ads, exp_ch3.adb, sem_ch10.adb:
	Minor reformatting.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
	for Restriction_Set.
	* gnat_rm.texi: Add missing menu entry for Attribute Ref Add
	documentation for attribute Restriction_Set.
	* lib-writ.adb (Write_With_Lines): Generate special W lines
	for Restriction_Set.
	* lib-writ.ads: Document special use of W lines for
	Restriction_Set.
	* lib.ads (Restriction_Set_Dependences): New table.
	* par-ch4.adb (Is_Parameterless_Attribute): Add Loop_Entry to
	list (Scan_Name_Extension_Apostrophe): Remove kludge test for
	Loop_Entry (Scan_Name_Extension_Apostrophe): Handle No_Dependence
	for Restricton_Set.
	* restrict.adb (Check_SPARK_Restriction): Put in Alfa order
	(OK_No_Dependence_Unit_Name): New function.
	* restrict.ads (OK_No_Dependence_Unit_Name): New function.
	* rtsfind.adb: Minor reformatting Minor code reorganization.
	* sem_attr.adb (Analyze_Attribute): Add processing for
	Restriction_Set.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Remove Check_Unit_Name and use new function
	OK_No_Dependence_Unit_Name instead.
	* sinfo.ads: Minor comment updates.
	* snames.ads-tmpl: Add entry for Restriction_Set attribute.

2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Apply_Accessibility_Check): Remove local constant
	Pool_Id and local variable Free_Stmt. Do not deallocate the faulty
	object as "free" is not available on all targets/profiles.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Handle
	Storage_Size aspect for task type in case discriminant is
	referenced.
	(Analyze_Attribute_Definition_Clause): Do not flag Storage_Size
	attribute definition clause as obsolescent if from aspect.

From-SVN: r200771
2013-07-08 10:15:25 +02:00
Arnaud Charlet d7a3e18ca8 [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Add documentation for Img returning a function.
	* par-prag.adb: Minor reformatting.
	* restrict.adb: Minor reformatting and code reorganization.

2013-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb: add guard to ASIS transform.

From-SVN: r200769
2013-07-08 10:11:50 +02:00
Arnaud Charlet 6480338ae6 [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
	* restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
	referenced there.
	* scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb,
	sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK.
	* snames.ads-tmpl (Name_No_Obsolescent_Features): New entry.

2013-07-08  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Check_Files): Use a response file for gnatls
	when possible.

From-SVN: r200764
2013-07-08 10:03:04 +02:00
Arnaud Charlet aa0dfa7e4e [multiple changes]
2013-07-08  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb: Minor typo fixes.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document
	obsolete recognition of SPARK Document all other obsolete synonyms
	for old restrictions.
	* restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces
	SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym
	for SPARK_05.
	* restrict.ads: Restriction SPARK_05 replaces SPARK.
	* s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK
	as synonym for SPARK_05.
	* sem_prag.adb: Minor reformatting.
	* snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05.

From-SVN: r200763
2013-07-08 09:59:55 +02:00
Yannick Moy 06b599fd62 adabkend.adb, [...]: Everything with name 'Alfa' renamed in 'SPARK'.
2013-04-24  Yannick Moy  <moy@adacore.com>

	* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
	errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
	exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
	expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
	lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
	restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
	sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
	sem_res.adb, sem_util.adb: Everything with name
	'Alfa' renamed in 'SPARK'. Update comments.
	Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
	* exp_alfa.adb: renamed exp_spark.adb.
	* exp_alfa.ads: renamed exp_spark.ads.
	* get_alfa.adb: renamed get_spark_xrefs.adb.
	* get_alfa.ads: renamed get_spark_xrefs.ads.
	* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
	* put_alfa.adb: renamed put_spark_xrefs.adb.
	* put_alfa.ads: renamed put_spark_xrefs.ads.
	* alfa.adb: renamed spark_xrefs.adb.
	* alfa.ads: renamed spark_xrefs.ads.
	* alfa_test.adb: renamed spark_xrefs_test.adb.

From-SVN: r198234
2013-04-24 16:14:27 +02:00
Arnaud Charlet 489c6e198e [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb,
	restrict.ads: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: Retrieve original name of classwide type if any.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

	* exp_ch11.ads: Minor reformatting.

From-SVN: r197910
2013-04-12 15:19:15 +02:00
Ed Schonberg 57f4c2887e s-rident.ads: Add various missing Ada 2012 restrictions...
2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* s-rident.ads: Add various missing Ada 2012 restrictions:
	No_Access_Parameter_Allocators, No_Coextensions,
	No_Use_Of_Attribute, No_Use_Of_Pragma.
	* snames.ads-tmpl: Add corresponding names.
	* restrict.ads restrict.adb: Subprograms and data structures to
	handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
	* sem_ch4.adb: Correct name of restrictions is
	No_Standard_Allocators_After_Elaboration.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
	violation of restriction No_Use_Of_Attribute.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
	(Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
	* sem_res.adb: Check restrictions No_Access_Parameter_Allocators
	and No_Coextensions.
	* bcheck.adb: Correct name of restrictions is
	No_Standard_Allocators_After_Elaboration.
	* gnatbind.adb: Correct name of restrictions is
	No_Standard_Allocators_After_Elaboration.

From-SVN: r197907
2013-04-12 15:12:02 +02:00
Arnaud Charlet 685bc70fd8 [multiple changes]
2013-01-02  Robert Dewar  <dewar@adacore.com>

	* checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
	exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
	freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
	par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
	sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
	sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
	* sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.

2013-01-02  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads: Minor comment fix.

2013-01-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Refine predicate.

From-SVN: r194787
2013-01-02 10:56:53 +01:00
Arnaud Charlet c5d00db06f [multiple changes]
2013-01-02  Thomas Quinot  <quinot@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): The statements generated
	for the pragma must have the sloc of the pragma, not the
	sloc of the condition, otherwise this creates anomalies in the
	generated debug information that confuse coverage analysis tools.

2013-01-02  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb: Minor reformatting.

2013-01-02  Arnaud Charlet  <charlet@adacore.com>

	* g-excact.ads (Core_Dump): Clarify that this subprogram does
	not dump cores under Windows.

2013-01-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
	view of a subprogram has convention Intrnnsic, and a renaming
	of a prefixed view cannot be the prefix of an Access attribute.

2013-01-02  Robert Dewar  <dewar@adacore.com>

	* restrict.adb: Minor reformatting.

From-SVN: r194782
2013-01-02 10:38:07 +01:00
Arnaud Charlet f2c992d906 [multiple changes]
2012-08-06  Robert Dewar  <dewar@adacore.com>

	* aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
	* par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
	simplify code.

2012-08-06  Yannick Moy  <moy@adacore.com>

	* gnat-style.texi: Update style guide for declarations.

2012-08-06  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Analyze_Attribute): In the case for 'Old,
	skip a special expansion which is not needed in Alfa mode.

2012-08-06  Yannick Moy  <moy@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
	an expansion of the iterator in Alfa mode.

From-SVN: r190159
2012-08-06 09:51:56 +02:00
Arnaud Charlet 727e7b1a87 [multiple changes]
2012-07-12  Robert Dewar  <dewar@adacore.com>

	* s-atopri.adb, s-atopri.ads: Minor reformatting.

2012-07-12  Robert Dewar  <dewar@adacore.com>

	* ali.adb: Add circuitry to read new named form of restrictions lines.
	* debug.adb: Add doc for new -gnatd.R switch (used positional
	notation for output of restrictions data in ali file).
	* lib-writ.adb: Implement new named format for restrictions lines.
	* lib-writ.ads: Add documentation for new named format for
	restrictions in ali files.
	* restrict.adb, restrict.ads, sem_prag.adb: Update comments.
	* rident.ads: Go back to withing System.Rident
	* s-rident.ads: Add extensive comment on dealing with consistency
	checking.

2012-07-12  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.

From-SVN: r189438
2012-07-12 12:49:10 +02:00
Arnaud Charlet 22a83cea15 [multiple changes]
2012-07-09  Thomas Quinot  <quinot@adacore.com>

	* einfo.adb (Set_Reverse_Storage_Order): Update assertion,
	flag is now valid for array types as well.

2012-07-09  Tristan Gingold  <gingold@adacore.com>

	* tracebak.c: Implement __gnat_backtrace for Win64 SEH.

2012-07-09  Robert Dewar  <dewar@adacore.com>

	* einfo.ads: Minor reformatting.

2012-07-09  Javier Miranda  <miranda@adacore.com>

	* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
	renaming_as_body renamings of predefined dispatching equality
	and unequality operators.

2012-07-09  Robert Dewar  <dewar@adacore.com>

	* rident.ads: Do not instantiate r-ident.ads, this is now an
	independent unit.

2012-07-09  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
	routine.
	* sem_disp.adb (Find_Dispatching_Time): Protect this routine
	against partially decorated entities.

2012-07-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Size): Reject a size clause that specifies
	a value greater than Int'Last for a scalar type.

2012-07-09  Vincent Pucci  <pucci@adacore.com>

	* sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
	atomic operation moved to the protected body case. No non-elementary
	out parameter moved to the protected declaration case. Functions have
	only one lock-free restriction.
	(Analyze_Protected_Type_Declaration): Issue a warning when
	Priority given with Lock_Free.

2012-07-09  Vincent Pucci  <pucci@adacore.com>

	* sem_dim.adb: Grammar of aspect Dimension fixed.

2012-07-09  Vincent Pucci  <pucci@adacore.com>

	* freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
	pushing and popping the scope stack whenever a delayed aspect occurs.

2012-07-09  Gary Dismukes  <dismukes@adacore.com>

	* s-os_lib.ads: Remove pragma Elaborate_Body, as
	this is now unnecessary due to recently added pragma Preelaborate.

2012-07-09  Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-mingw.adb (Set_Priority): Remove the code that was
	previously in place to reorder the ready queue when a task drops
	its priority due to the loss of inherited priority.

From-SVN: r189377
2012-07-09 15:14:52 +02:00
Arnaud Charlet 794b9b7240 [multiple changes]
2012-02-17  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Minor shuffling.

2012-02-17  Ed Schonberg  <schonberg@adacore.com>

	* aspects.adb: Expression functions can carry pre/postconditions.
	* par-ch6.adb (P_Subprogram): look for optional pre/postconditions
	in an expression function.
	* sem_prag (Check_Precondition_Postcondition): legal on expression
	functions.

2012-02-17  Vincent Pucci  <pucci@adacore.com>

	* a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
	* a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
	* a-convec.adb, a-coorma.adb (Adjust): New routine.
	(Constant_Reference): Increment Busy and Lock counters.
	(Reference): Increase Busy and Lock counters.
	(Finalize): New routine.
	* a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
	(Adjust): New routine.	(Constant_Reference): Increment Busy
	and Lock counters.
	(Finalize): New routine.
	* a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
	* a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
	* a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
	* a-coorma.ads, a-coorse: Controlled component added to the
	reference types.

2012-02-17  Robert Dewar  <dewar@adacore.com>

	* restrict.adb (Check_Restriction): Add special handling for
	No_Obsolescent_Features.

2012-02-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Find_Finalize_Address): When dealing with an
	internally built full view for a type with unknown discriminants,
	use the original record type.

From-SVN: r184341
2012-02-17 15:15:46 +01:00
Robert Dewar 51fb9b7396 frontend.adb (Frontend): Capture restrictions from config files
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* frontend.adb (Frontend): Capture restrictions from config files
	* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
	information
	* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
	references. This was noticed during debugging, but it is not
	known if it causes real bugs.
	* restrict.ads, restrict.adb: New routines to save/set/restore
	non-partition-wide restrictions.
	* s-rident.ads: Comment changes for new handling of
	No_Elaboration_Code
	* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
	* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
	attempt to save/restore non-partition-wide restrictions (now
	this work is all done in Sem).
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Special handling for restriction No_Elaboration_Code.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document new handling of restrictions pragmas.

From-SVN: r181566
2011-11-21 12:45:44 +01:00
Arnaud Charlet a4901c0835 sem_ch6.adb (Is_Public_Subprogram_For): New procedure
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
	(Process_PPCs): Invariants only apply to public subprograms.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
	restrict.ads: Fix for No_Implicit_Aliasing in the renames case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* a-finali.ads: Use pragma Pure_12 for this unit
	* aspects.adb: Add aspect Pure_12
	* aspects.ads: Add aspect Pure_12
	* opt.ads: Add note on Pure_12
	* par-prag.adb: Add dummy entry for Pure_12
	* sem_prag.adb: Implement Pure_12 pragma
	* snames.ads-tmpl: Add Entry for Pure_12

2011-11-21  Sergey Rybin  <rybin@adacore.com frybin>

	* vms_data.ads: Add qualifiers for new gnatpp options
	'--call_threshold' and '--par_threshold".
	* gnat_ugn.texi: Add description for new gnatpp options
	'--call_threshold' and '--par_threshold".

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* lib.ads: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* lib-load.ads: Add comment.

From-SVN: r181563
2011-11-21 12:35:55 +01:00
Arnaud Charlet e7fceebce6 [multiple changes]
2011-09-19  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads, errout.ads: Minor reformatting.

2011-09-19  Robert Dewar  <dewar@adacore.com>

	* aspects.ads (Impl_Defined_Aspects): New array
	* lib-writ.adb (No_Dependences): New name for No_Dependence
	* restrict.adb (No_Dependences): New name for No_Dependence
	(Check_Restriction_No_Specification_Of_Aspect): New
	procedure.
	(Set_Restriction_No_Specification_Of_Aspect): New procedure
	(Restricted_Profile_Result): New variable
	(No_Specification_Of_Aspects): New variable
	(No_Specification_Of_Aspect_Warning): New variable
	* restrict.ads (No_Dependences): New name for No_Dependence
	(Check_Restriction_No_Specification_Of_Aspect): New procedure
	(Set_Restriction_No_Specification_Of_Aspect): New procedure
	* s-rident.ads: Add restriction
	No_Implementation_Aspect_Specifications, this is also added to
	the No_Implementation_Extensions profile.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Check
	No_Implementation_Defined_Aspects
	(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
	* sem_prag.adb (Analyze_Aspect_Specifications): Check
	No_Implementation_Aspects
	(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
	* snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Take into account multiple
	renamings for Alfa refs.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* g-socthi-mingw.adb: Minor reformatting.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Set tagged type
	expansion to False in mode Alfa

2011-09-19  Pascal Obry  <obry@adacore.com>

	* mingw32.h: Remove obsolete code needed for old versions
	of MingW.

From-SVN: r178959
2011-09-19 10:31:55 +02:00
Arnaud Charlet 36b8f95fd0 [multiple changes]
2011-08-31  Tristan Gingold  <gingold@adacore.com>

	* exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
	hold variables between these following subprograms.
	(Build_Exception_Handler, Build_Object_Declarations,
	Build_Raise_Statement): Use the above type as parameter.
	Make the above adjustments.
	* exp_intr.adb (Expand_Unc_Deallocation): Adjust.

2011-08-31  Pascal Obry  <obry@adacore.com>

	* projects.texi: Minor reformatting.

2011-08-31  Tristan Gingold  <gingold@adacore.com>

	* s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
	* s-rannum.adb (Reset): Use Get_Seed from s-ransee.

2011-08-31  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb: Minor code cleanup.
	* sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
	prevent cascaded errors.
	(Analyze_Loop_Statement): In semantics-only mode, introduce loop
	variable of an iterator specification in current scope.
	* sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
	postconditions on the stack, as they contain no return statements.

2011-08-31  Yannick Moy  <moy@adacore.com>

	* exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
	Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
	call Qualify_Entity_Names.
	(Expand_Alfa): call Qualify_Entity_Names in more cases
	* lib-xref-alfa.adb: Take into account system package.
	* sem_prag.adb Take into account restrictions in Alfa mode, contrary to
	CodePeer mode in which we are interested in finding bugs even if
	compiler cannot compile source.
	* sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
	deferred constant.

2011-08-31  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
	denoted by the subtype mark to ensure getting the concurrent type in
	the case where the subtype mark denotes a private subtype of a
	concurrent type (needed when using -gnatc).
	(Process_Subtype): For the processing specific to type kinds, case on
	the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
	subtype denotes a private subtype whose base type is nonprivate (needed
	for subtypes of private fulfilled by task types when compiling with
	-gnatc).

2011-08-31  Gary Dismukes  <dismukes@adacore.com>

	* sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
	late primitives that override interface operations when the full
	expander is not active, to avoid blowups in Register_Primitive when
	types don't have associated secondary dispatch tables.

2011-08-31  Yannick Moy  <moy@adacore.com>

	* alfa_test.adb: Code clean up.

2011-08-31  Marc Sango  <sango@adacore.com>

	* restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
	by Comes_From_Source (Original_Node (N)) in order to treat also the
	nodes which have been rewritten.
	* sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
	explicit dereference and slice violation in spark mode on the nodes 
	coming only from the source code.

From-SVN: r178365
2011-08-31 11:14:10 +02:00
Arnaud Charlet 56812278e8 [multiple changes]
2011-08-31  Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
	access types.
	* affinity.c (__gnat_set_affinity_mask): Declare index variable.

2011-08-31  Yannick Moy  <moy@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
	full-expander test.
	Minor reformatting, renaming ALFA in Alfa (we dropped acronym)
	* einfo.adb (Primitive_Operations): Correctly return list of primitive
	operations in a case where it returned previously No_Elist.

From-SVN: r178358
2011-08-31 10:43:42 +02:00
Arnaud Charlet 97ed5872c6 [multiple changes]
2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb: (Check_Private_Overriding): better error message,
	suggested by AI95-0068.

2011-08-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
	the two potential initialization calls. This accounts for any
	access-before-elaboration checks which may precede the initialization
	calls.
	(Next_Suitable_Statement): New routine. Returns the next real statement
	after the input node while skipping generated checks.
	* sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
	with comment on usage.
	Do not generate Elaborate_All when the trigger is a finalization call
	coming from a type init proc.
	(Check_Elab_Call): Propagate the initialization procedure context to
	subsequent calls to Check_A_Call.
	(Check_Internal_Call_Continue): Propagate the initialization procedure
	context to subsequent calls to Check_Elab_Call.
	(Is_Finalization_Procedure): New routine. Returns True if the input
	entity denotes a [Deep_]Finalize routine.
	* sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
	along with comment on usage.

2011-08-05  Vadim Godunko  <godunko@adacore.com>

	* s-atocou.ads: Add list of supported platforms.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables

	* opt.ads (Disable_ALI_File): new Boolean flag
	* lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing

2011-08-05  Ed Falis  <falis@adacore.com>

	* env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
	environ is properly defined.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* make.adb (Compilation_Phase): Exit immediately when all objects have
	been found up to date, to avoid multiple exit messages.
	* prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
	same project for languages with no compiler.
	* gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
	-eI.

From-SVN: r177434
2011-08-05 15:46:16 +02:00
Arnaud Charlet 406935b64c [multiple changes]
2011-08-05  Yannick Moy  <moy@adacore.com>

	* exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
	if the node to wrap is a pragma check, this node and enclosed
	expression are not expanded, so do not apply any transformations here.
	* exp_prag.adb (Expand_Pragma_Check): document the need to avoid
	introducing transient scopes.

2011-08-05  Jose Ruiz  <ruiz@adacore.com>

	* adaint.c (__gnat_set_writable, __gnat_set_readable,
	__gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
	__gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
	routine is available, so we use the default implementation of these
	functions.
	* s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
	support for copying attributes on VxWorks 6.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* debug.adb: Remove use of -gnatd.D.
	* gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
	* opt.ads: Simplify variables for ALFA mode, to keep one only
	* restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
	to ALFA mode.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Do_Autoconf): Look also for --RTS in
	Builder'Default_Switches.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* makeusg.adb: Add lines for --create-map-file switches.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Entity): For a subprogram, if a type in the
	profile is incomplete and the full view is available, replace it with
	the full view.
	* sem_ch6.adb (Possible_Freeze): if a type in the profile is
	incomplete, freezing the subprogram is delayed until the full view is
	frozen.
	* sem_type.adb (Disambiguate): an ambiguity between a user-defined
	fixed-point multiplication operator and the predefined operator is
	resolved in favor of the user-defined one.

From-SVN: r177432
2011-08-05 15:32:13 +02:00
Arnaud Charlet c565bc6628 [multiple changes]
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-tree.ads: Remove unused variable.

2011-08-03  Yannick Moy  <moy@adacore.com>

	* restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
	issuing messages related to SPARK restriction violation.

From-SVN: r177246
2011-08-03 11:27:50 +02:00
Arnaud Charlet c4d67e2d73 [multiple changes]
2011-08-03  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
	restriction on overloaded entity if the entity is not an operator.

2011-08-03  Yannick Moy  <moy@adacore.com>

	* sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
	restrict.ads: Rename remaining Check_Formal_Restriction* into
	Check_SPARK_Restriction*.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
	prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
	qualifier.
	(Project_Empty): removed
	(Empty_Project): new parameter Qualifier
	This is used to have fields specific to aggregate projects, cleaner
	New field to store the list of aggregated projects.
	(Check_Aggregate_Project): removed
	(Process_Aggregated_Projects, Free): new subprograms.

From-SVN: r177243
2011-08-03 11:17:28 +02:00