Commit Graph

248 Commits

Author SHA1 Message Date
Hristian Kirtchev
275d8313ba exp_util.adb, [...] (Entity_Of): Moved to Sem_Util.
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util.
	* sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null
	item list as being analyzed.
	(Analyze_Global_List): Mark a
	null global list and multiple global items as being analyzed.
	(Analyze_Input_Item): Check the unit that defines the input
	variable or state, not the reference to it.
	* sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure
	that the input has an entity.

From-SVN: r203764
2013-10-17 16:00:46 +02:00
Thomas Quinot
064f4527c4 exp_util.adb (Get_Current_Value_Condition, [...]): Handle the case of expressions with actions * exp_util.adb (Insert_Actions):...
2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_util.adb (Get_Current_Value_Condition,
	Set_Current_Value_Condition): Handle the case of expressions
	with actions * exp_util.adb (Insert_Actions): Handle the case
	of an expression with actions whose Actions list is empty.
	* exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An
	expression with actions that has no Actions and whose Expression
	is side effect free is itself side effect free.
	* exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on
	temporary 'R' (Def_Id), which is in general an access to Exp_Type, not
	an Exp_Type.
	* sem_res.adb (Resolve): For an expression with
	actions, resolve the expression early.	* sem_res.adb
	(Resolve_Expression_With_Actions): Rewrite an expression with
	actions whose value is compile time known and which has no
	actions into just its expression, so that its constant value is
	available downstream.
	* sem_res.adb (Resolve_Short_Circuit):
	Wrap the left operand in an expression with actions to contain
	any required finalization actions.
	* exp_ch4.adb (Expand_Expression_With_Actions): For an
	expression with actions returning a Boolean expression, ensure
	any finalization action is kept within the Actions list.
	* sem_warn.adb (Check_References, Check_Unset_Reference): add
	missing circuitry to handle expressions with actions.
	* checks.adb (Ensure_Valid): For an expression with actions,
	insert the validity check on the Expression.
	* sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression
	with actions that has a non-empty Actions list is not static. An
	expression with actions that has an empty Actions list has the
	static ranges of its Expression.
	* sem_util.adb (Has_No_Obvious_Side_Effects): An expression with
	actions with an empty Actions list has no obvious side effects
	if its Expression itsekf has no obvious side effects.

From-SVN: r203763
2013-10-17 15:58:39 +02:00
Ed Schonberg
51245e2db0 sem_aux.ads, [...] (Is_Immutably_Limited_Type): Make predicate compatible with Ada 2012 definition
2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make
	predicate compatible with Ada 2012 definition
	(Is_Limited_View): New name for previous version of
	Is_Immutably_Limited_Type.  Predicate is true for an untagged
	record type with a limited component.
	* exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb,
	sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb,
	sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View
	* freeze.adb Use Is_Immutably_Limited_Type to check the legality
	of references to the current instance, Is_Limited_View otherwise.

From-SVN: r203762
2013-10-17 15:54:29 +02:00
Arnaud Charlet
5114f3ff9a [multiple changes]
2013-10-17  Yannick Moy  <moy@adacore.com>

	* sem_ch8.adb (Find_Direct_Name): Keep track of assignments for
	renamings in SPARK mode.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK): Remove special case for NOT IN
	operation.
	* sinfo.ads: Add special comment section to describe SPARK mode
	effect on tree.
	* exp_spark.ads: Remove comments, moved to sinfo.ads.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Class_Wide_Type,
	Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type):
	Remove useless special cases.
	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator,
	Expand_N_Op_Expon): Remove useless special cases.
	* exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place
	in SPARK mode by testing Full_Expander_Active instead of
	Expander_Active.
	(Make_Build_In_Place_Call_In_Allocator): Remove useless special case.
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Remove
	useless special case.
	* sem_eval.adb (Compile_Time_Known_Value): Remove special handling of
	deferred constant.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* gnat_ugn.texi: Document -gnateT and target file format.

2013-10-17  Vincent Celier  <celier@adacore.com>

	* prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is
	always False, even when the value starts and ends with double quotes.

From-SVN: r203747
2013-10-17 12:32:09 +02:00
Arnaud Charlet
3cd4a21069 [multiple changes]
2013-10-10  Robert Dewar  <dewar@adacore.com>

	* lib-writ.adb (Write_Unit_Information): Fatal error if linker
	options are detected in a predefined generic unit.

2013-10-10  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c (CLOCK_REALTIME): Always define, possibly using
	a dummy placeholder value.
	(NEED_PTHREAD_CONDATTR_SETCLOCK): Remove, not needed anymore.
	* thread.c: Adjust #if test accordingly.

2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Consequence_Error): Generate an
	implicit if statement.
	(Expand_Contract_Cases): Generate an implicit if statement.
	(Process_Contract_Cases): Do not expand Contract_Cases when no code
	is being generated.

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

	* sem_attr.adb (Address_Checks): New procedure.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: New Node Freeze_Generic_Entity, to trigger
	semantic actions at the proper point for entities that previously
	had no explicit freeze point.
	* freeze.adb (Freeze_Generic_Entities): generate new nodes to
	indicate the point at which semantic checks can be performed on
	entities declared in generic packages.
	* sem_ch13.ads, sem_ch13.adb: New procedure
	Analyze_Freeze_Generic_Entity.
	* exp_util.adb (Insert_Actions): Treat new node like Freeze_Entity.
	* sem.adb (Analyze): Call Analyze_Freeze_Generic_Entity.
	* sprint.adb (Sprint_Node): display Analyze_Freeze_Generic_Entity.
	* gcc-interface/trans.c: Ignore Analyze_Freeze_Generic_Entity.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r203367
2013-10-10 14:43:38 +02:00
Arnaud Charlet
1591837192 [multiple changes]
2013-10-10  Robert Dewar  <dewar@adacore.com>

	* lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads,
	sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb,
	s-atocou-builtin.adb: Minor reformatting.

2013-10-10  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This
	constant needs to be output to s-oscons.h, as it is tested
	by init.c.

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

	* exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early
	* exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice
	flag to avoid expanding choices when not necessary.
	* exp_util.adb: Minor reformatting
	* freeze.adb (Freeze_Record_Type): Redo expansion of variants
	* sem_aggr.adb: Minor reformatting
	* sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and
	Checking of choices.
	* sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new
	Analyze_Choices.
	* sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices
	and Check_Choices
	* sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices
	and Check_Choices
	* sem_util.adb: Minor reformatting
	* sinfo.ads, sinfo.adb (Has_SP_Choice): New flag.

