2011-08-02 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Aug 2011 15:25:25 +0000 (15:25 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Aug 2011 15:25:25 +0000 (15:25 +0000)
* exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
exp_ch3.adb: Minor reformatting.

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

* adaint.c (__gnat_locate_exec_on_path): only returns executable
files, not any regular file.
(__gnat_locate_file_with_predicate): new subprogram.

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

* sinfo.adb, sinfo.ads: Restrict the use of flags
Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
nodes, plus N_Subtype_Declaration for the 2nd one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177180 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/adaint.c
gcc/ada/erroutc.ads
gcc/ada/exp_ch3.adb
gcc/ada/exp_ch9.adb
gcc/ada/exp_disp.adb
gcc/ada/exp_sel.adb
gcc/ada/restrict.ads
gcc/ada/sinfo.adb
gcc/ada/sinfo.ads

index ff06705..5220337 100644 (file)
@@ -1,3 +1,20 @@
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
+       exp_ch3.adb: Minor reformatting.
+
+2011-08-02  Emmanuel Briot  <briot@adacore.com>
+
+       * adaint.c (__gnat_locate_exec_on_path): only returns executable
+       files, not any regular file.
+       (__gnat_locate_file_with_predicate): new subprogram.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * sinfo.adb, sinfo.ads: Restrict the use of flags
+       Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
+       nodes, plus N_Subtype_Declaration for the 2nd one.
+
 2011-08-02  Sergey Rybin  <rybin@adacore.com>
 
        * gnat_rm.texi: Ramification of pragma Eliminate documentation
@@ -3191,3 +3208,3195 @@ Copyright (C) 2011 Free Software Foundation, Inc.
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
 notice and this notice are preserved.
+
+       * gnat_rm.texi: Ramification of pragma Eliminate documentation
+        - fix bugs in the description of Source_Trace;
+        - get rid of UNIT_NAME;
+
+2011-08-02  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb
+       (Build_Dispatching_Requeue): Adding support for VM targets
+       since we cannot directly reference the Tag entity.
+       * exp_sel.adb (Build_K): Adding support for VM targets.
+       (Build_S_Assignment): Adding support for VM targets.
+       * exp_disp.adb
+       (Default_Prim_Op_Position): In VM targets do not restrict availability
+       of predefined interface primitives to compiling in Ada 2005 mode.
+       (Is_Predefined_Interface_Primitive): In VM targets this service is not
+       restricted to compiling in Ada 2005 mode.
+       (Make_VM_TSD): Generate code that declares and initializes the OSD
+       record. Needed to support dispatching calls through synchronized
+       interfaces.
+       * exp_ch3.adb
+       (Make_Predefined_Primitive_Specs): Enable generation of predefined
+       primitives associated with synchronized interfaces.
+       (Make_Predefined_Primitive_Bodies): Enable generation of predefined
+       primitives associated with synchronized interfaces.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
+       statements hidden in SPARK if preceded by the HIDE directive
+       (Parse_Exception_Handlers): mark each exception handler in a sequence of
+       exception handlers as hidden in SPARK if preceded by the HIDE directive
+       * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
+       if starting with the HIDE directive
+       * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
+       starting with the HIDE directive; mark the declarations in a private
+       part as hidden in SPARK if the private part starts with the HIDE
+       directive
+       * restrict.adb, restrict.ads
+       (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
+       (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
+       argument node belongs to a part which is hidden in SPARK
+       (Check_SPARK_Restriction): do not issue violations on nodes in hidden
+       parts in SPARK; protect the possibly costly call to
+       Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
+       * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
+       * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
+       Accumulate_Token_Checksum_GNAT_5_03): add case for new token
+       Tok_SPARK_Hide.
+       (Scan): recognize special comment starting with '#' and followed by
+       SPARK keyword "hide" as a HIDE directive.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * types.ads, erroutc.ads: Minor reformatting.
+
+2011-08-02  Vincent Celier  <celier@adacore.com>
+
+       * link.c: Add response file support for cross platforms.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
+       in an association, set parent field of copy before partial analysis.
+       * sem_res.adb (Resolve_Slice): create reference to itype only when
+       expansion is enabled.
+
+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.
+
+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.
+
+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
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+
+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).
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch3.adb: Minor comment additions.
+       * sem_ch13.adb: Minor reformatting.
+
+2011-08-02  Pascal Obry  <obry@adacore.com>
+
+       * make.adb, makeutl.adb: Removes some superfluous directory separator.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_attr.adb: Minor reformatting.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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  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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+
+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.
+
+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
+
+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.
+
+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.
+
+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.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, sem_res.adb: Minor reformatting.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
+       to issue an error in formal mode on attribute not supported in this mode
+       (Analyze_Attribute): issue errors on standard attributes not supported
+       in formal mode.
+       * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
+       comment, and issue error in formal mode on modulus which is not a power
+       of 2.
+       (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
+       range.
+       * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
+       subtype mark.
+       * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
+       operator on modular type (except 'not').
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi: Minor reformatting.
+
+2011-08-02  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-linux.ads: Minor comment update and reformatting.
+       * i-cexten.ads: Make this unit pure, as for its parent.
+       Will allow its usage in more contexts if needed.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * s-utf_32.ads: Minor comment fix.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
+       operation of a tagged synchronized type, handle the case where the
+       controlling argument is overloaded.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
+       Replace pragma SPARK_95 with pragma Restrictions (SPARK)
+       * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
+       SPARK mode and formal verification mode on processing SPARK restriction
+       * s-rident.ads (Restriction_Id): add SPARK restriction in those not
+       requiring consistency checking.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_res.adb: Minor reformatting.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+       a-cforse.ads: Remove unneeded with of Ada.Containers
+       Remove commented out pragma Inline's
+       Move specifications of new subprograms to the actual specs
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+       a-cforse.ads: Update comments.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+       a-cforse.ads, a-cofove.ads: Minor reformatting.
+
+2011-08-02  Claire Dross  <dross@adacore.com>
+
+       * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
+       a-cofove.ads: Add comments.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * gnat_rm.texi: Document formal containers.
+
+2011-08-02  Emmanuel Briot  <briot@adacore.com>
+
+       * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
+       are empty sections.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
+       reformatting.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.adb: New aspects Default_Value and Default_Component_Value
+       New format of Aspect_Names table checks for omitted entries
+       * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
+       handling of boolean aspects for derived types.
+       New aspects Default_Value and Default_Component_Value
+       New format of Aspect_Names table checks for omitted entries
+       * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
+       (Has_Default_Value): New flag
+       (Has_Default_Component_Value): New flag
+       (Has_Default_Value): New flag
+       * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
+       table.
+       * par-prag.adb: New pragmas Default_Value and Default_Component_Value
+       * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
+       Default_Value and Default_Component_Value
+       * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
+       New aspects Default_Value and Default_Component_Value
+       * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
+       * sprint.adb: Print N_Aspect_Specification node when called from gdb
+
+2011-08-02  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
+       inherit library kind.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
+       Minor reformatting.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * impunit.adb: Add comment.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
+       qualification of aggregates in formal mode
+       (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
+       another aggregate
+       (Resolve_Aggregate): complete the test that an aggregate is adequately
+       qualified in formal mode
+
+2011-08-02  Pascal Obry  <obry@adacore.com>
+
+       * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
+       * mlib-prj.adb: Supress warning when compiling binder generated file.
+       (Build_Library): Supress all warnings when compiling the binder
+       generated file.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
+       from here...
+       * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
+       * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
+       Add with/use clauses to make Check_Formal_Restriction visible
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
+       in-parameters when type of the generic formal is private in the generic
+       spec and non-private in the body.
+
+2011-08-02  Claire Dross  <dross@adacore.com>
+
+       * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
+       a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
+       a-cofove.adb, a-cofove.ads: New files implementing formal containers.
+       * impunit.adb, Makefile.rtl: Take new files into account.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
+       sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
+       formal mode
+       * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
+       matching static array bounds, taking into account the special case of
+       string literals
+       * sem_ch3.adb: Typo in comment.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
+       which issues an error in formal mode if its argument node is originally
+       from source
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
+       has a discriminant specification so that it does not include the case
+       of derived types
+       (Derived_Type_Declaration): move here the test that a derived type has a
+       discriminant specification
+       * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
+       first element of a component association before accessing its choices
+       (presence of component association is not enough)
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
+       declaration is a library item before accessing the next element in a
+       list, as library items are not member of lists
+       * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+       sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
+       Check_Formal_Restriction whenever possible.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
+       reference when needed.
+
+2011-08-02  Bob Duff  <duff@adacore.com>
+
+       * gnat_ugn.texi: Fix typo.
+
+2011-08-02  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
+       archive file name. Do not use the full path name of archives for Open
+       VMS.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch12.adb, sem_ch11.adb: New calling sequence for
+       Analyze_Aspect_Specifications
+       * sem_ch13.adb
+       (Analyze_Aspect_Specifications): New handling for boolean aspects
+       * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
+       * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
+       sequence for Analyze_Aspect_Specifications
+       * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
+       * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
+       aspects, since these no longer exist.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch13.adb (Aspect_Specifications_Present): Always return false on
+       semicolon, do not try to see if there are aspects following it.
+       * par-ch3.adb (P_Declarative_Items): Better message for unexpected
+       aspect spec.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb, aspects.ads: Minor reformatting.
+
+2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
+       * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
+       extracted from...
+       (Analyze_Aspect_Specifications): ...here.  Call above procedure.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
+       mode on subprogram declaration outside of package specification, unless
+       it is followed by a pragma Import
+       * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
+       Access_Type_Declaration): issue error in formal mode on access type
+       (Analyze_Incomplete_Type_Decl): issue error in formal mode on
+       incomplete type
+       (Analyze_Object_Declaration): issue error in formal mode on object
+       declaration which does not respect SPARK restrictions
+       (Analyze_Subtype_Declaration): issue error in formal mode on subtype
+       declaration which does not respect SPARK restrictions
+       (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
+       error in formal mode on digits or delta constraint
+       (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
+       decimal fixed point type
+       (Derived_Type_Declaration): issue error in formal mode on derived type
+       other than type extensions of tagged record types
+       * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
+       with check on access definition
+       * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
+       mode on protected definition.
+       (Analyze_Task_Definition): issue error in formal mode on task definition
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
+
+2011-08-02  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch6.adb (Can_Override_Operator): New function.
+       (Verify_Overriding_Indicator): Add missing code to check overriding
+       indicator in operators. Fixes regression.
+       (Check_Overriding_Indicator): Minor reformating after replacing the
+       code that evaluates if the subprogram can override an operator by
+       invocations to the above new function.
+       * einfo.adb
+       (Write_Field26_Name): Add missing code to ensure that, following
+       the documentation in einfo.ads, this field is not shown as attribute
+       "Static_Initialization" on non-dispatching functions.
+
+2011-08-02  Jose Ruiz  <ruiz@adacore.com>
+
+       * sem_res.adb (Resolve_Call): A call to
+       Ada.Real_Time.Timing_Events.Set_Handler violates restriction
+       No_Relative_Delay (AI-0211) only when it sets a relative timing event,
+       i.e., when the second parameter is of type Time_Span.
+
+2011-08-02  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
+       with an archive instead of -L<library dir> -l<library name>.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
+       mark the base types In_Use in addition to making the operations
+       use_visible.
+
+2011-08-02  Ed Falis  <falis@adacore.com>
+
+       * init.c: add and setup __gnat_signal_mask for the exception signals
+       * s-inmaop-vxworks.adb: new file.
+       * s-intman-vxworks.adb: remove unnecessary initializations and
+       simplify remaining
+       * s-intman-vxworks.ads: remove unnecessary variable
+       * s-taprop-vxworks.adb: simplify signal initialization
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb: Minor code reorganization, comment updates.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
+       * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
+       here from Sem_Res.
+       (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
+       (Matching_Static_Array_Bounds): Moved here from Sem_Res
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
+       * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
+       * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
+       use_type_clauses, to handle more efficiently use_type and use_all_type
+       constructs.
+       * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
+       Ada2012 Use_All_Type clause.
+       (Use_Class_Wide_Operations): new procedure.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
+       sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
+       expression to expression function.
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb: transform simple Ada2012 membership into equality only
+       if types are compatible.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Matching_Static_Array_Bounds): new function which
+       returns True if its argument array types have same dimension and same
+       static bounds at each index.
+       (Resolve_Actuals): issue an error in formal mode on actuals passed as
+       OUT or IN OUT paramaters which are not view conversions in SPARK.
+       (Resolve_Arithmetic_Op): issue an error in formal mode on
+       multiplication or division with operands of fixed point types which are
+       not qualified or explicitly converted.
+       (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
+       Boolean or array type (except String) operands.
+       (Resolve_Equality_Op): issue an error in formal mode on equality
+       operators for array types other than String with non-matching static
+       bounds.
+       (Resolve_Logical_Op): issue an error in formal mode on logical operators
+       for array types with non-matching static bounds. Factorize the code in
+       Matching_Static_Array_Bounds.
+       (Resolve_Qualified_Expression): issue an error in formal mode on
+       qualified expressions for array types with non-matching static bounds.
+       (Resolve_Type_Conversion): issue an error in formal mode on type
+       conversion for array types with non-matching static bounds
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch10.adb: Minor code reorganization (use Nkind_In).
+
+2011-08-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch9.adb: save location of entry for proper error message.
+
+2011-08-02  Javier Miranda  <miranda@adacore.com>
+
+       * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
+       (Use_Full_View) which permits this routine to climb through the
+       ancestors using the full-view of private parents.
+       * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
+       Use_Full_View to true in calls to Is_Ancestor.
+       * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
+       true in call to Is_Ancestor.
+       * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
+       Use_Full_View to true in call to Is_Ancestor.
+       * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
+       call to Is_Ancestor.
+       * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
+       Use_Full_View to true in calls to Is_Ancestor.
+       * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
+       Make_Select_Specific_Data_Table, Register_Primitive,
+       Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
+       * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
+       to true in call to Is_Ancestor.
+       * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
+       Use_Full_View to true in calls to Is_Ancestor.
+       * exp_cg.adb
+       (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
+       (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi: Minor reformatting.
+       * sem_prag.adb: Minor reformatting.
+
+2011-08-02  Tristan Gingold  <gingold@adacore.com>
+
+       * vms_data.ads: Add VMS qualifier for -gnateP.
+
+2011-08-02  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
+       * par-ch7.adb (P_Package): Proper placement of aspects for package
+       decl/instantiation.
+       * par-endh.adb (Check_End): Ad Is_Sloc parameter
+       (End_Statements): Add Is_Sloc parameterr
+       * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
+       (Check_End): Ad Is_Sloc parameter
+       (End_Statements): Add Is_Sloc parameterr
+
+2011-08-02  Vincent Celier  <celier@adacore.com>
+
+       * ug_words: Add VMS qualifier equivalent to -gnateP:
+       /SYMBOL_PREPROCESSING.
+
+2011-08-02  Jose Ruiz  <ruiz@adacore.com>
+
+       * gnat-style.texi: For hexadecimal numeric literals the typical
+       grouping of digits is 4 to represent 2 bytes.
+       A procedure spec which is split into several lines is indented two
+       characters.
+
+2011-08-02  Yannick Moy  <moy@adacore.com>
+
+       * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
+       * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
+       (Resolve_Aggregate): issue errors in formal modes when aggregate is not
+       properly qualified
+       (Resolve_Array_Aggregate): issue errors in formal modes on non-static
+       choice in array aggregate
+       (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
+       mark as ancestor
+       (Resolve_Record_Aggregate): issue errors in formal modes on mixed
+       positional and named aggregate for record, or others in record
+       aggregate, or multiple choice in record aggregate
+       * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
+       array operands to logical operations AND, OR and XOR do not have the
+       same static lower and higher bounds
+       * sem_ch5.adb, sinfo.ads: Correct typos in comments
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
+       Replaces Last_Source_Node_In_Sequence.
+       * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
+       * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
+       parens and blank in string (this was inconsistently implemented).
+       * errout.ads
+       (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
+       blank in string (this was inconsistently implemented).
+       * gnat1drv.adb
+       (Set_Global_Switches): Set formal mode switches appropriately
+       * opt.ads, opt.adb: Formal mode is now global switches, more consistent
+       * par-prag.adb
+       (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
+       call Set_Error_Msg_Lang to set "spark" as language name.
+       * par.adb: Remove unnecessary call to set formal language for errout
+       * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
+       appropriately and call Set_Error_Msg_Lang to set "spark" as language
+       name.
+       * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
+       calls to it, moved after resolution so that types are known
+       * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
+       result of concatenation is not of type String
+       (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
+       concatenation is not properly restricted
+       * gnat_rm.texi: Add doc on pragma Spark_95.
+       * gcc-interface/Makefile.in: Remove obsolete target pairs for
+       Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
+       * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
+       condition that detects if the overridden operation must replace an
+       existing entity.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
+       code declarations inserted by Insert_Actions in each alternative of the
+       N_Case_Expression node.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch6.adb: Minor code reorganization.
+       * sem_util.adb: Minor reformatting.
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
+       * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
+       literal or operator symbol which is prefixed
+       * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
+       mode on access attributes.
+       * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
+       that concatenation operands are properly restricted in formal mode
+       (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
+       Analyze_Concatenation_Operand. Issue an error in formal mode if the
+       result of the concatenation has a type different from String.
+       (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
+       Analyze_Quantified_Expression, Analyze_Slice,
+       Analyze_Null): issue an error in formal mode on unsupported constructs
+       * sem_ch5.adb
+       (Analyze_Block_Statement): only issue error on source block statement
+       * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
+       function which returns the last node in a list of nodes for which
+       Comes_From_Source returns True, if any
+       * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
+       Last_Source_Node_In_Sequence
+       * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
+       Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
+       mode on unsupported constructs
+       * sem_ch9.adb Do not return after issuing error in formal mode, as the
+       rest of the actions may be needed later on since the error is marked as
+       not serious.
+       * sinfo.ads: Typos in comments.
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * projects.texi: Minor editing.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
+       insertion character ~~
+       * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
+       (Set_Error_Msg_Lang): new procedure which fixes the language for use
+       with insertion character ~~
+       (Set_Msg_Text): treat insertion character ~~
+       * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
+       sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
+       Formal_Error_Msg_... procedures by equivalent Error_Msg_...
+       procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
+       errors related to the formal language restriction not serious
+       (insertion character |).
+       * par.adb (Par): set formal language for error messages if needed
+       * sem_ch6.adb (Check_Missing_Return): take into account possible
+       generated statements at the end of the function
+       * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
+       enumeration value to define a new pragma SPARK_95
+       * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
+       SPARK_Version): new type and variables to store the SPARK version
+       (none by default).
+       (SPARK_Mode): return True when SPARK_Version is set
+       * par-prag.adb: Correct indentation
+       (Prag): take Pragma_SPARK_95 into account
+       * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
+       into account.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
+       sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
+       sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
+       Target_Name to Get_Path call.
+       (Parse_Single_Project): Likewise.
+       (Post_Parse_Context_Clause): Likewise.
+       * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
+       Call Initialise_Project_Path with the proper Target_Name.
+       (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
+       search path.
+       (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
+       with the proper Target_Name.
+       * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
+       Part.Parse routine.
+       (Parse_Project_And_Apply_Config): Likewise.
+       * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
+       This is fine as this part of the code is supporting only native
+       compilation.
+       * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
+       is fine as this part of the code is supporting only native compilation.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb (Enter_Name): issue error in formal mode on declaration
+       of homonym, unless the homonym is one of the cases allowed in SPARK
+       * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
+       package declaration occurring after a body.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb, exp_ch4.adb: Minor reformatting.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads (Access_Disp_Table): Fix documentation.
+       (Dispatch_Table_Wrappers): Fix documentation.
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * prj-env.adb, prj-env.ads: Minor reformatting.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.ads, sem_util.adb, par.adb, par_util.adb
+       (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
+       procedures out of these packages.
+       * errout.ads, errout.adb 
+       (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
+       procedures in of this package
+       (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
+       * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
+       on misplaced later vs initial declarations, like in Ada 83
+       * sem_attr.adb (Processing for Analyze_Attribute): issue error in
+       formal mode on attribute of private type whose full type declaration
+       is not visible
+       * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
+       package declaration inside a package specification
+       (Analyze_Full_Type_Declaration): issue error in formal mode on
+       controlled type or discriminant type
+       * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
+       user-defined operator means that it should come from the source
+       (New_Overloaded_Entity): issue error in formal mode on overloaded
+       entity.
+       * sem_ch6.ads, sem_ch13.ads: typos in comments.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * atree.adb: Minor reformatting.
+       * checks.adb: Minor reformatting.
+
+2011-08-01  Vincent Celier  <celier@adacore.com>
+
+       * s-parame-vms-ia64.ads: Fix typo in comment
+       Minor reformatting
+       * s-parame-vms-restrict.ads: Removed, unused.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb
+       (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
+       * sem_ch3.adb
+       (Constrain_Index): Remove side effects in the evaluation of the bounds.
+       * sem_ch3.ads, sem_ch3.adb
+       (Is_Constant_Bound): New extended version of the subprogram that was
+       previously located inside function Exp_Ch3.Is_Variable_Size_Array.
+       Moved here since it is shared by routines of sem_ch3 and exp_ch3.
+       * sem_aux.ads (Constant_Value): Fix typo in comment.
+       * checks.adb (Generate_Index_Checks): New implementation which, for
+       array objects with constant bounds, generates the runtime check
+       referencing the bounds of the array type. For other cases this routine
+       provides its previous behavior obtaining such values from the array
+       object.
+       * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
+       parent type.
+       * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
+       we cannot have semantic interpretations of the new node.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
+       expressions.
+
+2011-08-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb: Minor code editing.
+       * s-vxwext.adb: Remove trailing space.
+       * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
+       consistency with other files.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch10.adb: reject parameterized expressions as compilation unit.
+       * sem_ch4.adb: handle properly conditional expression with overloaded
+       then_clause and no else_clause.
+
+2011-08-01  Tristan Gingold  <gingold@adacore.com>
+
+       * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
+       like done by System.Aux_DEC.
+       * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
+       missing label at end of declaration (subprogram or package)
+       * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
+       of positional and named parameter association
+       * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
+       Error_Msg_SP which adds a prefix to the error message giving the name
+       of the formal language analyzed
+       * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
+       access result type in subprogram, unconstrained array as result type,.
+       (Analyze_Subprogram_Declaration): issue an error in formal mode for null
+       procedure
+       * sem_ch8.adb: Code clean up.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
+       * einfo.ads (Access_Disp_Table): Fix documentation.
+       (Dispatch_Table_Wrappers): Fix documentation.
+       * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
+       Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
+       to enforce the documentation of this attribute.
+       (Set_Is_Interface): Cleanup the assertion.
+       * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
+       the Underlying_Type entity before reading attribute Access_Disp_Table.
+       * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
+       Locate the Underlying_Type before reading attribute Access_Disp_Table.
+       * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
+       the Underlying_Type entity before reading attribute Access_Disp_Table.
+       * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
+       Locate the Underlying_Type entity before reading attribute
+       Access_Disp_Table.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * s-poosiz.ads: Additional overriding indicators.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
+       formal mode.
+       (Analyze_Iteration_Scheme): issue error in formal mode when loop
+       parameter specification does not include a subtype mark.
+       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
+       formal mode on abstract subprogram.
+       (Analyze_Subprogram_Specification): issue error in formal mode on
+       user-defined operator.
+       (Process_Formals): issue error in formal mode on access parameter and
+       default expression.
+       * sem_ch9.adb (Analyze_Abort_Statement,
+       Analyze_Accept_Statement, Analyze_Asynchronous_Select,
+       Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
+       Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
+       Analyze_Requeue, Analyze_Selective_Accept,
+       Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
+       * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
+       issue error in formal mode on user-defined raise statement.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
+       declaration being hidden when overriding an implicit inherited
+       subprogram.
+       * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
+       (-gnats), do not complain about a source file that contains only a
+       pragma No_Body.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
+       variable if already set.
+
+2011-08-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
+       g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
+       s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
+       g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
+       g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
+       g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
+       g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
+       g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
+       g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
+       g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
+       g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
+       s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
+       g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
+       s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
+       g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
+       g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
+       g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
+       g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
+       g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
+       g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
+       s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
+       s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
+       a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
+       s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
+       s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
+       g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
+       g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
+       g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
+       g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
+       g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
+       g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
+       s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
+       s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
+       g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
+       g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
+       s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
+       s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
+       g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
+       g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
+       g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
+       s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
+       g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
+       g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
+       g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
+       s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
+       g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
+       g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
+       g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
+       s-osinte-mingw.ads: Update to GPLv3 run-time license.
+       Use GNAT instead of GNARL.
+
+2011-08-01  Bob Duff  <duff@adacore.com>
+
+       * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
+       a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
+       a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
+       reformatting.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * debug.adb (d.D) reverve flag for the SPARK mode
+       (d.E) reverve flag for SPARK generation mode
+       (d.F) reverve flag for Why generation mode
+       * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode, 
+       ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode):  New
+       functions which return True when the corresponding modes are set
+       (Formal_Language): return "spark" or "alfa" when in formal verification
+       mode.
+       * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
+       Error_Msg to prefix the error message with a tag giving the formal
+       language
+       (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
+       message with a tag giving the formal language
+       * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
+       block statement
+       (Analyze_Case_Statement): issue error in formal mode on case statement
+       with a single "others" case alternative
+       (Analyze_Exit_Statement): issue errors in formal mode on exit
+       statements which do not respect SPARK restrictions
+       (Analyze_Goto_Statement): issue error in formal mode on goto statement
+       (Check_Unreachable_Code): always issue an error (not a warning) in
+       formal mode on unreachable code (concerns both code after an infinite
+       loop and after an unconditional jump, both not allowed in SPARK)
+       * sem_ch6.adb (Analyze_Return_Statement): add call to
+       Set_Return_Present for a procedure containing a return statement
+       (already done for functions in Analyze_Function_Return)
+       (Analyze_Function_Return): issue error in formal mode on extended
+       return or if return is not last statement in function
+       (Check_Missing_Return): issue error in formal mode if function does
+       not end with return or if procedure contains a return
+       * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
+       function to detect if there is an inner scope of its parameter S which
+       is a loop.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch6.ads: Minor reformatting.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Abstract_Interface_List): Complete condition when
+       processing private type declarations to avoid reading unavailable
+       attribute.
+       (Is_Synchronized_Tagged_Type): Complete condition when processing
+       private extension declaration nodes to avoid reading unavailable
+       attribute.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
+       i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
+       s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
+       s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
+       for VMS, instead parametrize the common implementation with
+       System.Parameters declarations.
+
+2011-08-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
+
+2011-08-01  Tristan Gingold  <gingold@adacore.com>
+
+       * seh_init.c: Fix SEH handler installation on win64.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
+       double analysis of an anonymous access to subprogram, because it can
+       lead to improper sharing of profiles and a back-end crash.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * make.adb, sem_ch4.adb: Minor reformatting.
+       * gcc-interface/Make-lang.in: Update dependencies.
+       * sem_util.adb, exp_ch5.adb: Minor reformatting.
+
+2011-08-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_rm.texi: Fix definition of Long_Integer.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb: check limit size of static aggregate unconditionally,
+       to prevent storage exhaustion.
+       * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
+       finalized is a function body, insert the cleanup code before the final
+       return statement, to prevent spurious warnings.
+       * s-pooglo.ads: add overriding indicator.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Operator_Check): improve error message when both a
+       with_clause and a use_clause are needed to make operator usage legal.
+       * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
+       determine whether a compilation unit is visible within an other,
+       either through a with_clause in the current unit, or a with_clause in
+       its library unit or one one of its parents.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
+       over an arbitrary expression of an array or container type.
+       * lib-xref.adb: clarify comment.
+
+2011-08-01  Bob Duff  <duff@adacore.com>
+
+       * einfo.ads: Minor reformatting.
+       * debug.adb: Minor comment improvement.
+
+2011-08-01  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
+       consider hidden subprograms as valid candidates.
+
+2011-08-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
+
+2011-08-01  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gnat_ugn.texi: Fix typo.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
+       lib-xref.adb: Minor reformatting
+
+2011-08-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
+       when to generate a call to Move_Final_List.
+       (Has_Controlled_Parts): Remove this function.
+
+2011-08-01  Geert Bosch  <bosch@adacore.com>
+
+       * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
+       "," in choice list.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
+       explicit raise of a predefined exception as Comes_From_Source if the
+       original N_Raise_Statement comes from source.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.ads: Add comment.
+       * sem_ch6.adb: Minor reformatting.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Refine check for bad component size
+       clause to avoid rejecting confirming clause when atomic/aliased present.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
+       better determine whether an entity reference is a write.
+       * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
+       subcomponent.
+       * lib-xref.adb (Output_References): Do no suppress a read reference at
+       the same location as an immediately preceeding modify-reference, to
+       handle properly in-out actuals.
+
+2011-08-01  Tristan Gingold  <gingold@adacore.com>
+
+       * env.c (__gnat_setenv) [VMS]: Refine previous change.
+
+2011-08-01  Quentin Ochem  <ochem@adacore.com>
+
+       * i-cstrin.adb (New_String): Changed implementation, now uses only the
+       heap to compute the result.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * atree.ads: Minor reformatting.
+
+2011-08-01  Emmanuel Briot  <briot@adacore.com>
+
+       * g-expect.adb (Get_Command_Output): Fix memory leak.
+
+2011-08-01  Geert Bosch  <bosch@adacore.com>
+
+       * cstand.adb (P_Float_Type): New procedure to print the definition of
+       predefined fpt types.
+       (P_Mixed_Name): New procedure to print a name using mixed case
+       (Print_Standard): Use P_Float_Type for printing floating point types
+       * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
+       precision IEEE float.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
+       the completion of a generic function, insert the new body rather than
+       rewriting the original.
+
+2011-08-01  Yannick Moy  <moy@adacore.com>
+
+       * sinfo.ads, errout.ads: Typos in comments.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * par-endh.adb: Minor reformatting.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb: Add aspects for library unit pragmas
+       (Pre_Post_Aspects): New subtype.
+       * par-ch12.adb (P_Generic): New syntax for aspects in packages
+       * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
+       * par-ch7.adb (P_Package): Remove Decl parameter
+       (P_Package): Handle new syntax for aspects (before IS)
+       * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
+       new aspect syntax
+       (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
+       * par.adb (P_Aspect_Specifications): Add Semicolon parameter
+       (P_Package): Remove Decl parameter
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
+       aspects
+       * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
+       specs
+       * sem_util.ads, sem_util.adb (Static_Boolean): New function
+       * sinfo.ads: Document new syntax for aspects in packages etc.
+       * sprint.adb: Handle new syntax of aspects before IS in package
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * atree.ads: Minor reformatting.
+       * sem_prag.adb: Minor reformatting.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb (Insert_Actions): Fix error in handling Actions for
+       case expr alternative.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb: Fix typo.
+
+2011-08-01  Geert Bosch  <bosch@adacore.com>
+
+       * sem_prag.adb (Check_No_Link_Name): New procedure.
+       (Process_Import_Or_Interface): Use Check_No_Link_Name.
+       * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
+       instead of Standard_Long_Long_Float_Size global. Preparation for
+       eventual removal of per type constants.
+       * exp_util.ads (Get_Stream_Size): New function returning the stream
+       size value of subtype E.
+       * exp_util.adb (Get_Stream_Size): Implement new function.
+       * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
+       function.
+       * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
+       * einfo.adb:
+       (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
+
+2011-08-01  Geert Bosch  <bosch@adacore.com>
+
+       * cstand.adb: Fix comments.
+       * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
+       count of arguments.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb, sem_cat.adb: Minor reformatting.
+
+2011-08-01  Geert Bosch  <bosch@adacore.com>
+
+       * atree.ads: Fix comment.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
+       * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
+       * par.adb: Add with for Namet.Sp.
+       * par-tchk.adb: Minor reformatting.
+
+2011-08-01  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
+       (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
+       of the init procedure of a SAL.
+       * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
+       New procedure.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
+       reformatting.
+
+2011-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
+
+2011-08-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
+       conformant with its spec (return True only for types that have
+       an overriding Initialize primitive operation that prevents them from
+       having preelaborable initialization).
+       * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
+       initialization for controlled types in Ada 2005 or later mode.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
+       Postcondition.
+       (Same_Aspect): New function.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
+       Type_Invariant, Precondition, Postcondition.
+       * snames.ads-tmpl: Add Name_Type_Invariant.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
+       here.
+       (Freeze_All_Ent): Fix error in handling inherited aspects.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
+       already analyzed, but don't skip entire processing of a declaration,
+       that's wrong in some cases of declarations being rewritten.
+       (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
+       Don't delay for integer, string literals
+       Treat predicates in usual manner for delay, remove special case code,
+       not needed.
+       (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
+       (Build_Predicate_Function): Update saved expression in aspect
+       (Build_Invariant_Procedure): Update saved expression in aspect
+       * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
+       of replacement of discriminant references if the reference is simple.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
+       * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
+       Static_Predicate and Dynamic_Predicate.
+       (Build_Predicate_Function): Add processing for Static_Predicate
+       and Dynamic_Predicate.
+       * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
+       (From_Static_Predicate): New flag
+       * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * usage.adb: Documentation cleanup for Ada version modes in usage.
+       * expander.adb: Minor reformatting.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * atree.ads: Minor comment fix.
+       * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
+       a-witeio.ads, sem_prag.adb: Minor reformatting.
+
+2011-08-01  Doug Rupp  <rupp@adacore.com>
+
+       * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
+       pointers. Use descrip.h header file for convenience. Add some
+       comments.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
+       (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
+       * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
+       New procedure.
+       (Check_Aspect_At_End_Of_Declarations): New procedure
+       (Analye_Aspect_Specification): Minor changes for above procedures
+       * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
+       specification node as well.
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
+       Windows files. Use GetFilesAttributes() in this case to check for file
+       existence instead of returning with an error code.
+
+2011-08-01  Vincent Celier  <celier@adacore.com>
+
+       * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
+       High is above Source length.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
+
+2011-08-01  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads (Boolean_Aspects): New subtype.
+       * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
+       for derived types in cases where the parent type and derived type have
+       aspects.
+       * freeze.adb (Freeze_Entity): Fix problems in handling derived type
+       with aspects when parent type also has aspects.
+       (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
+       boolean expression at this point).
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
+       accordance with final decision on the Ada 2012 feature.
+       * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
+
+2011-08-01  Matthew Heaney  <heaney@adacore.com>
+
+       * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
+       Fix Replace_Slice when High is above current string size.
+       (Replace_Slice): Fix DL computation when High is above current
+       string length.
+
+2011-08-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
+
+2011-08-01  Matthew Heaney  <heaney@adacore.com>
+
+       * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
+       of node.
+
+2011-08-01  Pascal Obry  <obry@adacore.com>
+
+       * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
+       reformatting.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
+       access to protected subprograms in generic bodies.
+       * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
+       protected type, indicate that the convention of the subprogram is
+       Convention_Protected, because it may be used in subsequent declarations
+       within the protected declaration.
+
+2011-08-01  Vincent Celier  <celier@adacore.com>
+
+       * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
+       and "final" procedures when the name of the library is "ada", to avoid
+       duplicate symbols "adainit" and "adafinal" in executables.
+
+2011-08-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
+       quantified expression that appears within a postcondition and uses the
+       Ada2012 'Result attribute.
+
+2011-07-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * init.c (__gnat_error_handler): Cast reason to int.
+       (__gnat_install_handler): Explain sa_sigaction use.
+
+2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
+       subprogram has copy-in copy-out parameters, try to promote the mode of
+       the return type if it is passed in registers.
+
+2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
+       left operand as addressable.
+
+2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (build_function_stub): Remove.
+       (build_return_expr): Likewise.
+       (convert_vms_descriptor): Declare.
+       * gcc-interface/utils.c (convert_vms_descriptor): Make global.
+       (build_function_stub): Move to...
+       * gcc-interface/utils2.c (build_return_expr): Move to...
+       * gcc-interface/trans.c (build_function_stub): ...here.
+       (build_return_expr): ...here.
+       (Subprogram_Body_to_gnu): Add local variable for language_function.
+       Disconnect the parameter attributes cache, if any, once done with it.
+       Call end_subprog_body only after setting the end_locus.
+       Build the stub associated with the function, if any, at the very end.
+       (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
+       variables and streamline control flow.
+
+2011-07-23  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/49819
+       * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
+       g-trasym-dwarf.adb.
+
+2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/49794
+       * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
+       Assign to act.sa_sigaction.
+       * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
+       current->return_address to char * before arithmetic.
+
+2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
+       Correct argument types.
+       Extract code from reason.
+       (__gnat_install_handler): Assign to act.sa_sigaction.
+
+2011-07-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
+       (GNAT1_OBJS): ...here.
+
+2011-07-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/48711
+       * g-socthi-mingw.adb (Fill): Fix formatting.
+
+       * gcc-interface/gigi.h: Move around comment.
+
+2011-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/46350
+       * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
+
+2011-07-14  Florian Weimer  <fw@deneb.enyo.de>
+
+       PR ada/48711
+       * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
+
+2011-07-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
+       range comparison if Pmode is SImode.
+
+2011-07-12  Laurent GUERBY  <laurent@guerby.net>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * adadecode.c: Wrap up in extern "C" block.
+       * adadecode.h: Likewise.
+       * adaint.c: Likewise.  Remove 'const' keyword.
+       * adaint.h: Likewise.
+       * argv.c: Likewise.
+       * atree.h: Likewise.
+       * cio.c: Likewise.
+       * cstreams.c: Likewise.
+       * env.c: Likewise.
+       * exit.c: Likewise.
+       * fe.h: Likewise.
+       * final.c: Likewise.
+       * init.c: Likewise.
+       * initialize.c: Likewise.
+       * link.c: Likewise.
+       * namet.h: Likewise.
+       * nlists.h: Likewise.
+       * raise.c: Likewise.
+       * raise.h: Likewise.
+       * repinfo.h: Likewise.
+       * seh_init.c: Likewise.
+       * targext.c: Likewise.
+       * tracebak.c: Likewise.
+       * uintp.h: Likewise.
+       * urealp.h: Likewise.
+       * xeinfo.adb: Wrap up generated C code in extern "C" block.
+       * xsinfo.adb: Likewise.
+       * xsnamest.adb: Likewise.
+       * gcc-interface/gadaint.h: Wrap up in extern "C" block.
+       * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
+       (GNAT1_C_OBJS): Remove ada/b_gnat1.o.  List ada/seh_init.o and
+       ada/targext.o here...
+       (GNAT_ADA_OBJS): ...and not here.
+       (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
+       (GNATBIND_OBJS): Reorder.
+
+2011-07-07  Richard Henderson  <rth@redhat.com>
+
+       * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
+       dwarf2out_frame_init.
+
+2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_init): Tweak previous change.
+
+2011-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/39150
+       * gcc-interface/Makefile.in: Handle x86_64-solaris2.
+
+2011-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * gcc-interface/misc.c (gnat_init): Merge calls to
+       build_common_tree_nodes and build_common_tree_nodes_2.
+       Re-initialize boolean_false_node.
+
+2011-07-02  Eric Botcazou  <ebotcazou@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+
+       * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
+       the type according to the ARTIFICIAL_P parameter.
+       (create_type_decl): Likewise.
+       (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
+
+2011-07-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
+       (gnatbind): Likewise.
+
+2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
+
+2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
+       local variable throughout.  Remove useless call to Base_Type.
+       (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
+       Take it also into account for the volatileness of the field.  Set the
+       TREE_SIDE_EFFECTS flag as well in this case.  Reorder some warnings.
+
+2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
+       on a dereference built for a by-ref object if it has an address clause.
+
+2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Address_Taken): Document use for the second argument of
+       Asm_Input and Asm_Output attributes.
+       * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
+       argument is an entity name, then set Address_Taken on it.
+       <Attribute_Asm_Output>: Likewise.
+       * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
+       Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
+       (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
+       memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
+
+2011-06-16  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       PR middle-end/46500
+       * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
+
+2011-06-14  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
+       (ada/utils.o): Update dependencies.
+       * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
+       ../../../libcpp/libcpp.a.
+       * gcc-interface/utils.c: Include common/common-target.h.
+       (process_attributes): Use targetm_common.have_named_sections.
+
+2011-06-07  Richard Guenther  <rguenther@suse.de>
+
+       * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
+       set_sizetype.
+
+2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
+       TREE_THIS_NOTRAP flag.
+
+2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
+       Fix thinko.
+
+2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
+       constants whose full view has discriminants specially.
+
+2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c: Include diagnostic.h.
+       (gnat_write_global_declarations): Output debug information for all
+       global type declarations before finalizing the compilation unit.
+       * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
+
+2011-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
+
+2011-05-25  Kai Tietz  <ktietz@redhat.com>
+
+       * adaint.c (__gnat_to_canonical_file_list_next): Use array
+       initialization instead of const/none-const pointer assignment.
+
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
+       $(EXTRA_GNAT1_OBJS).
+       (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
+       (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
+       (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
+       * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
+       libcommon-target.a instead of prefix.o.
+
+2011-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       PR ada/49097
+       * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
+
+2011-05-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
+       * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
+       instead of version.o.
+
+2011-05-18  Kai Tietz <ktietz@redhat.com>
+
+       * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
+       boolean_false_node instead of integer_zero_node.
+       (convert_with_check): Likewise.
+       * gcc-interface/decl.c (choices_to_gnu): Likewise.
+
+2011-05-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
+       type of the parameter is an unconstrained array, convert the actual to
+       the type of the formal in the In Out and Out cases as well.
+
+2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
+       call build_function_type_array or build_varargs_function_type_array
+       instead.
+       (create_subprog_type): Don't call build_function_type; call
+       build_function_type_vec instead.
+
+2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
+       (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
+       (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
+
+2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
+
+       * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
+       * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
+
+2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
+
+2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
+       instead of accessing TYPE_ARG_TYPES directly.
+       * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
+
+2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/48844
+       * gcc-interface/gigi.h (get_variant_part): Declare.
+       * gcc-interface/decl.c (get_variant_part): Make global.
+       * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
+       types have the same constant size, are record types and T1 has a
+       variant part while T2 doesn't.
+
+2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (begin_subprog_body): Do not call
+       get_pending_sizes.
+       (end_subprog_body): Likewise.
+
+2011-05-04  Richard Guenther  <rguenther@suse.de>
+
+       * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
+       int_const_binop.
+       (pos_to_constructor): Likewise.
+
+2011-05-03  Nathan Froyd  <froydnj@codesourcery.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gigi): Call build_function_type_list instead
+       of build_function_type.  Adjust calls to...
+       (build_raise_check): ...this.  Do not take a void_tree parameter.
+       Call build_function_type_list instead of build_function_type.
+       Fix head comment and swap couple of conditional blocks.
+
+2011-04-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatvsn.ads (Library_Version): Bump to 4.7.
+       (Current_Year): Bump to 2011.
+
+2011-04-29  Michael Matz  <matz@suse.de>
+
+       * gcc-interface/misc.c (gnat_handle_option): Set
+       warn_maybe_uninitialized.
+
+2011-04-23  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * gnat_ugn.texi (Complexity Metrics Control): Update link to
+       the Watson/McCabe paper.
+
+2011-04-23  Jim Meyering  <meyering@redhat.com>
+
+       * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
+
+2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
+       onto the new type.
+
+2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
+       parameter.
+       * gcc-interface/utils.c (create_subprog_decl): Likewise.  Set
+       DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
+       ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
+       <all>: Do not set flags on the reused DECL node coming from an alias.
+       Set DECL_IGNORED_P on the DECL node built for subprograms if they
+       don't need debug info here...
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
+       (gigi): Adjust calls to create_subprog_decl.
+       (build_raise_check): Likewise.
+       (establish_gnat_vms_condition_handler): Likewise.
+       (Compilation_Unit_to_gnu): Likewise.
+       (gnat_to_gnu): Likewise.
+
+2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
+       (NO_REORDER_ADAFLAGS): New variable.
+       (EXTRA_GNATTOOLS): Always define.
+       (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
+       Clean up and adjust list of files compiled with special options.
+       * gcc-interface/Make-lang.in: Likewise.
+       (ada/decl.o): Cosmetical change.
+       (ada/misc.o): Remove dependency on $(PLUGIN_H).
+
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * initialize.c (__gnat_initialize): Remove useless if-before-free.
+
+2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
+       $(CFLAGS) on the link line.
+
+2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
+       padded type built for the return type if it is unconstrained.
+
+2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
+
+2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
+       before calling TREE_CHAIN.
+       * gcc-interface/misc.c (gnat_init_ts): New function.
+       (LANG_HOOKS_INIT_TS): Define.
+
+2011-04-12  Martin Jambor  <mjambor@suse.cz>
+
+       * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
+       instead of cgraph_node.
+
+2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
+       alignment on fields of the RETURN type built for the Copy-In Copy-Out
+       mechanism.
+
+2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
+       of aggregate types that contain a placeholder.
+
+2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
+       TYPE_ARG_TYPES.
+       (handle_type_generic_attribute): Likewise.
+
+2011-04-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/47163
+       * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
+
+2011-04-04  Kai Tietz  <ktietz@redhat.com>
+
+       PR ada/47163
+       * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
+       to flag value.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (build_allocator): In the unconstrained array
+       type case, do not strip a padding type around the array type.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
+       types.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
+       * gcc-interface/misc.c (gnat_handle_option): Remove special handling
+       code for -feliminate-unused-debug-types.
+       (gnat_post_options): Likewise.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
+       declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
+       distinct copy.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
+       DECL_ARTIFICIAL flag on enumeration types.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
+       fat pointer types artificial unconditionally.
+       <E_Array_Subtype>: Attach the base array type as a parallel type if it
+       isn't artificial.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (get_dummy_type): Declare.
+       (build_dummy_unc_pointer_types): Likewise.
+       (finish_fat_pointer_type): Likewise.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
+       fat pointer type has been built, complete it in place.
+       <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
+       and thin pointers.  Remove useless variable.
+       (finish_fat_pointer_type): Make global and move to...
+       * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
+       (get_dummy_type): New function.
+       (build_dummy_unc_pointer_types): Likewise.
+       (gnat_pushdecl): Propage the name to the anonymous variants only.
+       (update_pointer_to): Only adjust the pointer types in the unconstrained
+       array case.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
+       if this is a Taft amendment type and the full declaration is available.
+       * gcc-interface/trans.c (process_type): Likewise.
+       If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
+       (process_freeze_entity): Likewise.
+       * gcc-interface/utils.c (dummy_global): New static variable.
+       (gnat_write_global_declarations): If there are types declared as used
+       at the global level, insert them in the global hash table.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
+       * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
+       declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
+       copy.
+       (record_builtin_type): Add ARTIFICIAL_P parameter.  Set DECL_ARTIFICIAL
+       flag of the type accordingly.
+       * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
+
+2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
+       finalizing types when updating the pointers to the designated type.
+       <all>: Finalize the deferred types even if we didn't defer processing
+       of incomplete types in this invocation.
+
+2011-04-01  Olivier Hainque  <hainque@adacore.com>
+            Nicolas Setton  <setton@adacore.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_descriptive_type): New function.
+       (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
+
+2011-03-28  Kai Tietz  <ktietz@redhat.com>
+
+       * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
+       Windows targets.
+       (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
+       * system-mingw.ads (System): Change ZCX_By_Default default to True.
+
+       * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
+
+2011-03-28  Tristan Gingold  <gingold@adacore.com>
+
+       PR ada/44431
+       * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
+       Use ada output of gnatbind.
+       (ada/b_gnatb.adb): Ditto.
+       (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
+       (ada.mostlyclean, ada.stage1)
+       (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
+       (ada.stagefeedback): Adjust.
+       * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
+       Use ada output of gnatbind.
+       (b_gnatm.adb): Ditto.
+       (b_gnatl.o, b_gnatm.o): New rules.
+
+2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
+       for the padded type built to support a specified size or alignment.
+
+2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
+       unconditionally to the end of the unit when the designated type is
+       limited_with'ed.
+       <all>: Rename local variable.  Attempt to un-defer types only and do it
+       for limited_with'ed types as well.
+       (finalize_from_with_types): Adjust comment.  Rename variable and tidy.
+       * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
+       consistently and remove redundant call to finalize_from_with_types.
+
+2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
+       subprograms without a previous spec declared in the same unit.
+       * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
+       subprograms at the end of the unit instead of at the beginning.
+       * gcc-interface/utils.c (create_subprog_decl): Check that the entity
+       isn't public for the special handling of non-inline functions nested
+       inside inline external functions.
+
+2011-03-25  Jeff Law  <law@redhat.com>
+
+       * gcc-interface/utils.c (def_fn_type): Add missing va_end.
+
+2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
+       * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
+       to compute Set_Size_Depends_On_Discriminant.
+       (Layout_Type): Call it on array types in back-end layout mode.
+       * sem_util.adb (Requires_Transient_Scope): Return true for array
+       types only if the size depends on the value of discriminants.
+       * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
+       type if the RHS is a call to a function that returns an unconstrained
+       type with default discriminant.
+
+2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
+       non-conversion to the nominal result type at the end.
+
+2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (create_temporary): New function taken from...
+       (create_init_temporary): ...here.  Call it.
+       (call_to_gnu): Create the temporary for the return value early, if any.
+       Create it for a function with copy-in/copy-out parameters if there is
+       no target; in other cases of copy-in/copy-out, use another temporary.
+       Push the new binding level lazily.  Add and rename local variables.
+
+2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (validate_size): Improve comments and tweak
+       error message.
+       (set_rm_size): Likewise.
+
+2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
+       for the padded type built in order to support a specified alignment.
+       Fix incorrect formatting.
+
+2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR bootstrap/48216
+       * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
+
+2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
+       rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
+       to the end of the list.  Adjust recursive call.  Rename local variable.
+       If REORDER is true, reorder components of the record type.
+       (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
+       components_to_record and adjust the parameter list.
+
+2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (elaborate_expression_1): When optimization is
+       disabled, use the variable for bounds of loop iteration scheme.
+
+2011-03-21  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/12171
+       * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
+
+2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
+       out whether the expression is read-only.  Short-circuit placeholder
+       case and rename a couple of local variables.
+
+2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (smaller_form_type_p): Declare.
+       * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
+       * gcc-interface/utils.c (smaller_form_type_p): ...to here.
+       (convert): Deal with conversions from a smaller form type specially.
+
+2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
+       its argument, except for the special -I- switch.
+
+2011-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
+       "Ada Issues".
+
+2011-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
+
+2011-02-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
+       GNAT_FORMAL.
+       * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
+       * gcc-interface/utils.c (fill_vms_descriptor): ...here.  Take GNU_TYPE
+       instead of GNAT_FORMAL.  Protect the expression against multiple uses.
+       Do not generate the check directly, instead instantiate the template
+       check present in the descriptor.
+       (make_descriptor_field): Move around.
+       (build_vms_descriptor32): Build a template check in the POINTER field.
+       (build_vms_descriptor): Remove useless suffixes.
+       * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
+
+2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR bootstrap/47467
+       * targext.c: Include target files if IN_RTS is defined.
+
+2011-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/47467
+       * targext.c: Include config.h.
+       * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
+       dependency.
+
+2011-01-04  Pascal Obry  <obry@adacore.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
+
+2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
+       end-of-case on the end label and its associated gotos, if any.
+
+2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
+       expressions of the parameter cache within the statement group of
+       the CICO mechanism.
+
+2011-01-04  Olivier Hainque  <hainque@adacore.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
+       (set_end_locus_from_node): New function.
+       (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
+       make and the function end_locus.
+       (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
+       for the elaboration subprogram.
+       (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
+       set the end_locus of the expression as well.
+
+2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/47131
+       * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
+       variables that are referenced in exception handlers volatile.
+
+
+\f
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
index fd305e6..446f500 100644 (file)
@@ -2700,10 +2700,11 @@ __gnat_os_exit (int status)
   exit (status);
 }
 
-/* Locate a regular file, give a Path value.  */
+/* Locate file on path, that matches a predicate */
 
 char *
-__gnat_locate_regular_file (char *file_name, char *path_val)
+__gnat_locate_file_with_predicate
+   (char *file_name, char *path_val, int (*predicate)(char*))
 {
   char *ptr;
   char *file_path = (char *) alloca (strlen (file_name) + 1);
@@ -2733,7 +2734,7 @@ __gnat_locate_regular_file (char *file_name, char *path_val)
 
   if (absolute)
     {
-     if (__gnat_is_regular_file (file_path))
+     if (predicate (file_path))
        return xstrdup (file_path);
 
       return 0;
@@ -2746,7 +2747,7 @@ __gnat_locate_regular_file (char *file_name, char *path_val)
 
   if (*ptr != 0)
     {
-      if (__gnat_is_regular_file (file_name))
+      if (predicate (file_name))
         return xstrdup (file_name);
     }
 
@@ -2787,7 +2788,7 @@ __gnat_locate_regular_file (char *file_name, char *path_val)
 
       strcpy (++ptr, file_name);
 
-      if (__gnat_is_regular_file (file_path))
+      if (predicate (file_path))
         return xstrdup (file_path);
 
       if (*path_val == 0)
@@ -2802,6 +2803,24 @@ __gnat_locate_regular_file (char *file_name, char *path_val)
   return 0;
 }
 
+/* Locate an executable file, give a Path value.  */
+
+char *
+__gnat_locate_executable_file (char *file_name, char *path_val)
+{
+   return __gnat_locate_file_with_predicate
+      (file_name, path_val, &__gnat_is_executable_file);
+}
+
+/* Locate a regular file, give a Path value.  */
+
+char *
+__gnat_locate_regular_file (char *file_name, char *path_val)
+{
+   return __gnat_locate_file_with_predicate
+      (file_name, path_val, &__gnat_is_regular_file);
+}
+
 /* Locate an executable given a Path argument. This routine is only used by
    gnatbl and should not be used otherwise.  Use locate_exec_on_path
    instead.  */
@@ -2818,14 +2837,14 @@ __gnat_locate_exec (char *exec_name, char *path_val)
 
       strcpy (full_exec_name, exec_name);
       strcat (full_exec_name, HOST_EXECUTABLE_SUFFIX);
-      ptr = __gnat_locate_regular_file (full_exec_name, path_val);
+      ptr = __gnat_locate_executable_file (full_exec_name, path_val);
 
       if (ptr == 0)
-         return __gnat_locate_regular_file (exec_name, path_val);
+         return __gnat_locate_executable_file (exec_name, path_val);
       return ptr;
     }
   else
-    return __gnat_locate_regular_file (exec_name, path_val);
+    return __gnat_locate_executable_file (exec_name, path_val);
 }
 
 /* Locate an executable using the Systems default PATH.  */
index df29bad..a2ac463 100644 (file)
@@ -219,33 +219,33 @@ package Erroutc is
    --  error message table, since messages are not always inserted in sequence.
 
    Last_Error_Msg : Error_Msg_Id;
-   --  The last entry on the list of error messages. Note that this is not
-   --  the same as the physically last entry in the error message table, since
-   --  messages are not always inserted in sequence.
+   --  The last entry on the list of error messages. Note: this is not the same
+   --  as the physically last entry in the error message table, since messages
+   --  are not always inserted in sequence.
 
    --------------------------
    -- Warning Mode Control --
    --------------------------
 
-   --  Pragma Warnings allows warnings to be turned off for a specified
-   --  region of code, and the following tables are the data structures used
-   --  to keep track of these regions.
+   --  Pragma Warnings allows warnings to be turned off for a specified region
+   --  of code, and the following tables are the data structures used to keep
+   --  track of these regions.
 
-   --  The first table is used for the basic command line control, and for
-   --  the forms of Warning with a single ON or OFF parameter.
+   --  The first table is used for the basic command line control, and for the
+   --  forms of Warning with a single ON or OFF parameter.
 
    --  It contains pairs of source locations, the first being the start
    --  location for a warnings off region, and the second being the end
-   --  location. When a pragma Warnings (Off) is encountered, a new entry
-   --  is established extending from the location of the pragma to the
-   --  end of the current source file. A subsequent pragma Warnings (On)
-   --  adjusts the end point of this entry appropriately.
+   --  location. When a pragma Warnings (Off) is encountered, a new entry is
+   --  established extending from the location of the pragma to the end of the
+   --  current source file. A subsequent pragma Warnings (On) adjusts the end
+   --  point of this entry appropriately.
 
-   --  If all warnings are suppressed by command switch, then there is a
-   --  dummy entry (put there by Errout.Initialize) at the start of the
-   --  table which covers all possible Source_Ptr values. Note that the
-   --  source pointer values in this table always reference the original
-   --  template, not an instantiation copy, in the generic case.
+   --  If all warnings are suppressed by command switch, then there is a dummy
+   --  entry (put there by Errout.Initialize) at the start of the table which
+   --  covers all possible Source_Ptr values. Note that the source pointer
+   --  values in this table always reference the original template, not an
+   --  instantiation copy, in the generic case.
 
    type Warnings_Entry is record
       Start : Source_Ptr;
@@ -280,9 +280,9 @@ package Erroutc is
       --  Set to True if entry has been used to suppress a warning
 
       Config : Boolean;
-      --  True if pragma is configuration pragma (in which case no matching
-      --  Off pragma is required, and it is not required that a specific
-      --  warning be suppressed).
+      --  True if pragma is configuration pragma (in which case no matching Off
+      --  pragma is required, and it is not required that a specific warning be
+      --  suppressed).
    end record;
 
    package Specific_Warnings is new Table.Table (
@@ -304,10 +304,10 @@ package Erroutc is
    --     end Mumble;
 
    --  The trouble is that the first pragma is technically a configuration
-   --  pragma, and yet it is clearly being used in the context of thinking
-   --  of it as a specific case. To deal with this, what we do is that the
-   --  On entry can match a configuration pragma from the same file, and if
-   --  we find such an On entry, we cancel the indication of it being the
+   --  pragma, and yet it is clearly being used in the context of thinking of
+   --  it as a specific case. To deal with this, what we do is that the On
+   --  entry can match a configuration pragma from the same file, and if we
+   --  find such an On entry, we cancel the indication of it being the
    --  configuration case. This seems to handle all cases we run into ok.
 
    -----------------
@@ -336,16 +336,16 @@ package Erroutc is
    --  output giving node number (of node N) if the debug X switch is set.
 
    procedure Check_Duplicate_Message (M1, M2 : Error_Msg_Id);
-   --  This function is passed the Id values of two error messages. If
-   --  either M1 or M2 is a continuation message, or is already deleted,
-   --  the call is ignored. Otherwise a check is made to see if M1 and M2
-   --  are duplicated or redundant. If so, the message to be deleted and
-   --  all its continuations are marked with the Deleted flag set to True.
+   --  This function is passed the Id values of two error messages. If either
+   --  M1 or M2 is a continuation message, or is already deleted, the call is
+   --  ignored. Otherwise a check is made to see if M1 and M2 are duplicated or
+   --  redundant. If so, the message to be deleted and all its continuations
+   --  are marked with the Deleted flag set to True.
 
    procedure Output_Error_Msgs (E : in out Error_Msg_Id);
-   --  Output source line, error flag, and text of stored error message and
-   --  all subsequent messages for the same line and unit. On return E is
-   --  set to be one higher than the last message output.
+   --  Output source line, error flag, and text of stored error message and all
+   --  subsequent messages for the same line and unit. On return E is set to be
+   --  one higher than the last message output.
 
    procedure Output_Line_Number (L : Logical_Line_Number);
    --  Output a line number as six digits (with leading zeroes suppressed),
@@ -366,9 +366,9 @@ package Erroutc is
    --  including the end points) will be deleted from the error listing.
 
    function Same_Error (M1, M2 : Error_Msg_Id) return Boolean;
-   --  See if two messages have the same text. Returns true if the text
-   --  of the two messages is identical, or if one of them is the same
-   --  as the other with an appended "instance at xxx" tag.
+   --  See if two messages have the same text. Returns true if the text of the
+   --  two messages is identical, or if one of them is the same as the other
+   --  with an appended "instance at xxx" tag.
 
    procedure Set_Msg_Blank;
    --  Sets a single blank in the message if the preceding character is a
index c54f3b0..540d395 100644 (file)
@@ -8459,15 +8459,15 @@ package body Exp_Ch3 is
          --  they may be ancestors of synchronized interface types).
 
          elsif (not Is_Interface (Tag_Typ)
-                  and then Is_Interface (Etype (Tag_Typ))
-                  and then Is_Limited_Record (Etype (Tag_Typ)))
+                 and then Is_Interface (Etype (Tag_Typ))
+                 and then Is_Limited_Record (Etype (Tag_Typ)))
              or else
                (Is_Concurrent_Record_Type (Tag_Typ)
-                  and then Has_Interfaces (Tag_Typ))
+                 and then Has_Interfaces (Tag_Typ))
              or else
                (not Tagged_Type_Expansion
-                  and then not Is_Interface (Tag_Typ)
-                  and then Tag_Typ = Root_Type (Tag_Typ))
+                 and then not Is_Interface (Tag_Typ)
+                 and then Tag_Typ = Root_Type (Tag_Typ))
          then
             Append_To (Res,
               Make_Subprogram_Declaration (Loc,
@@ -8944,10 +8944,10 @@ package body Exp_Ch3 is
         and then not Is_Interface (Tag_Typ)
         and then
           ((Is_Interface (Etype (Tag_Typ))
-              and then Is_Limited_Record (Etype (Tag_Typ)))
+             and then Is_Limited_Record (Etype (Tag_Typ)))
            or else
              (Is_Concurrent_Record_Type (Tag_Typ)
-                and then Has_Interfaces (Tag_Typ))
+               and then Has_Interfaces (Tag_Typ))
            or else
              (not Tagged_Type_Expansion
                and then Tag_Typ = Root_Type (Tag_Typ)))
index 986ed35..b8a89bc 100644 (file)
@@ -8698,9 +8698,7 @@ package body Exp_Ch9 is
          if Tagged_Type_Expansion then
             Prepend_To (Params,
               Make_Function_Call (Loc,
-                Name =>
-                  New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
-
+                Name => New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
                 Parameter_Associations => New_List (
                   Unchecked_Convert_To (RTE (RE_Tag), Concval),
                   Make_Integer_Literal (Loc, DT_Position (Entity (Ename))))));
@@ -8710,20 +8708,20 @@ package body Exp_Ch9 is
          else
             Prepend_To (Params,
               Make_Function_Call (Loc,
-                Name =>
-                  New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
+                Name => New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
 
                 Parameter_Associations => New_List (
+
                   --  Obj_Typ
 
                   Make_Attribute_Reference (Loc,
-                    Prefix => Concval,
+                    Prefix         => Concval,
                     Attribute_Name => Name_Tag),
 
                   --  Tag_Typ
 
                   Make_Attribute_Reference (Loc,
-                    Prefix => New_Reference_To (Etype (Concval), Loc),
+                    Prefix         => New_Reference_To (Etype (Concval), Loc),
                     Attribute_Name => Name_Tag),
 
                   --  Position
index 9b99466..85abeaf 100644 (file)
@@ -6627,7 +6627,7 @@ package body Exp_Disp is
                            --  Iface_Tag
 
                          Make_Attribute_Reference (Loc,
-                           Prefix => New_Reference_To (Iface, Loc),
+                           Prefix         => New_Reference_To (Iface, Loc),
                            Attribute_Name => Name_Tag),
 
                            --  OSD
@@ -6648,7 +6648,7 @@ package body Exp_Disp is
                      Make_Subtype_Indication (Loc,
                        Subtype_Mark =>
                          New_Reference_To (RTE (RE_Interface_Data), Loc),
-                       Constraint => Make_Index_Or_Discriminant_Constraint
+                       Constraint   => Make_Index_Or_Discriminant_Constraint
                          (Loc,
                           Constraints => New_List (
                             Make_Integer_Literal (Loc, Num_Ifaces)))),
index 0c17bd1..5596f8a 100644 (file)
@@ -156,7 +156,7 @@ package body Exp_Sel is
       else
          Tag_Node :=
            Make_Attribute_Reference (Loc,
-             Prefix => Obj,
+             Prefix         => Obj,
              Attribute_Name => Name_Tag);
       end if;
 
@@ -205,7 +205,7 @@ package body Exp_Sel is
       if Tagged_Type_Expansion then
          return
            Make_Assignment_Statement (Loc,
-             Name => New_Reference_To (S, Loc),
+             Name       => New_Reference_To (S, Loc),
              Expression =>
                Make_Function_Call (Loc,
                  Name => New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
@@ -218,10 +218,11 @@ package body Exp_Sel is
       else
          return
            Make_Assignment_Statement (Loc,
-             Name => New_Reference_To (S, Loc),
+             Name       => New_Reference_To (S, Loc),
              Expression =>
                Make_Function_Call (Loc,
                  Name => New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
+
                  Parameter_Associations => New_List (
 
                      --  Obj_Typ
index 001d131..5472d05 100644 (file)
@@ -185,6 +185,10 @@ package Restrict is
    --  The table contains pairs of source locations, the first being the start
    --  location for hidden region, and the second being the end location.
 
+   --  Note that the start location is included in the hidden region, while
+   --  the end location is excluded from it. (It typically corresponds to the
+   --  next token during scanning.)
+
    type SPARK_Hide_Entry is record
       Start : Source_Ptr;
       Stop  : Source_Ptr;
@@ -310,8 +314,8 @@ package Restrict is
    function Get_Restriction_Id
      (N : Name_Id) return Restriction_Id;
    --  Given an identifier name, determines if it is a valid restriction
-   --  identifier, and if so returns the corresponding Restriction_Id
-   --  value, otherwise returns Not_A_Restriction_Id.
+   --  identifier, and if so returns the corresponding Restriction_Id value,
+   --  otherwise returns Not_A_Restriction_Id.
 
    function Is_In_Hidden_Part_In_SPARK (Loc : Source_Ptr) return Boolean;
    --  Determine if given location is covered by a hidden region range in the
@@ -358,9 +362,9 @@ package Restrict is
 
    function Restricted_Profile return Boolean;
    --  Tests if set of restrictions corresponding to Profile (Restricted) is
-   --  currently in effect (set by pragma Profile, or by an appropriate set
-   --  of individual Restrictions pragmas). Returns True only if all the
-   --  required restrictions are set.
+   --  currently in effect (set by pragma Profile, or by an appropriate set of
+   --  individual Restrictions pragmas). Returns True only if all the required
+   --  restrictions are set.
 
    procedure Set_Hidden_Part_In_SPARK (Loc1, Loc2 : Source_Ptr);
    --  Insert a new hidden region range in the SPARK hides table
@@ -394,8 +398,8 @@ package Restrict is
      (Unit    : Node_Id;
       Warn    : Boolean;
       Profile : Profile_Name := No_Profile);
-   --  Sets given No_Dependence restriction in table if not there already.
-   --  Warn is True if from Restriction_Warnings, or for Restrictions if flag
+   --  Sets given No_Dependence restriction in table if not there already. Warn
+   --  is True if from Restriction_Warnings, or for Restrictions if the flag
    --  Treat_Restrictions_As_Warnings is set. False if from Restrictions and
    --  this flag is not set. Profile is set to a non-default value if the
    --  No_Dependence restriction comes from a Profile pragma.
index 571541a..fb9ab56 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2010, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -1440,11 +1440,17 @@ package body Sinfo is
    function Has_Dynamic_Length_Check
       (N : Node_Id) return Boolean is
    begin
+      pragma Assert (False
+        or else NT (N).Nkind in N_Subexpr);
       return Flag10 (N);
    end Has_Dynamic_Length_Check;
+
    function Has_Dynamic_Range_Check
       (N : Node_Id) return Boolean is
    begin
+      pragma Assert (False
+        or else NT (N).Nkind =  N_Subtype_Declaration
+        or else NT (N).Nkind in N_Subexpr);
       return Flag12 (N);
    end Has_Dynamic_Range_Check;
 
@@ -4484,12 +4490,17 @@ package body Sinfo is
    procedure Set_Has_Dynamic_Length_Check
       (N : Node_Id; Val : Boolean := True) is
    begin
+      pragma Assert (False
+        or else NT (N).Nkind in N_Subexpr);
       Set_Flag10 (N, Val);
    end Set_Has_Dynamic_Length_Check;
 
    procedure Set_Has_Dynamic_Range_Check
       (N : Node_Id; Val : Boolean := True) is
    begin
+      pragma Assert (False
+        or else NT (N).Nkind =  N_Subtype_Declaration
+        or else NT (N).Nkind in N_Subexpr);
       Set_Flag12 (N, Val);
    end Set_Has_Dynamic_Range_Check;
 
index e5ca5aa..88bcafb 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2010, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -424,6 +424,8 @@ package Sinfo is
    --       Raises_Constraint_Error  (Flag7-Sem)  evaluation raises CE
    --       Must_Not_Freeze          (Flag8-Sem)  set if must not freeze
    --       Do_Range_Check           (Flag9-Sem)  set if a range check needed
+   --       Has_Dynamic_Length_Check (Flag10-Sem) set if length check inserted
+   --       Has_Dynamic_Range_Check  (Flag12-Sem) set if range check inserted
    --       Assignment_OK            (Flag15-Sem) set if modification is OK
    --       Is_Controlling_Actual    (Flag16-Sem) set for controlling argument
 
@@ -485,18 +487,6 @@ package Sinfo is
    --    refers to a node or is posted on its source location, and has the
    --    effect of inhibiting further messages involving this same node.
 
-   --  Has_Dynamic_Length_Check (Flag10-Sem)
-   --    This flag is present on all nodes. It is set to indicate that one of
-   --    the routines in unit Checks has generated a length check action which
-   --    has been inserted at the flagged node. This is used to avoid the
-   --    generation of duplicate checks.
-
-   --  Has_Dynamic_Range_Check (Flag12-Sem)
-   --    This flag is present on all nodes. It is set to indicate that one of
-   --    the routines in unit Checks has generated a range check action which
-   --    has been inserted at the flagged node. This is used to avoid the
-   --    generation of duplicate checks.
-
    ------------------------------------
    -- Description of Semantic Fields --
    ------------------------------------
@@ -1125,6 +1115,19 @@ package Sinfo is
    --    handler is deleted during optimization. For further details on why
    --    this is required, see Exp_Ch11.Remove_Handler_Entries.
 
+   --  Has_Dynamic_Length_Check (Flag10-Sem)
+   --    This flag is present on all expression nodes. It is set to indicate
+   --    that one of the routines in unit Checks has generated a length check
+   --    action which has been inserted at the flagged node. This is used to
+   --    avoid the generation of duplicate checks.
+
+   --  Has_Dynamic_Range_Check (Flag12-Sem)
+   --    This flag is present in N_Subtype_Declaration nodes and on all
+   --    expression nodes. It is set to indicate that one of the routines in
+   --    unit Checks has generated a range check action which has been inserted
+   --    at the flagged node. This is used to avoid the generation of duplicate
+   --    checks.
+
    --  Has_Local_Raise (Flag8-Sem)
    --    Present in exception handler nodes. Set if the handler can be entered
    --    via a local raise that gets transformed to a goto statement. This will
@@ -2217,6 +2220,7 @@ package Sinfo is
       --  Subtype_Indication (Node5)
       --  Generic_Parent_Type (Node4-Sem) (set for an actual derived type).
       --  Exception_Junk (Flag8-Sem)
+      --  Has_Dynamic_Range_Check (Flag12-Sem)
 
       -------------------------------
       -- 3.2.2  Subtype Indication --