1. 02 Aug, 2011 40 commits
    • [multiple changes] · e526d0c7
      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
      Arnaud Charlet committed
    • einfo.ads, einfo.adb (Suppress_Initialization): Replaces Suppress_Init_Procs. · 5b1e6aca
      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
      Robert Dewar committed
    • gnat_rm.texi, [...]: Minor reformatting. · 5ad4969d
      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
      Robert Dewar committed
    • [multiple changes] · 8c4ee6f5
      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
      Arnaud Charlet committed
    • [multiple changes] · 0b3d16c0
      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
      Arnaud Charlet committed
    • [multiple changes] · 4637729f
      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
      Arnaud Charlet committed
    • errout.adb (First_Node): minor renaming · 4c60de0c
      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
      Yannick Moy committed
    • [multiple changes] · f5afb270
      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
      Arnaud Charlet committed
    • [multiple changes] · db72f10a
      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
      Arnaud Charlet committed
    • [multiple changes] · 23685ae6
      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
      Arnaud Charlet committed
    • [multiple changes] · d2d9cc22
      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
      Arnaud Charlet committed
    • Refine previous change. · c32d4bcf
      From-SVN: r177149
      Arnaud Charlet committed
    • Fix bootstrap with g++ · 76e5271b
      From-SVN: r177148
      Arnaud Charlet committed
    • [multiple changes] · a01b9df6
      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
      Arnaud Charlet committed
    • [multiple changes] · 75c90775
      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
      Arnaud Charlet committed
    • [multiple changes] · ded8909b
      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
      Arnaud Charlet committed
    • [multiple changes] · 70c34e1c
      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
      Arnaud Charlet committed
    • Update dependencies. · 0f1af881
      From-SVN: r177143
      Arnaud Charlet committed
    • [multiple changes] · b715bc59
      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
      Arnaud Charlet committed
    • [multiple changes] · 002bdd68
      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
      Arnaud Charlet committed
    • [multiple changes] · 499769ec
      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
      Arnaud Charlet committed
    • [multiple changes] · aa1e353a
      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
      Arnaud Charlet committed
    • cstand.adb (Register_Float_Type): Print information about type to register, if… · 15b682ca
      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
      Geert Bosch committed
    • [multiple changes] · f8726f2b
      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
      Arnaud Charlet committed
    • [multiple changes] · feecad68
      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
      Arnaud Charlet committed
    • [multiple changes] · 12f0c50c
      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
      Arnaud Charlet committed
    • sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from Process_Bounds... · fb86fe11
      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
      Ed Schonberg committed
    • libgcc.S: Gather related function in the same input section. · 7ea56b23
      	
      	* 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
      Georg-Johann Lay committed
    • sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. · 62be5d0a
      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
      Javier Miranda committed
    • [multiple changes] · a20f4389
      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
      Arnaud Charlet committed
    • [multiple changes] · 90878b12
      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
      Arnaud Charlet committed
    • [multiple changes] · 273adcdf
      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
      Arnaud Charlet committed
    • [multiple changes] · 6320f5e1
      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
      Arnaud Charlet committed
    • sem_ch6.adb (New_Overloaded_Entity, [...]): Do not set Overridden_Operation if… · 2fe829ae
      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
      Ed Schonberg committed
    • par-ch6.adb: Correct obsolete name in comments · e24329cd
      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
      Yannick Moy committed
    • [multiple changes] · 176dadf6
      2011-08-02  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting
      	Minor comment addition
      	Minor error msg text change
      
      2011-08-02  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
      	function. Used to be more precise when we generate a variable plus one
      	assignment to remove side effects in the evaluation of the Bound
      	expressions.
      	(Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
      	of the bound expression to force its re-analysis and thus expand the
      	associated transient scope (if required). Code cleanup replacing the
      	previous code that declared the constant entity by an invocation to
      	routine Force_Evaluation which centralizes this work in the frontend.
      
      From-SVN: r177124
      Arnaud Charlet committed
    • [multiple changes] · d8b962d8
      2011-08-02  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
      	(Base_Type): Now uses improved Is_Base_Type function
      	* einfo.ads (Base_Type): Inline this function
      
      2011-08-02  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
      	(Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
      
      2011-08-02  Arnaud Charlet  <charlet@adacore.com>
      
      	* gcc-interface/Make-lang.in: Update dependencies.
      	* gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
      	targets.
      
      2011-08-02  Yannick Moy  <moy@adacore.com>
      
      	* par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
      	non-simple expression used in delta constraint
      	(P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
      	index constraint which is not a subtype mark
      	* par.adb: With and use Restrict
      	* sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
      	mode on component type which is not a subtype mark and default
      	expression on component
      	(Analyze_Subtype_Declaration): issue an error in formal mode on subtype
      	of string which does not have a lower index bound equal to 1
      	(Array_Type_Declaration): issue an error in formal mode on index or
      	component type which is not a subtype mark, and on aliased keyword on
      	component
      	(Derived_Type_Declaration): issue an error in formal mode on interface,
      	limited or abstract type
      	(Record_Type_Declaration): issue an error in formal mode on interface
      	(Record_Type_Definition): issue an error in formal mode on tagged types
      	and type extensions not declared in the specification of a library unit
      	package; on null non-tagged record; on variant part
      
      2011-08-02  Vincent Celier  <celier@adacore.com>
      
      	* prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
      	not declared for qualified library project when Library_Name is not
      	declared, but Library_Dir is.
      
      2011-08-02  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
      	pragmas (affects aspects [Component_]Default_Value
      	(Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
      	component type for the resolution
      
      From-SVN: r177123
      Arnaud Charlet committed
    • [multiple changes] · f96b2d85
      2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* einfo.adb (Base_Type): Tune implementation for speed.
      
      2011-08-02  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb: Minor reformatting.
      
      From-SVN: r177122
      Arnaud Charlet committed
    • [multiple changes] · 8b3c6430
      2011-08-02  Thomas Quinot  <quinot@adacore.com>
      
      	* scos.ads: Update comments.
      
      2011-08-02  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
      	base type, because the parent may be a subtype of a private type whose
      	convention is established in a private part.
      
      2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
      	statement in a block when the expansion of the return expression has
      	created a finalization chain.
      	* freeze.adb (Freeze_Expression): Alphabetize all choices associated
      	with the parent node.
      	Add N_Extended_Return_Statement to handle the case where a transient
      	object declaration appears in the Return_Object_Declarations list of
      	an extended return statement.
      
      2011-08-02  Matthew Gingell  <gingell@adacore.com>
      
      	* adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
      	unused parameter 'name'.
      
      2011-08-02  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_elim.adb (Set_Eliminated): If the overridden operation is an
      	inherited operation, check whether its alias, which is the source
      	operastion that it renames, has been marked eliminated.
      
      From-SVN: r177121
      Arnaud Charlet committed
    • exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode… · cae81f17
      exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter whose type is an access type since it...
      
      2011-08-02  Javier Miranda  <miranda@adacore.com>
      
      	* exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
      	in-mode parameter whose type is an access type since it can be used to
      	modify its designated object. Enforce code that handles as safe an
      	access type that is not access-to-constant but it is the result of a
      	previous removal of side-effects.
      	(Remove_Side_Effects): Minor code reorganization of cases which require
      	no action. Done to incorporate documentation on new cases uncovered
      	working in this ticket: no action needed if this routine was invoked
      	too early and the nodes are not yet decorated.
      	* sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
      	to routine Remove_Side_Effects by calls to Force_Evaluation since they
      	were issued with actuals that are implicitly provided by
      	Force_Evaluation.
      
      From-SVN: r177120
      Javier Miranda committed