2013-10-10  Vincent Celier  <celier@adacore.com>

	* mlib-prj.adb (Build_Library): Do not issue link dynamic
	libraries with an Rpath, if switch -R was used.

2013-10-10  Tristan Gingold  <gingold@adacore.com>

	* s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16,
	Image_Index_Table_32): Remove as not used.
	* s-imgint.adb (Image_Integer): Call Set_Image_Integer and
	remove duplicated code.

From-SVN: r203358
2013-10-10 14:17:35 +02:00
Arnaud Charlet
9e92ad4973 [multiple changes]
2013-10-10  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb (Expand_N_Variant_Part): Expand statically
	predicated subtype which appears in Discrete_Choices list.
	* exp_ch5.adb (Expand_N_Case_Statement): Expand statically
	predicated subtype which appears in Discrete_Choices list of
	case statement alternative.
	* exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New
	procedure.
	* sem_case.adb: Minor reformatting (Analyze_Choices): Don't
	expand out Discrete_Choices that are names of subtypes with
	static predicates. This is now done in the analyzer so that the
	-gnatct tree is properly formed for ASIS.
	* sem_case.ads (Generic_Choices_Processing): Does not apply
	to aggregates any more, so change doc accordingly, and remove
	unneeded Get_Choices argument.
	* sem_ch3.adb (Analyze_Variant_Part): Remove no
	longer used Get_Choices argument in instantiation of
	Generic_Choices_Processing.
	* sem_ch4.adb (Analyze_Case_Expression): Remove no
	longer used Get_Choices argument in instantiation of
	Generic_Choices_Processing.
	* sem_ch5.adb (Analyze_Case_Statement): Remove no
	longer used Get_Choices argument in instantiation of
	Generic_Choices_Processing.
	* sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative,
	document that choices that are names of statically predicated
	subtypes are expanded in the code generation tree passed to the
	back end, but not in the ASIS tree generated for -gnatct.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb: Revert previous change.

2013-10-10  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where
	the Storage_Pool aspect is specified by an aspect clause and a
	renaming is used to capture the evaluation of the pool name,
	insert the renaming in front of the aspect's associated entity
	declaration rather than in front of the corresponding attribute
	definition (which hasn't been appended to the declaration
	list yet).

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Is_Interface_Conformant): The controlling type
	of the interface operation is obtained from the ultimate alias
	of the interface primitive parameter, because that may be in
	fact an implicit inherited operation whose signature involves
	the type extension and not the desired interface.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* par-ch13.adb (Aspect_Specifications_Present): In Ada 2012,
	recognize an aspect specification with a misspelled name if it
	is followed by a a comma or semicolon.

2013-10-10  Vadim Godunko  <godunko@adacore.com>

	* s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb:
	Fix copyright notice.

2013-10-10  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get
	enclosing subprogram for precondition/postcondition/contract cases.

From-SVN: r203350
2013-10-10 13:07:30 +02:00
Arnaud Charlet
27a8f15020 [multiple changes]
2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): For Address
	attribute, consider it to be set in source, because of aliasing
	considerations.
	(Analyze_Attribute_Definition_Clause): For the
	purpose of warning on overlays, take into account the aspect case.

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

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
	a-cofove.ads: Minor reformatting.

2013-10-10  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Remove obsolete mention to -laddr2line.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression):  Indicate that the
	generated variable used as a target of the expression needs
	no initialization.

2013-10-10  Jose Ruiz  <ruiz@adacore.com>

	* exp_util.adb (Corresponding_Runtime_Package): Remove the condition
	related to No_Dynamic_Attachment which was wrong. Protected types
	with interrupt handlers (when not using a restricted profile)
	are always treated as protected types with entries, regardless
	of the No_Dynamic_Attachment restriction.
	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code
	using the result of Corresponding_Runtime_Package.
	(Install_Private_Data_Declarations): When having
	static handlers and a non restricted profile, we use the
	type Static_Interrupt_Protection always, so we removed an
	extra wrong condition looking at the No_Dynamic_Attachment
	restriction. Simplify the code using the result of
	Corresponding_Runtime_Package.
	(Make_Initialize_Protection): Simplify the code using
	the result of Corresponding_Runtime_Package.
	(Install_Private_Data_Declaration): The No_Dynamic_Attachment
	restriction has nothing to do with static handlers. Remove the extra
	erroneous condition that was creating the wrong data type.

2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Is_Object_Reference): Attribute
	'Old produces an object reference.
	* gnat_rm.texi: Define accessibility level of
	X'Update(...) result.

From-SVN: r203348
2013-10-10 12:59:13 +02:00
Arnaud Charlet
b2c2839914 [multiple changes]
2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Create_Alternative): Removed.
	(Expand_N_If_Expression): Remove constant
	In_Case_Or_If_Expression. Add local variable
	Ptr_Typ. Inspect the "then" and "else" action lists
	for transient controlled objects and generate code to
	finalize them.	(Is_Controlled_Function_Call): Removed.
	(Process_Action): Update the comment on usage. Update the call
	to Process_Transient_Object. There is no need to continue the
	traversal of the object itself.
	(Process_Actions): New routine.
	(Process_Transient_Object): Moved to the top level of Exp_Ch4. Add
	a new formal and update the related comment on usage.
	* exp_util.adb (Within_Case_Or_If_Expression): Start the search
	from the parent of the node.

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

	* a-cusyqu.ads, a-cbprqu.ads, s-interr.ads, a-cuprqu.ads,
	a-cbsyqu.ads: Minor reformatting (proper formatting of overriding).

From-SVN: r200759
2013-07-08 09:52:49 +02:00
Arnaud Charlet
2995860f56 [multiple changes]
2013-04-25  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK_N_In): Remove procedure.
	(Expand_SPARK): Remove special expansion for membership tests.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Update all places
	that should use constant Base_Typ. When building an invariant
	check, account for invariants coming from the base type. Prevent
	the creation of a junk invariant check when the related object
	is of an array type and it is initialized with an aggregate.
	* exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use
	the base type to create an invariant call when the type of the
	expression is a composite subtype.

