Commit Graph

110776 Commits

Author SHA1 Message Date
Yannick Moy
975c689678 einfo.adb, einfo.ads (Body_Is_In_ALFA, [...]): get/set for new flag denoting which subprogram bodies are in ALFA
2011-08-02  Yannick Moy  <moy@adacore.com>

	* einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
	for new flag denoting which subprogram bodies are in ALFA
	* restrict.adb, sem_ch7.adb: Update comment
	* sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
	sem_ch9.adb, sem_res.adb: Add calls to
	Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
	* sem_ch6.adb (Analyze_Function_Return): add calls to
	Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
	middle of the body, and extended return.
	(Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
	False when missing return.
	(Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
	to True for subprograms whose spec is in ALFA. Remove later on the flag
	on the entity used for a subprogram body when there exists a separate
	declaration.
	* sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
	if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
	False, otherwise do nothing.

From-SVN: r177177
2011-08-02 17:15:07 +02:00
Arnaud Charlet
afc8324d66 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.

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

	* sem_ch4.ads: minor formatting.

From-SVN: r177176
2011-08-02 17:12:44 +02:00
Yannick Moy
2ba431e53e sem_aggr.adb, [...]: cleanup of SPARK mode
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
	debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
	errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
	restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
	opt.ads: cleanup of SPARK mode

From-SVN: r177175
2011-08-02 17:10:17 +02:00
Yannick Moy
0f85303509 cstand.adb (Create_Standard): sets Is_In_ALFA component of standard types.
2011-08-02  Yannick Moy  <moy@adacore.com>

	* cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
	types.
	* einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
	(Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
	* sem_ch3.adb
	(Analyze_Object_Declaration): set Is_In_ALFA flag for objects
	(Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
	(Constrain_Integer): set Is_In_ALFA flag for integer subtypes
	(Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
	types.
	(Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
	non-static range.
	* sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
	functions whose return type is not in ALFA.
	(Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
	specifications.
	(Process_Formals): unset Is_In_ALFA flag for subprograms if a
	parameter's type is not in ALFA.
	* stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
	types are in ALFA.

From-SVN: r177174
2011-08-02 17:07:10 +02:00
Ed Schonberg
d2b1064719 sem_ch6 (Analyze_Expression_Function): treat the function as Inline_Always...
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6 (Analyze_Expression_Function): treat the function as
	Inline_Always, and introduce a subprogram declaration for it when it is
	not a completion.
	* inline.adb (Add_Inlined_Body): recognize bodies that come from
	expression functions, so that the back-end can determine whether they
	can in fact be inlined.
	* sem_util.adb (Is_Expression_Function): predicate to determine whether
	a function body comes from an expression function.

From-SVN: r177173
2011-08-02 17:04:46 +02:00
Arnaud Charlet
c7b9d548d3 [multiple changes]
2011-08-02  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
	null exclusions to test Can_Never_Be_Null on the anonymous access types
	of the formals rather than testing the formals themselves. Exclude this
	check in cases where the Old_Formal is marked as a controlling formal,
	to avoid issuing spurious errors for bodies completing dispatching
	operations (due to the flag not getting set on controlling access
	formals in body specs).
	(Find_Corresponding_Spec): When checking full and subtype conformance of
	subprogram bodies in instances, pass Designated and E in that order, for
	consistency with the expected order of the formals (New_Id followed by
	Old_Id).

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb: Minor reformatting.

From-SVN: r177172
2011-08-02 17:00:07 +02:00
Arnaud Charlet
1138cf593b [multiple changes]
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
	Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
	primitive operations of class-wide actuals.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_atag.ads, exp_atag.adb
	(Build_Common_Dispatching_Select_Statements): Remove argument Loc
	since its value is implicitly passed in argument Typ.
	* exp_disp.adb (Make_Disp_Conditional_Select_Body,
	Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
	Build_Common_Dispatching_Select_Statements.

From-SVN: r177171
2011-08-02 16:56:42 +02:00
Kai Tietz
9b80d091af gimple.c (canonicalize_cond_expr_cond): Handle cast from boolean-type.
* gimple.c (canonicalize_cond_expr_cond): Handle cast from
	boolean-type.
	(ssa_forward_propagate_and_combine): Interprete result of
	forward_propagate_comparison.
	* gcc/gimple-fold.c (fold_gimple_assign): Add canonicalization for
	boolean-typed operands for comparisons.

	* gcc.dg/tree-ssa/forwprop-15.c: New testcase.

From-SVN: r177170
2011-08-02 16:55:47 +02:00
Robert Dewar
7b9db92637 sem_ch3.adb, [...]: Update comments.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
	exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
	Minor reformatting.

From-SVN: r177169
2011-08-02 16:54:14 +02:00
Arnaud Charlet
e8374e7af3 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb: Minor reformatting.
	* sem_prag.adb: Minor reformatting.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_atag.adb, exp_atags.ads
	(Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
	by the tagged type Entity. Required to use this routine in the VM
	targets since we do not have available the Tag entity in the VM
	platforms.
	* exp_ch6.adb
	(Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
	Ada.Tags has not been previously loaded.
	* exp_ch7.adb
	(Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
	Build_VM_TSDs if package Ada.Tags has not been previously loaded.
	* sem_aux.adb
	(Enclosing_Dynamic_Scope): Add missing support to handle the full
	view of enclosing scopes. Required to handle enclosing scopes that
	are synchronized types whose full view is a task type.
	* exp_disp.adb
	(Build_VM_TSDs): Minor code improvement to avoid generating and
	analyzing lists with empty nodes.
	(Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
	(Make_Disp_Conditional_Select_Body): Add support for VM targets.
	(Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
	(Make_Disp_Timed_Select_Body): Add support for VM targets.
	(Make_Select_Specific_Data_Table): Add support for VM targets.
	(Make_VM_TSD): Generate code to initialize the SSD structure of
	the TSD.

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

	* lib-writ.adb (Write_ALI): when ALFA mode is set, write local
	cross-references section in ALI.
	* lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
	(enclosing subprogram), Slc (location of Sub) and Sun (unit number of
	Sub).
	(Enclosing_Subprogram_Or_Package): new function to return the enclosing
	subprogram or package entity of a node
	(Is_Local_Reference_Type): new function returns True for references
	selected in local cross-references.
	(Lt): function extracted from Lt in Output_References
	(Write_Entity_Name): function extracted from Output_References
	(Generate_Definition): generate reference with type 'D' for definition
	of objects (object declaration and parameter specification), with
	appropriate locations and units, for use in local cross-references.
	(Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
	references of type 'I' for initialization in object definition.
	(Output_References): move part of function Lt and procedure
	Write_Entity_Name outside of the body. Ignore references of types 'D'
	and 'I' introduced for local cross-references.
	(Output_Local_References): new procedure to output the local
	cross-references sections.
	(Lref_Entity_Status): new array defining whether an entity is a local
	* sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
	with 'I' type when initialization expression is present.
	* get_scos.adb, get_scos.ads: Correct comments and typos

From-SVN: r177168
2011-08-02 16:50:56 +02:00
Arnaud Charlet
1f6439e34b [multiple changes]
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
	the JVM target.
	* exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
	the JVM target.
	* exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
	TSD support.

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

	* prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
	(No_Space_Img): New function
	(Find_Excluded_Sources): When reading from a file, record the file name
	and the line number for each excluded source.
	(Mark_Excluded_Sources): When reporting an error, if the excluded
	sources were read from a file, include file name and line number in
	the error message.

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

	* sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).

From-SVN: r177167
2011-08-02 16:46:28 +02:00
H.J. Lu
c01ecafca3 Check __x86_64__ instead of __LP64__ for x86 futex.
2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/linux/x86/futex.h: Check __x86_64__ instead of
	__LP64__.

From-SVN: r177166
2011-08-02 07:44:06 -07:00
Robert Dewar
ab027d2814 exp_ch7.adb [...]: Minor reformatting
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting

From-SVN: r177165
2011-08-02 16:43:43 +02:00
Javier Miranda
b3b28b0cd6 exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the generation of TSDs to the DOTNET compiler.
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
	generation of TSDs to the DOTNET compiler.
	* exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
	generation of TSDs to the DOTNET compiler.

From-SVN: r177164
2011-08-02 16:42:28 +02:00
Javier Miranda
9732e886ed exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data record of all the tagged types declared...
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
	record of all the tagged types declared inside library level package
	declarations, library level package bodies or library level subprograms.
	* exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
	associated with a given tagged type.
	(Build_VM_TSDs): New subprogram.
	* exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
	compilation units that are subprograms.
	* exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
	compilation units that are package bodies.
	(Expand_N_Package_Declaration): Generate TSDs of the main compilation
	units that are a package declaration or a package instantiation.
	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
	reorganization to improve the error generated by the frontend when the
	function Ada.Tags.Secondary_Tag is not available.
	* rtsfind.ads (RE_Register_TSD): New runtime entity.
	* exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.

From-SVN: r177163
2011-08-02 16:41:13 +02:00
Arnaud Charlet
e526d0c765 [multiple changes]
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* s-imenne.ads: Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* a-stunau.ads: Add pragma Suppress_Initialization for Big_String
	* freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
	* s-stalib.ads: Add pragma Suppress_Initialization for Big_String

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* einfo.ads (Materialize_Entity): Document this is only for renamings
	* exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
	required debug information in the case where we transform the object
	declaration into a renaming declaration.
	* exp_ch4.adb (Expand_Concatenate): Generate debug info for result
	object
	* exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
	Materialize_Entity.

From-SVN: r177162
2011-08-02 16:39:06 +02:00
Robert Dewar
5b1e6aca6a einfo.ads, einfo.adb (Suppress_Initialization): Replaces Suppress_Init_Procs.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Suppress_Initialization): Replaces
	Suppress_Init_Procs.
	* exp_ch3.adb, exp_disp.adb, freeze.adb: Use
	Suppress_Initialization/Initialization_Suppressed.
	* gnat_rm.texi: New documentation for pragma Suppress_Initialization
	* sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
	* sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
	* sem_prag.adb: New processing for pragma Suppress_Initialization.

From-SVN: r177161
2011-08-02 16:35:51 +02:00
Robert Dewar
5ad4969daf gnat_rm.texi, [...]: Minor reformatting.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
	Minor reformatting.

From-SVN: r177160
2011-08-02 16:30:35 +02:00
Arnaud Charlet
8c4ee6f532 [multiple changes]
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
	only have inheritable classwide pre/postconditions.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
	* rtsfind.ads (RE_Check_TSD): New runtime entity.
	* exp_disp.adb (Make_DT): Generate call to the new runtime routine that
	checks if the external tag of a type is the same as the external tag
	of some other declaration.

From-SVN: r177159
2011-08-02 16:28:32 +02:00
Arnaud Charlet
0b3d16c08a [multiple changes]
2011-08-02  Thomas Quinot  <quinot@adacore.com>

	* s-taskin.ads: Minor reformatting.

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

	* g-comlin.adb (Display_Help): swap the order in which it prints the
	short help and the general usage.

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

	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
	the aspect declarations and attach them to the generic copy for
	subsequent analysis.
	(Analyze_Subprogram_Instantiation): copy explicitly the aspect
	declarations of the generic tree to the new subprogram declarations.
	* sem_attr.adb (Check_Precondition_Postcondition): recognize
	conditions that apply to a subprogram instance.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].

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

	* sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
	private type with a tagged full view is not derived in the immediate
	scope of the partial view, (RM 7.3 (7)) use the scope of the base type.

From-SVN: r177157
2011-08-02 16:02:45 +02:00
Arnaud Charlet
4637729f3e [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor reformatting.

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

	* sem_ch5.adb (Analyze_Loop_Statement):  If the iteration scheme is an
	Ada2012 iterator, the loop will be rewritten during expansion into a
	while loop with a cursor and an element declaration. Do not analyze the
	body in this case, because if the container is for indefinite types the
	actual subtype of the elements will only be determined when the cursor
	declaration is analyzed.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
	size/alignment related attributes in CodePeer_Mode.

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

	* sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
	Prepend_Element, since this can result in the operation getting the
	wrong slot in the full type's dispatch table if the full type has
	inherited operations. The incomplete type's operation will get added
	to the proper position in the full type's primitives
	list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
	(Process_Incomplete_Dependents): Add Is_Primitive test when checking for
	dispatching operations, since there are cases where nonprimitive
	subprograms can get added to the list of incomplete dependents (such
	as subprograms in nested packages).
	* sem_ch6.adb (Process_Formals): First, remove test for being in a
	private part when determining whether to add a primitive with a
	parameter of a tagged incomplete type to the Private_Dependents list.
	Such primitives can also occur in the visible part, and should not have
	been excluded from being private dependents.
	* sem_ch7.adb (Uninstall_Declarations): When checking the rule of
	RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
	list of a Taft-amendment incomplete type is a primitive before issuing
	an error that the full type must appear in the same unit. There are
	cases where nonprimitives can be in the list (such as subprograms in
	nested packages).
	* sem_disp.adb (Derives_From): Use correct condition for checking that
	a formal's type is derived from the type of the corresponding formal in
	the parent subprogram (the condition was completely wrong). Add
	checking that was missing for controlling result types being derived
	from the result type of the parent operation.

From-SVN: r177156
2011-08-02 15:51:43 +02:00
Yannick Moy
4c60de0c97 errout.adb (First_Node): minor renaming
2011-08-02  Yannick Moy  <moy@adacore.com>

	* errout.adb (First_Node): minor renaming
	* restrict.adb (Check_Formal_Restriction): put restriction warning on
	first node.

From-SVN: r177155
2011-08-02 15:46:38 +02:00
Arnaud Charlet
f5afb270e6 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
	before accessing operands.
	* sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
	decide whether an initialization expression respects SPARK rules, as
	the plain node is the expanded one. This allows for more valid warnings
	to be issued.
	* gnat_rm.texi: Minor update.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
	previous change.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch4.adb: Minor reformatting.

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

	* exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
	loop statements and the element renaming declaration with a block when
	the element type is controlled.

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

	* sinfo.ads: Minor formatting.

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

	* sem_aggr.adb (Add_Association): if the association has a box and no
	expression, use the Sloc of the aggregate itself for the new
	association.
	* errout.adb (First_Node): Exclude nodes with no Sloc, and always use
	the Original_Node.

From-SVN: r177153
2011-08-02 15:43:04 +02:00
Arnaud Charlet
db72f10a75 [multiple changes]
2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
	When a container is provided via a function call, generate a renaming
	of the function result. This avoids the creation of a transient scope
	and the premature finalization of the container.
	* exp_ch7.adb (Is_Container_Cursor): Removed.
	(Wrap_Transient_Declaration): Remove the supression of the finalization
	of the list controller when the declaration denotes a container cursor,
	it is not needed.

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

	* restrict.adb (Check_Formal_Restriction): only issue a warning if the
	node is from source, instead of the original node being from source.
	* sem_aggr.adb
	(Resolve_Array_Aggregate): refine the check for a static expression, to
	recognize also static ranges
	* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
	Array_Type_Declaration): postpone the test for the type being a subtype
	mark after the type has been resolved, so that component-selection and
	expanded-name are discriminated.
	(Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
	to distinguish the case of an iteration scheme, so that an error is
	issed on a non-static range in SPARK except in an iteration scheme.
	* sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
	In_Iter_Schm = True.
	* sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
	user-defined operators so that they are allowed in renaming
	* sem_ch8.adb
	(Find_Selected_Component): refine the check for prefixing of operators
	so that they are allowed in renaming. Move the checks for restrictions
	on selector name after analysis discriminated between
	component-selection and expanded-name.
	* sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
	concatenation argument of string type if it is static.
	* sem_util.adb, sem_util.ads
	(Check_Later_Vs_Basic_Declarations): add a new function
	Is_Later_Declarative_Item to decice which declarations are allowed as
	later items, in the two different modes Ada 83 and SPARK. In the SPARK
	mode, add that renamings are considered as later items.
	(Enclosing_Package): new function to return the enclosing package
	(Enter_Name): correct the rule for homonyms in SPARK
	(Is_SPARK_Initialization_Expr): default to returning True on nodes not
	from source (result of expansion) to avoid issuing wrong warnings.

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

	* errout.adb: On anything but an expression First_Node returns its
	argument.

From-SVN: r177152
2011-08-02 15:39:08 +02:00
Arnaud Charlet
23685ae6ec [multiple changes]
2011-08-02  Pascal Obry  <obry@adacore.com>

	* prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.

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

	* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
	Set the associated loop as the related expression of internally
	generated cursors.
	* exp_ch7.adb (Is_Container_Cursor): New routine.
	(Wrap_Transient_Declaration): Supress the finalization of the list
	controller when the declaration denotes a container cursor.

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

	* opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
	command line now.
	* par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
	expression is a simple expression. This check cannot be performed in
	the semantics, so just drop it.
	(P_Index_Or_Discriminant_Constraint): move check that the index or
	discriminant is a subtype mark to Analyze_Subtype_Declaration in the
	semantics. Other cases were previously checked in the semantics.
	* par-ch4.adb (P_Name): move checks that a selector name is not
	character literal or an operator symbol to Find_Selected_Component in
	the semantics
	* par-ch5.adb (Parse_Decls_Begin_End): move check that basic
	declarations are not placed after later declarations in a separate
	procedure in Sem_Util (possibly not the best choice?), to be used both
	during parsing, for Ada 83 mode, and during semantic analysis, for
	SPARK mode.
	* par-endh.adb (Check_End): move check that end label is not missing
	to Process_End_Label in the semantics
	* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
	the special case for SPARK restriction
	* par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
	* restrict.adb, restrict.ads (Check_Formal_Restriction): add a
	parameter Force to issue the error message even on internal node (used
	for generated end label). Call Check_Restriction to check when an error
	must be issued. In SPARK mode, issue an error message even if the
	restriction is not set.
	(Check_Restriction): new procedure with an additional out parameter to
	inform the caller that a message has been issued
	* sem_aggr.adb: Minor modification of message
	* sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
	instead of issuing an error message directly
	* sem_ch3.adb (Analyze_Declarations): move here the check that basic
	declarations are not placed after later declarations, by calling
	Check_Later_Vs_Basic_Declarations
	(Analyze_Subtype_Declaration): move here the check that an index or
	discriminant constraint must be a subtype mark. Change the check that
	a subtype of String must start at one so that it works on subtype marks.
	* sem_ch4.adb (Analyze_Call): move here the check that a named
	association cannot follow a positional one in a call
	* sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
	instead of issuing an error message directly
	* sem_ch8.adb (Find_Selected_Component): move here the check that a
	selector name is not a character literal or an operator symbol. Move
	here the check that the prefix of an expanded name cannot be a
	subprogram or a loop statement.
	* sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
	procedure called from parsing and semantics to check that basic
	declarations are not placed after later declarations
	(Process_End_Label): move here the check that end label is not missing

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
	representation clause in codepeer mode, since it confuses CodePeer and
	does not bring useful info.

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

	* init.c: initialize fp hw on MILS.

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

	* errout.adb (First_Node): for bodies, return the node itself (small
	optimization). For other nodes, do not check source_unit if the node
	comes from Standard.

From-SVN: r177151
2011-08-02 15:34:00 +02:00
Arnaud Charlet
d2d9cc2290 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb: Minor comment additions.
	* sem_ch13.adb: Minor reformatting.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* exp_pakd.adb (Expand_Packed_Element_Reference): Revert previous change

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

	* make.adb, makeutl.adb: Removes some superfluous directory separator.

From-SVN: r177150
2011-08-02 15:29:08 +02:00
Arnaud Charlet
c32d4bcf4a Refine previous change.
From-SVN: r177149
2011-08-02 15:26:46 +02:00
Arnaud Charlet
76e5271b9c Fix bootstrap with g++
From-SVN: r177148
2011-08-02 15:24:06 +02:00
Arnaud Charlet
a01b9df657 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb: Minor reformatting.

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

	* init.c: Revert previous change.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
	(Has_Default_Component_Value): Removed
	* einfo.ads Comment updates
	(Has_Default_Aspect): Replaces Has_Default_Value
	(Has_Default_Component_Value): Removed
	* exp_ch13.adb
	(Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
	* exp_ch3.adb
	(Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
	(Get_Simple_Init_Val): Handle Default_Value aspect
	(Needs_Simple_Initialization): Handle Default_Value aspect
	* exp_ch3.ads: Needs_Simple_Initialization
	* freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
	* par-prag.adb (Pragma_Default[_Component]Value) Removed
	* sem_ch13.adb
	(Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
	* sem_prag.adb (Pragma_Default[_Component]Value) Removed
	* snames.ads-tmpl (Pragma_Default[_Component]Value) Removed

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

	* sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
	package containing iteration primitives.
	exp_ch5.adb (Expand_Iterator_Loop): ditto.

From-SVN: r177147
2011-08-02 15:16:09 +02:00
Arnaud Charlet
75c907757c [multiple changes]
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
	"of", pre-analyze expression in case it is a function call with
	finalization actions that must be placed ahead of the loop.
	* exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
	on an Ada2012 iterator, insert them ahead of the rewritten loop.

2011-08-02  Geert Bosch  <bosch@adacore.com>

	* cstand.adb (Create_Float_Types): Only consider C's long double for
	Long_Long_Float, in addition to double.

From-SVN: r177146
2011-08-02 15:12:40 +02:00
Arnaud Charlet
ded8909b24 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
	sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
	prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
	Minor reformatting.

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

	* sem_attr.adb: handle properly 'Result when it is a prefix of an
	indexed component.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb
	(Original_Access_Type): Move this attribute to Node26 since there was
	an undocumented use of Node21 in E_Access_Subprogram_Type entities
	which causes conflicts and breaks the generation of the .NET compiler.
	(Interface_Name): Add missing documentation on JGNAT only uses of
	this attribute.

From-SVN: r177145
2011-08-02 15:10:33 +02:00
Arnaud Charlet
70c34e1c94 [multiple changes]
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_pakd.adb (Expand_Packed_Element_Reference): Disable this routine
	in CodePeer mode.

2011-08-02  Geert Bosch  <bosch@adacore.com>

	* cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
	(Find_Back_End_Float_Type): Likewise
	(Create_Back_End_Float_Types): Likewise
	(Create_Float_Types): Likewise
	(Register_Float_Type): Likewise
	* sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
	Nlist and split out type selection in new local Find_Base_Type function.
	* sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
	Nlist
	* stand.ads (Predefined_Float_Types): Use Elist instead of Nlist

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
	alpha order).
	* opt.ads: Minor comment change.
	* sem_ch12.adb: Minor code reorganization.

From-SVN: r177144
2011-08-02 15:08:34 +02:00
Arnaud Charlet
0f1af8814b Update dependencies.
From-SVN: r177143
2011-08-02 15:05:36 +02:00
Arnaud Charlet
b715bc599a [multiple changes]
2011-08-02  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Complete_Private_Subtype): Don't append the private
	subtype's list of rep items to the list on the full subtype in the case
	where the lists are the same.

2011-08-02  Geert Bosch  <bosch@adacore.com>

	* switch-c.adb (Free): New deallocation procedure to avoid implicitly
	using the one from System.Strings, which also deallocates all strings.

From-SVN: r177142
2011-08-02 15:02:09 +02:00
Arnaud Charlet
002bdd685c [multiple changes]
2011-08-02  Geert Bosch  <bosch@adacore.com>

	* gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
	function.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-08-02  Olivier Hainque  <hainque@adacore.com>

	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
	end_locus.

From-SVN: r177141
2011-08-02 15:00:21 +02:00
Arnaud Charlet
499769ec33 [multiple changes]
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
	associated with anonymous access to subprograms.

2011-08-02  Geert Bosch  <bosch@adacore.com>

	* opt.ads
	(Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
	(Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
	* prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
	(Add_Symbol_Definition): Move to switch-c.adb
	(Process_Command_Line_Symbol_Definitions): Adjust references to above.
	* prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
	(Add_Symbol_Definition): Move to switch-c.adb.
	* sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
	* sem_warn.adb
	(Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
	Move to warnsw.adb.
	* sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
	Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
	Move to warnsw.adb.
	* switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
	(Add_Symbol_Definition): Moved from Prepcomp.
	* switch-c.ads: Update copyright notice. Use String_List instead of
	Argument_List, removing dependency on System.OS_Lib.

From-SVN: r177140
2011-08-02 14:48:37 +02:00
Arnaud Charlet
aa1e353a7a [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
	mode on initialization expression which does not respect SPARK
	restrictions.
	* sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
	if the tree referenced by its argument represents an initialization
	expression in SPARK, suitable for initializing an object in an object
	declaration.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
	internally generated access to subprogram with its associated protected
	subprogram type.
	* einfo.ads, einfo.adb (Original_Access_Type): New attribute.

From-SVN: r177139
2011-08-02 14:44:24 +02:00
Geert Bosch
15b682ca92 cstand.adb (Register_Float_Type): Print information about type to register, if the Debug_Flag_Dot_B is set.
2011-08-02  Geert Bosch  <bosch@adacore.com>

	* cstand.adb (Register_Float_Type): Print information about type to
	register, if the Debug_Flag_Dot_B is set.
	* debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
	* rtsfind.ads (RE_Max_Base_Digits): New run time entity.
	* sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
	with a requested precision of more than Max_Digits digits and no more
	than Max_Base_Digits digits, if a range specification is present and the
	Predefined_Float_Types list has a suitable type to derive from.
	* sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
	case of type completion with pragma Import
	* sem_prag.adb
	(Process_Import_Predefined_Type): Processing to complete a type
	with pragma Import. Currently supports floating point types only.
	(Set_Convention_From_Pragma): Do nothing without underlying type.
	(Process_Convention): Guard against absence of underlying type,
	which may happen when importing incomplete types.
	(Process_Import_Or_Interface): Handle case of importing predefined
	types. Tweak error message.

From-SVN: r177138
2011-08-02 14:41:24 +02:00
Arnaud Charlet
f8726f2b03 [multiple changes]
2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
	functions to previous change.  Reorganize code slightly.

2011-08-02  Geert Bosch  <bosch@adacore.com>

	* back_end.ads (Register_Type_Proc): New call back procedure type for
	allowing the back end to provide information about available types.
	(Register_Back_End_Types): New procedure to register back end types.
	* back_end.adb (Register_Back_End_Types): Call the back end to enumerate
	available types.
	* cstand.adb (Back_End_Float_Types): New list for floating point types
	supported by the back end.
	(Build_Float_Type): Add extra parameter for Float_Rep_Kind.
	(Copy_Float_Type): New procedure to make new copies of predefined types.
	(Register_Float_Type): New call back procedure to populate the BEFT list
	(Find_Back_End_Float_Type): New procedure to find a BEFT by name
	(Create_Back_End_Float_Types): New procedure to populate the BEFT list.
	(Create_Float_Types): New procedure to create entities for floating
	point types predefined in Standard, and put these and any remaining
	BEFTs on the Predefined_Float_Types list.
	* stand.ads (Predefined_Float_Types): New list for predefined floating
	point types that do not have declarations in package Standard.

From-SVN: r177137
2011-08-02 14:36:58 +02:00
Arnaud Charlet
feecad6893 [multiple changes]
2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Get_Code_Unit_Entity): New local function.  Returns the
	entity node for the unit containing the parameter.
	(Add_Inlined_Body): Use it to find the unit containing the subprogram.
	(Add_Inlined_Subprogram): Likewise.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-08-02  Thomas Quinot  <quinot@adacore.com>

	* s-stusta.adb (Print): Make sure Pos is always initialized to a
	suitable value.

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

	* init.c: Fix conditional compilation so that the fp initialization is
	peformed for the MILS VxWorks Guest OS.

From-SVN: r177136
2011-08-02 14:32:54 +02:00
Arnaud Charlet
12f0c50ca9 [multiple changes]
2011-08-02  Geert Bosch  <bosch@adacore.com>

	* a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_type.adb (Covers): Move trivial case to the top and reuse the
	computed value of Base_Type.

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

	* restrict.adb (Check_Restriction): issue an error for any use of
	class-wide, even if the No_Dispatch restriction is not set.
	* sem_aggr.adb: Correct typos in comments and messages in formal mode
	* sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
	when completing a private extension, the type named in the private part
	is not the same as that named in the visible part.
	* sem_res.adb (Resolve_Call): issue an error in formal mode on the use
	of an inherited primitive operations of a tagged type or type extension
	that returns the tagged type.
	* sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
	function which returns True for an implicit operation inherited by the
	derived type declaration for the argument type.
	(Is_SPARK_Object_Reference): move to appropriate place in alphabetic
	order.

From-SVN: r177135
2011-08-02 14:26:47 +02:00
Ed Schonberg
fb86fe11bf sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from Process_Bounds...
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
	Process_Bounds, to perform analysis with expansion of a range or an
	expression that is the iteration scheme for a loop.
	(Analyze_Iterator_Specification): If domain of iteration is given by a
	function call with a controlled result, as is the case if call returns
	a predefined container, ensure that finalization actions are properly
	generated.
	* par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.

From-SVN: r177134
2011-08-02 14:24:07 +02:00
Georg-Johann Lay
7ea56b2382 libgcc.S: Gather related function in the same input section.
* config/avr/libgcc.S: Gather related function in the
	same input section.
	__divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external
	references.
	(__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4,
	__udivmodsi4, __divmodsi4, __prologue_saves__,
	__epilogue_restores__, _exit, __tablejump2__, __tablejump__,
	__do_copy_data, __do_clear_bss, __do_global_ctors,
	__do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF.

From-SVN: r177133
2011-08-02 12:17:43 +00:00
Javier Miranda
62be5d0aad sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
	determine if the analysis is performed using N or Original_Node (N).
	* exp_util.adb (Side_Effect_Free): Code cleanup since the new
	functionality of routine Is_Variable avoids code duplication.
	* checks.adb (Determine_Range): Handle temporaries generated by
	Remove_Side_Effects.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
	expansion of the condition. Required since the previous analysis was
	done with expansion disabled (see Resolve_Quantified_Expression) and
	hence checks were not inserted and record comparisons have not been
	expanded.

From-SVN: r177132
2011-08-02 12:44:29 +02:00
Arnaud Charlet
a20f438913 [multiple changes]
2011-08-02  Ed Falis  <falis@adacore.com>

	* s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
	Update header.

2011-08-02  Bob Duff  <duff@adacore.com>

	* opt.ads: Minor comment fix.

2011-08-02  Bob Duff  <duff@adacore.com>

	* sem_ch12.adb (Analyze_Package_Instantiation,
	Analyze_Subprogram_Instantiation): Turn off style checking while
	analyzing an instance. Whatever style checks that apply to the generic
	unit should apply, so it makes no sense to apply them in an instance.
	This was causing trouble when compiling an instance of a runtime
	unit that violates the -gnatyO switch.
	* stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
	one of the two case statements, causing spurious errors.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* uname.adb: Minor reformatting.
	* gnatcmd.adb: Minor reformatting.
	* exp_attr.adb: Minor reformatting.

From-SVN: r177131
2011-08-02 12:40:00 +02:00
Arnaud Charlet
90878b1250 [multiple changes]
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
	No_Dispatching_Calls, do not look for the Assign primitive, because
	predefined primitives are not created in this case.

2011-08-02  Bob Duff  <duff@adacore.com>

	* stylesw.ads: Minor comment fixes.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Add_To_Result): New procedure.

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

	* exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
	time, if the specific run-time routines for handling streams of strings
	are not available, use the default mechanism.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* s-regpat.ads: Fix typo.

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

	* prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
	not null, call it to create the in memory config project file without
	parsing an existing default config project file.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* atree.adb (Allocate_Initialize_Node): Remove useless temporaries.

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

	* sem_elim.adb: an abstract subprogram does not need an eliminate
	pragma for its descendant to be eliminable.

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

	* init.c: revert to handling before previous checkin for VxWorks
	* s-intman-vxworks.adb: delete unnecessary declarations related to
	using Ada interrupt facilities for handling signals.
	Delete Initialize_Interrupts. Use __gnat_install_handler instead.
	* s-intman-vxworks.ads: Import __gnat_install_handler as
	Initialize_Interrupts.
	* s-taprop-vxworks.adb: Delete Signal_Mask.
	(Abort_Handler): change construction of mask to unblock exception
	signals.

From-SVN: r177130
2011-08-02 12:36:15 +02:00
Arnaud Charlet
273adcdf9f [multiple changes]
2011-08-02  Jerome Guitton  <guitton@adacore.com>

	* a-except-2005.adb (Raise_From_Signal_Handler): Call
	Debug_Raise_Exception before propagation starts.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Expand_Call): Guard restriction checks with a call
	to Restriction_Check_Required.
	* sem_ch3.adb (Analyze_Object_Declaration): Likewise.
	* sem_res.adb (Resolve_Call): Likewise.
	* sem_attr.adb (Check_Stream_Attribute): Likewise.

2011-08-02  Bob Duff  <duff@adacore.com>

	* stylesw.ads: Update comment.
	* style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
	* errout.ads: Remove obsolete comment.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
	(Set_Is_Safe_To_Reevaluate): new procedure.
	* sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
	assignment is allowed on safe-to-reevaluate variables.
	(Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
	temporary created to remove side effects in expressions that use
	the secondary stack as safe-to-reevaluate.
	* exp_util.adb (Side_Effect_Free): Add missing code to handle well
	variables that are not true constants.

From-SVN: r177129
2011-08-02 12:31:12 +02:00
Arnaud Charlet
6320f5e18e [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
	sem_res.adb, sem_ch6.adb: Minor reformatting.

2011-08-02  Jerome Guitton  <guitton@adacore.com>

	* a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.

From-SVN: r177127
2011-08-02 12:27:16 +02:00
Ed Schonberg
2fe829aee4 sem_ch6.adb (New_Overloaded_Entity, [...]): Do not set Overridden_Operation if subprogram is an initialization procedure.
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
	not set Overridden_Operation if subprogram is an initialization
	procedure.

From-SVN: r177126
2011-08-02 12:25:26 +02:00
Yannick Moy
e24329cdf0 par-ch6.adb: Correct obsolete name in comments
2011-08-02  Yannick Moy  <moy@adacore.com>

	* par-ch6.adb: Correct obsolete name in comments
	* restrict.adb, restrict.ads (Check_Formal_Restriction): new function
	which takes two message arguments (existing function takes one), with
	second message used for continuation.
	* sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
	block statements that originate from a source block statement, not
	generated block statements
	* sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
	symmetry with procedure case
	* sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
	function to issue an error in formal mode if a package specification
	contains more than one tagged type or type extension.
	* sem_res.adb (Resolve_Actuals): in formal mode, check that actual
	parameters matching formals of tagged types are objects (or ancestor
	type conversions of objects), not general expressions. Issue an error
	on view conversions that are not involving ancestor conversion of an
	extended type.
	(Resolve_Type_Conversion): in formal mode, issue an error on the
	operand of an ancestor type conversion which is not an object
	* sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
	procedure so that it works also for actuals of function calls
	(Is_Actual_Tagged_Parameter): new function which determines if its
	argument is an actual parameter of a formal of tagged type in a
	subprogram call
	(Is_SPARK_Object_Reference): new function which determines if the tree
	referenced by its argument represents an object in SPARK

From-SVN: r177125
2011-08-02 12:21:47 +02:00