2013-04-25  Vasiliy Fofanov  <fofanov@adacore.com>

	* a-cborse.adb: Fix minor typo.

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

	* sem_ch6.adb (Different_Generic_Profile): A spec and body
	match in an instance if a subtype declaration that renames a
	generic actual with the same name appears between spec and body.

From-SVN: r198294
2013-04-25 12:48:04 +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
f1c8097750 [multiple changes]
2013-04-24  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Process_Convention): Move Stdcall tests to
	Set_Convention_From_Pragma so that they are applied to each
	entry of a homonym set.
	(Process_Convention): Don't try to set convention if already set.

2013-04-24  Robert Dewar  <dewar@adacore.com>

	* gnatbind.adb: Minor reformatting.

2013-04-24  Vincent Celier  <celier@adacore.com>

	* clean.adb (Gnatclean): Add the default project search
	directories in the project search path after scanning the
	switches on the command line.
	(Initialize): Do not put the default project search directories in the
	project search path.
	* gnatcmd.adb (GNATcmd): Add the default project search
	directories in the project search path after scanning the switches
	on the command line.
	* make.adb (Initialize): Add the default project search
	directories in the project search path after scanning the switches
	on the command line.

2013-04-24  Yannick Moy  <moy@adacore.com>

	* restrict.ads (Restriction_Warnings): Initialize with all False value.

2013-04-24  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
	* exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
	Predicate_Check.
	* snames.ads-tmpl (Name_Predicate_Check): New check name.
	* types.ads (Predicate_Check): New definition.
	* gnat_rm.texi: Add documentation for Predicate_Check.

From-SVN: r198226
2013-04-24 15:13:04 +02:00
Arnaud Charlet
9d5598bf83 [multiple changes]
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Significant
	rewrite to make sure Is_Ignore is properly captured when aspect
	is declared.
	* sem_ch6.adb: Minor reformatting.
	* sem_prag.adb (Analyze_Pragma): Do not test policy at time of
	pragma for the case of a pragma coming from an aspect (already
	tested when we analyzed the aspect).

2013-04-23  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Parse_Project_And_Apply_Config): New
	Boolean parameter Implicit_Project, defaulted to False. Call
	Prj.Part.Parse with Implicit_Project.
	* prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
	parameter Implicit_Project, defaulted to False.
	* prj-part.adb (Parse_Single_Project): New Boolean parameter
	Implicit_Project, defaulted to False. When Implicit_Project is
	True, change the Directory of the project node to the Current_Dir.
	* prj-part.ads (Parse): New Boolean parameter, defaulted to False

2013-04-23  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Minor reformatting.

From-SVN: r198184
2013-04-23 11:50:31 +02:00
Arnaud Charlet
72267417bd [multiple changes]
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* xoscons.adb: Minor reformatting.

2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Mode): Ensure that a
	self-referential output appears in both input and output lists of
	the subprogram as categorized by aspect Global.
	(Check_Usage): Rename formal parameters to better illustrate their
	function. Update all uses of the said formals.

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

	* exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New
	parameter Append_NUL to make NUL-termination optional.
	* exp_dist.adb: Consistently use the above throughout instead of
	Get_Library_Unit_Name_String.

From-SVN: r198183
2013-04-23 11:48:55 +02:00
Robert Dewar
872c2f3768 a-envvar.adb, [...]: Minor reformatting.
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor
	reformatting.

From-SVN: r198180
2013-04-23 11:44:10 +02:00
Arnaud Charlet
9a7049fd64 [multiple changes]
2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
	* exp_util.adb (Expand_Subtype_From_Expr): If the expression
	is a source entity and the declaration is for an aliased
	unconstrained array, create a new subtype so that the flag
	Is_Constr_Subt_For_UN_Aliased does not pollute other entities.

2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Move tables Base_Aspect and Inherited_Aspect
	from the spec to the body.
	(Find_Aspect): Update the call to Get_Aspect_Id.
	(Get_Aspect_Id): New version that takes an aspect specification.
	* aspects.ads: Reorganize all aspect related tables.
	(Get_Aspect_Id): New version that takes an aspect specification.
	* par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
	the call to Get_Aspect_Id.
	* sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
	call to Get_Aspect_Id.	(Analyze_Aspect_Specifications): Update
	the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.

From-SVN: r198179
2013-04-23 11:42:45 +02:00
Arnaud Charlet
16d3a85360 [multiple changes]
2013-04-22  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
	opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.

2013-04-22  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
	No_Path_Information only when Directories_Must_Exist_In_Projects
	is False.
	(Get_Directories): Set Object_Directory
	or Exec_Directory to No_Path_Information only when
	Directories_Must_Exist_In_Projects is False.

From-SVN: r198129
2013-04-22 12:42:42 +02:00
Robert Dewar
5bd66d23fc makeutl.adb, [...]: Minor reformatting.
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* makeutl.adb, prj-nmsc.adb: Minor reformatting.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Make_Invariant_Call): Use Check_Kind instead
	of Check_Enabled.
	* gnat_rm.texi (Check_Policy): Update documentation for new
	Check_Policy syntax.
	* sem_prag.adb (Check_Kind): Replaces Check_Enabled
	(Analyze_Pragma, case Check_Policy): Rework to accomodate new
	syntax (like Assertion_Policy).
	* sem_prag.ads (Check_Kind): Replaces Check_Enabled.

From-SVN: r197920
2013-04-12 15:45:25 +02:00
Arnaud Charlet
b69cd36a46 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
	* exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
	sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
	par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
	sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
	exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
	prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
	sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
	sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).

2013-04-12  Doug Rupp  <rupp@adacore.com>

	* init.c: Don't clobber condition code on VMS.

From-SVN: r197917
2013-04-12 15:41:03 +02:00
Arnaud Charlet
aab45d22d2 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Has_Dynamic_Predicate_Aspect): New flag.
	(Has_Static_Predicate_Aspect): New flag.
	* einfo.ads (Has_Dynamic_Predicate_Aspect): New flag.
	(Has_Static_Predicate_Aspect): New flag.
	* exp_ch9.adb: Minor reformatting.
	* exp_util.adb (Make_Invariant_Call): Check_Enabled now handles
	synonyms.
	* gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled,
	since this switch is gone and control of Debug is done with
	Assertions_Enabled.
	* gnat_rm.texi: Update documentation for Assertion_Policy and
	Check_Policy pragmas.
	* opt.adb (Debug_Pragmas_Disabled[_Config]): Removed
	(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
	controlled by Assertion_Enabled.
	* opt.ads (Debug_Pragmas_Disabled[_Config]): Removed
	(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
	controlled by Assertion_Enabled.
	* par-ch2.adb (Scan_Pragma_Argument_Association): Allow new
	'Class forms.
	* sem_attr.adb: Minor reformatting.
	* sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect
	if DISABLE policy applies.
	* sem_ch6.adb (Grab_PPC): Check original name of aspect for
	aspect from pragma (Process_PPCs): Properly check assertion policy.
	* sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy
	(Check_Appicable_Policy): New procedure.
	(Is_Valid_Assertion_Kind): New function.
	(Rewrite_Assertion_Kind): New procedure.
	(Analyze_Pragma): Handle case of disabled assertion pragma.
	(Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012.
	(Analyze_Pragma, case Check): Deal with 'Class possibilities.
	(Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities.
	(Analyze_Pragma, case Contract_Class): New handling of ignored pragma.
	(Analyze_Pragma, case Debug): New control with Assertion_Policy.
	(Analyze_Pragma, case Debug_Policy): Now consistent with
	Assertion_Policy.
	(Analyze_Pragma, case Loop_Invariant): New handling of ignored
	pragma.
	(Analyze_Pragma, case Loop_Variant): New handling of ignored pragma.
	(Analyze_Pragma, case Precondition): Use proper name for Check pragma.
	(Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff.
	* sem_prag.ads (Check_Enabled): Rewritten for new
	Assertion_Policy stuff.
	(Check_Appicable_Policy): New procedure.
	* sinfo.adb (Is_Disabled): New flag.
	(Is_Ignored): New flag.
	* sinfo.ads (Is_Disabled): New flag.
	(Is_Ignored): New flag.
	(N_Pragma_Argument_Association): New 'Class forms.
	* snames.ads-tmpl: New names Name_uPre, Name_uPost,
	Name_uType_Invariant, Name_uInvariant.
	* switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata.
	* tree_io.ads (ASIS_Version_Number): Updated (remove
	read write of obsolete flags Debug_Pragmas_Disabled and
	Debug_Pragmas_Enabled.

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

	* exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary
	of Build_Record_Aggr_Code, used to retrieve explicit values
	for inherited discriminants in an extension aggregate, when the
	ancestor type is unconstrained.

From-SVN: r197915
2013-04-12 15:35:06 +02:00
Hristian Kirtchev
d62520f3cf aspects.adb (Find_Aspect): New routine.
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb (Find_Aspect): New routine.
	(Find_Value_Of_Aspect): New routine.
	(Has_Aspect): Reimplemented.
	* aspects.ads (Find_Aspect): New routine.
	(Find_Value_Of_Aspect): New routine, previously known as Find_Aspect.
	* exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect.
	* exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect.
	* sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect.
	* sem_ch5.adb (Analyze_Iterator_Specification): Update
	the call to Find_Aspect. Use function Has_Aspect for better
	readability.
	(Preanalyze_Range): Use function Has_Aspect for better readability.
	* sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect.
	* sem_prag.adb (Analyze_Pragma): There is no longer need to
	look at the parent to extract the corresponding pragma for
	aspect Global.

From-SVN: r197911
2013-04-12 15:20:29 +02:00
Hristian Kirtchev
a7e68e7fa7 aspects.adb: Alphabetize subprogram bodies in this unit.
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Alphabetize subprogram bodies in this unit. Add
	an entry for Aspect_Ghost in the table of canonical aspects.
	(Has_Aspect): New routine.
	* aspects.ads: Add Aspect_Ghost to all relevant
	tables. Alphabetize subprograms in this unit.
	(Has_Aspect): New routine.
	* einfo.adb: Add with and use clauses for Aspects.
	(Is_Ghost_Function): New routine.
	* einfo.ads: Add new synthesized attribute Is_Ghost_Function and
	update the structure of the related nodes.
	(Is_Ghost_Function): New routine.
	* exp_ch4.adb (Find_Enclosing_Context): Use routine
	Is_Body_Or_Package_Declaration to terminate a search.
	(Is_Body_Or_Unit): Removed.
	* exp_util.adb (Within_Case_Or_If_Expression): Use routine
	Is_Body_Or_Package_Declaration to terminate a search.
	* par-prag.adb: Add pragma Ghost to the list of pragmas that do
	not need special processing by the parser.
	* sem_attr.adb (Analyze_Access_Attribute): Detect an
	illegal use of 'Access where the prefix is a ghost function.
	(Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration
	to terminate a search.	(Check_References_In_Prefix): Use routine
	Is_Body_Or_Package_Declaration to terminate a search.
	* sem_ch4.adb (Analyze_Call): Mark a function when it appears
	inside an assertion expression.  Verify the legality of a call
	to a ghost function.
	(Check_Ghost_Function_Call): New routine.
	* sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move
	the setting of attribute In_Assertion_Expression to Analyze_Call.
	(Check_Overriding_Indicator): Detect an illegal attempt to
	override a function with a ghost function.
	* sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of
	a ghost function as a generic actual.
	* sem_elab.adb (Check_Internal_Call_Continue): Update the call
	to In_Assertion.
	* sem_prag.adb: Add an entry for pragma Ghost in the table
	of significant arguments.
	(Analyze_Pragma): Do not analyze
	an "others" case guard. Add processing for pragma Ghost. Use
	Preanalyze_Assert_Expression when analyzing the expression of
	pragmas Loop_Invariant and Loop_Variant.
	* sem_util.adb (Get_Subprogram_Entity): Reimplemented.
	(Is_Body_Or_Package_Declaration): New routine.
	* sem_util.ads: Alphabetize subprotrams in this unit.
	(Is_Body_Or_Package_Declaration): New routine.
	* sinfo.adb (In_Assertion): Rename to In_Assertion_Expression.
	(Set_In_Assertion): Rename to Set_In_Assertion_Expression.
	* sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression
	to better reflect its use.  Update all places that mention the flag.
	(In_Assertion): Rename to In_Assertion_Expression. Update
	related pragma Inline.	(Set_In_Assertion): Rename to
	Set_In_Assertion_Expression. Update related pragma Inline.
	* snames.ads-tmpl: Add new predefined name Ghost. Add new pragma
	id Pragma_Ghost.

From-SVN: r197909
2013-04-12 15:17:28 +02:00
Arnaud Charlet
d45bc240af [multiple changes]
2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Entity_Of): Moved to Exp_Util.
	* exp_util.ads, exp_util.adb (Entity_Of): New routine.

2013-04-11  Robert Dewar  <dewar@adacore.com>

	* g-spipat.ads: Minor comment fix.

From-SVN: r197778
2013-04-11 14:42:28 +02:00
Arnaud Charlet
fc142f6327 [multiple changes]
2013-04-11  Robert Dewar  <dewar@adacore.com>

	* atree.h: Add declarations for Flag255-Flag289 Fix declaration
	of Field30 (was wrong, but no effect, since not yet referenced by
	back end) Add declarations for Field31-Field35 Add declarations
	for Node31-Node35.
	* einfo.ads, einfo.adb (Has_Invariants): No longer applies to
	procedures.
	(Has_Predicates): No longer applies to functions.
	(Is_Predicate_Function): New flag.
	(Is_Predicate_Function_M): New flag.
	(Is_Invariant_Procedure): New flag.
	(Predicate_Function_M): New function.
	(Set_Predicate_Function_M): New procedure.
	* exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
	case of appearing in predicate used for membership test.
	* exp_ch3.adb (Insert_Component_Invariant_Checks): Set
	Is_Invariant_Procedure flag.
	* exp_ch4.adb (Expand_Op_In): Call special predicate function
	that takes care of raise_expression nodes in the predicate.
	* exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
	membership case.
	* sem_ch13.adb (Build_Predicate_Functions): New name for
	Build_Predicate_Function.  Major rewrite to take care of raise
	expression in predicate for membership tests.
	* sem_res.adb (Resolve_Actuals): Include both predicate functions
	in defense against infinite predicate function loops.
	* sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.

2013-04-11  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor reformatting.

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

	* lib-xref.adb: Generate reference for component of anonymous
	access type.

From-SVN: r197766
2013-04-11 12:45:11 +02:00
Robert Dewar
c8d636509a exp_ch11.ads, [...] (Expand_N_Raise_Expression): New procedure.
2013-04-11  Robert Dewar  <dewar@adacore.com>

	* exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
	* exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
	* expander.adb: Add call to Expand_N_Raise_Expression.
	* par-ch11.adb (P_Raise_Expression): New procedure.
	* par-ch4.adb (P_Relation): Handle Raise_Expression.
	* par.adb (P_Raise_Expression): New procedure.
	* sem.adb: Add handling for N_Raise_Expression.
	* sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
	* sem_res.adb (Resolve): Add handling for N_Raise_Expression.
	* sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
	* sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
	* stand.ads (Any_Type): Document use with N_Raise_Expression.

From-SVN: r197764
2013-04-11 12:39:15 +02:00
Arnaud Charlet
c91dbd184b [multiple changes]
2013-02-06  Javier Miranda  <miranda@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
	runtime check on assignment to tagged types if compiling with checks
	suppressed.

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

	* exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
	s-os_lib.adb: Minor reformatting

2013-02-06  Vincent Celier  <celier@adacore.com>

	* ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.

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

	* snames.ads-tmpl: Add Name_Rational and pragma Rational.
	* par-prag.adb: Recognize pragma Rational.
	* opt.ads (Rational_Profile): flag to control compatibility mode
	with Rational compiler.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
	is enable, accept renaming declarations where the new subprogram
	and the renamed entity have the same name.
	* sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
	Rational as a profile.

From-SVN: r195793
2013-02-06 11:24:21 +01:00
Arnaud Charlet
4c7e09908b [multiple changes]
2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
	routine should be able to properly detect controlled transient
	objects in its actions and generate the appropriate finalization
	actions.
	* exp_ch6.adb (Enclosing_Context): Removed.
	(Expand_Ctrl_Function_Call): Remove local subprogram and
	constant. Use routine Within_Case_Or_If_Expression to determine
	whether the lifetime of the function result must be extended to
	match that of the context.
	* exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
	routine.

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

	* sem_ch12.adb (Validate_Array_Type_Instance): Extend check
	for subtype matching of component type of formal array type,
	to avoid spurious error when component type is a separate actual
	in the instance, and there may be a discrepancy between private
	and full view of component type.

From-SVN: r195790
2013-02-06 11:10:32 +01:00
Arnaud Charlet
a52e6d7e22 [multiple changes]
2013-01-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): An expression
	function declaration is not a subprogram declaration, and thus
	cannot appear in a protected definition.

2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Insert_Actions): When new
	actions come from the expression of the expression with actions,
	then they must be added to the list of existing actions.

2013-01-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
	the subtype of a constrained private type with discriminants
	that has got a full view, show that the completion is a clone
	of the full view.

From-SVN: r195543
2013-01-29 15:26:54 +01:00
Arnaud Charlet
0e564ab485 [multiple changes]
2013-01-04  Robert Dewar  <dewar@adacore.com>

	* warnsw.adb: Minor fixes to -gnatw.d handling.

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

	* einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
	fields.

2013-01-04  Joel Brobecker  <brobecker@adacore.com brobecker>

	* gnat_ugn.texi: Fix typo.

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

	* gnat_rm.texi: Document alignment choice for subtypes.

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

	* validsw.ads: Minor fix to comment.

2013-01-04  Doug Rupp  <rupp@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS,
	GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
	* gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
	(GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
	Rename leon vxworks toolchain as leon-wrs-vxworks.
	* gcc-interface/Make-lang.in: Update dependencies

2013-01-04  Pascal Obry  <obry@adacore.com>

	* prj.ads (For_Each_Source): Add Locally_Removed parameter.
	(Source_Iterator): Add Locally_Removed field.
	* prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
	(Next): Likewise.

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

	* exp_attr.adb: Minor reformatting.

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

	* checks.adb (Insert_Valid_Check): Fix handling of renamed
	packed array element.
	* exp_ch4.adb (Expand_Concatenate): Fix some missing parent
	fields in generated code.
	* exp_util.adb (Side_Effect_Free): Improve detection of cases
	needing renaming.

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

	* sinfo.ads: Clean up order of N_xxx subtypes

2013-01-04  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Check_Target): Allow --autoconf= with no target.

From-SVN: r194896
2013-01-04 11:08:58 +01:00
Robert Dewar
7fcd29e08c types.ads, [...]: Minor reformatting.
2013-01-04  Robert Dewar  <dewar@adacore.com>

	* types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.

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

	* par-ch6.adb (P_Subprogram): Better handling of missing IS
	after expression function.
	* par-util.adb (No_Constraint): Improve handling to avoid bad warnings.

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

	* exp_util.ads, exp_util.adb (Insert_Actions): In expression with
	actions case, new actions are appended to the sequence rather than
	prepended.

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

	* gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
	* usage.adb: Add lines for -gnatw.d/w.D switches.
	* warnsw.adb: Minor fixes (some missing cases of setting
	Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.

From-SVN: r194895
2013-01-04 10:28:49 +01:00
Arnaud Charlet
67b8ac46a6 [multiple changes]
2013-01-04  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Make sure scope suppress
	is restored on exit.

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

	* usage.adb: Document -gnateF (check overflow for predefined Float).

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

	* sem_res.adb (Resolve_Type_Conversion): Remove incorrect
	prevention of call to Apply_Type_Conversion_Checks, which resulted
	in missing check flags in formal mode.

2013-01-04  Vincent Celier  <celier@adacore.com>

	* makeutl.ads (Db_Switch_Args): New table used by gprbuild.
	* prj-conf.adb (Check_Builder_Switches): Check for switches
	--config= (Get_Db_Switches): New procedure to get the --db
	switches so that they are used when invoking gprconfig in
	auto-configuration.
	(Do_Autoconf): When invoking gprconfig, use the --db switches, if any.

From-SVN: r194894
2013-01-04 10:25:59 +01:00
Robert Dewar
ae05cdd6a5 exp_prag.adb, [...]: Minor reformatting.
2013-01-04  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
	freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
	prj-conf.adb, sem_ch13.adb: Minor reformatting.

From-SVN: r194888
2013-01-04 10:12:00 +01:00
Arnaud Charlet
3a3af4c32c [multiple changes]
2013-01-04  Thomas Quinot  <quinot@adacore.com>

	* sinfo.ads: Minor documentation update.

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

	* sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
	before resolving initialization expression.

2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.adb (Generate_Index_Checks): Delay the generation of
	the check for an indexed component where the prefix mentions
	Loop_Entry until the attribute has been properly expanded.
	* exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
	decoration of the constant that captures the value of Loop_Entry's
	prefix at the entry point into a loop.	Generate index checks
	for an attribute reference that has been transformed into an
	indexed component.

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

	* exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
	sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
	do if Obj is already frozen.
	(Exp_Util.Find_Init_Call): Rename to...
	(Exp_Util.Remove_Init_Call): New subprogram, renamed from
	Find_Init_Call.  Remove the initialization call from the enclosing
	list if found, and if it is from an Initialization_Statements
	attribute, reset it.
	(Exp_Util.Append_Freeze_Action): Minor code reorganization.
	(Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
	allocated (as is already done in Append_Freeze_Action).
	(Freeze.Freeze_Entity): For an object with captured
	Initialization_Statements and non-delayed freezeing, unwrap the
	initialization statements and insert and them directly in the
	enclosing list.
	(Sem_Ch13.Check_Address_Clause): For an object
	with Initialization_Statements and an address clause, unwrap the
	initialization statements when moving them to the freeze actions.

From-SVN: r194887
2013-01-04 10:08:50 +01:00
Arnaud Charlet
02217452f0 [multiple changes]
2013-01-03  Thomas Quinot  <quinot@adacore.com>

	* exp_ch11.adb: Minor reformatting.

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

	* exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
	sem_ch13.adb (Einfo.Initialization_Statements,
	Einfo.Set_Initialization_Statements): New entity attribute
	for objects.
	(Exp_Util.Find_Init_Call): Handle case of an object initialized
	by an aggregate converted to a block of assignment statements.
	(Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
	even for objects that require a constant address, because the
	address expression might involve entities that have yet to be
	elaborated at the point of the object declaration.
	(Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
	not require a transient scope, capture the assignment statements
	in a block so that they can be moved down after elaboration of
	an address clause if needed.
	(Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
	case N_Unchecked_Conversion): Do not replace operand subtype with
	its base type as this violates a GIGI invariant if the operand
	is an identifier (in which case the etype of the identifier
	is expected to be equal to that of the denoted entity).

2013-01-03  Javier Miranda  <miranda@adacore.com>

	* sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
	functionality of this routine to cover cases described in the Ada 2012
	reference manual.

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

	* sem_elab.adb (Set_Elaboration_Constraint): Handle properly
	a 'Access attribute reference when the subprogram is called
	Initialize.

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

	* s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
	select statement may be called from a controlled (e.g. Initialize)
	operation and have abort always deferred.

From-SVN: r194847
2013-01-03 11:58:47 +01: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
324ac54054 [multiple changes]
2013-01-02  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Minor comment fixes.
	* opt.ads: Minor comment additions.
	* exp_aggr.adb: Add tags to warning messages
	* exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
	sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
	sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
	sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
	sem_warn.adb: Add tags to warning messages

2013-01-02  Doug Rupp  <rupp@adacore.com>

	* init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.

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

	* sem_ch12.adb: Recover source name for renamed packagea.

From-SVN: r194786
2013-01-02 10:51:35 +01:00
Arnaud Charlet
18a2ad5d46 [multiple changes]
2012-12-05  Yannick Moy  <moy@adacore.com>

	* urealp.ads: Minor rewording.

2012-12-05  Yannick Moy  <moy@adacore.com>

	* aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
	Contract_Cases aspects.
	* sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
	POST_CASE into CONTRACT_CASE in both grammar and code, to be
	consistent with current language definition.  Issue a more precise
	error message when the pragma duplicates another pragma or aspect.

2012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add processing
	for attribute Update.
	(Expand_Update_Attribute): New routine.
	* par-ch4.adb (P_Name): The sole expression of attribute Update
	is an aggregate, parse it accordingly.
	* sem_attr.adb (Analyze_Attribute): Verify the legality of
	attribute Update.
	(Eval_Attribute): Attribute Update does not
	need evaluation because it is never static.
	* snames.ads-tmpl: Add Name_Update to the list of special names
	recognized by the compiler. Add an Attribute_Id for Update.

2012-12-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Remove_Side_Effects): For purposes of removing
	side effects, qualified expressions do not receive a special
	treatment, even though in Ada 2012 they are defined  as object
	references.

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

	* par-ch3.adb: Minor reformatting.

From-SVN: r194207
2012-12-05 12:06:35 +01:00
Robert Dewar
a7f1b24f81 checks.ads, [...]: Minor changes throughout for new overflow checking.
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
	new overflow checking.
	* exp_util.adb (Insert_Actions): Remove special casing of
	Overflow_Check.
	* gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
	of overflow checks.
	* sem.adb (Analyze): Remove special casing of Overflow_Check
	(Analyze_List): ditto.
	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
	SUPPRESSED and change CHECKED to STRICT.
	* sem_res.adb (Analyze_And_Resolve): No longer treat
	Overflow_Check specially.
	(Preanalyze_And_Resolve): ditto.
	(Resolve): ditto.
	* snames.ads-tmpl: Replace Name_Checked by Name_Strict.
	* switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
	CHECKED => STRICT.
	* types.ads (Overflow_Check_Type): Remove Suppressed, change
	Checked to Strict (Suppress_Record): Overflow check controlled
	by Suppress array.

From-SVN: r193233
2012-11-06 12:11:15 +01:00
Arnaud Charlet
236f10422f [multiple changes]
2012-10-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch7.adb: Minor reformatting.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
	a duplicate pragma before Rep_Item_Too_Late to prevent spurious
	messages about duplicate pragmas.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Find_Init_Call): If the successor of the
	object declaration is a block, check whether it contains the
	initialization call, because it may have been created by actuals
	that use the secondary stack.

From-SVN: r192130
2012-10-05 16:33:42 +02:00
Arnaud Charlet
4bb43ffbb8 [multiple changes]
2012-10-04  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Process_Package_Declaration): Use project
	directory display path name as the value of 'Project_Dir.

2012-10-04  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
	given by an arbitrary name, so copy the tree to make the call's actual.

2012-10-04  Robert Dewar  <dewar@adacore.com>

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

2012-10-04  Thomas Quinot  <quinot@adacore.com>

	* exp_ch6.adb: Minor reformatting.

2012-10-04  Pascal Obry  <obry@adacore.com>

	* projects.texi: Use consistently @command{} when referencing
	commands. Fix typos.

From-SVN: r192068
2012-10-04 11:05:53 +02:00
Robert Dewar
9b16cb57de par_sco.adb, [...]: Change name Conditional_Expression to If_Expression.
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
	exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
	exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
	checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
	sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
	gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
	exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
	opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
	sprint.ads, styleg.ads: Change name Conditional_Expression to
	If_Expression.
	* gcc-interface/trans.c (gnat_to_gnu): Replace
	N_Conditional_Expression by N_If_Expression.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r191967
2012-10-02 10:48:27 +02:00
Arnaud Charlet
3217f71e44 [multiple changes]
2012-08-06  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
	checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
	gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
	extended overflow checks (step 1).
	(Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
	(Suppress_Array): Extended to include switches to control extended
	overflow checking (and renamed to Suppress_Record).
	Update all uses of Suppress_Array.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

	* makeutl.ads: Minor documentation fix.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb: Minor reformatting.

From-SVN: r190166
2012-08-06 10:26:27 +02:00
Arnaud Charlet
2a290fec3d [multiple changes]
2012-06-14  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
	sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
	s-taprop-dummy.adb: Minor reformatting.

2012-06-14  Vincent Pucci  <pucci@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
	attribute case added.
	* par-prag.adb (Prag): Lock_Free pragma case added.
	* sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
	case added.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
	call added for Aspect_Lock_Free.
	* sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
	error messages for subprogram bodies.
	(Lock_Free_Disabled): New routine.
	(Analyze_Protected_Body): Call to Lock_Free_Disabled added.
	* sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
	* snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
	(Is_Pragma_Name): Name_Lock_Free case added.
	* snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
	aliased keyword.

2012-06-14  Bob Duff  <duff@adacore.com>

	* lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
	procedure from Sem body to Lib spec, so it can be used for
	debugging elsewhere.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
	conformance: "aliased" must apply to both or neither formal
	parameters.

From-SVN: r188609
2012-06-14 12:49:59 +02:00
Arnaud Charlet
3cebd1c0af [multiple changes]
2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
	expressions are valid names.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
	instantiation do not emit warnings for obsolescent units. The
	warnings belong on the corresponding generic.

2012-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Update the usage of Node15.
	(Return_Flag_Or_Transient_Decl): Removed.
	(Set_Return_Flag_Or_Transient_Decl): Removed.
	(Set_Status_Flag_Or_Transient_Decl): New routine.
	(Status_Flag_Or_Transient_Decl): New routine.
	(Write_Field15_Name): Update the output for variables and constants.
	* einfo.ads: Remove attribute
	Return_Flag_Or_Transient_Decl along with occurrences in nodes.
	(Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
	(Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
	(Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
	Inline.
	(Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
	* exp_ch4.adb (Create_Alternative): New routine.
	(Expand_N_Conditional_Expression): Handle the case
	where at least one of the conditional expression
	alternatives prodices a controlled temporary by means of a function
	call.
	(Is_Controlled_Function_Call): New routine.
	(Process_Transient_Object): Update the call to
	Set_Return_Flag_Or_Transient_Decl.
	* exp_ch6.adb (Enclosing_Context): New routine.
	(Expand_N_Extended_Return_Statement): Update all calls to
	Set_Return_Flag_Or_Transient_Decl.
	(Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
	function result when the context is a conditional expression.
	* exp_ch7.adb (Process_Declarations): Update all calls to
	Return_Flag_Or_Transient_Decl. Add processing for intermediate
	results of conditional expressions where one of the alternatives
	uses a controlled function call.
	(Process_Object_Declaration): Update all calls to
	Return_Flag_Or_Transient_Decl and rearrange the logic to process
	"hook" objects first.
	(Process_Transient_Objects): Update the call to
	Set_Return_Flag_Or_Transient_Decl.
	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
	Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
	detection for intermediate results of conditional expressions
	where one of the alternatives uses a controlled function call.

From-SVN: r188606
2012-06-14 12:39:51 +02:00
Arnaud Charlet
5f44f0d4f8 [multiple changes]
2012-04-26  Robert Dewar  <dewar@adacore.com>

	* einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
	sem_eval.adb: Minor reformatting.

2012-04-26  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb: Minor change in error wording.

2012-04-26  Ed Schonberg  <schonberg@adacore.com>

	* gnat_ugn.texi: Documentation on dimensional analysis.

2012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb, einfo.ads: Remove synthesized attribute
	Proper_First_Index along with its associations in various nodes.
	(Proper_First_Index): Removed.
	* sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
	local variable Index_Type. The index type of a string literal
	subtype is that of the stored low bound.
	* sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
	* sem_res.adb (Resolve_Slice): Alphabetize constants. Add
	new local variable Index_Type. The index type of a
	string literal subtype is that of the stored low bound.
	(Set_String_Literal_Subtype): Code reformatting.

From-SVN: r186868
2012-04-26 11:52:02 +02:00
Arnaud Charlet
fcf848c4f7 [multiple changes]
2012-04-26  Robert Dewar  <dewar@adacore.com>

	* exp_aggr.adb: Minor reformatting.

2012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
	Requires_Cleanup_Actions.
	* exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
	Boolean)): Rename formal parameter For_Package to Lib_Level to
	better reflect its purpose. Update the related comment and all
	occurrences of For_Package in the body.
	(Requires_Cleanup_Actions
	(Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
	local constant At_Lib_Level to keep monitor whether the path
	taken from the top-most context to the current construct involves
	package constructs. Update all calls to Requires_Cleanup_Actions.
	* exp_util.ads (Requires_Cleanup_Actions): Add new formal
	parameter Lib_Level and associated comment.

2012-04-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Process_Formals): If the type of the formal is
	a non null access type, mark the generated subtype as having a
	delayed freeze only if the designated type is not frozen yet.

2012-04-26  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New package Clean with attributes
	Object_Artifact_Extensions and Source_Artifact_Extensions.
	* prj-nmsc.adb (Process_Clean): Process new package Clean
	* prj.ads (Language_Config): New components
	Clean_Object_Artifacts and Clean_Source_Artifacts.
	* snames.ads-tmpl: New standard names Clean,
	Object_Artifact_Extensions and Source_Artifact_Extensions.

From-SVN: r186867
2012-04-26 11:49:04 +02:00
Arnaud Charlet
36504e5f46 [multiple changes]
2012-04-02  Yannick Moy  <moy@adacore.com>

	* osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
	search dirs in file specified with option -gnateO.

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

	* sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
	reformatting.

2012-04-02  Olivier Hainque  <hainque@adacore.com>

	* g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
	platforms where the use of this spec is supported. Add current
	year to the copyright notice.
	* gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
	EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
	it and where they were missing (x86-solaris, x86-freebsd,
	x86_64-freebsd, and x86-darwin).

2012-04-02  Gary Dismukes  <dismukes@adacore.com>

	* bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
	library, where we no longer suppress the Standard_Library,
	generate an empty body rather than the usual generation of
	assignments to imported globals, since those aren't present in
	the small library.

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

	* sinfo.ads: Minor documentation fix.

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

	* sem_res.adb (Resolve_Conditional_Expression): Add local variables
	Else_Typ and Then_Typ. Add missing type conversions to the "then" and
	"else" expressions when their respective types are scalar.

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

	* exp_ch9.adb: Reordering of the local subprograms. New Table
	for the lock free implementation that maps each protected
	subprograms with the protected component it references.
	(Allow_Lock_Free_Implementation): New routine. Check if
	the protected body enables the lock free implementation.
	(Build_Lock_Free_Protected_Subprogram_Body): New routine.
	(Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
	(Comp_Of): New routine.
	* Makefile.rtl: Add s-atopri.o
	* debug.adb: New compiler debug flag -gnatd9 for lock free
	implementation.
	* rtsfind.ads: RE_Atomic_Compare_Exchange_8,
	RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
	RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
	RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
	RE_Uint16, RE_Uint32, RE_Uint64 added.
	* s-atropi.ads: New file. Defines atomic primitives used
	by the lock free implementation.

From-SVN: r186076
2012-04-02 11:47:18 +02:00
Arnaud Charlet
a429e6b3c3 [multiple changes]
2012-04-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Detect a case where
	a source object was initialized by another source object,
	but the expression was rewritten as a class-wide conversion
	of Ada.Tags.Displace.
	* exp_util.adb (Initialized_By_Ctrl_Function): Removed.
	(Is_Controlled_Function_Call): New routine.
	(Is_Displacement_Of_Ctrl_Function_Result): Removed.
	(Is_Displacement_Of_Object_Or_Function_Result): New routine.
	(Is_Source_Object): New routine.
	(Requires_Cleanup_Actions): Detect a case where a source object was
	initialized by another source object, but the expression was rewritten
	as a class-wide conversion of Ada.Tags.Displace.
	* exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
	(Is_Displacement_Of_Object_Or_Function_Result): New routine.

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

	* sem_res.adb (Resolve_Call): A call to an expression function
	does not freeze if it appears in a different scope from the
	expression function itself. Such calls appear in the generated
	bodies of other expression functions, or in pre/postconditions
	of subsequent subprograms.

From-SVN: r186071
2012-04-02 11:23:01 +02:00
Arnaud Charlet
e0adfeb41a [multiple changes]
2012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
	a build-in-place call appears as Prefix'Reference'Reference.

2012-03-30  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb: Minor refactoring to remove internal package.

2012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
	definition of a loop when the context is a quantified expression.

2012-03-30  Vincent Celier  <celier@adacore.com>

	* prj.ads: Minor comment update.

From-SVN: r186005
2012-03-30 11:29:15 +02:00
Arnaud Charlet
cdc96e3ea6 [multiple changes]
2012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Replace
	the call to Is_Null_Access_BIP_Func_Call with
	Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
	* exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
	(Is_Secondary_Stack_BIP_Func_Call): New routine.
	(Requires_Cleanup_Actions): Replace
	the call to Is_Null_Access_BIP_Func_Call with
	Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
	* exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
	(Is_Secondary_Stack_BIP_Func_Call): New routine.

2012-03-30  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb, lib-xref.adb: Code clean ups.

From-SVN: r186001
2012-03-30 11:21:43 +02:00