OSDN Git Service

gcc/ada/
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 3d978b5..8de9c57 100644 (file)
+2007-09-07  Janis Johnson  <janis187@us.ibm.com>
+
+       Reapply reverted change:
+
+        2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+        * trans.c (convert_with_check): Update call to real_2expN.
+
+2007-09-06  Janis Johnson  <janis187@us.ibm.com>
+
+       Revert:
+
+       2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (convert_with_check): Update call to real_2expN.
+
+2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (convert_with_check): Update call to real_2expN.
+
+2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * trans.c (Compilation_unit_to_gnu): Use set_cfun.
+       * utils.c (end_subprog_body): Likewise.
+
+2007-09-03  Nick Clifton  <nickc@redhat.com>
+
+       * Make-lang.in: Change copyright header to refer to version 3 of
+       the GNU General Public License and to point readers at the
+       COPYING3 file and the FSF's license web page.
+       * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
+       Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
+       namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
+       treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
+       Likewise.
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       PR ada/4720
+
+       * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb, 
+       gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
+       (Check_Version_And_Help): New procedure in package Switch to process
+       switches --version and --help.
+       Use Check_Version_And_Help in GNAT tools
+
+       * make.adb:  Ditto.
+       (Compile_Sources): Make sure that sources that are "excluded" are not
+       compiled.
+       (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
+       project file is used.
+       (Version_Switch): Remove, moved to Switch
+       (Help_Switch): Remove, moved to Switch
+       (Display_Version): Remove, moved to Switch
+
+       * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
+       package Switch to process switches --version and --help.
+       (Display_Version): New procedure
+
+       * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
+
+2007-08-31  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.adb (Internal_Tag): Protect the run-time against wrong
+       internal tags.
+
+2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
+       (Mark_Non_Null): If the node for which we just generated an access check
+       is a reference to an *in* parameter and the reference appears in the
+       declarative part of a subprogram body, mark the node as known non null.
+
+2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
+       structure of E_Exception to reflect the new flag.
+       (Is_Raised, Set_Is_Raised): New inlined routines.
+       Update the usage of available flag to reflect the addition of Is_Raised.
+       (Is_Raised, Set_Is_Raised): Bodies of new routines.
+       (Write_Entity_Flags): Write the status of flag Is_Raised.
+       (Is_Descendent_Of_Address): New entity flag, to simplify handling of
+       spurious ambiguities when integer literals appear in the context of an
+       address type that is a visible integer type.
+
+       * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
+       exceptions never being raised.
+       (Analyze_Raise_Statement): When analyzing an exception, mark it as being
+       explicitly raised.
+
+2007-08-31  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
+       statement when compiling under restriction No_Exceptions_Proparation.
+
+2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
+       initialization aggregate for the type, generate itype references for
+       thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
+
+2007-08-31  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
+       library-level package renaming, pass the declaration associated with
+       the renaming's special debug variable to Qualify_Entity_Names to ensure
+       that its encoded name is properly qualified.
+
+       * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
+       occurring in the list of entities to qualify, and do not attempt to
+       traverse an entity list in that case. Variables associated with
+`      library-level package renamings can now occur in the table.
+
+       * exp_dbug.ads: Revise documentation of the encoding for renaming
+       declarations.
+
+2007-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
+       access type points to an unconstrained array.
+
+2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+        * restrict.adb, namet.adb, par-util.adb: Remove redundant type
+       conversion.
+
+       * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
+       simple redundant qualifications. The check is performed whenever the
+       expression is a non-overloaded identifier.
+       (Resolve_Type_Conversion): Enchance the redundant type conversion check
+       to include loop parameters.
+       (Valid_Conversion): Avoid generation of spurious error message.
+
+2007-08-31  Bob Duff  <duff@adacore.com>
+
+       * par-ch4.adb (P_Simple_Expression): Fold long sequences of
+       concatenations of string literals into a single literal, in order to
+       avoid very deep recursion in the front end, which was causing stack
+       overflow.
+
+       * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
+       string, and the right operand is a string literal (the case of "" &
+       "..."), optimize by avoiding copying the right operand -- just use the
+       value of the right operand directly.
+
+       * stringt.adb (Store_String_Chars): Optimize by growing the
+       String_Chars table all at once, rather than appending characters one by
+       one.
+       (Write_String_Table_Entry): If the string to be printed is very long,
+       just print the first few characters, followed by the length. Otherwise,
+       doing "pn(n)" in the debugger can take an extremely long time.
+
+       * sem_prag.adb (Process_Interface_Name): Replace loop doing
+       Store_String_Char with Store_String_Chars.
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * prj-attr.adb: Add new attribute Excluded_Source_Files
+
+       * prj-nmsc.adb: Use attribute Excluded_Source_Files before
+       Locally_Removed_Files.
+
+       * snames.ads, snames.adb: New standard name Excluded_Source_Files
+
+2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
+       clauses of subunits, ignore limited_with_clauses that are illegal and
+       have not been fully analyzed.
+
+2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
+       flag, for effiency. It is called when analyzing arithmetic operators
+       and also for actuals in calls that are universal_integers. The flag is
+       set for the predefined type address, and for any type or subtype
+       derived from it.
+
+       * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
+       Universal_Integer, when the formal is a descendent of address and the
+       call appears in user code.
+       (Analyze_Selected_Component): if the prefix is a private extension, the
+       tag component is visible.
+
+       * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
+       entity flag.
+
+2007-08-31  Robert Dewar  <dewar@adacore.com>
+
+       * s-fileio.adb (Open): Normalize file name to lower case in non-case
+       sensitive file name systems to avoid unexpected mismatch in Vista.
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * symbols-vms.adb (Initialize): Read symbol files with continuation
+       lines
+       (Finalize): If symbol is long, split the line
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * fmap.ads: Minor comment updates
+
+2007-08-31  GNAT Script  <nobody@adacore.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2007-08-31  Bob Duff  <duff@adacore.com>
+
+       * sinfo.ads: Minor comment fix.
+
+2007-08-31  Thomas Quinot  <quinot@adacore.com>
+
+       * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
+       with implementation.
+       Documentation cleanup only.
+
+2007-08-31  Sergey Rybin  <rybin@adacore.com>
+
+       * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
+       gnatpp '--separate-stmt-name' option.
+       Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
+       option.
+
+       * gnat_ugn.texi: Add description for the new gnatpp
+       '--separate-stmt-name' and '--use-on-new-line' options.
+
+2007-08-31  Ben Elliston  <bje@au.ibm.com>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+       when compiling for powerpc64-*-linux.
+       * system-linux-ppc64.ads: New file.
+
+2007-08-22  Krister Walfridsson  <cato@df.lth.se>
+
+       * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
+       NetBSD.
+
+2007-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * misc.c (gnat_type_max_size): Constify.
+
+2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * cstand.adb (Create_Standard): Create an entity for a zero-sized type
+       associated with Standard_Debug_Renaming_Type, to be used as the type of
+       the special variables whose names provide debugger encodings for
+       renaming declarations.
+
+       * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
+       (Set_Debug_Renaming_Link): Change to set Node25.
+       (Write_Field13_Name): Remove case for E_Enumeration_Literal.
+       (Write_Field25_Name): Add case for E_Variable to output
+       "Debug_Renaming_Link".
+       (Write_Field23_Name): Correct the output string for "Limited_View".
+
+       * exp_dbug.adb: Add with and use of Tbuild.
+       (Debug_Renaming_Declaration): Replace creation of an enumeration type
+       and literal with creation of a variable of type
+       Standard_Debug_Renaming_Type whose name encodes both the renamed object
+       and the entity of the renaming declaration.
+       (Qualify_Entity_Name): Add the delayed qualification of the entity name
+       part of the name of a variable that has a Debug_Renaming_Link.
+
+       * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
+       special type to be associated with variables that provide debugger
+       encodings for renaming declarations.
+
+2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
+       ancestor part given by an aggregate to test for an unchecked conversion,
+       since this can occur in some cases when the ancestor part is a function
+       call, and we don't want to fall into the recursive call to this
+       procedure in that case.
+
+       * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
+       stream attributes on limited types to account for user-specified
+       attributes as well as whether Input (resp. Output) becomes available
+       due to Read (resp. Write) being available for the type. Change Boolean
+       variable to the more accurate name
+       Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
+       double-"not" predicate at beginning of return statement to more
+       understandable form.
+
+       * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
+       return has an associated N_Handled_Sequence_Of_Statements, then wrap it
+       in a block statement and use that as the first statement of the
+       expanded return rather than incorrectly using the handled sequence as
+       the first statement.
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
+       operation, generate an explicit freeze node for it rather than
+       generating extra formals, to ensure that gigi has the proper order of
+       elaboration for anonymous subtypes in the signature of the subprograms.
+       (Build_In_Place_Formal): Move assertion to beginning of loop.
+       (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
+       applied to a function call (occurs for some cases of 'Input).
+       (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
+       applied to a function call (occurs for some cases of 'Input).
+
+       * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
+       2005, generate an extended return statement enclosing the result object
+       and 'Read call.
+
+       * freeze.adb (Freeze_Record_Type): Extend the current management of
+       components that are access type with an allocator as default value: add
+       missing support to the use of qualified expressions of the
+       allocator (which also cause freezing of the designated type!)
+       (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
+       dispatching operation, since extra formals may be needed by calls to
+       build-in-place functions (such as stream 'Input).
+
+       * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
+       formals for 'Constrained and accessibility level in the case of a
+       predefined dispatching operation.
+
+       * exp_util.adb (Insert_Actions): A protected body is a valid insertion
+       point, no need to find the parent node.
+
+2007-08-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_attr.adb (Attribute_Priority): Add missing support for entries
+       and entry barriers.
+
+2007-08-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
+       is not really required and can introduce regression with the debugger.
+       The original problem is fixed with the patch written for checks.adb.
+
+2007-08-16  Thomas Quinot  <quinot@adacore.com>
+
+       * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
+       Range_Check on Allocated_Table.
+
+2007-08-16  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
+       Including_Non_Switch set to False.
+       (Gnatmake): For the compiler, call Test_If_Relative_Path with
+       Including_Non_Switch set to False.
+
+       * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
+       parameter Including_Non_Switch, defaulted to True. When
+       Including_Non_Switch is False, options that are not switches and
+       appear as relative path are not converted to absolute paths.
+
+2007-08-16  Nicolas Roche  <roche@adacore.com>
+
+       * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
+       makefiles
+
+       * Make-lang.in: Update dependencies
+
+2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch10.adb (Has_With_Clause): If the name of the with clause
+       currently inspected is a selected component, retrieve the entity of
+       its selector.
+       (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
+       from the immediate ancestor of Main_Unit_Entity.
+       (Install_Limited_Withed_Unit): Do not install the limited view of
+       package P if P is reachable through an ancestor chain from package C
+       and C also has a with clause for P in its body.
+       (Has_Limited_With_Clause): New routine.
+       (Has_With_Clause): New routine.
+
+2007-08-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
+       generic for an enclosing instance is a global reference, even though
+       its scope is the enclosing instance.
+
+2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
+       initialize a limited object.
+       (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
+       13/2 and 14/2.
+       Make sure Has_Complex_Representation is inherited by derived type.
+
+2007-08-16  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
+       exception case
+
+2007-08-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Operation): If the operation
+       implements an operation inherited from a progenitor interface, verify
+       that they are subtype-conformant.
+
+2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+
+       * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
+       (Resolve): Alphabetize local variables. Add new variable From_Lib. When
+       the statement which is being resolved comes from a predefined library
+       unit, all non-predefined library interpretations are skipped.
+       (Resolve_Op_Concat): If string concatenation was folded in the parser,
+       but the "&" is user defined, give an error, because the folding would
+       be wrong.
+
+       * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
+       the parser has folded a long sequence of concatenations of string
+       literals.
+
+       * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
+       and "JMP_BUF" variables as artificial.
+       (N_String_Literal): Do not use alloca for very long string literals. Use
+       xmalloc/free instead. Otherwise the stack might overflow.
+
+       * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
+       compiler.
+
+2007-08-16  Vincent Celier  <celier@adacore.com>
+
+       * vms_conv.adb (Process_Argument): Ensure that project related options
+       are not put in the -cargs section when using GNAT COMPILE.
+
+2007-08-16  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_ugn.texi: Add note on preprocessing (output file not written)
+
+2007-08-16  Thomas Quinot  <quinot@adacore.com>
+
+       * a-tags.adb: Minor reformatting.
+
+2007-08-16  Bob Duff  <duff@adacore.com>
+
+       * sem_type.ads, sem_ch4.adb: Minor reformatting.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads, 
+       s-osinte-interix.ads, system-interix.ads: Removed.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
+       calls to Check_Within_Time_Bounds.
+       ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
+       (Difference): Account for possible rounding of the resulting difference
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
+       par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
+       s-osinte-solaris.adb, s-osinte-solaris.ads,
+       s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
+
+       * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
+       switch -gnatyS. Enable -gnatyS in GNAT style check mode
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads: 
+       Suppress unmodified in-out parameter warning in some cases
+       This patch is a also fairly significant change to the way suppressible
+       checks are handled.
+
+       * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
+       needed for access to concurrent record types generated by the expander.
+       (Generate_Range_Check): When generating a temporary to capture the
+       value of a conversion that requires a range check, set the type of the
+       temporary before rewriting the node, so that the type is always
+       properly placed for back-end use.
+       (Apply_Float_Conversion_Check): Handle case where the conversion is
+       truncating.
+       (Get_Discriminal): Code reformatting. Climb the scope stack looking
+       for a protected type in order to examine its discriminants.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb, 
+       a-stwisu.adb, a-strsup.adb: Fix warnings for range
+       tests optimized out.
+
+       * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
+       (Get_Allocator_Final_List): For the case of an anonymous access type
+       that has a specified Associated_Final_Chain, do not go up to the
+       enclosing scope.
+       (Expand_N_Type_Conversion): Test for the case of renamings of access
+       parameters when deciding whether to apply a run-time accessibility
+       check.
+       (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
+       aggregate code before allocator, and ahead of declaration for
+       temporary, to prevent access before elaboration when the allocator is
+       an actual for an access parameter.
+       (Expand_N_Type_Conversion): On an access type conversion involving an
+       access parameter, do not apply an accessibility check when the
+       operand's original node was an attribute other than 'Access. We now
+       create access conversions for the expansion of 'Unchecked_Access and
+       'Unrestricted_Access in certain cases and clearly accessibility should
+       not be checked for those.
+
+       * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
+       includes a type conversion of a packed component that has been expanded,
+       recover the original expression for the object, and use this expression
+       in the post-call assignment statement, so that the assignment is made
+       to the object and not to a back-end temporary.
+       (Freeze_Subprogram): In case of primitives of tagged types not defined
+       at the library level force generation of code to register the primitive
+       in the dispatch table. In addition some code reorganization has been
+       done to leave the implementation clear.
+       (Expand_Call): When expanding an inherited implicit conversion,
+       preserve the type of the inherited function after the intrinsic
+       operation has been expanded.
+
+       * exp_ch2.ads, exp_ch2.adb
+       (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
+       of an entry formal appearing in an assignment statement does not assign
+       to the formal.
+       (Expand_Current_Value): Instead of calling a routine to determine
+       whether the prefix of an attribute reference should be optimized or
+       not, prevent the optimization of such prefixes all together.
+
+       * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
+       component whose prefix is known to be of an access type is an implicit
+       dereference and does not assign to the prefix.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
+       itype is visited, make an entry into table to link associated node and
+       new itype.
+       Add comments and correct harmless error in Build_NCT_Hash_Tables
+       (Array_Aggr_Subtype): Associate each itype created for an index type to
+       the corresponding range construct, and not to the aggregate itself. to
+       maintain a one-to-one correspondence between itype and its associated
+       node, to prevent errors when complex expression is copied.
+       Fix mishandling of multiple levels of parens
+
+       * sem_aggr.adb: Create a limited view of an incomplete type, to make
+       treatment of limited views uniform for all visible declarations in a
+       limited_withed package.
+       (New_Copy_Tree): If hash table is being used and itype is visited,
+       make an entry into table to link associated node and new itype.
+       (Resolve_Record_Aggregate): Do not add an others box association for a
+       discriminated record component that has only discriminants, when there
+       is a box association for the component itself.
+
+       * par-ch4.adb: Fix mishandling of multiple levels of parens
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * comperr.adb: Fix problem with suppressing warning messages from gigi
+
+       * erroutc.ads, erroutc.adb, errout.ads, 
+       errout.adb (Write_Eol): Remove trailing spaces before writing the line
+       (Write_Eol_Keep_Blanks): New procedure to write a line, including
+       possible trailing spaces.
+       (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+       Fix problem with suppressing warning messages from back end
+       Improve handling of deleted warnings
+
+       * gnat1drv.adb: 
+       Fix problem with suppressing warning messages from back end
+       Handle setting of Static_Dispatch_Tables flag.
+
+       * prepcomp.adb: 
+       Fix problem with suppressing warning messages from back end
+
+       * exp_intr.adb: Improve handling of deleted warnings
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Improve -gnatdI to cover all cases of serialization
+       Add documentation of dZ, d.t
+
+       * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
+       serialization.
+       (Sprint_Node_Actual): Generate new output associated with implicit
+       importation and implicit exportation of object declarations.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
+       to make treatment of limited views uniform for all visible declarations
+       in a limited_withed package.
+       Improve warnings for in out parameters
+       (Set_Related_Interaface/Related_Interface): Allow the use of this
+       attribute with constants.
+       (Write_Field26_Name): Handle attribute Related_Interface in constants.
+       Warn on duplicate pragma Preelaborable_Initialialization
+
+       * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
+       generation of a freezing node to ensure proper management of null
+       excluding access types in the backend.
+       (Create_Extra_Formals): Test base type of the formal when checking for
+       the need to add an extra accessibility-level formal. Pass the entity E
+       on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
+       originally being done in a couple of cases), to ensure that the
+       Extra_Formals list gets set on the entity E when the first entity is
+       added.
+       (Conforming_Types): Add missing calls to Base_Type to the code that
+       handles anonymous access types. This is required to handle the
+       general case because Process_Formals builds internal subtype entities
+       to handle null-excluding access types.
+       (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+       functions that need it, even when not marked Requires_Overriding.
+       Improve warnings for in out parameters
+       (Analyze_Function_Return): Warn for disallowed null return
+       Warn on return from procedure with unset out parameter
+       Ensure consistent use of # in error messages
+       (Check_Overriding_Indicator): Add in parameter Is_Primitive.
+       (Analyze_Function_Return): Move call to Apply_Constraint_Check before
+       the implicit conversion of the expression done for anonymous access
+       types. This is required to generate the code of the null excluding
+       check (if required).
+
+       * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
+       A formal parameter is never publicly referenceable outside of its body.
+       (Check_References): For an unreferenced formal parameter in an accept
+       statement, use the same warning circuitry as for subprogram formal
+       parameters.
+       (Warn_On_Unreferenced_Entity): New subprogram, taken from
+       Output_Unreferenced_Messages, containing the part of that routine that
+       is now reused for entry formals as described above.
+       (Goto_Spec_Entity): New function
+       (Check_References): Do not give IN OUT warning for dispatching operation
+       Improve warnings for in out parameters
+       (Test_Ref): Check that the entity is not undefinite before calling
+       Scope_Within, in order to avoid infinite loops.
+       Warn on return from procedure with unset out parameter
+       Improved warnings for unused variables
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
+       (Expand_N_Attribute_Reference): Further unify the handling of the
+       three forms of access attributes, using common code now for all three
+       cases. Add a test for the case of applying an access attribute to
+       an explicit dereference when the context is an access-to-interface
+       type. In that case we need to apply the conversion to the prefix
+       of the explicit dereference rather than the prefix of the attribute.
+       (Attribute_Version, UET_Address): Set entity as internal to ensure
+       proper dg output of implicit importation.
+       (Expand_Access_To_Type): Removed.
+       (Expand_N_Attribute_Reference): Merge the code from the three cases
+       of access attributes, since the processing is largely identical for
+       these cases. The substantive fix here is to process the case of a
+       type name prefix (current instance case) before handling the case
+       of interface prefixes.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
+       (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
+       type that is an anonymous access to controlled object, establish
+       an associated finalization chain to avoid corrupting the global
+       finalization list when a dynamically allocated object designated
+       by such a component is deallocated.
+       (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+       functions that need it, even when not marked Requires_Overriding.
+       (Initialize_Tag): Replace call to has_discriminants by call to
+       Is_Variable_Size_Record in the circuitry that handles the
+       initialization of secondary tags.
+       (Is_Variable_Size_Record): New implementation.
+       (Expand_N_Object_Declaration): Suppress call to init proc if there is a
+       Suppress_Initialization pragma for a derived type.
+       (Is_Variable_Size_Record): New subprogram.
+       (Build_Offset_To_Top_Functions): New implementation that simplifies the
+       initial version of this routine and also fixes problems causing
+       incomplete initialization of the table of interfaces.
+       (Build_Init_Procedure): Improve the generation of code to initialize the
+       the tag components of secondary dispatch tables.
+       (Init_Secondary_Tags): New implementation that simplifies the previous
+       version of this routine.
+       (Make_DT): Add parameter to indicate when type has been frozen by an
+       object declaration, for diagnostic purposes.
+       (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
+       diagnose attemps to freeze a subprogram when some untagged type of its
+       profile is a private type whose full view has not been analyzed yet.
+       (Freeze_Array_Type): Generate init proc for packed array if either
+       Initialize or Normalize_Scalars is set.
+       (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
+       constructing the new profile, copy the null_exclusion indicator for each
+       parameter, to ensure full conformance of the new body with the spec.
+
+       * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
+       Create wrappers for constructor functions that need it, even when not
+       marked Requires_Overriding.
+       (Covers): Handle properly designated types of anonymous access types,
+       whose non-limited views are themselves incomplete types.
+       (Add_Entry): Use an entity to store the abstract operation which hides
+       an interpretation.
+       (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
+       (Collect_Interps): Use Empty as an actual for Abstract_Op in the
+       initialization aggregate.
+       (Function_Interp_May_Be_Hidden): Rename to
+       Function_Interp_Has_Abstract_Op.
+       (Has_Compatible_Type): Remove machinery that skips interpretations if
+       they are labeled as potentially hidden by an abstract operator.
+       (Has_Hidden_Interp): Rename to Has_Abstract_Op.
+       (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
+       (Write_Overloads): Output the abstract operator if present.
+       (Add_Entry): Before inserting a new entry into the interpretation table
+       for a node, determine whether the entry will be disabled by an abstract
+       operator.
+       (Binary_Op_Interp_May_Be_Hidden): New routine.
+       (Collect_Interps): Add value for flag May_Be_Hidden in initialization
+       aggregate.
+       (Function_Interp_May_Be_Hidden): New routine.
+       (Has_Compatible_Type): Do not consider interpretations hidden by
+       abstract operators when trying to determine whether two types are
+       compatible.
+       (Has_Hidden_Interp): New routine.
+       (Set_May_Be_Hidden_Interp): New routine.
+       (Write_Overloads): Write the status of flag May_Be_Hidden.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
+       types declared in the declarative part of a nested package body or in
+       the proper body of a stub.
+       (Set_All_DT_Position): Add missing check to avoid wrong assignation
+       of the same dispatch table slot to renamed primitives.
+       (Make_Select_Specific_Data_Table): Handle private types.
+       (Tagged_Kind): Handle private types.
+       (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
+       output of implicit importation and exportation.
+       (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
+       first formal of the thunk is always associated with the controlling
+       type. In addition perform the following code cleanup: remove formal
+       Thunk_Alias which is no longer required, cleanup evaluation of the
+       the controlling type, and update the documentation.
+       Replace occurrence of Default_Prim_Op_Count by
+       Max_Predef_Prims. Addition of compile-time check to verify
+       that the value of Max_Predef_Prims is correct.
+       (Check_Premature_Freezing): Apply check in Ada95 mode as well.
+       (Make_DT): Add parameter to indicate when type has been frozen by an
+       object declaration, for diagnostic purposes.
+       (Build_Static_Dispatch_Tables): New subprogram that takes care of the
+       construction of statically allocated dispatch tables.
+       (Make_DT): In case of library-level tagged types export the declaration
+       of the primary tag. Remove generation of tags (now done by Make_Tags).
+       Additional modifications to handle non-static generation of dispatch
+       tables. Take care of building tables for asynchronous interface types
+       (Make_Tags): New subprogram that generates the entities associated with
+       the primary and secondary tags of Typ and fills the contents of Access_
+       Disp_Table. In case of library-level tagged types imports the forward
+       declaration of the primary tag that will be declared later by Make_DT.
+       (Expand_Interface_Conversion): In case of access types to interfaces
+       replace an itype declaration by an explicit type declaration to avoid
+       problems associated with the scope of such itype in transient blocks.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_util.ads, exp_util.adb: 
+       This patch replaces a number of occurrences of explicit tests for N_Null
+       with calls to Known_Null. This improves tracking of null values, since
+       Known_Null also catches null constants, and variables currently known to
+       be null, so we get better tracking.
+       (Ensure_Defined): create an itype reference only in the scope of the
+       itype.
+       (Side_Effect_Free): A selected component of an access type that
+       denotes a component with a rep clause must be treated as not
+       side-effect free, because if it is part of a linked structure its
+       value may be affected by a renaming.
+       (Expand_Subtype_From_Expr): For limited objects initialized with build
+       in place function calls, do nothing; otherwise we prematurely introduce
+       an N_Reference node in the expression initializing the object, which
+       breaks the circuitry that detects and adds the additional arguments to
+       the called function. Bug found working in the new patch for statically
+       allocated dispatch tables.
+       (Is_Library_Level_Tagged_Type): New subprogram.
+       (Remove_Side_Effects): If the expression of an elementary type is an
+       operator treat as a function call.
+       (Make_Literal_Range): If the index type of the array is not integer, use
+       attributes properly to compute the constraint on the resulting aggregate
+       which is a string.
+
+       * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
+       class-wide type whose base type is an incomplete private type, leave
+       class-wide type unfrozen so that freeze nodes can be generated
+       properly at a later point.
+       (Freeze_Entity, array case): Handle case of pragma Pack and component
+       size attributre clause for same array.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * prj.ads, prj.adb: Update Project Manager to new attribute names for
+       gprbuild.
+       Allow all valid declarations in configuration project files
+       (Reset): Initialize all tables and hash tables in the project tree data
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       (Slash_Id): Change type to be Path_Name_Type
+       (Slash): Return a Path_Name_Type instead of a File_Name_Type
+
+       * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
+       gprbuild.
+       Update Project Manager to new attribute names for ghprbuild
+       Allow all valid declarations in configuration project files
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-com.ads: 
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+       insensitive flag for attributes with optional index.
+       (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+       array attribute, put the index in lower case.
+       Update Project Manager to new attribute names for ghprbuild
+       Allow all valid declarations in configuration project files
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-env.ads, prj-env.adb: 
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       (Get_Reference): Change type of parameter Path to Path_Name_Type
+
+       * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
+       removing '-' from the path to start with the first character of the
+       next directory.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-nmsc.ads, prj-nmsc.adb: 
+       Update Project Manager to new attribute names for ghprbuild
+       Allow all valid declarations in configuration project files
+       (Search_Directories): Detect subunits that are specified with an
+       attribute Body in package Naming. Do not replace a source/unit in the
+       same project when the order of the source dirs are known. Detect
+       duplicate sources/units in the same project when the order of the
+       source dirs are not known.
+       (Check_Ada_Name): Allow all identifiers that are not reserved words
+       in Ada 95.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       (Look_For_Sources): If the list of sources is empty, set the object
+       directory of non extending project to nil.
+       Change type of path name variables to be Path_Name_Type
+       (Locate_Directory): Make sure that on Windows '/' is converted to '\',
+       otherwise creating missing directories will fail.
+
+       * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb, 
+       prj-part.ads, prj-part.adb:
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+       insensitive flag for attributes with optional index.
+       (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+       array attribute, put the index in lower case.
+       (Parse_Variable_Reference): Allow the current project name to be used in
+       the prefix of an attribute reference.
+
+       * prj-util.ads, prj-util.adb
+       (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
+       defaulted to False. When True, always check against indexes in lower
+       case.
+
+       * snames.ads, snames.h, snames.adb: 
+       Update Project Manager to new attribute names for gprbuild
+       Allow all valid declarations in configuration project files
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * opt.ads: Warning for non-local exception propagation now off by
+       default
+       New switch -gnatI to disable representation clauses
+       Implement new pragma Implicit_Packing
+
+       * usage.adb: 
+       Warning for non-local exception propagation now off by default
+       Add warning for unchecked conversion of pointers wi different
+       conventions.
+       New switch -gnatI to disable representation clauses
+
+       * usage.adb: new switch -gnatyS
+
+       * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
+       note that aggregates of anonymous array types are not flagged.
+       -gnatwc now includes membership tests optimized away
+       -gnatw.x warnings are now off by default
+       Added conditional compilation Appendix
+       Add documentation of -gnatI
+       Add documentation for new -gnatyS style check
+       Update documentation about SAL and auto-init on Windows.
+
+       * gnat_rm.texi: 
+       Add documentation for pragma Check_Name and 'Enabled attribute
+       Document that Eliminate on dispatching operation is ignored
+       Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
+       Document pragma Main
+       Document pragma Implicit_Packing
+
+       * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
+       different conventions
+       New switch -gnatI to disable representation clauses
+
+       * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
+       recognized, report the invalid characters including "-gnat" instead of
+       just the first character in the switch.
+       New switch -gnatI to disable representation clauses
+       Set Warn_On_Object_Renames_Function true for -gnatg
+
+       * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
+       Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
+       Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
+       to switch -aP (add directory to project search dir).
+
+       * par-prag.adb: Implement new pragma Implicit_Packing
+
+       * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
+       type as having a non-standard representation, to force expansion on
+       conversion to related types.
+       (Analyze_Pragma): Warn on misspelled pragma
+       (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
+       Ensure consistent use of # in error messages
+       Implement pragma Implicit_Packing
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * targtyps.c (get_target_maximum_default_alignment): New function.
+       Maximum alignment
+       that the compiler might choose by default for a type or object.
+       (get_target_default_allocator_alignment): New function. Alignment known
+       to be honored by the target default allocator.
+       (get_target_maximum_allowed_alignment): New function. Maximum alignment
+       we might accept for any type or object on the target.
+       (get_target_maximum_alignment): Now synonym of maximum_default_alignment
+
+       * gigi.h (get_target_maximum_default_alignment): Declare new function.
+       (get_target_default_allocator_alignment): Likewise.
+       (get_target_maximum_allowed_alignment): Likewise.
+
+       PR ada/19037
+       * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
+       result of a function call, first try to use a stabilized reference for
+       a constant renaming too.
+       (validate_alignment): Use target_maximum_allowed_alignment instead of
+       MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
+       (gnat_to_gnu_entity): Use common nodes directly.
+       (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
+       alignment and size for the object.
+       (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
+       and N_Procedure_Call_Statement.
+       (takes_address): Rename to lvalue_required_p, add third parameter
+       'aliased' and adjust recursive calls.
+       <N_Indexed_Component>: Update 'aliased' from the array type.
+       <N_Selected_Component>: New case.
+       <N_Object_Renaming_Declaration>: New Likewise.
+       (Identifier_to_gnu): Adjust for above changes.
+       (maybe_stabilize_reference) <CONST_DECL>: New case.
+
+       * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
+       between type variants.
+       (build_simple_component_ref): Likewise.
+       (build_call_alloc_dealloc): Use target_default_allocator_alignment
+       instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
+       aligning type circuitry for allocations from the default storage pool.
+       (build_allocator): Likewise.
+       (build_simple_component_ref): Manually fold the reference for a
+       constructor if the record type contains a template.
+
+       * utils.c (value_zerop): Delete.
+       (gnat_init_decl_processing): Emit debug info for common types.
+       (rest_of_record_type_compilation): If a union contains a field
+       with a non-constant qualifier, treat it as variable-sized.
+       (finish_record_type): Give the stub TYPE_DECL a name.
+       (rest_of_record_type_compilation): Likewise.
+       (convert) <CONSTRUCTOR>: New case.  Build a new constructor if
+       types are equivalent array types.
+       (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
+       even if the type is not passed by reference.
+       (static_ctors, static_dtors): Delete.
+       (end_subprog_body): Do not record constructors and destructors.
+       (build_global_cdtor): Delete.
+       (gnat_write_global_declarations): Do not call build_global_cdtor.
+
+       * lang-specs.h: If TARGET_VXWORKS_RTP is defined, append -mrtp when
+       -fRTS=rtp is specified.
+       If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
+       specified.
+
+       * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
+       of the personality function with SJLJ exceptions.
+
+        * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
+       the name of the personality function with SJLJ exceptions.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * par.ads, par.adb: Improve handling of extra right parens.
+       (Par): Remove flag From_Limited_With_Clause.
+
+       * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
+       Improve handling of extra right parens.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * par-tchk.adb (TF_Semicolon): Improve error recovery
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
+       enumeration type, mark all literals as referenced.
+       (Eval_Attribute, case 'Image): If the argument is an enumeration
+       literal and names are available, constant-fold but mark nevertheless as
+       non-static.
+       Clean up function names.
+       (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
+       comment.
+       (Requires_Simple_Name_Prefix): Removed.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch11.adb: Improved warnings for unused variables
+
+       * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
+       is a synchronized interface, the derived type is limited.
+       (Analyze_Object_Declaration): Mark the potential coextensions in the
+       definition and expression of an object declaration node.
+       (Build_Derived_Type): For the completion of a private type declaration
+       with a derived type declaration, chain the parent type's representation
+       items to the last representation item of the derived type (not the
+       first one) if they are not present already.
+       (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
+       object declaration of forward references to tags.
+       (Access_Subprogram_Declaration): In Ada2005, anonymous access to
+       subprogram types can appear as access discriminants of synchronized
+       types.
+       (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
+       given in prefixed form as a selected component.
+       (Process_Discriminants): If not all discriminants have defaults, place
+       error message on a default that is present.
+       (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
+       extend a synchronized tagged type.
+       Improved warnings for unused variables
+       (Is_Visible_Component): Fix a visibility hole on a component inherited
+       by a private extension when parent is itself declared as a private
+       extension, and the derivation is in a child unit.
+       (Find_Hidden_Interface): Move spec from the package body.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb: Improve warnings on redundant assignments
+
+       * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
+       parameter
+       (Is_Synchronized_Tagged_Type): New subprogram that returns true
+       in case of synchronized tagged types (AARM 3.9.4 (6/2)).
+       (Safe_To_Capture_Value): Can now return True for constants, even if Cond
+       is set to False. Improves handling of Known_[Not_]Null.
+       (Wrong_Type): Special case address arithmetic attempt
+       (Collect_Abstract_Interfaces): Add new formal to allow collecting
+       abstract interfaces just using the partial view of private types.
+       (Has_Abstract_Interfaces): Add new formal to allow checking types
+       covering interfaces using the partial view of private types.
+       (Is_Fully_Initialized_Type): Special VM case for uTag component. This
+       component still needs to be defined in this case, but is never
+       initialized as VMs are using other dispatching mechanisms.
+       (Abstract_Interface_List): For a protected type, use base type to get
+       proper declaration.
+       Improve warnings on redundant assignments
+       (Is_Variable): Handle properly an implicit dereference of a prefixed
+       function call.
+       (Build_Actual_Subtype): If this is an actual subtype for an
+       unconstrained formal parameter, use the sloc of the body for the new
+       declaration, to prevent anomalises in the debugger.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
+       dispatching operation
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_aggr.ads, 
+       exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
+       expanded aggregate code before allocator, and ahead of declaration for
+       temporary, to prevent access before elaboration when the allocator is
+       an actual for an access parameter.
+       (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
+       the TSD and the table of interfaces.
+       (Convert_To_Assignments): Augment the test for delaying aggregate
+       expansion for limited return statements to include the case of extended
+       returns, to prevent creation of an unwanted transient scope.
+       (Is_Static_Dispatch_Table_Aggregate): New subprogram.
+       (Expand_Array_Aggregate): Handle aggregates associated with
+       statically allocated dispatch tables.
+       (Expand_Record_Aggregate): Handle aggregates associated with
+       statically allocated dispatch tables.
+       (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
+       of anonymous access type.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
+       is a variable that renames a slice, use the variable itself in the
+       expannsion when the renamed expression itself may be modified between
+       the declaration of the renaming and the array assignment.
+
+2007-08-14  Jerome Guitton  <guitton@adacore.com>
+
+       * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, 
+       s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, 
+       s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
+       New functions; dummy implementations.
+
+       * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
+       functions, used to implement the multi-tasks mode routines on VxWorks.
+
+       * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
+       New functions, thin
+       binding to the VxWorks routines which have changed between VxWorks 5
+       and 6.
+       (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
+       which are not callable from a RTP.
+
+       * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
+       implemented for the multi-tasks mode on VxWorks 5 and 6.
+
+       * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
+
+       * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
+       functions.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb, 
+       gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
+       mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb, 
+       mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb, 
+       mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 
+       mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
+       mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
+       procedure.
+       (Major_Id_Name): New function.
+       mlib-tgt.ads/mlib.tgt.adb:
+       (Library_Major_Minor_Id_Supported): New function, default returns True
+       Most mlib-tgt-*.adb that support shared libraries and symbolic links:
+       (Build_Dynamic_Library): Add support for major/minor ids for shared libs
+       Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
+       Implementation of Library_Major_Minor_Id_Supported returns False
+       clean.adb:
+       (Clean_Library_Directory): If major/minor ids are supported, clean all
+       library files.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+
+       * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
+       (GCC_ZCX_Support): Switch to True.
+       
+       * s-intman-solaris.adb (Notify_Exception): Call
+       Adjust_Context_For_Raise before raising, as expected for signal
+       handlers in general.
+       
+       * s-intman-posix.adb (Notify_Exception): Remove declaration of
+       Adjust_Context_For_Raise, moved to the spec of this unit to be visible
+       to other implementation bodies.
+       
+       * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
+       be visible by multiple implementation bodies.
+       
+       * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
+       only for conditions coming from hardware.
+       [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
+       adjustments to signal context prior to exception raise from signal
+       handler.
+       (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
+       mode.
+       Solaris section: (__gnat_adjust_context_for_raise): New function.
+       Implementation of the machine context adjustments to perform prior to
+       raise from a signal handler. Version for both sparc and x86.
+       (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
+       (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
+       prior to raising as expected for any handler, before possible nested
+       faults to make sure all the contexts in a chain have been adjusted by
+       the time we propagate.
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+       * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
+       (SYSTEM_INFO): New record.
+       (SetThreadIdealProcessor): New imported routine needed for supporting
+       task_info pragma on Windows.
+
+       * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
+       info can be applied to the current host.
+       (Create_Task): Set the ideal processor if information is present.
+
+       * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
+       a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+
+       * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
+       stack size and initial stack pointer value for a given task.
+       (Enter_Task): Get the stack attributes of the task we are entering and
+       let the stack checking engine know about them.
+
+       * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
+       Let the stack-checking engine know about the initial sp value and stack
+       size associated with the current task.
+       (Set_Stack_Info): If a stack base has been notified for the current
+       task, honor it. Fallback to the previous less accurate method otherwise.
+
+       * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb: Create a limited view of an incomplete type, to make
+       treatment of limited views uniform for all visible declarations in a
+       limited_withed package.
+       Set flag indicating that a subprogram body for a child unit has a
+       generated spec.
+       (Analyze_Compilation_Unit): If unit is a subprogram body that has no
+       separate declaration, remove the unit name from visibility after
+       compilation, so that environment is clean for subsequent compilations.
+       (Install_Limited_Context_Clauses): Do not install a
+       limited_private_with_clause unless the current unit is a body or a
+       private child unit.
+       (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
+       in the same fashion.
+       (Install_Limited_Withed_Unit): Do not install a limited with clause if
+       it applies to the declaration of the current package body.
+       (Remove_Private_With_Clauses): If there is a regular with_clause for
+       the unit, delete Private_With_Clause from context, to prevent improper
+       hiding when processing subsequent nested packages and instantiations.
+
+2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+
+       * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
+       dir/file, device:/dir/file, and device:drive_letter:/dir/file as
+       representing absolute path names.
+       __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
+
+       * cstreams.c (__gnat_full_name for VxWorks): Use
+       __gnat_is_absolute_path to detect whether we need to add the current
+       directory to normalize the path.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, 
+       a-tags.adb (Displace): Associate a message with the raised CE
+       exception.
+       (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
+       To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
+       To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
+       spec.
+       (Default_Prim_Op_Count): Removed.
+       (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
+       Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
+       Remove pragma Inline_Always.
+
+       * rtsfind.ads (Default_Prim_Op_Count): Removed
+       (Max_Predef_Prims): New entity
+       (RE_Expanded_Name): Removed
+       (RE_HT_Link): Removed
+       (RE_Iface_Tag): Remmoved
+       (RE_Ifaces_Table): Removed
+       (RE_Interfaces_Array): Removed
+       (RE_Interface_Data_Element): Removed
+       (RE_Nb_Ifaces): Removed
+       (RE_RC_Offset): Removed
+       (RE_Static_Offset_To_Top): Removed
+
+       * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
+       formal.
+       (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
+       Prim_Op_Count by Max_Predef_Prims.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * binde.adb (Elab_All_Links): Remove unnecessary call to
+       Generic_Separately_Compiled (if a unit satisfies this predicate, there
+       won't be an associated Afile).
+       (Elab_All_Links): Fail if a referenced unit cannot be found
+
+       * bindgen.adb: 
+       Fix comments in bindgen regarding consistency checks done in Bcheck:
+       the checks are made across units within a partition, not across several
+       partitions.
+       Fix generation of C binder file for VxWorks.
+
+       * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
+       Generic_May_Lack_ALI, more descriptive of the current use of the
+       predicate, and update documentation.
+
+       * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
+       reorganization and documentation update for the case of predefined
+       library generics (for which we do not reference an Afile).
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
+       s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
+       s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
+       s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
+       s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
+       s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
+       s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
+       s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
+       exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
+       s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
+       s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
+       a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
+       s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
+       g-altcon.adb: Minor reformatting
+
+       ada-tree.h: Delete empty line.
+
+       ali.ads: Minor reformatting
+       Clarification of comments.
+       Minor spelling correction
+
+       * exp_dbug.adb: Add Warnings Off to suppress new warning
+
+       * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+       formal
+
+       * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
+       value
+
+       * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
+
+       * a-textio.ads: Reorder the standard input/output/error declarations
+       for consistency.
+
+       * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
+
+       * par-ch2.adb: Recognize RM specially in errout
+       Change 'R'M to RM in all error messages
+
+       * scng.adb: Recognize RM specially in errout
+
+       * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
+       N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
+
+       * s-direio.adb: Add missing routine header box.
+
+       * sem_attr.ads: Add ??? comments
+
+       * sem_eval.adb: Recognize RM specially in errout
+       Change 'R'M to RM in all error messages
+
+       * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
+
+       * s-tasinf.ads: Fix minor comment typo.
+
+       * a-cihama.adb: Minor comment addition
+
+       * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+       formal
+
+       * s-tasinf-tru64.ads: Fix minor comment typo.
+
+       * itypes.ads: Comment update.
+
+       * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
+       anymore.
+
+       * argv.c: Added protection against null gnat_argv and gnat_envp.
+
+       * bcheck.adb (Check_Consistency): Use correct markup character ({) in
+       warning message when Tolerate_Consistency_Errors is True.
+
+       * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
+       Any_Id, as this subprogram is only applicable to *type* entities (it
+       sets RM_Size). Instead initialize just Esize and Alignment.
+
+2007-08-14  Bob Duff  <duff@adacore.com>
+
+       * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, 
+       a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
+       a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, 
+       a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
+       a-coorse.ads (Next): Applied pragma Inline.
+       Make all Containers packages Remote_Types (unless they are already
+       Pure).
+       (Previous): applied pragma Inline
+       (Elements_Type): is now a record instead of an array
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
+       of Set_Item.
+       (Set_Item): When the new item is an element of the currently allocated
+       table passed by reference, save a copy on the stack if we're going
+       to reallocate. Also, in Table.Set_Item, make sure we test the proper
+       variable to determine whether to call Set_Last.
+
+       * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
+       symbols-vms.adb, symbols-processing-vms-alpha.adb,
+       symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
+       some occurrences of the pattern
+          T.Increment_Last;
+          T.Table (T.Last) := Value;
+       with a cleaner call to
+          T.Append (Value);
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
+       derived type with interface progenitors use the analyzed formal as the
+       parent of the actual, to create renamings for all the inherited
+       operations in Derive_Subprograms.
+       (Collect_Previous_Instances): new procedure within of
+       Load_Parent_Of_Generic, to instantiate all bodies in the compilation
+       unit being loaded, to ensure that the generation of global symbols is
+       consistent in different compilation modes.
+       (Is_Tagged_Ancestor): New function testing the ancestor relation that
+       takes progenitor types into account.
+       (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
+       traversing over the primitives of the formal and actual types to locate
+       any abstract subprograms of the actual type that correspond to a
+       nonabstract subprogram of the formal type's ancestor type(s), and issue
+       an error if such is found.
+       (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
+       Instantiate_Package_Body, Instantiate_Subprogram_Body):
+       Remove bogus guard around calls to Inherit_Context.
+       (Reset_Entity): If the entity is the selector of a selected component
+       that denotes a named number, propagate constant-folding to the generic
+       template only if the named number is global to the generic unit.
+       (Set_Instance_Env): Only reset the compilation switches when compiling
+       a predefined or internal unit.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
+       parameter to determine whether operation applies to the prefix.
+       (Complete_Object_Operation): If actual has an access type and
+       controlling formal is not an in_parameter, reject the actual if it is
+       an access_to_constant type.
+       (Try_Primitive_Operation): If the type of the prefix is a formal tagged
+       type, the candidate operations are found in the scope of declaration of
+       the type, because the type has no primitive subprograms.
+       (Analyze_Selected_Component): If prefix is class-wide, and root type is
+       a private extension, only examine visible components before trying to
+       analyze as a prefixed call.
+       Change Entity_List to Type_To_Use, for better readability.
+       (Has_Fixed_Op): Use base type when checking whether the type of an
+       operator has a user-defined multiplication/division
+       (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
+       user-defined operators are available for fixed-point types.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
+       formal At_Any_Place indicating, when True, that we want to test for
+       availability of the stream attribute at any place (as opposed to the
+       current visibility context only).
+       (Missing_Read_Write_Attributes): A stream attribute is missing for the
+       purpose of enforcing E.2.2(8) only if it is not available at any place.
+       Take into account the Ada2005 pragma Has_Preelaborable_Initialization
+       when checking the legality of an extension aggregate in a preelaborable
+       package. Treat the literal null as a valid default expression in a
+       component declaration for a type with preelaborable initialization.
+       A limited interface is a legal progenitor for the designated type of a
+       remote access to class-wide type.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
+       reference): Use correct entity as denoted entity for the selector of
+       the rewritten node.
+       (Find_Direct_Name): Add comment about Generate_Reference incorrectly
+       setting the Referenced_As_LHS flag for entities that are implicitly
+       dereferenced.
+       (Find_Type): If the type is an internally generated incomplete type,
+       mark the full view as referenced, to prevent spurious warnings.
+       (Find_Selected_Component, Has_Components): Handle properly non-limited
+       views that are themselves incomplete types.
+       Handle interfaces visible through limited-with clauses.
+       (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
+       subprogram generic actual for which we have generated a renaming.
+       Warn when the renaming introduces a homonym of
+       the renamed entity, and the renamed entity is directly visible.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
+       appear in the subtree to the current allocator if it is not a static
+       coextension.
+       (Resolve_Allocator): Perform cleanup if resolution has determined that
+       the allocator is not a coextension.
+       (Resolve): Skip an interpretation hidden by an abstract operator only
+       when the type of the interpretation matches that of the context.
+       (Resolve): When looping through all possible interpretations of a node,
+       do not consider those that are hidden by abstract operators.
+       (Resolve_Actuals): When verifying that an access to class-wide object
+       is an actual  for a controlling formal, ignore anonymous access to
+       subprograms whose return type is an access to class_wide type.
+       (Resolve_Slice): If the prefix of the slice is a selected component
+       whose type depends on discriminants, build its actual subtype before
+       applying range checks on the bounds of the slice.
+       (Valid_Conversion): In an instance or inlined body, compare root types,
+       to prevent anomalies between private and public views.
+       (Resolve): Improve error message for ambiguous fixed multiplication
+       expressions that involve universal_fixed multiplying operations.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
+       location to allow the correct generation of errors in case of
+       restrictions applied to the expanded code.
+       (Expand_Entry_Barrier): Remove all generated renamings for a barrier
+       function if the condition does not reference them.
+       (Expand_Entry_Body_Declarations): Mark the index constant as having a
+       valid value.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
+       typecode parameters for a union (in a variant record), remove
+       extraneous layer of Any wrapping for member label.
+       (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
+       elabration statements, register the package with the name server
+       at the beginning, not at the end, of the elaboration statements so
+       that they can create remote access to subprogram values that designate
+       remote subprograms from the package.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
+       values to compute the number of seconds since the Unix Epoc in order to
+       account for Daylight Savings Time. Perform special processing for dates
+       that are earlier than the Unix Epoc to obtain a negative number.
+
+2007-08-14  Emmanuel Briot  <briot@adacore.com>
+
+       * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
+       switches.
+
+2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
+       binder-generated file is not in Ada.
+       Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
+       recorded in the ALI file.
+       Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
+       (Output_Source): Do nothing if parameter is No_Sdep_Id
+
+       * make.adb (Gnatmake): Do not rebuild an archive simply because a
+       shared library it imports has a later time stamp.
+       (Check): Resolve the symbolic links in the path name of the object
+       directory.
+       Check that the ALI file is in the correct object directory
+       Check if a file name does not correspond to the mapping of units
+       to file names.
+       (Display_Version): New procedure
+       (Initialize): Process switches --version and --help
+       Use type Path_Name_Type for path name
+
+2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
+
+       * impunit.adb: Re-organize System.Random_Numbers and
+       GNAT.Random_Numbers and add to builds.
+
+       * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
+
+       * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
+
+       * a-assert.ads, a-assert.adb: New files.
+
+2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+
+       * layout.adb (Layout_Type): In the case of access-to-subprogram types,
+       if AAMP_On_Target is True, then the size of the type encompasses two
+       addresses (a static link and a subprogram address), except in the case
+       of library-level access types.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * output.ads, output.adb (Write_Eol): Remove trailing spaces before
+       writing the line.
+       (Write_Eol_Keep_Blanks): New procedure to write a line, including
+       possible trailing spaces.
+       (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
+       null-excluding access types.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
+       that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
+       of private types add missing check on matching interfaces in the
+       partial and full declarations.
+       (Analyze_Protected_Type): Code cleanup.
+       (Analyze_Task_Type): Code cleanup.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
+       generated interface thunk.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
+       obsolescent warning on application of 'Class to an incomplete type.
+
+       * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
+       prevent obsolescent warning on application of 'Class to an incomplete
+       type.
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+       * s-fileio.adb (Is_Open): Add check for usability of the underlying
+       file stream.
+
+2007-08-14  Cyrille Comar  <comar@adacore.com>
+
+       * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
+       since it is potentially used in cases implying double finalization of
+       the same object.
+
+2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-tasini.adb (Get_Stack_Info): Move this function to
+       System.Soft_Links.Tasking because it is common to the full and the
+       restricted run times.
+       (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
+       in SSL.Tasking.Init_Tasking_Soft_Links.
+
+       * s-solita.adb (Get_Stack_Info): Function moved from
+       System.Tasking.Initialization because it is common to the full and the
+       restricted run times.
+       (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
+
+2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
+       s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
+       (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
+       parameter.
+
+       * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
+       guard to 12K.
+
+2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+
+       * s-veboop.adb (SU): New named number initialized to
+       System.Storage_Unit.
+       (True_Val): The initialization expression is revised to use SU (=
+       Storage_Unit) rather than assuming 8 for the component size of an
+       unpacked Boolean array.
+
+2007-08-14  Tristan Gingold  <gingold@adacore.com>
+
+       * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
+
+       * tb-ivms.c: New file.
+
+       * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
+
+2007-08-14  Geert Bosch  <bosch@adacore.com>
+
+       * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
+       s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
+       Add required linker pragmas for automatically linking with the gnalasup
+       linear algebra support library, and the systems math library.
+       Rename cdot to cdotu and zdot to zdotu.
+       Update header comment to describe purpose of package.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
+       an explicitly specified Associated_Final_Chain, use that list.
+       (Expand_N_Package_Body): Build dispatch tables of library level tagged
+       types.
+       (Expand_N_Package_Declaration): Build dispatch tables of library level
+       tagged types. Minor code cleanup.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * gnatchop.adb (Terminate_Program): Remove exception and use
+       Types.Terminate_Program instead.
+
+       * osint.ads, osint.adb (Current_Exit_Status): New global variable
+       (Find_Program_Name): Added protection against empty name.
+       (OS_Exit_Through_Exception): New procedure
+
+       * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
+       (OS_Exit_Default): New procedure that contains the previous
+       implementation of procedure OS_Exit.
+       (Final_Value): Remove obsolete Interix stuff.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socket.ads: Reorganize example code so that it also works on
+       Windows XP.
+
+2007-08-14  Tristan Gingold  <gingold@adacore.com>
+
+       * g-trasym.ads: AIX now supports symbolic backtraces.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
+       units being loaded to detect circularities. A circularity may be
+       present even if the current chain of pending units to load starts from
+       a limited_with_clause.
+
+       * lib-load.ads: Change profile of Load_Unit to use a with_clause
+       rather than a boolean flag, in order to detect circularities in
+       with_clauses.
+
+       * par-load.adb: Use current with_clause in calls to Load_Unit, rather
+       than propagating the From_Limited_With flag, in order to handle
+       properly circularities involving with_clauses.
+
+2007-08-14  Nicolas Setton  <setton@adacore.com>
+
+       * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
+       warnings.
+
+2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
+       to build for libgnala.
+       libgnat: Add rules to build libgnala.a
+       (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
+       target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
+       Add s-osinte-vxworks-kernel.adb to the target pairs of the
+       kernel run-time lib for VxWorks 6, which would provide a different
+       implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
+       x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
+       running ZCX by default.
+       Add g-sttsne-locking to LynxOS version.
+       Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
+       On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
+
+       * system-darwin-x86.ads: New file.
+
+       * Make-lang.in: Delete files before copying onto them, so if they are
+       read-only, the copy won't fail.
+       Update dependencies
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+       * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
+       naming scheme.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
+       (Gcc): Initialize Gcc_Name at the first call
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Analyze_Package_Specification): Do not install private
+       with_clauses of the enclosing unit when analyzing the package
+       specification of a nested instance.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
+       (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
+       Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
+       layout of N_Allocator.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * rtsfind.adb (Check_RPC): Add PCS version check.
+
+       * gnatvsn.ads, gnatvsn.adb: Add PCS version.
+       (Gnat_Free_Software): New function.
+
+       * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
+       the PCS_Version value from s-parint, used to check that it is consistent
+       with what exp_dist expects.
+
+       * s-parint.ads (PCS_Version): New entity for checking consistency
+       between exp_dist and PCS.
+
+       * gen-soccon.c: (SO_REUSEPORT): New constant.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calfor.adb (Image (Duration; Boolean)): Change type of local
+       variable Sub_Second to Duration in order to accomodate a larger range
+       of arithmetic operations.
+
+2007-08-14  Bob Duff  <duff@adacore.com>
+
+       * g-sttsne-locking.ads: Move comments from spec to body.
+       * g-sttsne-locking.adb: Move comments from spec to body.
+       * g-sttsne-vxworks.ads: Removed.
+       * g-sttsne-vxworks.adb: Removed.
+
+2007-08-11  Ian Lance Taylor  <iant@google.com>
+
+       * misc.c (gnat_get_alias_set): Change return type to
+       alias_set_type.
+
+2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c, utils2.c: Fix whitespace in last change.
+
+2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c (compare_field_bitpos): Constify.
+       * utils2.c (compare_elmt_bitpos): Likewise.
+
+2007-07-27  Aurelien Jarno  <aurelien@aurel32.net>
+
+       * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by 
+       anonymous access type.
+       (pthread_sigmask): Now take an access sigset_t.
+
+2007-07-05  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+        * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
+       
+2007-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/25737
+       * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
+
+2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * trans.c (Attribute_to_gnu): When subtracting an
+       offset from a pointer, use POINTER_PLUS_EXPR with
+       NEGATE_EXPR instead of MINUS_EXPR.
+       (gnat_to_gnu): Likewise.
+       * utils.c (convert): When converting between
+       thin pointers, use POINTER_PLUS_EXPR and sizetype
+       for the offset.
+       * utils2.c (known_alignment): POINTER_PLUS_EXPR
+       have the same semantics as PLUS_EXPR for alignment.
+       (build_binary_op): Add support for the semantics of
+       POINTER_PLUS_EXPR's operands.
+       When adding an offset to a pointer, use POINTER_PLUS_EXPR.
+
+2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
+
+       * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
+       of get_signed_or_unsigned_type.
+       * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
+
+2007-06-11  Bob Duff  <duff@adacore.com>
+            Thomas Quinot  <quinot@adacore.com>
+
+       * g-stsifd-sockets.adb (Create): Work around strange behavior of
+       'bind' on windows that causes 'connect' to fail intermittently, by
+       retrying the 'bind'.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-10  Duncan Sands  <baldrick@free.fr>
+
+       * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
+       than to void, for the fields when making a new fat pointer type.
+       (gnat_substitute_in_type): Now substitute_in_type.
+       * gigi.h (gnat_substitute_in_type): Likewise.  Adjust recursive calls.
+       * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
+       * utils.c (update_pointer_to): Update fat pointers by updating the
+       dummy node pointers used for the fields.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+        * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
+       g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 
+       g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads:  Add new
+       constant Thread_Blocking_IO, always True by default, set False
+       on a per-runtime basis.
+       (Need_Netdb_Buffer): New constant.
+
+       * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
+       g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
+       files.
+
+       * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
+       g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
+       Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
+       child package Task_Safe_NetDB
+       (Host_Error_Messages): Add stub body.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+       * g-soccon-mingw.ads: Add Windows-specific constants.
+       (Need_Netdb_Buffer): New constant.
+       (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
+       wrapper and import inet_addr(3) from the standard sockets library
+       directly instead.
+       (In_Addr): Add alignment clause.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+       s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
+       s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
+       s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
+       s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
+       s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
+       a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
+       a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
+       a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
+       g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
+       g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
+       i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
+       s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
+       s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+       s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+       s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
+       s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
+       s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
+       s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
+       s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
+       s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
+       s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
+       s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
+       s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
+       s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
+       s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
+       s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
+       s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
+       s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
+       s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
+       s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
+       a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
+       Unchecked_* by Ada.Unchecked_*
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
+       s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
+       g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
+       output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
+       g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+       a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
+
+       * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
+       s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
+       s-tasloc.adb, s-tasloc.ads: New files.
+
+2007-06-06  Bob Duff  <duff@adacore.com>
+
+       * g-expect-vms.adb: 
+       (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
+       * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
+       (Send_Signal, Close): Raise Invalid_Process if the process id is
+       invalid.
+       (Pattern_Matcher_Access): Is now a general access type to be able to
+       use aliased string.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
+       (SIGEMT is now used instead of SIGTERM on AIX).
+
+       * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
+       (Time_Slice_Supported): Set to True.
+       Use SIGEMT instead of SIGTERM as SIGADAABORT.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
+       (Time, Time)): Use To_Relative_Time rather than manual calculation to
+       express the bounds of Duration as Time. Raise Time_Error when the
+       result is greater or equal to the higher bound of Duration (on the
+       margin case).
+       ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
+       Ada_High_And_Leaps.
+       ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
+       Ada_High_And_Leaps.
+       ("-" (Time, Time)): Reorder code.
+       (All_Leap_Seconds): Removed.
+       (Arithmetic_Operations.Add): Remove sign related kludge.
+       (Arithmetic_Operations.Difference): Control the leaps seconds processing
+       with flag Leap_Support.
+       (Arithmetic_Operations.Subtract): Remove sign related kludge.
+       (Check_Within_Time_Bounds): New procedure.
+       (Clock): Control the leap seconds processing with flag Leap_Support.
+       (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
+       (Formatting_Operations.Split): Control the leap seconds processing with
+       flag Leap_Support.
+       (Formatting_Operations.Time_Of): Control the leaps seconds processing
+       with flag Leap_Support. Adjust the year, month and day (if applicable)
+       when the value of day seconds designates a new day.
+       (Split): Use parameter associations for better readability. Integrate
+       flag Is_Ada_05.
+       (Time_Of): Use parameter associations for better readability. Integrate
+       flag Is_Ada_05.
+
+       * a-calfor.adb (Split): Use parameter associations for better
+       readability. Integrate flag Is_Ada_05.
+       (Time_Of): Remove flag Leap_Checks. Use parameter associations for
+       better readability. Integrate flag Is_Ada_05.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb, 
+       s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb, 
+       s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb, 
+       s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads, 
+       s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb, 
+       s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb, 
+       s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads, 
+       s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads, 
+       s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads, 
+       s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
+        s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
+       time when entering this routine to detect a backward clock setting
+       (manual setting or DST adjustment), to avoid waiting for a longer delay
+       than needed.
+       (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+       Update comments.
+       (Max_Task_Image_Length): New constant.
+       Replace Warnings (Off) by Unreferenced pragma, cleaner.
+       (Dynamic_Priority_Support): Removed, no longer needed.
+       (Poll_Base_Priority_Change): Ditto.
+       (Set_Ceiling): Add this procedure to change the ceiling priority
+       associated to a lock. This is a dummy implementation because dynamic
+       priority ceilings are not supported by the underlying system.
+
+       * a-dynpri.adb (Set_Priority): Take into account case where Target is
+       accepting a RV with its priority boosted.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+
+       * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
+       Succeeded = True.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+       (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
+       of Self_Id earlier.
+
+       * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
+       (Poll_Base_Priority_Change): Removed.
+       Code clean up: use SSL.Current_Target_Exception.
+
+       * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
+       to run as this is a potentially dispatching point.
+       (Call_Synchronous): Use Local_Defer_Abort.
+       (Callable): Relax assertion.
+       (Selective_Wait): Relax assertion in case abort is not allowed.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+
+       * s-tasuti.adb (Make_Passive): Adjust assertions.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * system-vxworks-sparcv9.ads, system-solaris-x86.ads, 
+       system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, 
+       system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 
+       system-vxworks-mips.ads, system-vxworks-alpha.ads, 
+       system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads, 
+       system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads, 
+       system-interix.ads, system-linux-hppa.ads, system-tru64.ads, 
+       system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads, 
+       system-solaris-sparcv9.ads, system-vms.ads, system.ads,
+       system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
+       system-linux-ia64.ads: Document mapping between Ada and OS priorities.
+       This patch changes the largest non-binary modulus from 2**31-1 to
+       2**32-1.
+       (Compiler_System_Version): Removed, no longer used.
+       Clean up system files by removing flags only used on a single target.
+       Also remove obsolete flags, only used during bootstrap from system.ads
+       (Address): Add a pragma Preelaborable_Initialization.
+
+       * system-aix.ads:  Ditto.
+       (GCC_ZCX_Support): Set to true.
+       Update priority range on AIX and map Ada priorities to target
+       priorities appropriately for different scheduling policies.
+
+       * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
+       mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
+
+       * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb, 
+       mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb, 
+       mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, 
+       mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 
+       mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
+       MLib.Tgt, containing the default versions of the exported subprograms.
+       For each platform, create a specific version of the body of new child
+       package MLib.Tgt.Specific that contains only the body of subprograms
+       that are different from the default.
+       (Archive_Builder_Append_Options): New function.
+
+2007-06-06  Matthew Gingell  <gingell@adacore.com>
+
+       * s-osinte-aix.adb: Map Ada priorities to target priorities
+       appropriately for different scheduling policies.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
+       its C counterpart.
+       Remove references to Unchecked_Conversion, and use Ada.xxx instead.
+       Replace Unchecked_Conversion by Ada.Unchecked_Conversion. 
+
+2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
+       Noop on VMS, added for interface commonality.
+
+2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
+       renamed expression of a full renaming at toplevel.
+       (gnat_to_gnu_entity, case object): If not defining, do not look inside
+       the values the constant is initialized to if it is an N_Allocator.
+       (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
+       TYPE_SIZE_UNIT of inner types after the stride is elaborated.
+       (make_aligning_type): Accept an extra ROOM argument for storage to be
+       made available before the aligned field, and an extra BASE_ALIGN
+       argument for callers to pass the alignment guaranteed to be honored for
+       the whole aligning object. Avoid call to finish_record_type, which only
+       interferes with the sizes we want to set.
+       (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
+       make_aligning_type for super-aligned objects on stack.
+       (components_to_record): Pass the adjusted size of the type when creating
+       fields in the qualified union for the variant part.
+       (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
+       (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
+       packed array type.
+       (maybe_pad_type): Set TYPE_USER_ALIGN.
+       (make_aligning_type): Likewise.
+       ALIGN argument is unsigned int.
+       (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
+       (gnat_to_gnu_param): Likewise, for parameters.
+       (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
+       if it is constant and stems from a function call.
+       (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
+       of the record is specified.  Adjust accordingly.
+       (adjust_packed): New static function.
+       (gnat_to_gnu_field): Use it to adjust the packedness setting.
+       (components_to_record): Likewise.
+       (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
+       side-effects if the object is deemed constant.
+       (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
+       type instead of merely finalizing it.  Tidy.
+       <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
+       <E_Access_Type>: Likewise.
+       (defer_debug_incomplete_list): Rename to defer_finalize_list.
+       (defer_debug_level): Delete.
+       (gnat_to_gnu_entity) <debug_deferred>: Likewise
+       <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
+       type.
+       <E_Record_Type>: Do not explicitly defer finalizing the type.
+       Adjust for write_record_type_debug_info renaming.
+       <E_Subprogram_Type>: Likewise.
+       Finalize deferred types right after deferred incomplete types are
+       expanded.
+       (rest_of_type_decl_compilation): New global function.
+       (components_to_record): Rename defer_debug parameter to do_not_finalize.
+       (components_to_record): Propagate the packedness to the fields of the
+       qualified union type if there is a variant part.
+       (gnat_to_gnu_entity) <E_Array_Type>: Use new function
+       instead of inline code to adjust the XUT field offsets.
+       (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
+       <E_Record_Subtype>: Do not let finish_record_type compute the sizes
+       and write the debug info if the type derives from a discriminated one.
+       (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
+       <E_Array_Subtype>: Likewise.
+       <E_String_Literal_Subtype>: Likewise.
+       (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
+       an alignment clause.
+       (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
+       before giving warning.
+       (prepend_one_attribute_to): New function, helper to prepend an attribute
+       to an attribute list.
+       (gnat_to_gnu_entity) <E_Procedure>: Use it.
+       (prepend_attributes): Likewise.
+       (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
+       <E_Array_Type>: Declare the padding type for the element type, if any.
+       <E_Array_Subtype>: Likewise.
+       (defer_limited_with): New variable.
+       (Gigi_Equivalent_Type): New function.
+       (gnat_to_gnu_entity): Use it at start and use result throughout.
+       (gnat_to_gnu_entity, case E_Access_Type): Rework to use
+       Gigi_Equivalent_Type, support Limited_With, allow two levels of
+       indirection, precompute if unconstrained array to simplify logic, and
+       use defer_limited_with to defer elaboration of some types from limited
+       with.
+       (finalize_from_with_types): New function.
+
+2007-06-06  Gary Dismukes  <dismukes@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+           Tristan Gingold  <gingold@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * trans.c (Identifier_to_gnu): Change test for deferred constant by
+       adding guard that the entity is an E_Constant before testing presence
+       of Full_view (and remove unnecessary test that entity is not a type).
+       For a CONST_DECL used by reference, manually retrieve
+       the DECL_INITIAL.  Do not invoke fold in the other DECL_P cases either.
+       (struct language_function): Move from utils.c to here.
+       (struct parm_attr): New structure.
+       (parm_attr, parm_attr vector, parm_attr GC vector): New types.
+       (f_parm_attr_cache): New macro.
+       (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
+       expressions for the 'First, 'Last and 'Length attributes of the
+       unconstrained array IN parameters.
+       (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
+       Allocate the information structure for the function earlier, as well
+       as the language-specific part.
+       If the parameter attributes cache has been populated, evaluate the
+       cached expressions on entry.
+       (takes_address): Add OPERAND_TYPE parameter.  Handle N_Function_Call,
+       N_Procedure_Call_Statement and N_Indexed_Component.
+       (Pragma_to_gnu): Translate inspection_point to an asm statement
+       containaing a comment and a reference to the object (either its address
+       for BLKmode or its value).
+       (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
+       to go to DECL_INITIAL. Together with the size constraint relaxation
+       in create_var_decl, enlarges the set of situations in which an
+       identifier may be used as an initializer without implying elaboration
+       code.
+       (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
+       DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
+       node.
+       (maybe_stabilize_reference): Remove lvalues_only parameter.
+       (gnat_stabilize_reference): Adjust for above change.
+       (gnat_to_gnu): Do not set location information on the result
+       if it is a reference.
+       (add_cleanup): Add gnat_node parameter and set the location of the
+       cleanup to it.
+       (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
+       (Exception_Handler_to_gnu_zcx): Likewise.
+       (gigi): Remove the cgraph node if the elaboration procedure is empty.
+       (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
+       the former right after the latter.
+       (start_stmt_group): Make global.
+       (end_stmt_group): Likewise.
+       (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
+       vars.
+       (gnu_program_error_label_stack): Likewise.
+       (gigi): Initialize them.
+       (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
+       (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
+       New cases.
+       (push_exception_label_stack): New function.
+       (takes_address): New function.
+
+       * utils.c (struct language_function): Move to trans.c from here.
+       (unchecked_convert): Do not wrap up integer constants in
+       VIEW_CONVERT_EXPRs.
+       (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
+       the latter for aggregate types, unexpected by later passes, and relax an
+       arbitrary size constraint on the former.
+       (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
+       to compare the sizes.
+       (convert_vms_descriptor): When converting to a fat pointer type, be
+       prepared for a S descriptor at runtime in spite of a SB specification.
+       (shift_unc_components_for_thin_pointers): New function.
+       (write_record_type_debug_info): For variable-sized fields, cap the
+       alignment of the pointer to the computed alignment.
+       (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
+       If REP_LEVEL is 2, do not compute the sizes.
+       (build_vms_descriptor): Adjust for new prototype of finish_record_type.
+       (build_unc_object_type): Likewise.
+       (declare_debug_type): New function.
+
+        * ada-tree.def: USE_STMT: removed (not emitted anymore).
+
+        * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
+        no statement is expandable anymore.
+        (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
+        (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
+        when the user requested it explicitely.
+        (gnat_post_options): By default, set flag_eliminate_unused_debug_types
+        to 0 for Ada.
+        (get_alias_set): Return alias set 0 for a type if
+        TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
+
+        * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
+        (DECL_FUNCTION_STUB): New accessor macro.
+        (SET_DECL_FUNCTION_STUB): New setter macro.
+
+        * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
+
+       * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
+       declarations.
+
+2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
+       Rename to Abort_Task_Interrupt to be able to keep the same interface
+       as the rest of the targets.
+
+       * s-osinte-vxworks.ads s-osinte-vxworks.adb
+       (To_VxWorks_Priority): Remove explicit "in" mode indicator
+
+       * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
+       New files.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-chahan.ads: Remove obsolescent pragmas
+
+       * a-chlat1.ads: Minor reformatting
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
+       for Errout
+
+       * errout.adb: New Finalize/Compilation_Errors/Output_Messages
+       implementation
+
+       * errout.ads (Finalize): Changed interface
+       (Output_Messages): New procedure
+       (Compilation_Errors): New Interface
+
+       * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
+       Finalize/Output_Messages interface for Errout
+       (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
+       Errout.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
+       check.
+       (Raise_Current_Excep): Call Debug_Raise_Exception just before
+       propagation starts, to let debuggers know about the event in a reliable
+       fashion.
+       (Local_Raise): Moved to System.Exceptions
+       More convenient to have this as a separate unit
+
+       * s-except.adb, s-except.ads: New files.
+
+       * a-exextr.adb (Unhandled_Exception): Delete - replaced by
+       Debug_Unhandled_Exception in System.Exceptions where it belongs
+       together with a couple of other debug helpers.
+       (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
+       the former Unhandled_Exception.
+
+       * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
+       (Warn_No_Exception_Propagation): New procedure
+       (Warn_If_No_Propagation): Rewritten for new warning generation
+       (Expand_Exception_Handlers): New warning generation
+       (Expand_N_Raise_xxx_Error): Rewritten for new warnings
+       (Add_Exception_Label): Use Special_Exception_Package_Used for test
+       instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
+       (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
+       even if restriction is set (makes life easier in Check_Returns)
+       (Expand_Local_Exception_Handlers): Follow renamed entity chain when
+       checking exception identities.
+       (Expand_Local_Exception_Handlers): Do not optimize when all others case
+       (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
+       block for handler (used by Check_Returns)
+       (Expand_Local_Exception_Handlers): Local_Raise now takes an address
+       (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
+       remove all exception handlers when optimizing local raise statements.
+       (Find_Local_Handler): Use Get_Renamed_Entity
+       (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
+       marked analyzed after expanding exception handlers, do not generate
+       redundant cleanup actions, because they have been constructed already.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
+       presence of this categorization pragma is mandated by the language.
+       (Limited_Controlled): Add missing pragma Preelaborable_Initialization
+       for this type.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb, 
+       butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, 
+       err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads, 
+       fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, 
+       lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads, 
+       makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb, 
+       par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb, 
+       prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads, 
+       prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb, 
+       sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb, 
+       uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
+       ali.ads, ali.adb: 
+       Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
+       package Namet. Make File_Name_Type and Unit_Name_Type types derived from
+       Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
+       Use variables of types File_Name_Type and Unit_Name_Type in error
+       messages.
+       (Get_Name): Add parameter Ignore_Special, and set it reading file name
+       (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
+       here.
+       Define flags Flag217-Flag230 with associated subprograms
+       (Flag_Word5): New record type.
+       (Flag_Word5_Ptr): New access type.
+       (To_Flag_Word5): New unchecked conversion.
+       (To_Flag_Word5_Ptr): Likewise.
+       (Flag216): New function.
+       (Set_Flag216): New procedure.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
+       instead of 'Size.
+
+       * a-stwifi.ads, a-stzfix.ads: Minor reformatting
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
+       the package.
+       (Object_Specific_Data_Array): This is now internal to the package.
+       (Object_Specific_Data): This is now internal to the package.
+       (Select_Specific_Data_Element): This is now internal to the package.
+       (Select_Specific_Data_Array): This is now internal to the package.
+       (Select_Specific_Data): This is now internal to the package.
+       (Offset_To_Top_Function_Ptr): This is now public.
+       (To_Offset_To_Top_Function_Ptr): Removed.
+       (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
+        local to subprogram Offset_To_Top.
+       (Predefined_DT): Removed.
+       (Typeinfo_Ptr): Removed.
+       (OSD): This function is now internal to this package.
+       (SSD): This function is now internal to this package.
+       (DT): New function that displaces the pointer to the table of primitives
+        to get access to the enclosing wrapper record.
+       (IW_Membership): Code cleanup.
+       (Offset_To_Top): Code cleanup.
+       (Predefined_DT): Removed.
+       (Register_Interface_Tag): Removed.
+       (Set_Interface_Table): Removed.
+       (Set_Offset_Index): Removed.
+       (Set_Offset_To_Top): Code cleanup.
+       (Set_OSD): Removed.
+       (Set_Signature): Removed.
+       (Set_SSD): Removed.
+       (Set_Tagged_Kind): Removed.
+       (Typeinfo_Ptr): Removed.
+       (TSD): Removed.
+       (Displace): Add missing check on null actual.
+
+       * exp_disp.ads, exp_disp.adb
+       (Select_Expansion_Utilities): Removed.
+       (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
+       (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
+       the interface requires a new parameter.
+       (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+       Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
+       calls to subprograms Build_T, Build_S, etc. by the corresponding code.
+       Done to remove package Select_Expansion_Utilities.
+       (Make_DT): New implementation for statically allocated dispatch tables.
+       (Make_Secondary_DT): Moved to the scope of Make_DT.
+       (Register_Primitive): Code cleanup plus incoporate the use of the new
+       function DT_Address_Attribute.
+       (Expand_Interface_Thunk): The profile of this subprogram has been
+       changed to return the Thunk_Id and the corresponding code.
+       (Fill_DT_Entry): Removed. Its functionality is now provided by
+       subprogram Register_Primitive.
+       (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
+       subprogram Register_Primitive.
+       (Register_Primitive): New subprogram that incorporates the previous
+       functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
+       (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
+       was only required to call Make_DT_Access_Action, which is now removed.
+       (Ada_Actions): Removed
+       (Action_Is_Proc): Removed
+       (Action_Nb_Arg): Removed
+       Replace all the calls to Make_DT_Access_Action by direct calls to
+       Make_Procedure_Call_Statement or Make_Function_Call.
+       (Set_DTC_Entity_Value): New subprogram.
+       (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
+       (Expand_Interface_Thunk): Add missing support for primitives that are
+       functions with a controlling result (case in which there is no need
+       to generate the thunk).
+
+       * exp_atag.ads, exp_atag.adb
+       (Build_DT): New subprogram that displaces the pointer to reference the
+       base of the wrapper record.
+       (Build_Typeinfo_Offset): Removed.
+       (RTE_Tag_Node): Removed.
+       (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
+       (Build_Get_RC_Offset): Removed.
+       (Build_Inherit_Predefined_Prims): Removed.
+       (Build_Inherit_TSD: Removed.
+       (Build_New_TSD): Removed.
+       (Build_Set_External_Tag): Removed.
+       (Build_Set_Predefined_Prim_Op_Address): Add documentation.
+       (Build_Set_Prim_Op_Address): Add documentation.
+       (Build_Set_TSD): Removed.
+
+       * rtsfind.ads, rtsfind.adb
+       (Load_Fail): If load fails and we are not in configurable run-time
+       mode, then raise Unrecoverable_Error.
+       (Text_IO_Kludge): Generate an error message if a run-time library is
+       not available in a given run-time (ie. zfp run-time).
+       (RTE_Record_Component): Add code to check that the component we search
+       for is not found in two records in the given run-time package.
+       (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
+       (RE_DT_Predef_Prims_Offset): New entity
+       (RE_Static_Offset_To_Top): New entity
+       (RE_HT_Link): New entity.
+       (System_Address_Image): Addition of this run-time package.
+       (RE_Address_Image): New entity.
+       (RE_Abstract_Interface): Removed.
+       (RE_Default_Prim_Op_Count): Removed.
+       (RE_DT_Entry_Size): Removed.
+       (RE_DT_Min_Prologue_Size): Removed.
+       (RE_DT_Prologue_Size): Removed.
+       (RE_Ifaces_Table_Ptr): Removed.
+       (RE_Interface_Data_Ptr): Removed.
+       (RE_Type_Specific_Data): Removed.
+       (RE_Primary_DT): Removed.
+       (RE_Register_Interface_Tag): Removed.
+       (RE_Set_Offset_Index): Removed.
+       (RE_Set_OSD): Removed.
+       (RE_Set_SSD): Removed.
+       (RE_Set_Signature): Removed.
+       (RE_Set_Tagged_Kind): Removed.
+       (RE_Address_Array): New entity.
+       (RE_DT): New entity.
+       (RE_Iface_Tag): New entity.
+       (RE_Interfaces_Table): New entity.
+       (RE_No_Dispatch_Table): New entity.
+       (RE_NDT_Prims_Ptr): New entity.
+       (RE_NDT_TSD): New entity.
+       (RE_Num_Prims): New entity.
+       (RE_Offset_To_Top_Function_Ptr): New entity.
+       (RE_OSD_Table): New entity.
+       (RE_OSD_Num_Prims): New entity.
+       (RE_Predef_Prims): New entity
+       (RE_Predef_Prims_Table_Ptr): New entity.
+       (RE_Primary_DT): New entity.
+       (RE_Signature): New entity.
+       (RE_SSD): New entity.
+       (RE_TSD): New entity.
+       (RE_Type_Specific_Data): New entity.
+       (RE_Tag_Kind): New entity.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
+       C imported variable.
+       (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
+       on entry.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
+       character
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * a-tifiio.adb (Put, internal): For negative numbers, check that there
+       is room for at least one digit and the minus sign.
+       (Put.Put_Character): Never put a character outside of the range of
+       string To.
+
+2007-06-06  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils2.c (build_allocator): Provide the extra arguments to
+       make_aligning_type for super-aligned objects allocated from the default
+       pool. Leave enough room for a pointer before the aligning field, and
+       store the system's allocator return value there.
+       (build_call_alloc_dealloc): When releasing a super-aligned object,
+       retrieve the system's allocator return value from where build_allocator
+       has stored it, just ahead of the adjusted address we are passed.
+       (build_call_raise): Handle properly the generation of line numbers when
+       the node is marked No_Location.
+       (compare_elmt_bitpos): Use tree_int_cst_compare.  Stabilize the sort
+       by using DECL_UID on ties.
+       (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
+       main variant.
+       (build_call_raise): Handle converting exception into goto; support new
+       argument KIND.
+       (build_component_ref): Add new arg to build_call_raise.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
+       "." in the case of nnn.xxx when nnn terminates with an underscore.
+       Parse the remaining "#" or ":" in the case of nnn#.xxx#
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
+       needed.
+       (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
+       ((destructor)) for adafinal, even when switch -a is used.
+       Do not issue pragma Linker_Destructor for adafinal when switch -a is
+       used.
+       (Gen_Object_Files_Options): Add formatting of Linker Options, when
+       Output_Linker_Option_List is set. Suppress this formatting when
+       Zero_Formatting is set.
+       Add case for CLI_Target.
+       (System_Restrictions_Used): New flag, used to avoid generating with of
+       System_Restrictions and initialization of the data unless there is
+       some use of System.Restrictions in the partition.
+       (Check_System_Restrictions_Used): New procedure
+
+        * s-stalib.adb: Remove with of System.Restrictions. No longer needed
+       since we only with this unit in the binder file if it is used elsewhere
+       in the partition.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * bindusg.adb: Add line for @<response file>
+       Add lines for new switches -R and -Z
+
+       * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
+       hierarchy in the list of files of the closure when -R is used
+       (Gnatbind): Accept arguments starting with '@' to indicate response
+       files and take the arguments from the response files.
+       If List_Closure is set, display the referenced files
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
+       which the address-clause is applied to in-mode actuals (allowed by
+       13.1(22)).
+       (Apply_Discriminant_Check): Do not generate a check if the type is
+       constrained by a current instance.
+       (Activate_Division_Check): New procedure
+       (Activate_Overflow_Check): New procedure
+       (Activate_Range_Check): New procedure
+       Call these new Activate procedures instead of setting flags directly
+       (Apply_Array_Size_Check): Removed, no longer needed.
+       Code clean up: remove obsolete code related to GCC 2.
+       (Get_E_Length): Protect against bomb in case scope is standard
+       (Selected_Range_Checks): If the node to be checked is a conversion to
+       an unconstrained array type, and the expression is a slice, use the
+       bounds of the slice to construct the required constraint checks.
+       Improve NOT NULL error messages
+       (Apply_Constraint_Check): If the context is a null-excluding access
+       type, diagnose properly the literal null.
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+
+       * clean.adb (Clean_Archive): Use untouched casing for the archive name
+       and the corresponding .deps file.
+       (Clean_Interface_Copy_Directory): Use untouched casing for the library
+       src directory. Minor code-clean-up. Use untouched casing for files
+       read into the library src dir.
+       (Clean_Library_Directory): Idem.
+       (Parse_Cmd_Line): Accept new switch -aP
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, einfo.adb (Available_View): New synthesized attribute
+       applicable to types that have the With_Type flag set. Returns the
+       non-limited view of the type, if available, otherwise the type itself.
+       For class-wide types, there is no direct link in the tree, so we have
+       to retrieve the class-wide type of the non-limited view of the Etype.
+       New attributes Static_Initialization and Static_Elaboration_Desired.
+       Remove the pragma Thread_Body, and the associated flag
+       Is_Thread_Body in entities, and all related code.
+       (Suppress_Value_Tracking_On_Call): New flag
+       E_Exception has Esize and Alignment fields
+       (Universal_Aliasing): New function.
+       (Set_Universal_Aliasing): New procedure.
+       (Write_Entity_Flags): Deal with Universal_Aliasing flag.
+       (Check_Nested_Access): New procedure.
+       (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+       (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+       (Related_Interface): New attribute. Present in dispatch table pointer
+       components of records. Set to point to the entity of the corresponding
+       interface type.
+       (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
+       (Original_Access_Type): Remove, not needed.
+       (Root_Type): Handle properly subtypes of class-wide-types.
+       Update comments.
+
+       * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
+       class-wide types visible through limited-with clauses.
+       (Try_Primitive_Operation): When examining all primitive operations of a
+       tagged type, do not consider subprograms labeled as hidden unless they
+       belong to a private generic type with a tagged parent.
+       (Try_Object_Operation): Extensive rewriting, to handle properly various
+       overloading cases, when several ancestors may have class-wide operations
+       that are possible candidates, and when the overloaded functions return
+       array types and have defaulted parameters so that the call may be
+       interpreted as an indexing.
+       (Analyze_Allocator): Remove Mark_Allocator and its invocation.
+       (Process_Function_Call): use Next, rather than Next_Actual, to analyze
+       successive actuals before analyzing the call itself.
+       (Try_Primitive_Operation): A primitive operation is compatible with the
+       prefix if the prefix has a synchronized type and the type of the formal
+       is its corresponding record, as can be the case when the primitive
+       operation is declared outside of the body of the type.
+       (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
+       perform homonym traversal, looking for class-wide operation matches
+       (formerly done in statements of Try_Class_Wide_Operation). Matches on
+       access parameters are now restricted to anonymous access types.
+       (Mark_Allocator): An allocator with a discriminant association parent is
+       a coextension.
+       (Try_One_Prefix_Interpretation): If the type of the object is
+       incomplete, as can be happen when it is a limited view obtained through
+       a limited_with_clause, the selected component is not part of a prefixed
+       call.
+       (Complete_Object_Operation): Diagnose properly an object that is not
+       aliased when the corresponding controlling formal is an access
+       parameter.
+       (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
+       ambiguous calls in prefixed notation, where two primitives differ only
+       in that the controlling argument of one is an access parameter.
+
+       * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
+       whether a function that returns an unconstrained type can be inlined.
+       (Process_Formals): Diagnose properly the illegal use of an incomplete
+       type in the profile of an access_to_subprogram declaration.
+       (Check_Synchronized_Overriding): Nothing check for concurrent types, the
+       operations are attached to the corresponding record.
+       (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
+       When processing a primitive of a concurrent type which implements an
+       interface change the type of all controlling formals to that of the
+       corresponding record type.
+       (Check_Synchronized_Overriding): Relax the conditional logic when trying
+       to determine the tagged type to which a primitive belongs.
+       (Check_Conventions): Capture condition to ignore a primitive operation
+       (which is shared between the loop in Check_Conventions and the one in
+       Check_Convention) in a new local function Skip_Check.
+       (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
+       confusion with Check_Conventions' own Prim_Op local variable.
+       (Create_Extra_Formals): Test for a tagged result type rather than a
+       controlling result when determining whether to add a BIP_Alloc_Form
+       formal and a BIP_Final_List formal to the function.
+       (Check_Conformance); For parameters that are anonymous access types,
+       subtype conformance requires that the not null and the constant
+       indicators must match
+       (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
+       to retrieve the appropriate type when processing a concurrent type
+       declared within a generic. Minor comment reformatting. Change invocation
+       of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
+       mitive.
+       (Analyze_Subprogram_Body): If the return type of a function is an
+       anonymous access to the limited view of a class-wide type, and the
+       non-limited view of the type is available, update the type of the
+       function so that code can be generated.
+       (Process_Formals): In case of access-subtype itype whose designated
+       type is also an itype (situation that happens now with access to
+       subprograms) we mark the access-type itype with the Has_Delayed_Freeze
+       attribute to avoid backend problems.
+       (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
+       init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
+       anonymous types' designated types are same before testing
+       Subtypes_Statically_Match.
+       (Create_Extra_Formals): Test for a named access parameter that is a
+       controlling formal as an additional condition for adding an
+       accessibility level formal. This can occur in the subp type created for
+       dispatching calls in Expand_Dispatching_Call, and allows calling
+       Create_Extra_Formals from that procedure rather than special-casing the
+       extra formals there.
+       (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
+       when the function has a controlling result.
+       (Check_Returns): Add much more knowledge of the optimization of local
+       raise statements to gotos, to retain proper warnings in this case.
+       (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
+       nodes when looking for last statement.
+
+       * sem_type.ads, sem_type.adb (Specific_Type): Add support for
+       class-wide types visible through limited with clauses.
+       (Add_One_Interp): If the operands are anonymous access types, the
+       predefined operator on universal_access is immediately visibles
+       (Find_Unique_Type): Handle anonymous access to subprogram types just as
+       other anonymous access types.
+       (Disambiguate): Take into account CIL convention.
+       (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
+       sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
+       elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
+       Fix lower bound of tables.
+       Add rep clauses.
+
+       * nlists.adb: Ditto.
+       (Prev_Node, Next_Node): Change index type to Int so that it properly
+       covers the range First_Node_Id - 1 up.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_aggr.ads, exp_aggr.adb: 
+       (Build_Record_Aggr_Code): Add missing initialization of secondary tags
+       in extension aggregates.
+       (Flatten): Other conditions being met, an aggregate is static if the
+       low bound given by component associations is different from the low
+       bound of the base index type.
+       (Packed_Array_Aggregate_Handled): If the component type is itself a
+       packed array or record, the front-end must expand into assignments.
+       (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
+       Init_Pr, instead of Ancestor_Is_Expression.
+       (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
+       coextension chain root, either generate a list controller or use the
+       already existing one.
+       (Static_Array_Aggregate): New procedure to construct a positional
+       aggregate that can be handled by the backend, when all bounds and
+       components are compile-time known constants.
+       (Expand_Record_Aggregate): Force conversion of aggregates of tagged
+       types covering interface types into assignments.
+       (Replace_Type): move to Build_Record_Aggr_Code.
+       (Expand_Record_Aggr_Code): if the target of the aggregate is an
+       interface type, convert to the definite type of the aggregate itself,
+       so that needed components are visible.
+       (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
+       components and the context is an extended return statement do not
+       create a transient block for it, to prevent premature finalization
+       before the return is executed.
+       (Gen_Assign): Do not generate a call to deep adjust routine if the
+       component type is itself an array of controlled (sub)-components
+       initialized with an inner aggregate.
+       (Component_Check): New name for Static_Check. This name is now more
+       appropriate, and documentation is added which was missing.
+       (Component_Check): Add test for bit aligned component value
+       (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
+       Tagged_Comps, name is more appropriate given added function below.
+       (Component_Not_OK_For_Backend): Check for bit aligned component ref.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
+       Terminated: Add unchecked type conversion from System.Address to
+       System.Tasking.Task_Id when calling the predefined primitive
+       _disp_get_task_id.
+       Disable new Ada 05 accessibility check for JVM.NET targets, which
+       cannot be implemented in a practical way.
+       (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
+       the sources always references the tag of the actual object. Therefore,
+       if 'Tag is applied in the sources to class-wide interface objects we
+       generate code that displaces "this" to reference the base of the object.
+       (Expand_N_Attribute_Reference, case Size): Return specified size if
+       known to front end.
+       (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
+       has code that displaces the pointer of the object to manage interface
+       types. However this code must not be executed when the prefix is a
+       subprogram. This bug caused the wrong expansion of the internally
+       generated assignment that fills the dispatch table when the primitive
+       is a function returning a class-wide interface type.
+       (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
+       Set_Attribute_Name for Name_Unaligned_Valid.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
+       If the initialization is the equivalent aggregate of the initialization
+       procedure of the type, do not remove it.
+       (Expand_N_Attribute_Definition_Clause): Exclude access variables
+       initialized to null from having their expression reset to empty and
+       note this exception in the comment.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
+       Add "with" and "use" clauses for Sem_Attr.
+       (Expand_Current_Value): Do not replace occurences of attribute
+       references where the prefix must be a simple name.
+
+       * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
+       Namet. Add new arrays Attribute_Name_Modifies_Prefix and
+       Attribute_Requires_Simple_Name_Prefix.
+       (Name_Modifies_Prefix): Body of new function.
+       (Requires_Simple_Name_Prefix): Body of new function.
+       (Resolve_Attribute, case Access): Improve error message for case of
+       mismatched conventions.
+       (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
+       incomplete type.
+       (Analyze_Attribute, case 'Access): If the type of the prefix is a
+       constrained subtype for a nominal unconstrained type, use its base type
+       to check for conformance with the context.
+       (Resolve_Attribute): Remove test of the access type being associated
+       with a return statement from condition for performing accessibility
+       checks on access attributes, since this case is now captured by
+       Is_Local_Anonymous_Access.
+       (Analyze_Access_Attribute): Set Address_Taken on entity
+       (Analyze_Attribute, case Address): Set Address_Taken on entity
+       (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
+       validating an access attribute whose prefix is a current instance.
+       (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
+       applied to dispatching operations, if freezing is required then we set
+       the attribute Has_Delayed_Freeze in the prefix's entity.
+       (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
+       current scope if access of local subprogram taken
+       (Analyze_Access_Attribute): Check legality of self-reference even if the
+       expression comes from source, as when a single component association in
+       an aggregate has a box association.
+       (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
+       the prefix if it is a protected operation and the attribute is
+       Unrestricted_Access.
+       (Resolve_Attribute, case 'Access): Set the Etype of the attribute
+       reference to the base type of the context, to force a constraint check
+       when the context is an access subtype with an explicit constraint.
+       (Analyze_Attribute, case 'Class): If the prefix is an interface and the
+       node is rewritten as an interface conversion. leave unanalyzed after
+       resolution, to ensure that type checking against the context will take
+       place.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
+       wrapper when the full view of the controlling type of an inherited
+       function that dispatches on result implements interfaces.
+       (Expand_N_Object_Declaration): In cases where the type of the
+       declaration is anonymous access, create finalization list for it.
+       (Expand_N_Object_Declaration): Generate a persistent_bss directive only
+       if the object has no explicit initialization, to match description of
+       functionality of pragam Persistent_BSS.
+       (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
+       new function to build static aggregates, to replace initialization call
+       when static initialization is desired.
+       (Freeze_Type): Generate a list controller for an access type whenever
+       its designated type has controlled anonymous access discriminants.
+       (Build_Equivalent_Aggregate): New procedure to compute a static
+       aggregate to be used as default initialization for composite types,
+       instead of a generating a call to the initialization procedure for the
+       type.
+       (Build_Initialization_Call): When available, replace a call to the
+       initialization procedure with a copy of the equivalent static aggregate
+       for the type.
+       (Expand_N_Object_Declaration):  Use New_Occurrence_Of in generated
+       declarations for objects of a class-wide interface type, rather than
+       just identifiers, to prevent visibility problems.
+       (Expand_N_Object_Declaration): When expanding the declaration for an
+       object of a class-wide interface type, preserve the homonym chain of
+       the original entity before exchanging it with that of the generated
+       renaming declaration.
+       (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
+       active, because there is no way to handle the exception.
+       (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
+       to do a minimum decoration of the Access_Disp_Table list.
+       (Expand_Record_Controller): Avoid the addition of the controller between
+       the component containing the tag of a secondary dispatch table and its
+       adjacent component that stores the offset to the base of the object.
+       This latter component is only generated when the parent type has
+       discriminants ---documented in Add_Interface_Tag_Components).
+       (Apply_Array_Size_Check): Removed, no longer needed.
+       (Expand_N_Full_Type_Declaration): If the type has anonymous access
+       components, create a Master_Entity for it only if it contains tasks.
+       (Build_Init_Procedure): Suppress the tag assignment compiling under
+       no run-time mode.
+       (Freeze_Record_Type): Remove code associated with creation of dispatch
+       table.
+       (Init_Secondary_Tags): Update type of actuals when generating calls to
+       Ada.Tags.Set_Offset_To_Top
+       (Stream_Operation_OK): Disable use of streams compiling under no
+       run-time mode
+       (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
+       if Has_Init_Expression set.
+       (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
+       Register_Primitive, which provides the same functionality.
+       (Requires_Init_Proc): Return false in case of interface types.
+       (Add_Secondary_Tables): Use the new attribute Related_Interface to
+       cleanup the code.
+       (Predefined_Primitive_Freeze): Do not assume that an internal entity
+       is always associated with a predefined primitive because the internal
+       entities associated with interface types are not predefined primitives.
+       Therefore, the call to Is_Internal is replaced by a call to the
+       function Is_Predefined_Dispatching_Operation.
+       (Make_Eq_If): When generating the list of comparisons for the
+       components of a given variant, omit the controller component that is
+       present if the variant has controlled components.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
+       handle the creation of finalization lists and calls for nested
+       coextensions when the root of the chains is part of a return statement.
+       (Inside_A_Return_Statement): New function inside Complete_Coextension_
+       Finalization.
+       (Expand_Record_Equality): Skip components that are interface types.
+       (Displace_Allocator_Pointer): Add missing support for interface subtypes
+       (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
+       with Rewrite_Coextension. Change the condition for detecting coextension
+       root nodes.
+       (Is_Local_Access_Discriminant): Removed.
+       (Rewrite_Coextension): New routine which rewrites a static coextension
+       as a temporary and uses its unrestricted access in the construction of
+       the outer object.
+       (Complete_Coextension_Finalization): New routine. Generate finalization
+       attachment calls to all delayed coextensions.
+       (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
+       the allocator is not a coextension itself and has delayed coextensions.
+       If the current allocator is controlled, but also a coextension, delay
+       the generation of the finalization attachment call.
+       Rename local variable "Node" to "Nod" in order to avoid confusion with
+       "Elists.Node".
+       (Expand_Allocator_Expression): Call Adjust for initialized allocators of
+       limited types that are not inherently limited. Such an allocator is
+       illegal, but is generated by the expander for a return statement, to
+       copy the result onto the secondary stack. This is the only case where a
+       limited object can be copied. Generate code to displace the pointer
+       to the object if the qualified expression is a class-wide interface
+       object. Such displacement was missing and hence the copy of the object
+       was wrong.
+       (Apply_Accessibility_Check): Handle allocated objects initialized in
+       place.
+       (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
+       and Expand_Allocator_Expression. Allocating class-wide interface objects
+       this routine displaces the pointer to the allocated object to reference
+       the component referencing the corresponding secondary dispatch table.
+       Expand_Allocator_Expression): Add missing support to allocate class-wide
+       interface objects initialized with a qualified expression.
+       (Get_Allocator_Final_List): Test for an anonymous access type that is a
+       function result type, and use the finalization list associated with the
+       function scope in that case (such an anonymous type should not be
+       treated like an access parameter's type).
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
+       controlled type, use Make_Handler_For_Ctrl_Operation to construct the
+       required exception handler.
+       (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
+       properly the case of a function whose return type is a limited
+       class-wide interface type. Modify the code of the accessibility
+       check to handle class-wide interface objects. In this case we need to
+       displace "this" to reference the primary dispatch table to get access
+       to the TSD of the object (to evaluate its accessibility level).
+       (Expand_N_Extended_Return_Statement): Test for a tagged result type
+       rather than a controlling result as one of the conditions for
+       generating tests of the implicit BIP_Alloc_Form formal. The
+       initialization assignment is also handled according to whether the
+       result is tagged instead of controlling.
+       In the case where the init assignment is inserted in the "then" part of
+       the allocation conditional, rewrite the target to be a dereference of
+       the implicit BIP_Object_Access formal.
+       If the returned value is unconstrained and created on the secondary
+       stack, mark the enclosing block and function so that the secondary
+       stack is not reclaimed on return.
+       Treat returns from functions with controlling results similarly to
+       returns from functions with unconstrained result subtypes.
+       If the object returned is unconstrained, and an allocator must be
+       created for it, analyze the allocator once the block for the extended
+       return is installed, to ensure that finalizable components
+       of the expression use the proper finalization list. Guard the call to
+       Move_Final_List with a check that there is something to finalize.
+       (Make_Tag_Ctrl_Assignment): Use "old" handling
+       of controlled type assignment for virtual machines, since new code uses
+       unsupported features (such as direct access to bytes in memory).
+
+2007-06-06  Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
+       accessibility actual, check for the case of an aliased object that has
+       been rewritten as an Access attribute, and assign Prev to Prev_Orig so
+       we fall into processing for the attribute rather than the name of the
+       object.
+       (Expand_Inline_Call): If an actual is a literal, and the corresponding
+       formal has its address taken in the body, create a temporary to capture
+       value.  If the return type is a limited interface, do not treat the
+       return value as Controlled.
+       (Is_In_Place_Function):  If the return type is a limited interface,
+       treat as returning in place. The actual returned object may not always
+       be limited, but the caller has to assume that it is returned in place.
+       (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
+       context of an allocator, use the correct finalization chain (that is,
+       the chain belonging to the access type, rather than the chain belonging
+       to the current scope).
+       (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
+       result type rather than a controlling result as a precondition for
+       adding an allocation form actual to a build-in-place call.
+       (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
+       (Freeze_Subprogram): Code cleanup. Remove all the code that register the
+       primitive in the dispatch tables. This work is now done by Make_DT when
+       the type is frozen.
+       (Register_Predefined_DT_Entry): Removed.
+       (Add_Return): If end label is not present, use sloc of last statement
+       for generated return statement in procedure, for better gdb behavior
+       on expanded code.
+       (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
+       object address nodes to ensure proper processing by routines like
+       Insert_After*.
+       (Expand_Call): Fix generation of validity check for parameter
+       (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
+       the allocation form parameter if the result subtype is constrained,
+       except when the function has a controlling result.
+       (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
+       rather than Is_Controlled and Has_Controlled_Component, since we want to
+       include class-wide result types in this treatment. Also test for a
+       controlling result, since that also requires passing a finalization
+       list.
+       (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
+       even when the result subtype is constrained, to handle calls involving
+       controlling results.
+       (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
+       is now called even when the result subtype is constrained, to handle
+       calls involving controlling results.
+       (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
+       on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
+       now performs the test).
+       (Make_Build_In_Place_Call_In_Object_Declaration):
+       Add_Alloc_Form_Actual_* is now called even when the result subtype is
+       constrained, to handle calls involving controlling results.
+       (Add_Return): Accomodate rewritten pattern from local raise to goto
+       transformation, so that we still recognize an transfer statement
+       and do the right thing here in that case.
+       (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
+       and end of subprogram code.
+       (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
+       support for primitives that are functions (without formals) with a
+       controlling result.
+       (Inherited_From_Formal): If the actual subtype has not generic parent
+       type, it is not an actual for a formal derived type, and there is no
+       operation to inherit from the formal.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
+       inserted cleanup code appropriately for GDB use.
+       (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
+       exception handler for Deep_Adjust or Deep_Finalize.
+       (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
+       Raise_From_Controlled_Operation is available, use a call to that
+       subprogram instead of a plain "raise Program_Error" node to raise
+       Program_Error if an exception is propagated from an Adjust or Finalize
+       operation.
+       (Insert_Actions_In_Scope_Around): If the statement to be wrapped
+       appears in the optional statement list of a triggering alternative, the
+       scope actions can be inserted directly there, and not in the list that
+       includes the asynchronous select itself.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
+       generated exception handler appropriately when debugging generated code.
+       Deal properly with No_Exception_Propagation restriction mode.
+       (Expand_N_Abort_Statement): Add an unchecked type conversion from
+       System.Address to System.Tasking.Task_Id when processing the result of
+       the predefined primitive _disp_get_task_id.
+       (Expand_N_Asynchronous_Select): Clarify comment.
+       (Expand_N_Protected_Type_Declaration): Minor code cleanup.
+       (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
+       (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
+       (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
+       privals and for generated call to Complete_Entry_Body, for better gdb
+       behavior.
+       (Copy_Result_Type): Utility to construct a parameter and result profile
+       for protected functions whose return type is an anonymous access to
+       subprogram.
+       (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
+       call the above.
+       (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
+       point when the local-raise-to-goto transformation has taken place.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+
+       * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
+       functionality when the backend is generating code.
+       Otherwise any serious error
+       reported by the backend calling the frontend routine Error_Msg
+       changes the Compilation_Mode to Check_Semantics, disables the
+       functionality of this routine and causes the generation of
+       spureous additional errors.
+
+       * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
+       debugging information now generated by the compiler for fat-pointer
+       types.
+       Document the contents of DW_AT_producer in the GNAT Vendor extensions to
+       DWARF2/3.
+       Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
+       (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+       PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+       For a remote call to a function with a classwide return type, apply an
+       E.4(18) check to the returned value.
+       (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
+       stream attributes of the designated type of an RACW, as they are not
+       dispatching primitive operations.
+
+2007-06-06  Geert Bosch  <bosch@adacore.com>
+
+       * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
+       negative literal
+       (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
+       positive
+       (Do_Divide_Fixed_Universal): Handle case of negative Frac.
+       (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
+       positive
+       (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
+       attribute compiling package Ada.Tags under No_Run_Time_Mode.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
+       deallocation of class-wide interface objects.
+       (Expand_Dispatching_Constructor_Call): Take into account that if the
+       result of the dispatching constructor is an interface type, the
+       function returns a class-wide interface type; otherwise the returned
+       object would be actual. The frontend previously accepted returning
+       interface types because Expand_Interface_Actuals silently performed
+       the management of the returned type "as if" it were a class-wide
+       interface type.
+       (Expand_Dispatching_Constructor_Call): Replace call to
+       Make_DT_Access_Action by direct call to Make_Function_Call.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
+       compute masking constant, since we now set Esize properly to the
+       underlying size.
+       (Create_Packed_Array_Type): Set proper Esize value adjusted as required
+       to match the alignment.
+       (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
+       packed arrays of 8 bits or less.
+
+       * freeze.adb (Freeze_Entity): When freezing the formals of a
+       subprogram, freeze the designated type of a parameter of an access type
+       only if it is an access parameter.
+       Increase size of C convention enumeration object
+       (Freeze_Entity, array type case): Make sure Esize value is properly
+       adjusted for the alignment if it is known.
+       (Freeze_Entity, array type case): When checking bit packed arrays for
+       the size being incorrect, check RM_Size, not Esize.
+       (Freeze_Record_Type): Check for bad discriminated record convention
+       (In_Exp_Body): Return true if the body is generated for a subprogram
+       renaming, either an attribute renaming or a renaming as body.
+       (Check_Itype): If the designated type of an anonymous access component
+       is a non-protected subprogram type, indicate that it is frozen, to
+       prevent out-of-scope freeze node at some subsequent call.
+       (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
+       only if the subprogram is neither imported nor exported, as well as the
+       NCA descriptor class if the subprogram is exported.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
+       default initialization on an imported object, when there is no
+       initialization call generated for it.
+       (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
+       restriction
+
+       * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
+       Static_Elaboration_Desired.
+       Remove pragma Thread_Body.
+       Implement a new pragma No_Body
+       Removes the Explicit_Overriding pragma
+       Remove Optional_Overriding pragma
+       (Prag): Deal with Universal_Aliasing.
+       (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+       Pragma_CIL_Constructor): New names.
+
+       * sem_cat.adb (Validate_Object_Declaration): An initialization that
+       uses the equivalent aggregate of a type must be treated as an implicit
+       initialization.
+       (Get_Categorization): Check a unit for pragma Preelaborate only if it
+       has none of the other categories.
+       (Process_Import_Or_Interface_Pragma): Report an error for an attempt
+       to apply Import to an object renaming declaration.
+
+       * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
+       from a C++ class should be declared as limited and that it will be
+       considererd limited.
+       (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
+       should be declared as limited and that it will be considererd limited.
+       (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
+       (Analyze_Pragma, case Export): Diagnose export of enumeration literal
+       (Analyze_Pragma): Deal with Universal_Aliasing.
+       (Sig_Flags): Likewise.
+       (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
+       (Overflow_Checks_Unsuppressed): New flag.
+       (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+       (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
+       case of JVM or .NET targets, and compiling user code.
+       Add debugging convenience routine rv
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
+       are interface type.
+       (Build_Elementary_Input_Call): For floating-point use right type in the
+       absence of strange size or stream size clauses.
+       (Build_Elementary_Write_Call): Same fix
+       (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
+       set to value that does not match base type size.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
+       object of a limited type can be initialized with a call to a function
+       that returns in place. If the limited type has unknown discriminants,
+       and the underlying type is a constrained composite type, build an actual
+       subtype from the function call, as is done for private types.
+       (Side_Effect_Free): An expression that is the renaming of an object or
+       whose prefix is the renaming of a object, is not side-effect free
+       because it may be assigned through the renaming and its value must be
+       captured in a temporary.
+       (Has_Controlled_Coextensions): New routine.
+       (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
+       as is done for other limited types.
+       (Non_Limited_Designated_Type): new predicate.
+       (Make_CW_Equivalent_Type): Modified to handle class-wide interface
+       objects.
+       Remove all handling of with_type clauses.
+
+        * par-ch10.adb: Remove all handling of with_type clauses.
+
+       * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
+       checksum if the main source could not be parsed.
+       (Loat_Unit): When processing a child unit, determine properly whether
+       the parent unit is a renaming when the parent is itself a child unit.
+       Remove handling of with_type clauses.
+
+       * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
+       (Set_Is_Static_Coextension): New procedure.
+       (Has_Local_Raise): New function
+       (Set_Has_Local_Raise): New procedure
+       (Renaming_Exception): New field
+       (Has_Init_Expression): New flag
+       (Delay_Finalize_Attach): Remove because flag is obsolete.
+       (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
+       Remove all handling of with_type clauses.
+       (Exception_Junk): Can now be set in N_Block_Statement
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * frontend.adb (Frontend): Return immediately if the main source could
+       not be parsed, because of preprocessing errors.
+
+       * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
+       (Gnat1drv): Exit with errors if the main source could not be parsed,
+       because of preprocessing errors.
+       (Check_Rep_Info): New procedure
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-hesorg.ads, g-heasor.ads,
+       g-busorg.ads, g-bubsor.ads: Update documentation
+       GNAT.Heap/Bubble_Sort_G is now pure
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * g-comlin.ads, g-comlin.adb: 
+       Add new warning for renaming of function return objects
+
+       * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
+       (Tree_Read): Use size of object instead of type'object_size, since the
+       latter is incorrect for packed array types.
+       (Tree_Write): Same fix
+
+       * opt.ads: Add new warning for renaming of function return objects
+       (Generating_Code): New boolean variable used to indicate that the
+       frontend as finished its work and has called the backend to process
+       the tree and generate the object file.
+       (GCC_Version): Is now private
+       (Static_Dispatch_Tables): New constant declaration.
+       (Overflow_Checks_Unsuppressed): New flag.
+       (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+       (List_Closure): New flag for gnatbind (-R)
+       Zero_Formatting: New flag for gnatbind (-Z)
+       (Special_Exception_Package_Used): New flag.
+       (Warn_On_Unrepped_Components): New flag.
+
+       * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
+       unit is a compilation unit, rather than relying on its scope, so that
+       Standard can be renamed.
+       (Analyze_Object_Renaming): Add new warning for renaming of function
+       return objects.
+       Also reject attempt to rename function return object in Ada 83 mode.
+       (Attribute_Renaming): In case of tagged types, add the body of the
+       generated function to the freezing actions of the type.
+       (Find_Type): A protected type is visible right after the reserved word
+       "is" is encountered in its type declaration. Set the entity and type
+       rather than emitting an error message.
+       (New_Scope): Properly propagate Discard_Names to inner scopes
+       (Check_Nested_Access): New procedure.
+       (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
+       (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+
+       * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
+       Add new warning for renaming of function return objects
+       (Check_References): Suppress warnings for objects whose type or
+       base type has Warnings suppressed.
+       (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
+       (Set_Warning_Switch): Include new -gnatwc in -gnatwa
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Emmanuel Briot  <briot@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
+       absolute value of Header.Block_Size when displaying the freed physical
+       memory in traces.
+       (Allocate): Compute Storage_Address using Integer_Address, not
+       Storage_Offset, because the range of Storage_Offset may not be large
+       enough.
+       (Configure): New parameter Low_Level_Traces
+       (Allocate, Deallocation, Free_Physically): Added low-level traces
+       (Configure): new parameter Errors_To_Stdout.
+       (Output_File): new subprogram
+       (Deallocate, Dereference): Send error messages to the proper stream
+       (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
+       documented. Previous code would send it to the current output file
+       defined in GNAT.IO, which might not be stdout
+       (Is_Valid): Adjust comment to mention that a positive reply means that
+       Header_Of may be used to retrieve the allocation header associated with
+       the subprogram Storage address argument. Return False early if this
+       address argument is misaligned.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
+       switch -P
+       (ASIS_Main): New global variable
+       (Get_Closure): New procedure
+       (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
+       check, metric or pretty. Call Get_Closure in this case.
+       (Check_Files): For GNAT LIST, check all sources of all projects when
+       All_Projects is True.
+       (GNATCmd): Accept -U for GNAT LIST
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
+       has been specified
+       Correct error message when invocation of the linker fails
+       Add explicit size clause for the C imported variables
+       Object_List_File_Supported and Using_GNU_Linker to emphasize that
+       we expect char size.
+       Read target parameters earlier, since this is needed to set
+       Target_VM properly. Also do not use -static/shared-libgcc for non GCC
+       targets.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb: 
+       Add 3 spaces before the default project directory when displaying
+       the project search path.
+       Add new command line switch '-l' to display license information.
+
+2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gmem.c: Add support for timestamps on memory operations.
+
+       * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
+       operations (not used currently, just foundation for future
+       enhancements). Add possibility to perform full dump of gmem.out file.
+       (Print_Back_Traces): Declare accesses to root arrays constants since
+       they aren't modified.
+       (Print_Back_Traces): allocate root arrays on the heap rather than stack.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatsym.adb: Update Copyright notice
+       (Parse_Cmd_Line): Accept new switch -D
+       (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
+        file.
+
+       * prj.ads (Policy): New policy Direct
+       (Yes_No_Unknown): New enumeration type
+       (Project_Data): New component Libgnarl_Needed
+
+       * prj-nmsc.adb (Check_For_Source): When recording a source file make
+       use the untouched pathname casing.
+       (Get_Directories): Ensure that the Display_Exec_Directory is using the
+       proper casing on non case-sensitive platforms like Windows.
+       (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
+       on all platforms, as it is not possible to know which one is allowed
+       before processing the project files.
+       (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
+       specified when symbol policy is Direct. Check that when there is a
+       symbol file defined (either by default or with attribute
+       Library_Symbol_File) it is not the same as the reference symbol file.
+       (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
+       (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
+       extending projects.
+       (Record_Ada_Source): Record a source that has been locally removed in an
+       imported project.
+
+       * symbols.ads (Policy): New policy Direct
+
+       * symbols-vms.adb (Initialize): Take new policy Direct in case
+       statement
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
+       Correct obvious bug (return Dir; instead of return Directory;).
+       (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-pehage.adb (Produce): Open output files in Binary mode, so that
+       they have UNIX line endings (LF only) even on Windows, and thus pass
+       all GNAT style checks.
+
+2007-06-06  Emmanuel Briot  <briot@adacore.com>
+
+       * g-regpat.adb (Quote): Fix improper quoting of '.'
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
+       default, set False on a per-runtime basis.
+       (Need_Netdb_Buffer): New constant.
+
+       * g-socket.ads, g-socket.adb: Import new package
+       GNAT.Sockets.Thin.Task_Safe_NetDB.
+       (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
+       binding to obtain proper message.
+       (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
+       Replace various occurrences of Arry (Arry'First)'Address with the
+       equivalent Arry'Address (GNAT always follows implementation advice from
+       13.3(14)).
+       (Get_Host_By_Address, Get_Host_By_Name,
+       Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
+       instead, rely on platform-specific task safe netdb operations provided
+       by g-socthi.
+
+       * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
+       parameter Process_Blocking_IO.
+       (Host_Error_Messages): Add stub body.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+       (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
+       Safe_Getservbyport): Move functions into new child package
+       Task_Safe_NetDB.
+       (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
+       Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
+       (In_Addr): Add alignment clause.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-trasym.ads, g-traceb.ads: Update list of supported targets
+       Add note about symbolic traceback
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+
+       * hostparm.ads (Normalized_CWD): Use the host directory separator
+       instead of the hardcoded forward slash which is not the proper
+       character on Windows for example.
+       (Java_VM): Removed.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * a-clrefi.adb, a-clrefi.ads: New files
+
+       * impunit.adb: Add s-os_lib in the list of user visible units.
+       (Non_Imp_File_Names_95): Add a-clrefi to this list
+       Remove obsolete run-time entries.
+       (Non_Imp_File_Names_05): Add Ada 2005 entries for:
+        "a-exetim" -- Ada.Execution_Time
+        "a-extiti" -- Ada.Execution_Time.Timers
+
+       * mlib-prj.ads, mlib-prj.adb
+       (Build_Library): Use untouched object dir and library dir. At the
+       same time makes sure that the checks are done using the canonical
+       form. Removes hard-coded directory separator and use the proper host
+       one instead.
+       (Process_Project): Do not look in object directory to check if libgnarl
+       is needed for a library, if there is no object directory.
+       (Build_Library): Scan the ALI files to decide if libgnarl is needed for
+       linking.
+       (Build_Library): When invoking gnatbind, use a response file if the
+       total size of the arguments is too large.
+
+       * Makefile.rtl: (g-sttsne): New object file.
+       Add entry for a-clrefi, s-utf_32, System.Exceptions
+
+       * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
+       (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
+       (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
+       Change g-string to s-string, g-os_lib to s-os_lib
+       Change all g-utf_32 references to s-utf_32
+
+2007-06-06  Tristan Gingold  <gingold@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * init.c: Do not adjust IP of an imported VMS exception of ia64.
+       LIB$STOP is called to raise an exception and the IP of the exception
+       is the instruction right after the call.
+       (__gnat_adjust_context_for_raise, AIX): Implement.
+       (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
+        adjust_context_for_raise before Raise_From_Signal_Hanler.
+       (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
+       siginfo is passed to the handler, necessary to let the zcx propagation
+       engine unwind past it.
+
+2007-06-06  Olivier Hainque  <hainque@adacore.com>
+
+       * initialize.c (__gnat_initialize for vxworks):  Update documentation
+       on the ZCX support, using different sets of crtstuff objects than with
+       GCC 3.4.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
+       spec from body
+       (Layout_Type): Fix recomputation of size from alignment.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
+       association in an instance.
+       (Copy_Generic_Node): If the node is a string literal, no need to copy
+       its descendants.
+       (Is_Generic_Formal): For a formal subprogram, the declaration is the
+       grandparent of the entity.
+       (Analyze_Formal_Interface_Type): Transform into a full type declaration,
+       to simplify handling of formal interfaces that derive from other formal
+       interfaces.
+       (Instantiate_Subprogram_Body): The defining unit name of the body of
+       the instance should be a defining identifier.
+       (Install_Formal_Packages): make global to the package, for use in
+       instantiations of child units.
+       (Analyze_Package_Instantiation): Do not attempt to set information on an
+       enclosing master of an entry when expansion is disabled.
+       (Instantiate_Type): If the actual is a tagged synchronized type and the
+       generic ancestor is an interface, create a generic actual for the
+       corresponding record.
+       (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
+       declaration, to ensure that the interface list is processed correctly.
+       (Inline_Instance_Body): If enclosing scope is an instance body, remove
+       its entities from visibiility as well.
+       (Pre_Analyze_Actuals): if the actual is an allocator with  constraints
+       given with a named association, analyze the expression only, not the
+       discriminant association itself.
+       (Reset_Entity): If the analysis of a selected component is transformed
+       into an expanded name in the prefix of a call with parameters, do not
+       transform the original node into an expanded name, to prevent visibility
+       errors in the case of nested generics.
+       (Check_Private_View): For an array type, check whether the index types
+       may need exchanging.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
+       since both are separated.
+       Add support for imported CIL packages.
+       Add further special handling of "value_type" for CIL.
+       Add special handling of pragma Import for CIL.
+
+       * make.ads, make.adb: When switch -eS is used, direct all outputs to
+       standard output instead of standard error, except errors.
+       (Absolute_Path): Use untouched casing for the parent directory.
+       (Add_Library_Search_Dir): Use the untouched directory name.
+       (Add_Source_Search_Dir): Idem.
+       (Change_To_Object_Directory): Update output to use proper casing.
+       (Create_Binder_Mapping_File): Use the untouched filename to set
+       ALI_Name.
+       (Gnatmake): Use untouched library and executable directory names.
+       (Insert_Project_Sources): Use untouched filename for spec and body.
+       (Is_In_Object_Directory): Use untouched object directory.
+       (Mark_Directory): Idem.
+       (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
+       contains the non-canonical filename in all cases.
+       (Change_To_Object_Directory): In verbose mode, display the name of the
+       object directory we're changing to.
+       (Compile_Sources): Make sure, when a project file is used, to compile
+       the body of the unit, when there is one, even when only the spec is
+       recorded in an ALI file.
+       (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
+       spec to the body.
+       (Report_Compilation_Failed): New procedure
+       (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
+       procedures moved from the spec to the body.
+       (Extract_Failure): Removed, not used
+       Replace explicit raises of exception Bind_Failed and Link_Failed with
+       calls to Make_Failed with the proper message.
+       Replace explicit raises of exception Compilation_Failed with calls to
+       procedure Report_Compilation_Failed.
+       (Initialize): Create mapping files unconditionally when using project
+       files.
+
+       * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+       Pragma_CIL_Constructor): New names.
+
+       * targparm.ads, targparm.adb
+       (Compiler_System_Version): Removed, no longer used.
+       (Get_Target_Parameters): Relax checks on system.ads validity. Add
+       handling of two new system flags: JVM and CLI.
+
+2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
+       time, use the default s-interr body that provides interrupt support
+       based on signals.
+       (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
+       a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
+       g-soccon.ads, and s-taprop.adb for the marte run time.
+       (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
+       timers are supported on marte.
+       (EH_MECHANISM for marte): Do not use ZCX.
+       (THREADSLIB for marte): Use -lmarte.
+       Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
+       Add mlib-tgt-specific.o to gnatmake objects
+       mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
+       longer of MLib.Tgt.
+       (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
+       6, either kernel or rtp, use a specialized version of s-osinte.ads.
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+
+       * mkdir.c (__gnat_mkdir): Add support for UTF-8.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
+       separator, use instead the proper host directory separator.
+       (Copy_ALI_Files): Make sure that an already existing ALI file in the
+       ALI copy dir is writable, before doing the copy.
+
+       * mlib-utl.ads, mlib-utl.adb: 
+       (Gcc): If length of command line is too long, put the list of object
+       files in a response file, if this is supported by the platform.
+       (Ar): If invocation of the archive builder is allowed to be done in
+       chunks and building it in one shot would go above an OS dependent
+       limit on the number of characters on the command line, build the archive
+       in chunks.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
+       of specified object file is not equal to base name of source.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
+       the full type declaration.
+       (Analyze_Component_Declaration): Add local variable E to capture the
+       initialization expression of the declaration. Replace the occurences of
+       Expression (N) with E.
+       (OK_For_Limited_Init_In_05): Allow initialization of class-wide
+       limited interface object with a function call.
+       (Array_Type_Declaration): If the declaration lacks subtype marks for
+       indices, create a simple index list to prevent cascaded errors.
+       (Is_Null_Extension): Ignore internal components created for secondary
+       tags when checking whether a record extension is a null extension.
+       (Check_Abstract_Interfaces): Add missing support for interface subtypes
+       and generic formals.
+       (Derived_Type_Declaration): Add missing support for interface subtypes
+       and generic formals.
+       (Analyze_Object_Declaration): If an initialization expression is
+       present, traverse its subtree and mark all allocators as static
+       coextensions.
+       (Add_Interface_Tag_Component): When looking for components that may be
+       secondary tags, ignore pragmas that can appear within a record
+       declaration.
+       (Check_Abstract_Overriding): an inherited function that dispatches on
+       result does not need to be overriden if the controlling type is a null
+       extension.
+       (Mentions_T): Handle properly a 'class attribute in an anonymous access
+       component declaration, when the prefix is an expanded name.
+       (Inherit_Component): If the derivation is for a private extension,
+       inherited components remain visible and their ekind should not be set
+       to Void.
+       (Find_Type_Of_Object): In the case of an access definition, always set
+       Is_Local_Anonymous_Access. We were previously not marking the anonymous
+       access type of a return object as a local anonymous type.
+       (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
+       range with character literal bounds.
+       (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
+       (Access_Subprogram_Declaration): Indicate that the type declaration
+       depends on an incomplete type only if the incomplete type is declared
+       in an open scope.
+       (Analyze_Subtype_Declaration): Handle properly subtypes of
+       synchronized types that are tagged, and that may appear as generic
+       actuals.
+       (Access_Subprogram_Declaration): An anonymous access to subprogram can
+       appear as an access discriminant in a private type declaration.
+       (Add_Interface_Tag_Components): Complete decoration of the component
+       containing the tag of a secondary dispatch table and the component
+       containing the offset to the base of the object (this latter component
+       is only generated when the parent type has discriminants --as documented
+       in this routine).
+       (Inherit_Components): Use the new decoration of the tag components to
+       improve the condition that avoids inheriting the components associated
+       with secondary tags of the parent.
+       (Build_Discriminanted_Subtype): Indicate to the backend that the
+       size of record types associated with dispatch tables is known at
+       compile time.
+       (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
+       (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
+       to include task, protected, and synchronized interfaces as limited
+       interfaces.
+       (Process_Discriminants): Remove the setting of
+       Is_Local_Anonymous_Access on the type of (anonymous) access
+       discriminants of nonlimited types.
+       (Analyze_Interface_Type_Declaration): Complete the decoration of the
+       class-wide entity it is is already present. This situation occurs if
+       the limited-view has been previously built.
+       (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
+       field.
+       (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
+       Related_Interface.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
+       of the type that specify the position of interface tags when the type
+       inherits discriminated array components from the parent type.
+       If a component is initialized with a box, check for the presence of a
+       default expression in its declaration before using its default
+       initialization procedure.
+       (Resolve_Record_Aggregate): If a component is box-initialized, and the
+       component type has a discriminants, create a partial aggregate for it
+       by copying the discriminants of the component subtype.
+       Reject attempt to initialize a discriminant with a box.
+       (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
+       associated with dispatch tables is known at compile time.
+       (Get_Value): If an association in a record aggregate has a box
+       association, and the corresponding record component has a default
+       expression, always copy the default expression, even when the
+       association has a single choice, in order to create a proper
+       association for the expanded aggregate.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * par-ch12.adb (P_Generic_Associations): The source position of an
+       Others association is that of the others keyword, not that of the token
+       that follows the box.
+       (P_Formal_Type_Definition): Handle formal access types that carry a
+       not null indicator.
+
+       * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
+       multiple identifier are present, save Scan_State before scanning the
+       colon, to ensure that separate trees are constructed for each
+       declaration.
+       (P_Identifier_Declarations): For object declaration, set new flag
+       Has_Init_Expression if initialization expression present.
+       (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
+       Improve NOT NULL error messages
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch4.adb: (P_Name): Recover from literal used as name
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
+       defaulted to False.
+       In the "not" case, recursive call with Complemented set to True.
+       Do not allow "or" or "and" operators when Complemented is True.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * prj.adb (Project_Empty): Gives default value for new component
+       Libgnarl_Needed
+
+       * prj-attr.ads: Minor reformatting
+
+       * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
+       directory using the untouched casing.
+       (For_All_Source_Dirs): Idem.
+
+       * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
+       directories specified with switches -aP.
+       (Add_Search_Project_Directory): New procedure
+       (Initialize_Project_Path): Put the directories in table
+       Search_Directories in the project search path.
+       (Initialize_Project_Path): For VMS, transform into canonical form the
+       project path.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
+       true if configurable run-time or No_Run_Time is set.
+       (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
+       processing an unit which is not the one being compiled.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
+       Replace UC by Ada.UC
+
+       * s-bitops.adb: Get rid of System.Pure_Exceptions.
+       Replace UC by Ada.UC
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * scng.adb: (Check_End_Of_Line): Deal with very long lines
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
+       Remove no longer used nodes.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
+       on obsolescent withed unit in case of limited-withed units.
+       (Analyze_Compilation_Unit): Add guard to code that removed an
+       instantiation from visibility, to prevent compiler aborts when
+       instantiation is abandoned early on.
+       (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
+       current unit being analyzed, and Distinguish local incomplete types
+       from limited views of types declared elsewhere.
+       (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
+       to state that the class-wide entity is shared by the limited-view
+       and the full-view.
+       (Analyze_With_Clause): Improve placement of flag for case of
+       unimplemented unit.
+       (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
+       manner similar to GNAT.Current_Exception. This is a violation of
+       restriction (No_Exception_Propagation), and also inhibits the
+       optimization of local raise to goto.
+       (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
+       and if so set Most_Recent_Exception_Used flag in Opt, and also check
+       for violation of restriction No_Exception_Propagation.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
+       use of entity Exception_Occurrence if it is not available in the
+       target run-time.
+
+       * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
+       concurrent types are declared within an Ada 2005 generic, build their
+       corresponding record types since they are needed for overriding-related
+       semantic checks.
+       (Analyze_Protected_Type): Rearrange and simplify code for testing that a
+       protected type does not implement a task interface or a nonlimited
+       interface.
+       (Analyze_Task_Type): Rearrange and simplify code for testing that a task
+       type does not implement a protected interface or a nonlimited interface.
+       (Single_Task_Declaration, Single_Protected_Declaration): use original
+       entity for variable declaration, to ensure that debugging information
+       is correcty generated.
+       (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
+       routines if the expander is not active.
+       (Analyze_Task_Body): Mark all handlers to stop optimization of local
+       raise, since special things happen for task exception handlers.
+
+       * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
+       concurrent types declared within a generic.
+       (Check_Dispatching_Operation): Do not emit warning about late interface
+       operations in the context of an instance.
+       (Check_Dispatching_Call): Remove restriction against calling a
+       dispatching operation with a limited controlling result.
+       (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
+       Register_Interface_DT_Entry by calls to Register_Primitive.
+       (Check_Dispatching_Formals): Handle properly a function with a
+       controlling access result.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
+       Check for restriction No_Implementation_Attributes if in Ada 95 mode.
+       (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
+       (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
+       message when using a VM, since this attribute is not supported.
+       (Analyze_Record_Representation_Clause): Give unrepped component warnings
+
+       * usage.adb: Add new warning for renaming of function return objects
+       Indicate that -gnatwp and -gnatwP concern front-end inlining
+       Add line for -gnatyg
+       Add usage information for -gnatw.c/C
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb
+       (Find_Var): Do not consider function call in test for infinite loop
+       warning if warnings set off for function entity.
+       (One_Bound): Do not create a temporary for a loop bound if it is a
+       character literal.
+       (Analyze_Assignment): Traverse the right hand side of an assignment and
+       mark all allocators as static coextensions.
+       (Analyze_Assignment): Exempt assignments involving a dispatching call
+       to a function with a controlling access result from the check requiring
+       the target to be class-wide.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
+       chain of coextensions when an allocator serves as the root of such a
+       chain.
+       (Propagate_Coextensions): Remove the test for the root being an
+       allocator.
+       (Resolve_Allocator): Add condition to ensure that all future decoration
+       occurs on an allocator node. Add processing and cleanup for static
+       coextensions.
+       (Valid_Conversion): If the operand type is the limited view of a
+       class-wide type, use the non-limited view is available to determine
+       legality of operation.
+       (Ambiguous_Character): move to spec, for use elsewhere.
+       (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
+       (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
+       character literals.
+       (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
+       Do_Division_Check flag explicitly.
+       (Resolve_Actuals): If the actual is of a synchronized type, and the
+       formal is of the corresponding record type, this is a call to a
+       primitive operation of the type, that is declared outside of the type;
+       the actual must be unchecked-converted to the type of the actual
+       (Resolve_Call): Kill all current values for any subprogram call if
+       flag Suppress_Value_Tracking_On_Call is set.
+       (Resolve_Type_Conversion): Generate error message the the operand
+       or target of interface conversions come from a limited view.
+       (Check_Infinite_Recursion): Ignore generated calls
+       (Check_Allocator_Discrim_Accessibility): New procedure for checking
+       that an expression that constrains an access discriminant in an
+       allocator does not denote an object with a deeper level than the
+       allocator's access type.
+       (Resolve_Allocator): In the case of an allocator initialized by an
+       aggregate of a discriminated type, check that associations for any
+       access discriminants satisfy accessibility requirements by calling
+       Check_Allocator_Discrim_Accessibility.
+       (Resolve_Equality_Op): Handle comparisons of anonymous access to
+       subprogram types in the same fashion as other anonymous access types.
+       (Resolve_Concatenation_Arg): Remove initial character '\' in an error
+       message that is not a continuation message.
+       (Resolve_Type_Conversion): Add missing support for conversion to
+       interface type.
+       (Resolve_Actuals): Introduce a transient scope around the call if an
+       actual is a call to a function returning a limited type, because the
+       resulting value must be finalized after the call.
+       (Resolve_Actuals): If the call was given in prefix notations, check
+       whether an implicit 'Access reference or implicit dereference must be
+       added to make the actual conform to the controlling formal.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
+       (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
+       overriding of an inherited private subprogram now there is no need to
+       inherit its dispatching slot and reduce the size of the dispatch table.
+       Set_All_DT_Position now ensures that the same slot is now assigned to
+       both entities. This is required to statically build the dispatch table.
+       (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
+       of calling Set_All_DT_Position to re-evaluate the position of the
+       entries in the dispatch table. Such reevaluation is not desired if
+       the tagged type is already frozen.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
+       reference acts as an lvalue when the attribute name modifies the prefix
+       (Is_Coextension_Root): New routine.
+       (Mark_Static_Coextensions): New routine.
+       (Type_Access_Level): Revise code for checking the level of the
+       anonymous access type of a return object.
+       (Safe_To_Capture_Value): Not safe to capture if Address_Taken
+       (Matches_Prefixed_View_Profile): Remove the no longer necessary
+       retrieval of the corresponding controlling record type.
+       (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
+       concurrent types declared within a generic as well as class wide types.
+       Emit a mode incompatibility error whenever a protected entry or routine
+       override an interface routine whose first parameter is not of mode
+       "out", "in out" or access to variable.
+       (Overrides_Synchronized_Primitive): Rename to
+       Find_Overridden_Synchronized_Primitive.
+       (Collect_Interface_Components): New subprogram that collects all the
+       components of a tagged record containing tags of secondary dispatch
+       tables.
+       (Add_Global_Declaration): New procedure
+       (Abstract_Interface_List): Handle properly the case of a subtype of a
+       private extension.
+       (Type_Access_Level): In the case of a type whose parent scope is a
+       return statement, call Type_Access_Level recursively on the enclosing
+       function's result type to determine the level of the return object's
+       type.
+       (Build_Elaboration_Entity): Build name of elaboration entity from the
+       scope chain of the entity, rather than the unit name of the file name.
+       (Check_Nested_Access): New procedure.
+       (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+       (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+       (Get_Renamed_Entity): Utility routine for performing common operation
+       of chasing the Renamed_Entity field of an entity.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
+       elaboration model
+       (Check_A_Call): Add check for entry call which was causing blowup
+
+2007-06-06  Olivier Hainque  <hainque@adacore.com>
+
+       * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
+       special code on ia64-vms to handle major incompatibilities between the
+       GCC unwinding ABI and the VMS Condition Handling Facility, both calling
+       this routine with a very different set of arguments and expectations on
+       the return value.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * socket.c (__gnat_close_signalling_fd): New function.
+       (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
+       __gnat_safe_getservbyname, __gnat_safe_getservbyport):
+       New supporting functions for task safe Netdb operations.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * a-except-2005.ads, a-except-2005.adb
+       (Raise_From_Controlled_Operation): New procedure in
+       (private part of) Ada.Exceptions (standard runtime version). Used to
+       provide informational exception message when Program_Error is raised as
+       a result of an Adjust or Finalize operation propagating an exception.
+       (Rmsg_28): Fix description for E.4(18) check.
+       (Raise_Current_Excep): Call Debug_Raise_Exception just before
+       propagation starts, to let debuggers know about the event in a reliable
+       fashion.
+       Take the address of E and dereference to make sure it is homed on stack
+       and prevent the stores from being deleted, necessary for proper
+       debugger behavior on "break exception" hits.
+       (Local_Raise): Moved to System.Exceptions
+
+       * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
+       exception message from the current occurrence and raise Program_Error
+       has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
+
+2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
+       lock, if needed.
+
+       * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
+       priority associated to a lock.
+
+       * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
+       assertion to take into account case of no abort restriction.
+       (Initialize_Protection_Entries): Add initialization for the field
+       New_Ceiling associated to the protected object.
+       (Unlock_Entries): Change the ceiling priority of the underlying lock, if
+       needed.
+
+       * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+       since this function needs to be set consistently with Update_Exception.
+
+       * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+       since this function needs to be set consistently with Update_Exception.
+
+       * s-taskin.ads: Update comments on
+       Interrupt_Server_Blocked_On_Event_Flag.
+       (Unbind_Handler): Fix handling of server_task wakeup
+       (Server_Task): Set self's state so that Unbind_Handler can take
+       appropriate actions.
+       (Common_ATCB): Now use a constant from System.Parameters to determine
+       the max size of the Task_Image field.
+
+       * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
+       Initialize_Analyzer function.
+       ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
+       take into account case of no abort restriction.
+       ([Vulnerable_]Complete_Master): Modify assertion.
+
+       * s-tataat.adb (Finalize): Use the nestable versions of
+       Defer/Undefer_Abort.
+
+       * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
+
+       * s-tpobop.ads: Update comments.
+
+       * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
+       of locking the object manually, to avoid inconsistencies between
+       Lock/Unlock_Entry assertions.
+
+       * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
+       terminating
+       application and System.Parameters.No_Abort is True.
+       Update comments on Interrupt_Server_Blocked_On_Event_Flag.
+       (Unbind_Handler): Fix handling of server_task wakeup
+       (Server_Task): Set self's state so that Unbind_Handler can take
+       appropriate actions.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
+       declarations instead of an explicit null body, for conciseness.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
+       illegal aggregate and the type is still Any_Composite.
+       (Subtypes_Statically_Match): Fix problem of empty discriminant list
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
+       to prevent subsequent expansion.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
+       exceptions.
+       (Write_Itype): Handle case of string literal subtype, which
+       comes up in this context.
+       (Update_Itype): when debugging expanded code, update sloc of itypes
+       associated with defining_identifiers and ranges, for gdb use.
+       (Sprint_Node_Actual): Add static keyword to object or exception
+       declaration output if Is_Statically_Allocated is True.
+       (Sprint_End_Label): Set entity of end marker for a subprogram, package,
+       or task body, so that the tree carries the proper Sloc information for
+       debugging use.
+       (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-secsta.adb (Chunk): Ensure this object has a static size known at
+       compile time, to avoid dynamic memory allocation
+       (Elaboration code): Only use dynamic memory allocation when needed.
+
+2007-06-06  Quentin Ochem  <ochem@adacore.com>
+
+       * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
+       "Overflow_Guard".
+       (Stack_Analyzer): Added field "Overflow_Guard"
+       (Task_Result): Added field "Overflow_Guard".
+       (Index_Str): New constant.
+       (Task_Name_Str): New constant.
+       (Actual_Size_Str): New constant.
+       (Pattern_Array_Element_Size): New constant.
+       (Get_Usage_Range): New subprogram.
+       (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
+       Now align the output.
+       Added comments.
+       (Initialize): Added value for Overflow_Guard.
+       (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
+       Update the value of the overflow guard according to the actual
+       beginning of the pattern array.
+       (Initialize_Analyzer): Added parameter Overflow_Guard.
+       Take this parameter into accound when computing the max size.
+       (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
+       (Report_Result): Removed extra useless procedure.
+       Updated call to Output_Result.
+       Moved full computation of the Task_Result here.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-darwin.ads, gen-soccon.c: Add new constant
+       Thread_Blocking_IO, always True by default, set False on a per-runtime
+       basis.
+       Add Windows-specific constants
+       Add new constant Need_Netdb_Buffer.
+       Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+       not, whether to use getXXXbyYYY_r.
+
+       * gsocket.h: Add new constant Need_Netdb_Buffer.
+       Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+       not, whether to use getXXXbyYYY_r.
+
+2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
+       than their first call.
+       Add type Dummy_Communication_Block used in the generation of the pre-
+       defined dispatching primitive _disp_asynchronous_select.
+       (Storage_Element): Put Pragma Universal_Aliasing on it.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
+       function.
+
+       * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
+       letter if it is not followed by a '/' or a '\'.
+       (Windows): New Boolean function
+
+       * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
+       Ada 2005.
+       (Containing_Directory): On Windows, keep at least one '/' or '\' after a
+       drive letter.
+       (Containing_Directory): Raise Use_Error when the directory is a root
+       directory.
+       (Extension): When returning the result, use a conversion to Result_Type,
+       not a qualification.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
+       (Set_Style_Check_Options): Recognize new -gnatyg style switch
+
+       * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
+       Warn_On_Non_Local_Exception to False, to turn off warnings for
+       No_Exception_Propagation in ZFP runtime.
+       (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
+       back-ends.
+       (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * switch-b.adb (Scan_Binder_Switches): Add processing for new
+       switches -R and -Z
+
+       * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
+       (Scan_Make_Switches): Recognize new switch -aP
+
+2007-06-06  Matthew Gingell  <gingell@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
+       VxWorks task descriptor in the Ada run time, call a C subprogram
+       (__gnat_get_stack_info) that extracts the required information.
+
+       * sysdep.c: Back out temporary lynxos workaround.
+       (__gnat_get_stack_info): Add this procedure that passes to the Ada run
+       time the stack information associated to the currently executing task.
+       Only VxWorks systems require this function.
+
+2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
+       add the stack bias if the offset is computed from a frame address.
+       (__gnat_backtrace): Adjust for above change.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
+       PE_Non_Transportable_Actual.
+       (By_Descriptor_Last): New constant.
+       (By_Copy_Return): Likewise.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
+       is.
+
+       * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
+       /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
+       /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
+       Add missing comment for /OPTIMIZE=SPACE
+       Add entry for OPTIMIZE=SPACE
+       Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
+       Add documentation for new qualifiers corresponding to -gnatw.c/.C
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
+       -gnatw.C)
+
+       * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
+       Document gnatbind switch -a
+       (case Constructions): Document that variables declarations are allowed
+       for previously declared variables.
+       Fix external lib project example
+       -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
+       Indicate that "#if not X or Y then" is not allowed in input files to
+       gnatprep.
+       Document gnatw.x and gnatw.X warning flags
+       Mention -Winline switch to activate warnings when back-end inlining is
+       ineffective.
+       Add gnatcheck rule descriptions
+       Describe how to use the GNAT driver to call a tool on a closure.
+       Describe how to run project-wide checks or metrics.
+       Document gnatbind's -R option
+       Updated to account for Ada 2005 support
+
+       * gnat_rm.texi (Case Construction): Allow variable declarations for
+       previously declared variables.
+       (Representation Clauses and Pragmas): Lift restriction on alignment
+       clauses for record types.
+       (Ada.Characters.*): Fix typo in reference to A.3.3(27).
+       Document No_Exception_Propagation restriction
+       Document No_Body pragma
+       Updated to account for Ada 2005 support; corrected some typos
+       (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
+
+       * gnat-style.texi: Make it clear that we never use mode IN for
+       procedures or functions
+
+       * ug_words: Add entries for -gnatw.x and -gnatw.X
+       Add entries for -gnatw.c/.C
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * makegpr.adb (Add_Archive_Path): Use untouched object and library
+       dirs and library name.
+       (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
+       comments.
+       (Build_Library): Idem.
+       (Compile_Individual_Sources): Idem.
+       (Compile_Link_With_Gnatmake): Idem.
+       (Compile_Sources): Idem.
+       (Get_Imported_Directories): Idem.
+       (Link_Executables): Idem. Same change for the executable dir.
+       (Check_Compilation_Needed): C_Source_Path new variable containing
+       the canonical form of Source_Path to check against the source names
+       in the dependency file.
+       (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
+       verbose mode, display the name of the object directory we're changing
+       to.
+       (Saved_Switches): New name of table X_Switches
+       (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
+       (Usage): New line for switch -aP
+       (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
+       testing if a directory should be added to the search path.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads, 
+       a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
+       declaration after freezing point of all its associated tagged types;
+       otherwise such types are frozen too early.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.adb: Documentation addition
+
+       * g-cgideb.adb: Minor code reorganization
+
+       * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
+       mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
+       s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
+
+       * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
+       function.  Change name New_Scope to Push_Scope
+       (Get_Debug_Flag_K): Remove unused obsolete function.
+
+       * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
+       Push_Scope.
+
+       * makeusg.adb: Update Copyright notice
+       Add line for switch -aP
+
+       * makeusg.adb: Fix wording of some usage messages
+
+       * s-assert.adb (Raise_Assert_Failure): Add call to
+       Debug_Raise_Assert_Failure.
+
+       * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
+       (2, Standard'Alignment) for compatibility with AAMP (where alignment
+       is restricted to 1).
+
+       * s-wchjis.adb: Remove use of System.Pure_Exceptions
+
+       * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
+       node location to No_Location when we're not debugging the expanded
+       code.
+
+2007-05-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * misc.c (enumerate_modes): Consider log2_b to always be one.
+
+2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
+
+       * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+
+2007-05-02  Pascal Obry  <obry@adacore.com>
+
+       * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
+       to use Stream_IO.File_Type. This is needed to make use of the UTF-8
+       encoding support of Stream_IO.
+       (Write_Unit): Idem.
+
+       * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
+       filename and corresponding encoding to match the OS requirement.
+       (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
+       routine will fail on specific devices like CON: AUX: ...
+
+       PR ada/29856: Add missing braces
+
+2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR ada/31660
+       * ada-tree.h (lang_tree_node): Fix typo in chain_next.
+
+2007-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * misc.c (gnat_expand_body): Don't call target for destructors,
+       avoid redundant check on syntax errors.
+
+2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
+       instead of checking GIMPLE_STMT_P in chain_next.
+
+2007-04-17  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR ada/31576
+       * system-linux-alpha.ads: Disable constant condition warning for the
+       Default_Bit_Order variable.
+       * system-linux-s390.ads: Likewise.
+       * system-linux-s390x.ads: Likewise.
+       * system-linux-sparc.ads: Likewise.
+
+2007-04-06  Javier Miranda  <miranda@adacore.com>
+           Matt Heaney  <heaney@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+       a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
+       a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
+       a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+       a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
+       a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
+       a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
+       a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
+       a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
+       a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
+       a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
+       a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
+       a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
+       a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
+       a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
+       a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
+       a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
+       i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
+       unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
+       a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
+       a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
+       a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
+       expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
+       s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
+       s-taprop-tru64.adb, s-taprop-irix.adb,
+       s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
+       s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
+       s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
+       s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb, 
+       s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads, 
+       a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb, 
+       a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads, 
+       g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads, 
+       s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb, 
+       s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads, 
+       s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, 
+       s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, 
+       s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb, 
+       s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb, 
+       a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads, 
+       a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads, 
+       a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb, 
+       a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
+       a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads, 
+       a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
+       access types.
+       Update documentation.
+       Minor rewording.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+
+       * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+       system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+       system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
+       system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+       system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
+       system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+       system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+       system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
+       system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+        system-hpux-ia64.ads, targparm.adb,
+       targparm.ads (Functions_Return_By_DSP_On_Target): Removed
+
+       * system.ads: Move Functions_Return_By_DSP to obsolete section,
+       kept for bootstrap purposes only.
+
+2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+       s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
+       s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
+       (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
+       (Local_Raise): New dummy procedure called when a raise is converted
+       to a local goto. Used for debugger to detect that the exception
+       is raised.
+
+       * debug.adb: Document new d.g flag (expand local raise statements to
+       gotos even if pragma Restriction (No_Exception_Propagation) is not set)
+
+       * exp_sel.adb: Use Make_Implicit_Exception_Handler
+
+       * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
+       suppress warnings for unused handlers.
+       (Warn_If_No_Propagation):  Use new flag -gnatw.x to suppress
+       warnings for raise statements not handled locally.
+       (Get_RT_Exception_Entity): New function
+       (Get_Local_Call_Entity): New function
+       (Find_Local_Handler): New function
+       (Warn_If_No_Propagation): New procedure
+       (Expand_At_End_Handler): Call Make_Implicit_Handler
+       (Expand_Exception_Handlers): Major additions to deal with local handlers
+       (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
+       Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
+       for local raise
+
+       * exp_ch11.ads (Get_RT_Exception_Entity): New function
+       (Get_Local_Call_Entity): New function
+
+       * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
+       of restrictions that the binder will never suggest adding.
+
+       * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
+       to No_Elist.
+
+       * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
+       be with'ed in the presence of pragma Restriction
+       (No_Exception_Propagation).
+
+       * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
+
+       * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
+       parameter, then the handler is not a suitable target for a local raise,
+       and this is a violation of restriction No_Exception_Propagation.
+       (Analyze_Handled_Statements): Analyze choice parameters in exception
+       handlers before analyzing statement sequence (needed for proper
+       detection of local raise statements).
+       (Analyze_Raise_Statement): Reraise statement is a violation of the
+       No_Exception_Propagation restriction.
+
+       * s-rident.ads: Add new restriction No_Exception_Propagation
+
+       * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
+       function, like Make_Exception_Handler but sets Local_Raise_Statements
+       to No_List.
+       (Add_Unique_Serial_Number): Deal with case where this is called during
+       processing of configuration pragmas.
+
+2007-04-06  Thomas Quinot  <quinot@adacore.com>
+           Pat Rogers  <rogers@adacore.com>
+           Pascal Obry  <obry@adacore.com>
+
+       * g-stsifd-sockets.adb: New file.
+
+       * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
+       g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
+       g-socthi-vms.adb: Move signalling
+       fd management to a nested package, so that they can conveniently be
+       moved to a subunit that is shared across Windows, VMS, and VxWorks
+       (Ada implementation) or completed with imported bodies from socket.c
+       (UNIX case).
+       (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
+       subprograms.
+       (Check_Selector): Use Read_Signalling_Fd to read and discard data from
+       the signalling file descriptor.
+       (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
+       signalling file descriptor.
+       (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
+       instead of creating a pair of sockets for signalling here.
+
+       * g-socthi.adb: Ditto.
+       Set the runtime process to ignore SIGPIPEs on platforms that support
+       neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+
+       * g-socthi-mingw.adb: Ditto.
+       (WS_Version): Use Windows 2.2.
+       Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+
+       * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
+       Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+
+       * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
+       added GNAT byte swapping facility
+       Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
+
+       * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
+
+       * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
+       New subprograms.
+       (__gnat_create_signalling_fds): New subprogram.
+       Set the runtime process to ignore SIGPIPEs on platforms that support
+       neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+
+2007-04-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
+       New version of Ada.Calendar which supports the new upper bound of Ada
+       time (2399-12-31 86_399.999999999).
+       The following modifications have been made to the package:
+        - New representation of time as count of nanoseconds since the start of
+          Ada time (1901-1-1 0.0).
+        - Target independent Split and Time_Of routines which service both
+          Ada 95 and Ada 2005 code.
+        - Target independent interface to the Ada 2005 children of Calendar.
+        - Integrated leap seconds into Ada 95 and Ada 2005 mode.
+        - Handling of non-leap centenial years.
+        - Updated clock function.
+        - Updated arithmetic and comparison operators.
+
+       * a-caldel.adb (To_Duration): Add call to target independent routine in
+       Ada.Calendar to handle the conversion of time to duration.
+
+       * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
+       (UTC Offset).
+       If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
+       set off to 0.
+       (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
+       targets do not have a natural time zone, GMT is used as a default.
+       (__gnat_get_task_options): New.
+
+       * a-direct.adb (Modification_Time): Add with and use clauses for
+       Ada.Calendar and Ada.
+       Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
+       since it is no longer needed.
+       (Duration_To_Time): Removed.
+       (OS_Time_To_Long_Integer): Removed.
+       (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
+       Formatting Time_Of routines which automatically handle time zones,
+       buffer periods and leap seconds.
+
+       * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
+       target independent routines in Ada.Calendar.
+
+       * a-calfor.ads, a-calfor.adb: 
+       Code cleanup and addition of validity checks in various routines.
+       (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
+       Ada.Calendar.
+
+       * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
+       independent routine in Ada.Calendar.
+
+2007-04-06  Olivier Hainque  <hainque@adacore.com>
+
+       * adaint.c: 
+       (convert_addresses): Adjust prototype and dummy definition to expect an
+        extra file_name argument.
+
+       * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
+       filling the now expected file_name argument with the appropriate
+       argv[0] expansion.
+       (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
+       (tracebk): Array of void * instead of char *, corresponding to what
+        convert_addresses expects.
+       (exename): New static global, to hold the executable file name to be
+       used in all convert_addresses invocations.
+       (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
+       change.
+       (__gnat_gmem_a2l_initialize): Resolve exename.
+       (__gnat_convert_addresses): Use exename as the convert_addresses
+       file_name argument.
+
+       * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
+       "convert_addresses", now expecting a filename argument. Import the
+       necessary entities to compute the filename to use and pass it to
+       convert_addresses.
+
+2007-04-06  Matt Gingell  <gingell@adacore.com>
+
+       * system-aix.ads: Back out previous change.
+       (Functions_Return_By_DSP): Removed
+
+2007-04-06  Pascal Obry  <obry@adacore.com>
+
+       * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
+       or the monotonic used by Ada.Real_Time) to compute the sleep duration
+       on Windows.
+
+2007-04-06  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
+       function. Its value changes in different VxWorks versions, and it is
+       now handled by the function __gnat_get_task_options.
+
+       * s-taprop-vxworks.adb (Create_Task): Call the function
+       __gnat_get_task_options to get the required options for creating a task.
+
+2007-04-06  Pascal Obry  <obry@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
+       dealing with filename.
+       (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
+       filename from a standard string to a wide-string depending on the
+       encoding value.
+       (__gnat_freopen): Idem.
+       (__gnat_current_time): New function (wrapper for time(3) standard C
+       function).
+
+       * g-os_lib.ads (Current_Time): New function. Returns the current
+       system time as an OS_Time value.
+
+       * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
+       (Monotonic_Clock): Same.
+
+2007-04-06  Quentin Ochem  <ochem@adacore.com>
+
+       * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
+       not on a natural.
+       (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
+
+2007-04-06  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-retide.adb: Add elaboration code to ensure that the tasking run
+       time is initialized when using delay operations even when no task is
+       created.
+
+2007-04-06  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
+       component Num_Prim_Ops.
+       (Set_Num_Prim_Ops): Removed.
+       Remove all the assertions because all the routines of this
+       package are inline always.
+       (Get_Offset_Index): Add support to primary dispatch tables.
+       Move the documentation about the dispatch table to a-tags.ads
+       (Set_External_Tag): Removed
+       (Inherit_TSD): Removed.
+       (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
+       moved to a-tags.ads
+       (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
+       Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
+       of the TSD field "Table" because this field has been renamed to
+       "Ifaces_Table".
+       (Inherit_CPP_DT): Removed.
+       (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
+       Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
+       declarations have been moved to a-tags.ads
+       (Check_Size): Removed.
+       (Expanded_Name): Updated to get access to the new field of TSD
+       containing the address of the expanded name.
+       (Get_Access_Level/Set_Access_Level): Removed.
+       (Get_Predefined_Prim_Op_Address): Removed.
+       (Set_Predefined_Prim_Op_Address): Removed.
+       (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
+       (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
+       (Set_Expanded_Name): Removed.
+       (Inherit_DT): Removed.
+       (Inherit_CPP_DT): Removed.
+       (Set_RC_Offset): Removed.
+       (Set_TSD): Removed.
+       (Base_Address): New function that displaces "this" to point to the base
+       of the object (that is, to point to the primary tag of the object).
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
+       anonymous access component, do not create a master_id if type already
+       has one, as may happen if the type is a subcomponent of a packed array
+       type.
+       (Build_Init_Procedure, Component_Needs_Simple_Initialization,
+       Initialize_Tag): Remove code associated with the old CPP pragmas.
+       CPP_Virtual and CPP_Vtable are no longer supported.
+       (Build_Offset_To_Top_Internal): Add support for concurrent record types
+       (Build_Offset_To_Top_Functions): Add support for concurrent record types
+       (Freeze_Record_Type): Remove call to
+       Init_Predefined_Interface_Primitives.
+       (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
+       code required to initialize the tags of the secondary dispatch tables.
+       This leaves the algoritm more clear.
+       (Init_Secondary_Tags): Add support for concurrent record types
+       (Make_Predefined_Primitive_Specs): Code cleanup.
+       (Predefined_Primitive_Bodies): Code cleanup.
+       (Build_Master_Renaming): New local subprogram.
+       (Expand_N_Full_Type_Declaration): Build the master_id associated with
+       anonymous access to task type components.
+       (Expand_N_Subtype_Indication): The bounds of a range constraint in a
+       subtype indication are resolved during analysis, and must not be done
+       here.
+       (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
+
+2007-04-06  Geert Bosch  <bosch@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
+       for conversion of a Float_Type'Truncation to integer.
+
+       * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
+       check if a node is an attribute that can be handled directly by the
+       back end.
+       (Expand_N_Attribute_Reference): Suppress expansion of floating-point
+       attributes that can be handled directly by the back end.
+       (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
+       use new predicate Is_Access_Protected_Subprogram_Type.
+       (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
+       and Unchecked_Union if it is generated as part of the default  Output
+       procedure for a type with default discriminants.
+       (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
+       if we are compiling under restriction No_Dispatching_Calls.
+       (Constrained): Use Underlying_Type, in case the type is private without
+       discriminants, but the full type has discriminants.
+       (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
+       call to Build_Get_Access_Level.
+       (Expand_N_Attribute_Reference): The use of 'Address with class-wide
+       interface objects requires a call to the run-time subprogram that
+       returns the base address of the object.
+       (Valid_Conversion): Improve error message on illegal attempt to store
+       an anonymous access to subprogram value into a record component.
+
+       * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
+       null".
+       (Simplify_Type_Conversion): New procedure that performs simplification
+       of Int_Type (Float_Type'Truncation (X)).
+       (Resolve_Type_Conversion): Call above procedure after resolving operand
+       and before performing checks. This replaces the existing ineffective
+       code in Exp_Ch4.
+       (Set_String_Literal_Subtype): When creating the internal static lower
+       bound subtype for a string literal, use a newly created copy of the
+       subtree representing the lower bound.
+       (Resolve_Call): Exclude build-in-place function calls from transient
+       scope treatment. Update comments to describe this exception.
+       (Resolve_Equality_Op): In case of dispatching call check violation of
+       restriction No_Dispatching_Calls.
+       (Resolve_Call): If the call returns an array, the context imposes the
+       component type of the array, and the function has one non-defaulted
+       parameter, rewrite the call as the indexing of a call with a single
+       parameter, to handle an Ada 2005 syntactic ambiguity for calls written
+       in prefix form.
+       (Resolve_Actuals): If an actual is an allocator for an access parameter,
+       the master of the created object is the innermost enclosing statement.
+       (Remove_Conversions): For a binary operator, check if type of second
+       formal is numeric, to check if an abstract interpretation is present
+       in the case of exponentiation as well.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
+       copying a parameter list in a call, set properly the First_Named_Formal
+       and Next_Named_Formal fields in the new list and in the enclosing call.
+       (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
+       names, to ease typing in the debugger. Improve comments.
+       (Watch_Node): New variable, intended to be set in the debugger.
+       (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
+       called when the watched node is created.
+       (New_Node_Debugging_Output): Combined version of local procedures
+       New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
+       with a parameter so that conditional breakpoints like "if Node = 12345"
+       work.
+       (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
+       Add Elist1 function
+
+2007-04-06  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * checks.ads, checks.adb (Selected_Range_Checks): No range check is
+       required for a conversion between two access-to-unconstrained-array
+       types.
+       (Expr_Known_Valid): Validity checks do not apply to discriminants, but
+       to discriminant constraints on discriminant objects. This rule must
+       apply as well to discriminants of protected types in private components.
+       (Null_Exclusion_Static_Checks): If No_Initialization is set on an
+       object of a null-excluding access type then don't require the
+       the object declaration to have an expression and don't emit a
+       run-time check.
+
+2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+           Eric Botcazou <botcazou@adacore.com>
+
+       * gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
+       and made constant.
+
+       * comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
+       Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
+       carry any.
+
+       * fe.h (Compiler_Abort): Add third parameter.
+
+       * misc.c (internal_error_function): Build third argument from current
+       input location and pass it to Compiler_Abort.
+
+2007-04-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * cstand.adb (Create_Standard): When the target's storage unit size is
+       greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
+       Standard_String.
+
+2007-04-06  Nicolas Roche  <roche@adacore.com>
+
+       * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
+       absolute path can have the following form: device:/a/b. In this case
+       '/' should be inserted between the path and the filename.
+
+2007-04-06  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou <botcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
+       VAR_DECL to a CONST_DECL we make for a public constant when we know the
+       corresponding definition has created the so made visible variable.
+       Handle anonymous access to protected subprogram.
+       (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
+       object with an address clause volatile.  Re-enable original fix.
+       <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
+       too.
+       (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
+       associated with either the Equivalent or Root type, instead of the
+       naked type node.
+       (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
+       subtree for every field of a global record type.
+       (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
+       discriminants, invoke again variable_size on its newly computed sizes.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
+       (Next_Component_Or_Discriminant): New function and procedure
+       (First_Index, First_Literal, Master_Id,
+       Set_First_Index, Set_First_Literal, Set_Master_Id):
+       Add missing Ekind assertions.
+       (Is_Access_Protected_Subprogram_Type): New predicate.
+       (Has_RACW): New entity flag, set on package entities to indicate that
+       the package contains the declaration of a remote accecss-to-classwide
+       type.
+       (E_Return_Statement): This node type has the Finalization_Chain_Entity
+       attribute, in case the result type has controlled parts.
+       (Requires_Overriding): Add this new flag, because "requires
+       overriding" is subtly different from "is abstract" (see AI-228).
+       (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
+       Is_Abstract_Type. Make sure these are called only when appropriate.
+       (Has_Pragma_Unreferenced_Objects): New flag
+
+       * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
+       class-wide, the tag of the right-hand side must be an exact match, not
+       an ancestor of that of the object on left-hand side.
+       (Move_Activation_Chain): New procedure to create the call to
+       System.Tasking.Stages.Move_Activation_Chain.
+       (Expand_N_Extended_Return_Statement): Generate code to call
+       System.Finalization_Implementation.Move_Final_List at the end of a
+       return statement if the function's result type has controlled parts.
+       Move asserts to Build_In_Place_Formal.
+       (Move_Final_List): New function to create the call statement.
+       (Expand_N_Assignment_Statement): In case of assignment to a class-wide
+       tagged type, replace generation of call to the run-time subprogram
+       CW_Membership by call to Build_CW_Membership.
+       (Expand_N_Return_Statement): Replace generation of call to the run-time
+       subprogram Get_Access_Level by call to Build_Get_Access_Level.
+       (Expand_N_Simple_Function_Return): Replace generation of call to the
+       run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+
+       * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
+       Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
+       access to protected operations.
+       (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
+       master and chain actual parameters to a build-in-place function call
+       involving tasks.
+       (BIP_Formal_Suffix): Add new enumeration literals to complete the case
+       statement.
+       (Make_Build_In_Place_Call_In_Allocator,
+       Make_Build_In_Place_Call_In_Anonymous_Context,
+       Make_Build_In_Place_Call_In_Assignment,
+       Make_Build_In_Place_Call_In_Object_Declaration): Call
+       Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
+       (Expand_Inlined_Call): If the subprogram is a null procedure, or a
+       stubbed procedure with a null body, replace the call with a null
+       statement without using the full inlining machinery, for efficiency
+       and to avoid invalid values in source file table entries.
+
+       * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
+       renamings of calls to build-in-place functions.
+
+       * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
+       provides the functionality of RTE_Available to record components.
+       (RTU_Entity): The function Entity has been renamed to RTU_Entity
+       to avoid undesired overloading.
+       (Entity): New subprogram that returns the entity for the referened
+       unit. If this unit has not been loaded, it returns Empty.
+       (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
+       Remove no longer used entities.
+       (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
+       (RE_Type_Specific_Data): New entity.
+       (RE_Move_Any_Value): New entity.
+       (RE_TA_A, RE_Get_Any_Type): New entities.
+       (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
+        RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
+        RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
+       (Entity): New subprogram that returns the entity for the referened
+       unit. If this unit has not been loaded, it returns Empty.
+       (RTE): Addition of a new formal that extends the search to the scopes
+       of the record types found in the chain of the package.
+
+       * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
+       "abstract subprograms must be visible" message, whether or not the type
+       is an interface; that is, remove the special case for interface types.
+       (Analyze_Function_Return): Remove error message "return of task objects
+       is not yet implemented" because this is now implemented.
+       (Create_Extra_Formals): Add the extra master and activation chain
+       formals in case the result type has tasks.
+       Remove error message "return of limited controlled objects is not yet
+       implemented".
+       (Create_Extra_Formals): Add the extra caller's finalization list formal
+       in case the result type has controlled parts.
+       (Process_Formals): In case of access formal types there is no need
+       to continue with the analysis of the formals if we already notified
+       errors.
+       (Check_Overriding_Indicator): Add code to check overriding of predefined
+       operators.
+       (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
+       flags for formals that do not require them,.
+       (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
+       hidden entity is use visible or directly visible.
+       (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
+       Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
+       Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
+       New_Overloaded_Entity): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type.
+
+       * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
+       a return statement's finalization list to the caller's list, used for
+       build-in-place functions with result type with controlled parts.
+       Remove no longer used entities.
+
+       * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
+       longer needed, because the full type is now limited, and therefore a
+       pass-by-reference type.
+       (Foreign_Task_Level): New constant.
+
+       * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
+       move tasks from the activation chain belonging to a return statement to
+       the one passed in by the caller, and update the master to the one
+       passed in by the caller.
+       (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
+       of unactivated tasks, so we don't kill the ones that are being returned
+       by a build-in-place function.
+       (Create_Task): Ignore AI-280 for foreign threads.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * errout.adb (Unwind_Internal_Type): Use predicate
+       Is_Access__Protected_Subprogram_Type.
+
+       * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
+       (Freeze_Entity, packed array case): Do not override explicitly set
+       alignment and size clauses.
+       (Freeze_Entity):  An entity declared in an outer scope can be frozen if
+       the enclosing subprogram is a child unit body that acts as a spec.
+       (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
+       (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
+       Remove all code for DSP option
+
+       * layout.adb (Layout_Record_Type): Use First/
+       Next_Component_Or_Discriminant
+       (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
+       to handle properly the anonymous access case.
+
+       * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
+       for all access attributes, because overload resolution should work the
+       same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
+       causes the error message for the ambiguous "X'Access = Y'Access" and
+       "X'Unrestricted_Access = Y'Access" and so forth to match.
+       (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
+       now that anonymous access to protected operations have their own kind.
+       (Resolve_Attribute): In case of dispatching call check the violation of
+       restriction No_Dispatching_Calls.
+       (Check_Array_Type): Check new -gnatyA array index style option
+
+       * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
+       attempt to derive from a synchronized tagged type.
+       (Analyze_Type_Declaration): If there is a incomplete tagged view of the
+       type, inherit the class-wide type already created, because it may
+       already have been used in a self-referential anonymous access component.
+       (Mentions_T): Recognize self-referential anonymous access components
+       that use (a subtype of) the class-wide type of the enclosing type.
+       (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
+       Derived_Type for Prev formal on call to
+       Check_Anonymous_Access_Components rather than Empty.
+       (Make_Incomplete_Type_Declaration): Add test for case where the type has
+       a record extension in deciding whether to create a class-wide type,
+       rather than just checking Tagged_Present.
+       (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
+       to stand-alone object declarations as well as component declarations.
+       (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
+       prevent accidental overwriting when enclosing package appears in
+       a limited_with_clause.
+       (Array_Type_Declaration): If the component type is an anonymous access,
+       the associated_node for the itype is the type declaration itself.
+       (Add_Interface_Tag_Components): Modified to support concurrent
+       types with abstract interfaces.
+       (Check_Abstract_Interfaces): New subprogram that verifies the ARM
+       rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
+       (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
+       to complete the decoration of synchronized interface types. Add also
+       a call to Check_Abstract_Interfaces to verify the ARM rules.
+       (Derive_Interface_Subprograms): Modified to support concurrent types
+       with abstract interfaces.
+       (Analyze_Subtype_Indication): Resolve the range with the given subtype
+       mark, rather than delaying the full resolution depending on context.
+       (Analyze_Component_Declaration,Analyze_Interface_Declaration,
+       Analyze_Object_Declaration,Analyze_Subtype_Declaration,
+       Array_Type_Declaration,Build_Derived_Record_Type,
+       Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
+       Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
+       Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+       called only when appropriate.
+       (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
+       to private type.
+       (Analyze_Subtype_Declaration): For an access subtype declaration, create
+       an itype reference for the anonymous designated subtype, to prevent
+       scope anonmalies in gigi.
+       (Build_Itype_Reference): New utility, to simplify construction of such
+       references.
+
+2007-04-06  Vincent Celier  <celier@adacore.com>
+
+       * errutil.adb (Initialize): Initialize warnings table, if all warnings
+       are suppressed, supply an initial dummy entry covering all possible
+       source locations.
+
+       * make.adb (Scan_Make_Arg): Reject options that should start with "--"
+       and start with only one, such as "-RTS=none".
+       (Collect_Arguments): Do not check for sources outside of projects.
+       Do not collect arguments if project is externally built.
+       (Compile_Sources): Do nothing, not even check if the source is up to
+       date, if its project is externally built.
+       (Compile): When compiling a predefined source, add -gnatpg
+       as the second switch, after -c.
+       (Compile_Sources): Allow compilation of Annex J renames without -a
+       (Is_In_Object_Directory): Check if the ALI file is in the object
+       even if there is no project extension.
+       (Create_Binder_Mapping_File): Only put a unit in the mapping file for
+       gnatbind if the ALI file effectively exists.
+       (Initialize): Add the directory where gnatmake is invoked in front of
+       the path if it is invoked from a bin directory, even without directory
+       information, so that the correct GNAT tools will be used when spawned
+       without directory information.
+
+       * makeusg.adb: Change switch -S to -eS
+       Add lines for new switches -we, -wn and -ws
+       Add line for new switch -p
+
+       * prj-proc.adb (Process): Set Success to False when Warning_Mode is
+       Treat_As_Error and there are warnings.
+
+       * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
+       -gnatww Change gnatmake switch -S to -eS
+       (Scan_Make_Switches): Code reorganisation. Process separately multi
+       character switches and single character switches.
+       (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
+       False when switch is not recognized by gnatmake.
+       (Scan_Make_Switches): Set Setup_Projects True when -p or
+       --create-missing-dirs is specified.
+
+       * fname.adb (Is_Predefined_File_Name): Return True for annex J
+       renamings Calendar, Machine_Code, Unchecked_Conversion and
+       Unchecked_Deallocation only when Renamings_Included is True.
+
+       * par.adb: Allow library units Calendar, Machine_Code,
+       Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
+       when -gnatg is not specified.
+       (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
+       there is no need to generate always a record_definition_node in case
+       of synchronized interface types.
+       (SIS_Entry_Active): Initialize global variable to False
+       (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
+       indicate cases where AI-447 says "not null" is legal.
+
+       * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
+
+       * makegpr.adb (Check_Compilation_Needed): Take into account dependency
+       files with with several lines starting with the object fileb name.
+       (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
+       is specified.
+       (Initialize): Add the directory where gprmake is invoked in front of the
+       path, if it is invoked from a bin directory or with directory
+       information, so that the correct GNAT tools will be used when invoked
+       directly.
+       (Check_Compilation_Needed): Process correctly backslashes on Windows.
+
+       * vms_data.ads: Update switches/qualifiers
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * exp_aggr.adb:
+       If the array component is a discriminated record, the array aggregate
+       is non-static even if the component is given by an aggregate with
+       static components.
+       (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
+       (Convert_Aggr_In_Allocator): If the allocator is for an access
+       discriminant and the type is controlled. do not place on a finalization
+       list at this point. The proper list will be determined from the
+       enclosing object.
+       (Build_Record_Aggr_Code): If aggregate has box-initialized components,
+       initialize record controller if needed, before the components, to ensure
+       that they are properly finalized.
+       (Build_Record_Aggr_Code): For the case of an array component that has a
+       corresponding array aggregate in the record aggregate, perform sliding
+       if required.
+
+2007-04-06  Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
+       run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.
+
+       * exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
+       accessibility on class-wide allocators if the allocator occurs at the
+       same scope level as the allocator's type. The check is guaranteed to
+       succeed in that case, even when the expression originates from a
+       parameter of the containing subprogram.
+       (Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
+       under No_Dispatching_Calls restriction. During the semantic analysis
+       we already notified such violation.
+       (Tagged_Membership): Constant folding. There is no need to check
+       the tag at run-time if the type of the right operand is non
+       class-wide abstract.
+       Replace call to Is_Ancestor by call to Is_Parent
+       to support concurrent types with interface types.
+       (Expand_N_Allocator): Add an assertion associated with the generation
+       of the master_id.
+       (Expand_N_Slice): Do not enable range check to nodes associated
+       with the frontend expansion of the dispatch table.
+       (Is_Local_Access_Discriminant): Subsidiary function to
+       Expand_N_Allocator.
+       (Tagged_Membership): Replace generation of call to the run-time
+       subprogram CW_Membership by call to Build_CW_Membership.
+       (Expand_Allocator_Expression): Replace generation of call to the
+       run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+
+       * exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
+       initialize most the TSD components by means of an aggregate.
+       Modify the declaration of the object containing the TSD
+       because we now expand code that has a higher level of abstraction.
+       The TSD has a discriminant containing the Inheritance Depth Level,
+       value that is used in the membership test but also to fix the size
+       of the table of ancestors.
+       (Expand_Interface_Conversion): Insert function body at the closest place
+       to the conversion expression, to prevent access-before-elaboration
+       errors in the backend.
+       Code improved to reduce the size of the dispatch table if
+       compiling under restriction No_Dispatching_Calls plus code cleanup.
+       Code reorganization plus removal of calls to Set_Num_Prim_Ops
+       (Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
+       (Expand_Dispatching_Call): Minor code reorganization plus addition of
+       code to return immediately if compiling under No_Dispatching_Calls
+       restriction.
+       (Set_All_DT_Position): Remove code associated with the old CPP pragmas.
+       CPP_Virtual and CPP_Vtable are no longer supported.
+       (Expand_Interface_Conversion): Add missing support for interface type
+       derivations.
+       (Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
+       Is_Parent to support concurrent types with interfaces.
+       (Init_Predefined_Interface_Primitives): Removed.
+       (Make_Secondary_DT): Modified to support concurrent record types.
+       (Set_All_DT_Position): Modified to support concurrent record types.
+       (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
+       with Get_External_Tag, Inherit_TSD, Set_External_Tag.
+       (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
+       with CW_Membership.
+       (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
+       with Get_Access_Level, Get_Predefined_Prim_Op_Address,
+       Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
+       Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
+       Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
+       (Expand_Dispatching_Call): Replace generation of call to the run-time
+       subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
+       calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
+       Address.
+       (Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
+       the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
+       Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
+       Build_Set_Prim_Op_Address.
+       (Get_Remotely_Callable): Subprogram removed.
+       (Init_Predefined_Interface_Primitives): Replace generation of call to
+       the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
+       Prims.
+
+       * sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
+       First (Parameter_Associations ()) with the call to First_Actual that
+       returns an actual parameter expression for both named and positional
+       associations.
+
+       * sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
+       check violation of restriction No_Dispatching_Calls.
+       (Check_Controlling_Type): A formal of a tagged incomplete type is a
+       controlling argument.
+
+       * exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
+       First/Next_Component_Or_Discriminant
+       (Insert_Actions): Add entries for new N_Push and N_Pop nodes
+       (Find_Implemented_Interface): Removed. All the calls to this subprogram
+       specify Any_Limited_Interface, and this functionality is already
+       provided by the function Has_Abstract_Interfaces.
+       (Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
+       support concurrent types implementing interfaces.
+       (Find_Implemented_Interface): Removed. All the calls to this subprogram
+       specify kind Any_Limited_Interface, and this functionality is already
+       provided by the function Has_Abstract_Interfaces.
+       (Remove_Side_Effects): replace Controlled_Type by
+       CW_Or_Controlled_Type whenever the issue is related to
+       using or not the secondary stack.
+
+       * par-ch12.adb (P_Formal_Type_Definition): Update calls to
+       P_Interface_Type_Definition to fulfill the new interface (the formal
+       Is_Synchronized is no longer required).
+
+       * Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
+       Update dependencies.
+
+       * exp_atag.ads, exp_atag.adb: New file
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Cyrille Comar  <comar@adacore.com>
+
+       * exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
+       anonymous, use finalization list of enclosing dynamic scope.
+       (Expand_N_Package_Declaration): For a library package declaration
+       without a corresponding body, generate RACW subprogram bodies in the
+       spec (just as we do for the task activation call).
+       (Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
+       Is_Abstract_Type. Make sure these are called only when appropriate.
+       Remove all code for DSP option
+       (CW_Or_Controlled_Type): new subprogram.
+
+2007-04-06  Eric Botcazou <botcazou@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
+       parameter. If it is set to true, return a result capped according to
+       the global upper bound for the index of an entry family.
+       (Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
+       (Build_Find_Body_Index): Adjust for above change.
+       (Entry_Index_Expression): Likewise.
+       (Is_Potentially_Large_Family): New function extracted from...
+       (Collect_Entry_Families): ...here. Call it to detect whether the family
+       is potentially large.
+       (Build_Entry_Count_Expression): If the family is potentially large, call
+       Family_Size with 'Cap' set to true.
+       (Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
+       a protected version of an operation declared in the private part of
+       a protected object, because they may be invoked through a callback.
+       (Set_Privals): If the type of a private component is an anonymous access
+       type, do not create a new itype for each protected body.
+       If the body of a protected operation creates
+       controlled types (including allocators for class-widetypes), the
+       body of the corresponding protected subprogram must include a
+       finalization list.
+       (Build_Activation_Chain_Entity): Build the chain entity for extended
+       return statements.
+       (Type_Conformant_Parameters): Use common predicate Conforming_Types
+       to determine whether operation overrides an inherited primitive.
+       (Build_Wrapper_Spec): Add code to examine the parents while looking
+       for a possible overriding candidate.
+       (Build_Simple_Entry_Call): Set No_Initialization on the object used to
+       hold an actual parameter value since its initialization is separated
+       from the the declaration. Prevents errors on null-excluding access
+       formals.
+
+2007-04-06  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
+       Do an Unchecked_Conversion to handle the passage from the Underlying
+       Type to the Base Type when calling Build_To_Any_Call and
+       Build_From_Any_Call.
+       (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
+       E_Constant, depending upon Variable formal.
+       (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+       PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
+       parameter that requires an extra constrained parameter, declare
+       temporary for actual as a variable, not a constant.
+       (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
+       the unit being compiled is the one that contains the stub type.
+       Change primitive operation name for the RACW associated with a RAS
+       from Call to _Call so it cannot clash with any legal identifier.
+       (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
+       Is_RAS.
+       (Append_RACW_Bodies): New subprogram.
+       (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
+       Add_Receiving_Stubs_To_Declarations functions.
+       When expanding a package body, this list correspond to the
+       statements in the HSS at the end of the pacakge.
+       When expanding a package spec, this list correspond to the
+       spec declarations.
+       (Add_Receiving_Stubs_To_Declarations): Append the function
+       registering the receiving stubs at the end of the 'Stmts' list.
+       (RCI_Package_Locator): Pass the new Version generic formal when
+       instantiating a RCI_Locator package.
+       (Build_From_Any_Function): To compute the High bound for an
+       unconstrained array actual, we add the Low bound with the length.
+       Thus we must convert the low bound and the length to an appropriate
+       type before doing the sum.
+       (Build_Subprogram_Receiving_Stubs, PolyORB):
+        * Retrieve the extra formals parameters at the
+          end of the parameter stream.
+        * Use Move_Any_Value to write back out parameters
+          after executing the request as it is more efficient
+          than Copy_Any_Value.
+        * Build the any containing Extra Formals with the
+          appropriate typecode.
+       (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
+       empty Component_List.
+       (Build_Actual_Object_Declaration): New subprogram. Build and insert into
+       the tree the declaration for an object that serves as actual parameter
+       in server-side stubs.
+       (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+       PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+       Use Build_Actual_Object_Declaration to prepare the actuals.
+       (Add_Parameter_To_NVList): Set the parameter mode to In for
+       Extra Constrained Parameters.
+       (Build_General_Calling_Stubs): Set the parameter type to boolean for
+       Extra Constrained parameters.
+       (Build_To_Any_Function, Build_From_Any_Function,
+       Built_TypeCode_Function): When Typ is implicit, call the correct
+       function with the first not implicit parent type.
+       (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
+       (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
+       typecode from the Etype. Therefore we retrieve the correct typecode
+       with a call to Get_Any_Type.
+       (Copy_Specification): Do controlling formal type substitution based on
+       Is_Controlling_Formal flag, instead of caller-provided object type.
+       (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
+       a RACW primitive operation, we might get a subprogram declaration for an
+       ancestor of the RACW designated type (not for the designated type
+       itself), in the case where this operation is inherited. In this case we
+       have no easy means of determining the original tagged type for which
+       the primitive was declared, so instead we now rely on
+       Copy_Specification to use the Is_Controlling_Formal flag to determine
+       which formals require type substitution.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
+       GNAT.Current_Exception are not allowed if pragma Restrictions
+       (No_Exception_Propagation) is set and in any case make the associated
+       handler unsuitable as a target for a local raise statement.
+       (Expand_Dispatching_Constructor_Call): Replace generation of call to the
+       run-time subprogram CW_Membership by call to Build_CW_Membership.
+       (Expand_Dispatching_Constructor_Call): If the dispatching tag is given
+       by a function call, a temporary must be created before expanding the
+       Constructor_Call itself, to prevent out-of-order elaboration in the
+       back-end when stack checking is enabled..
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
+       result are the bounds of the left operand, not the right.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_strm.adb
+       (Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
+        discriminant defaults.
+       (Build_Record_Or_Elementary_Output_Procedure): Ditto.
+       (Make_Component_List_Attributes): Ditto.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
+       an association with a box as providing a value even though the
+       initialization procedure for the type is not available.
+       (Resolve_Record_Aggregate): Check that a choice of an association with a
+       box corresponds to a component of the type.
+       (Resolve_Record_Aggregate): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type.
+
+       * exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
+       assert.
+
+       * inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+       called only when appropriate.
+
+2007-04-06  Olivier Hainque  <hainque@adacore.com>
+
+       * g-alleve.ads (Low Level Vector type definitions): Map each to the
+       associated vector view instead of all to the unsigned char view.
+
+       * g-altcon.adb (Generic_Conversions): New internal generic package,
+       offering facilities for all the Vector/View conversion routines
+       implemented by this unit.
+       (To_View/To_Vector - all versions): Reimplemented in a systematic
+       manner, using the internal Generic_Conversions facilities.
+
+2007-04-06  Pascal Obry  <obry@adacore.com>
+
+       * g-arrspl.adb (Free) [Element_Access]: New routine to free the source
+       string.
+       (Create): Free the source string before storing the new one.
+
+2007-04-06  Vincent Celier  <celier@adacore.com>
+
+       * g-debpoo.adb (Validity): New package with a complete new
+       implementation of subprograms Is_Valid and Set_Valid.
+       (Is_Valid): Move to local package Validity
+       (Set_Valid): Move to local package Validity
+
+2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * g-expect.adb (Get_Command_Output): When expanding the output buffer
+       we must ensure that there is enough place for the new data we are going
+       to copy in.
+
+2007-04-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
+       computation.
+
+2007-04-06  Jose Ruiz  <ruiz@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (B_Start): Add prefix of binder generated file.
+       (Stack_String): Add this String that contains the name of the Stack
+       package in the project file.
+       (Packages_To_Check_By_Stack): Add this list that contains the packages
+       to be checked by gnatstack, which are the naming and the stack packages.
+       (Check_Files): If no .ci files were specified for gnatstack we add all
+       the .ci files belonging to the projects, including binder generated
+       files.
+       (Non_VMS_Usage): Document that gnatstack accept project file switches.
+       (GNATCmd): Update the B_Start variable if we are in a VMS environment.
+       Add gnatstack to the list of commands that use project file related
+       switches, and get the single attribute Switches from the stack package
+       in a project file when calling gnatstack. Parse the -U flag for
+       processing files belonging to all projects in the project tree.
+       Remove all processing for command Setup
+
+       * prj-attr.adb: Add new package Stack with single attribute Switches
+
+       * vms_conv.ads (Command_Type): Add command Stack.
+       Move to body declarations that are only used in the body: types Item_Id,
+       Translation_Type, Item_Ptr, Item and its subtypes.
+
+       * vms_conv.adb: (Initialize): Add data for new command Stack.
+       Add declarations moved from the spec: types Item_Id, Translation_Type,
+       Item_Ptr, Item and its subtypes.
+       (Cargs_Buffer): New table
+       (Cargs): New Boolean global variable
+       (Process_Buffer): New procedure to create arguments
+       (Place): Put character in table Buffer or Cargs_Buffer depending on the
+        value of Cargs.
+       (Process_Argument): Set Cargs when processing qualifiers for GNAT
+       COMPILE
+       (VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
+       empty, for table Cargs_Buffer.
+       (Initialize): Remove component Setup in Command_List
+
+2007-04-06  Vincent Celier  <celier@adacore.com>
+
+       * gprep.adb (Process_Files.Process_One_File): Use full file name when
+       issuing pragma Source_Reference.
+
+2007-04-06  Emmanuel Briot  <briot@adacore.com>
+
+       * g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
+       [[:xdigit:]] character class.
+       Also raise an exception when an invalid character class is used.
+
+2007-04-06  Pascal Obry  <obry@adacore.com>
+
+       * i-cstrea.ads: (fopen): Add encoding parameter.
+       (freopen): Idem.
+       Change reference from a-sysdep.c to sysdep.c in comment.
+       Update copyright notice.
+       This set of patch add support for the encoding form parameter.
+
+       * mingw32.h (S2WSU): New macro to convert from a string to a
+       wide-string using the UTF-8 encoding. The S2WS macro supports now only
+       standard 8bits encoding.
+       (WS2SU): As above but converting from wide-sring to string.
+       This is needed as it is necessary to have access to both versions in the
+       runtime for the form parameter encoding support.
+       This set of patch add support for the encoding form parameter.
+       (S2WS): Improve implementation to handle cases where the filename is not
+       UTF-8 encoded. In this case we default to using the current code page
+       for the conversion.
+
+       * s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
+       type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
+       the constants defined in adaint.h.
+       (fopen): Add encoding parameter.
+       (freopen): Idem.
+
+       * s-ficobl.ads (AFCB): Add Encoding field to record the filename
+       encoding. This is needed for the Reset routine (freopen low level-call).
+
+       * s-fileio.adb (Open): Decode encoding form parameter and set the
+       corresponding encoding value into AFCB structure.
+       (Reset): Pass the encoding value to freopen.
+       (Close): Move the call to Lock_Task to the beginning of the procedure.
+
+2007-04-06  Geert Bosch  <bosch@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * i-fortra.ads: Add Double_Complex type.
+
+       * impunit.adb: (Is_Known_Unit): New function
+       Add Gnat.Byte_Swapping
+       Add GNAT.SHA1
+       Add new Ada 2005 units
+       Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
+       Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
+       Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
+       Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays
+
+       * impunit.ads (Is_Known_Unit): New function
+
+       * a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
+       a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
+       a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
+       g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
+       s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
+       s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
+       New files.
+
+       * Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio
+
+       * a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.
+
+2007-04-06  Eric Botcazou <botcazou@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
+       __gnat_adjust_context_for_raise.
+       (__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
+       implementation of floating point operations as native x86 targets.
+       So the FPU should be initialized in the same way using finit. Fix
+       floating point operations accuracy issues.
+       (__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
+       member in struct sigaction, so as to avoid warning for incompatible
+       pointer types.
+
+2007-04-06 Serguei Rybin <rybin@adacore.com>
+
+       * lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
+       switches from previously loaded tree
+
+2007-04-06  Thomas Quinot  <quinot@adacore.com>
+
+       * lib-writ.adb (Write_With_Lines): Factor duplicated code between the
+       cases where a given dependency has a body or not.
+       (Write_With_File_Names): New subprogram, common code for the two cases
+       above.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * lib-xref.ads, lib-xref.adb: 
+       Modify the loop that collects type references, to include interface
+       types that the type implements. List each of these interfaces when
+       building the entry for the type.
+       (Generate_Definition): Initialize component Def and Typ of new entry
+       in table Xrefs, to avoid to have these components unitialized.
+       (Output_References): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type.
+       (Generate_Reference): Add barrier to do not generate the warning
+       associated with Ada 2005 entities with entities generated by the
+       expander.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
+       Update 'Exception Handling Control' chapter which was outdated.
+       Minor fix to documentation of -gnatwq
+       Remove section "Adapting the Run Time to a New C++ Compiler" because
+       it is now obsolete.
+       Add passage on need of -nostart-files in some non-ada-main cases.
+       Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
+       Update documentation about Interfacing with C++
+       Add documentation for new gnatmake switch -p
+       Add missing protocol part in URLs.
+       Document -gnatyA
+       Document pragma Compile_Time_Error
+       Add documentation for Object_Size indicating that stand alone
+       objects can have a larger size in some cases.
+       Add node for GNAT.Byte_Swapping, GNAT.SHA1
+       Update reference to the Ravenscar profile.
+       Document pragma Unreferenced_Objects
+
+       * gnat-style.texi: Fix typo
+
+2007-04-06  Vincent Celier  <celier@adacore.com>
+
+       * mlib.adb (Building_Library): Only output "building a library..." in
+       verbose mode
+
+       * mlib-prj.adb (Build_Library): Only output lists of object and ALI
+       files in verbose mode.
+
+       * mlib-utl.adb (Ar): Only output the first object files when not in
+       verbose mode.
+       (Gcc): Do not display all the object files if not in verbose mode, only
+       the first one.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+
+       * namet.ads, namet.adb (wn): Improve this debugging routine. Calling
+       it no longer destroys the contents of Name_Buffer or Name_Len and
+       non-standard and invalid names are handled better.
+       (Get_Decoded_Name_String): Improve performance by using
+       Name_Has_No_Encodings flag in the name table.
+       (Is_Valid_Name): New function to determine whether a Name_Id is valid.
+       Used for debugging printouts.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
+       (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
+       there is no need to generate always a record_definition_node in case
+       of synchronized interface types.
+       (P_Type_Declaration): Update calls to P_Interface_Type_Definition.
+       (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
+       illegal in Ada 95, in cases where it is legal. Change the warnings to
+       errors in other cases. Don't give the error unless the "not null"
+       parses properly. Correct the source position at which the error occurs.
+       (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
+       P_Null_Exclusion, to suppress "not null" warnings.
+       (P_Identifier_Declarations): Code cleanup. Removed unrequired label and
+       associated goto statements.
+
+       * par-endh.adb (Pop_End_Context): Allow more flexibility in placement
+       of END RECORD
+
+       * scans.ads (Type_Token_Location): New flag
+
+       * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
+       (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
+       P_Null_Exclusion, to suppress "not null" warnings.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
+       (Extensions_Allowed): No longer sets Ada_Version
+       Entry for pragma Unreferenced_Objects
+
+       * sem_prag.adb (Analyze_Pragma, case Priority): Force with of
+       system.tasking if pragma priority used in a procedure
+       (Analyze_Pragma, case Warning): Handle dot warning switches
+       (Process_Compile_Time_Warning_Or_Error): New procedure
+       (Analyze_Pragma): Add processing for Compile_Time_Error
+       Add support for extra arguments External_Name and Link_Name.
+       Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
+       (Process_Import_Or_Interface): Add support for the use of pragma Import
+       with tagged types.
+       (Extensions_Allowed): No longer affects Ada_Version
+       (Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
+       Is_Abstract_Type. Make sure these are called only when appropriate.
+       Add processing for pragma Unreferenced_Objects
+
+       * snames.h, snames.ads, snames.adb: Add entry for pragma
+       Compile_Time_Error
+       Add new standard name Minimum_Binder_Options for new gprmake
+       Add new standard names for gprmake: Archive_Suffix,
+       Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
+       Library_Support, Library_Version_Options,
+       Shared_Library_Minimum_Options,
+       Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
+       Change Name_Call to Name_uCall so that it cannot clash with a legal
+       subprogram name.
+       Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
+       Append C_Plus_Plus to convention identifiers as synonym for CPP
+       Add new standard names Stack and Builder_Switches
+       Add new standard names: Compiler_Minimum_Options, Global_Config_File,
+       Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
+       Run_Path_Option, Toolchain_Version.
+       Entry for pragma Unreferenced_Objects
+
+       * switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
+       switches, without repetition of "eD". Make sure that last character of
+       -gnatep= switch is not taken as -gnat switch character.
+       Complete rewrite of circuit for handling saving compilation options
+       Occasioned by need to support dot switchs for -gnatw, but cleans up
+       things in general.
+       -gnatX does not affect Ada_Version
+       Include -gnatyA in -gnatg style switches
+
+       * sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
+       warnings on return objects.
+       (Warn_On_Useless_Assignment): Exclude warnings on return objects
+       (Set_Dot_Warning_Switch): New procedure
+       (Check_References): Add missing case of test for
+       Has_Pragma_Unreferenced_Objects
+       (Output_Unreferenced_Messages): Implement effect of new pragma
+       Unreferenced_Objects, remove special casing of limited controlled
+       variables.
+
+2007-04-06  Vincent Celier  <celier@adacore.com>
+
+       * prj-ext.adb (Initialize_Project_Path): New procedure that initialize
+       the default project path, initially done during elaboration of the
+       package.
+       If the prefix returned by Sdefault is null, get the prefix from a call
+       to Executable_Prefix_Path.
+       (Project_Path): Call Initialize_Project_Path if Current_Project_Path is
+       null.
+
+       * prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
+       canonical directory name to open the directory from which files are
+       retrieved.
+       (Record_Other_Sources): Idem.
+       (Locate_Directory): Add the possibility to create automatically missing
+       directories when Setup_Projects is True.
+       Call Locate_Directory so that the directory will be created when
+       Setup_Projects is True, for object dir, library dir, library ALI dir,
+       library source copy dir and exec dir.
+
+       * prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
+       versions of GNAT.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
+       Use First/Next_Component_Or_Discriminant
+       (Analyze_Record_Representation_Clause):
+       Use First/Next_Component_Or_Discriminant
+       (Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
+       (Analyze_Attribute_Definition_Clause, case Value_Size): Reject
+       definition if type is unconstrained.
+       (Adjust_Record_For_Reverse_Bit_Order): New procedure
+       (Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type.
+       (Adjust_Record_For_Reverse_Bit_Order): New procedure
+
+       * repinfo.adb (List_Record_Info): Use First/
+       Next_Component_Or_Discriminant.
+
+       * style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
+       New procedure.
+
+       * stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
+       Include -gnatyA in default switches
+
+       * opt.ads: (Warn_On_Non_Local_Exception): New flag
+       (Warn_On_Reverse_Bit_Order): New flag
+       (Extensions_Allowed): Update the documentation.
+       (Warn_On_Questionable_Missing_Parens): Now on by default
+
+       * usage.adb: Add documentation of -gnatw.x/X switches
+       Document new -gnatyA style switch
+       -gnatq warnings are on by default
+
+2007-04-06  Ed Falis  <falis@adacore.com>
+
+       * s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
+       full word is no longer compared twice.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Install_Limited_Context_Clauses.
+       Expand_Limited_With_Clause): Use a new copy of selector name in the
+       call to Make_With_Clause. This fixes the tree structure for ASIS
+       purposes. Nothing is changed in the compiler behaviour.
+       (Process_Body_Clauses): Handle properly use clauses whose prefix is
+       a package renaming.
+       (Install_Limited_With_Clauses): Do not install non-limited view when it
+       is still incomplete.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
+       when capturing size information, instead of base type, which for a
+       formal array type will be the unconstrained type.
+       (Analyze_Formal_Object_Declaration): Add check for illegal default
+       expressions for a formal in object of a limited type.
+       (Instantiate_Object): Ditto.
+       (Check_Formal_Package_Instance): Skip entities that are formal objects,
+       because they were defaulted in the formal package and no check applies
+       to them.
+       (Check_Formal_Package_Instance): Extend conformance check to other
+       discrete types beyond Integer.
+       (Process_Default): Copy directly the unmatched formal. A generic copy
+       has already been performed in Analyze_Formal_Package.
+       (Analyze_Associations): If a formal subprogram has no match, check for
+       partial parametrization before looking for a default, to prevent
+       spurious errors.
+       (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
+       not set the instantiation environment before analyzing the actuals.
+       Fixes regression on 8515-003 with implementation of AI-133.
+       Set_Instance_Env checks whether the generic unit is a predefined
+       unit, in which case the instance must be analyzed with the latest Ada
+       mode. This setting must take place after analysis of the actuals,
+       because the actuals must be analyzed and frozen in the Ada mode extant
+       outside of the current instantiation.
+       (Save_Env, Restore_Env): Preserve and restore the configuration
+       parameters so that predefined units can be compiled in the proper Ada
+       mode.
+       (Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
+       Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
+       and Is_Abstract_Type.
+       (Analyze_Formal_Package): For better error recovery, Add exception
+       handler to catch Instantion_Error, which can be raised in
+       Analyze_Associations
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
+       prefix type is a discriminated subtype of the type of the formal.
+       (Analyze_Allocator): Collect all coextensions regardless of the context.
+       Whether they can be allocated statically is determined in exp_ch4.
+       (Analyze_Selected_Component): If the prefix is a limited view and the
+       non-limited view is available, use the non-limited one.
+       (Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
+       therefore illegal), suggest a qualified expression rather than a type
+       conversion, because a type conversion would be illegal in this context.
+       (Anayze_Allocator): Trace recursively all nested allocators so that all
+       coextensions are on the corresponding list for the root. Do no mark
+       coextensions if the root allocator is within a declaration for a stack-
+       allocated object, because the access discriminants will be allocated on
+       the stack as well.
+       (Analyze_Call): Remove restriction on calls to limited functions for the
+       cases of generic actuals for formal objects, defaults for formal objects
+       and defaults for record components.
+       (Analyze_Allocator): Before analysis, chain coextensions on the proper
+       element list. Their expansion is delayed until the enclosing allocator
+       is processed and its finalization list constructed.
+       (Try_Primitive_Operation): If the prefix is a concurrent type, looks
+       for an operation with the given name among the primitive operations of
+       the corresponding record type.
+       (Analyze_Selected_Component): If the prefix is a task type that
+       implements an interface, and there is no entry with the given name,
+       check whether there is another primitive operation (e.g. a function)
+       with that name.
+       (Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
+       properly the indexing of a function call written in prefix form, where
+       the function returns an array type, and all parameters of the function
+       except the first have defaults.
+       (Analyze_Equality_Op): If this is a call to an implicit inequality, keep
+       the original operands, rather than relocating them, for efficiency and
+       to work properly when an operand is overloaded.
+       (Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
+       Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
+       (Analyze_Selected_Component): If the prefix is a private extension, only
+       scan the visible components, not those of the full view.
+       (Try_Primitive_Operation): If the operation is a procedure, collect all
+       possible interpretations, as for a function, because in the presence of
+       classwide parameters several primitive operations of the type can match
+       the given arguments.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
+       tag-indeterminate call to an abstract function, when the left-hand side
+       is not classwide.
+       (Analyze_Loop_Statement): Improve detection of infinite loops
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
+       out of Analyze_Package_Declaration, because processing must be applied
+       to package bodies as well, for deferred constants completed by pragmas.
+       (Analyze_Package_Declaration): When the package declaration being
+       analyzed does not require an explicit body, call Check_Completion.
+       (May_Need_Implicit_Body): An implicit body is required when a package
+       spec contains the declaration of a remote access-to-classwide type.
+       (Analyze_Package_Body): If the package contains RACWs, append the
+       pending subprogram bodies generated by exp_dist at the end of the body.
+       (New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type.
+       (Preserve_Full_Attributes): The full entity list is not an attribute
+       that must be preserved from full to partial view.
+
+        * sem_dist.adb (Add_RAS_Dereference_TSS):
+        Change primitive name to _Call so it cannot clash with any legal
+        identifier, and be special-cased in Check_Completion.
+        Mark the full view of the designated type for the RACW associated with
+        a RAS as Comes_From_Source to get proper view switching when installing
+        private declarations.
+        Provite a placeholder nested package body along with the nested spec
+        to have a place for Append_RACW_Bodies to generate the calling stubs
+        and stream attributes.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb (Has_Components): If the argument is an incomplete type
+       that is a limited view, check the non-limited view if available.
+       (Undefined): Refine error message for missing with of Text_IO
+       (Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
+       to distinguish real missing with cases.
+       Fix format of all missing with messages
+       (Analyze_Subprogram_Renaming): Emit proper error message on illegal
+       renaming as body when renamed entity is abstract.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
+       predicate recursive, to handle complex expressions on literals whose
+       spurious ambiguity comes from the abstract interpretation of some
+       subexpression.
+       (Interface_Present_In_Ancestor): Add support to concurrent record
+       types.
+       (Add_One_Interp,Disambiguate): Split Is_Abstract flag into
+       Is_Abstract_Subprogram and Is_Abstract_Type.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
+       dereference of a local object R created as a reference to another
+       object O, use the access level of O.
+       (Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
+       rather than local Same_Formal_Type, to check whether protected operation
+       overrides an inherited one.
+       (Same_Formal_Type): New predicate, used when matching signatures of
+       overriding synchronized operations, to handle the case when a formal
+       has a type that is a generic actual.
+       (Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
+       predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
+       (Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
+       syntactic ambiguities involving indexing of function calls that return
+       arrays.
+       (Abstract_Interface_List): New subprogram that returns the list of
+       abstract interfaces associated with a concurrent type or a
+       concurrent record type.
+       (Interface_Present_In_Parent): New subprogram used to check if a
+       given type or some of its parents implement a given interface.
+       (Collect_Abstract_Interfaces): Add support for concurrent types
+       with interface types.
+       (Has_Abstract_Interfaces): Add support for concurrent types with
+       interface types.
+       (Is_Parent): New subprogram that determines whether E1 is a parent
+       of E2. For a concurrent type its parent is the first element of its
+       list of interface types; for other types this function provides the
+       same result than Is_Ancestor.
+       (Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
+       (Collect_Synchronized_Interfaces): Removed because the subprogram
+       Collect_Abstract_Interfaces provides this functionality.
+       (Collect_Abstract_Interfaces): Minor update to give support to
+       concurrent types and thus avoid undesired code duplication.
+       (Get_Subprogram_Entity): Handle entry calls.
+       (May_Be_Lvalue): Include actuals that appear as in-out parameters in
+       entry calls.
+       (Enter_Name): Do not give -gnatwh hiding warning for record component
+       entities, they never result in hiding.
+
+2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
+       to chain nested components that are allocators for access discriminants
+       of the enclosing object.
+       Add N_Push and N_Pop nodes
+       New field Exception_Label added
+       (Local_Raise_Statements): New field in N_Exception_Handler_Node
+       (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
+       (Is_Coextension): New flag for allocators, to mark allocators that
+       correspond to access discriminants of dynamically allocated objects.
+       (N_Block_Statement): Document the fact that the corresponding entity
+       can be an E_Return_Statement.
+       (Is_Coextension): New flag for allocators.
+       Remove all code for DSP option
+
+       * sprint.ads, sprint.adb: Display basic information for class_wide
+       subtypes. Add handling of N_Push and N_Pop nodes
+
+2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
+       before propagating exception.
+
+2007-04-06  Olivier Hainque  <hainque@adacore.com>
+
+       * tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
+       an address always within the call instruction from a return address.
+
+2007-04-06  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou <botcazou@adacore.com>
+
+       * trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
+       expression with a COMPOUND_EXPR including the call instead of emitting
+       the call directly here.
+       (gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
+       high bound is constant and the slice is empty.  Tidy.
+       (tree_transform, case N_Op_Not): Handle properly the case where the
+       operation applies to a private type whose full view is a modular type.
+       (Case_Statement_To_gnu): If an alternative is an E_Constant with an
+       Address_Clause, use the associated Expression as the GNAT tree
+       representing the choice value to ensure the corresponding GCC tree is
+       of the proper kind.
+       (maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
+       instead of just the operands, as the base GCC stabilize_reference does.
+       <CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
+       requested; otherwise fail.
+       (addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.
+
+2007-04-06  Thomas Quinot  <quinot@adacore.com>
+
+       * uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
+       implementation of UI_Div.
+       (UI_Div): Reimplement as a call to UI_Div_Rem.
+       (UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
+       remainder, avoiding the cost of a multiplication and a subtraction.
+       (UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
+       provides both quotient and remainder in a single computation.
+       (UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
+       functions for uint.
+       (UI_Modular_Inverse): Add a note that the behaviour of this subprogram
+       is undefined if the given n is not inversible.
+
+2007-04-06  Olivier Hainque  <hainque@adacore.com>
+
+       * utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
+       BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
+       opcodes.
+
+2007-04-06  Eric Botcazou <botcazou@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
+       when updating the contents of the old pointer to an unconstrained array.
+       (end_subprog_body): Set error_gnat_node to Empty.
+       (write_record_type_debug_info): Do not be unduly sparing with our bytes.
+       (unchecked_convert): For subtype to base type conversions, require that
+       the source be a subtype if it is an integer type.
+       (builtin_decls): New global, vector of available builtin functions.
+       (gnat_pushdecl): Add global builtin function declaration nodes to the
+       builtin_decls list.
+       (gnat_install_builtins): Adjust comments.
+       (builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
+       calling gnat_pushdecl, so that it knows when it handed a builtin
+       function declaration node.
+       (builtin_decl_for): Search the builtin_decls list.
+
+2007-04-06  Eric Botcazou <botcazou@adacore.com>
+
+       * s-stchop-vxworks.adb: 
+       (Stack_Check): Raise Storage_Error if the argument has wrapped around.
+
+2007-04-06  Robert Dewar  <dewar@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * a-diroro.ads: Inserted the pragma Unimplemented_Unit
+
+       * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
+       of files
+       Add mention of -Sev (set initialize_scalars option from environment
+       variable at run time) in gnatbind usage message.
+
+       * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
+
+       * fname-uf.ads: Minor comment fix
+
+       * osint.ads: Change pragma Elaborate to Elaborate_All
+
+       * par-load.adb: Add documentation.
+
+       * sem_cat.ads, sem_cat.adb: Minor code reorganization
+
+       * s-parint.ads (RCI_Locator) : Add 'Version' generic formal
+
+       * s-secsta.ads: Extra comments
+
+       * s-soflin.ads: Minor comment fixes
+
+       * s-stratt.ads (Block_Stream_Ops_OK): Removed.
+
+       * s-wchcon.ads: Minor comment addition
+
+       * treepr.adb: Minor change in message
+       (Print_Name,Print_Node): Make these debug printouts more robust: print
+       "no such..." instead of crashing on bad input.
+
+2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
+
+       * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
+       instead of gnat_signed_or_unsigned_type.
+       * utils.c (gnat_signed_or_unsigned_type): Remove.
+       * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
+       * gigi.h (gnat_signed_or_unsigned_type): Remove
+
+2007-03-09  Roger Sayle  <roger@eyesopen.com>
+
+       * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
+       fold with the result of buildN.
+       * decl.c (gnat_to_gnu_entity): Likewise.
+       * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
+       * utils.c (finish_record_type, merge_sizes, max_size, convert):
+       Likewise.
+       * utils2.c (gnat_truthvalue_conversion, compare_arrays,
+       nonbinary_modular_operation, build_binary_op, build_unary_op,
+       build_cond_expr): Likewise.
+
+       * utils.c (convert): Use fold_build1 when casting values to void.
+       * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
+       fold_convert instead of convert when appropriate.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Make-lang.in: Add install-pdf target as copied from
+       automake v1.10 rules.
+
+2007-02-28  Andreas Schwab  <schwab@suse.de>
+
+       * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
+       $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
+       (doc/gnat-style.info): Likewise.
+
+2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gnat-style.texi: Standardize title page.
+       * gnat_rm.texi: Likewise.
+       * gnat_ugn.texi: Likewise.
+
+2007-02-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (annotate_value): Adjust for refactoring of tree_map
+       hierarchy.
+
+2007-02-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (annotate_value): Adjust for refactoring of tree_map
+       hierarchy.
+
+2007-02-21  Ed Schonberg  <schonberg@adacore.com>
+
+       PR ada/18819
+       * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
+       untagged derived type, add hidden components to keep discriminant
+       layout consistent, when a given discriminant of the derived type
+       constraints several discriminants of the parent type.
+
+2007-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       * trans.c (call_to_gnu):  Use build_call_list instead of build3 to
+       build the call expression.
+       (gnat_stabilize_reference_1): Handle tcc_vl_exp.
+       * utils.c (max_size) <tcc_exceptional>: Delete.
+       <tcc_vl_exp>: New case.
+       <tcc_expression>: Delete CALL_EXPR subcase.
+       (build_global_cdtor): Use build_call_nary instead of build3.
+       * utils2.c (build_call_1_expr): Likewise.
+       (build_call_2_expr): Likewise.
+       (build_call_0_expr): Likewise.
+       (build_call_alloc_dealloc): Likewise.
+
+2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+       get_action_description_for): Replace _Unwind_Word with _uleb128_t 
+       and _Unwind_SWord with _sleb128_t.
+
+2007-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
+       * decl.c: Include gt-ada-decl.h.
+       (annotate_value_cache): New.
+       (annotate_value): Use it instead of TREE_COMPLEXITY.
+
+2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * misc.c, utils2.c: Fix comment typos.
+
+2007-01-24  Roger Sayle  <roger@eyesopen.com>
+
+       * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
+       TREE_CONSTANT_OVERFLOW.
+       (allocatable_size_p, annotate_value): Likewise.
+       * trans.c (gnat_to_gnu): Likewise.
+       * utils.c (unchecked_convert): Likewise.
+       * utils2.c (build_simple_component_ref): Likewise.
+
+2007-01-23  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/30541
+       * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
+       (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
+       (gnatboot3): Likewise.
+       (GNATBIND): Do not define.
+       * Makefile.in (GNATBIND): Do not define.
+
+2007-01-08  Richard Guenther  <rguenther@suse.de>
+
+       * cuintp.c (build_cst_from_int): Use built_int_cst_type.
+       * trans.c (gnat_to_gnu): Likewise.
+
+2006-12-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
+       * adaint.c: Likewise.
+
+2006-12-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       Merge from gimple-tuples-branch:
+       2006-11-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * ada-tree.h (lang_tree_node): Handle gimple tuples.
+       * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
+       GIMPLE_MODIFY_STMT.
+
+2006-12-02  Kazu Hirata  <kazu@codesourcery.com>
+
+       * Makefile.in, mingw32.h, trans.c: Fix comment typos.
+       * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
+       Fix typos.
+
+2006-11-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/27936
+       * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
+       if the initializer takes into account the padding.
+
+2006-11-11  Richard Guenther  <rguenther@suse.de>
+
+       * trans.c (maybe_stabilize_reference): Remove handling of
+       FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
+
+2006-11-05  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/29707
+       * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
+       (To_Target_Priority): New function.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
+       a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
+       s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
+       a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
+       a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
+       a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
+       a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
+       a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
+       a-szbzha.adb: Minor reformatting. Fix header.
+
+       * a-numaux-x86.adb: Add parentheses for use of unary minus
+       * a-ngcefu.adb: Supply missing parentheses for unary minus
+       * a-ngcoty.adb: Add parens for use of unary minus
+       * a-ngelfu.adb: Add missing parens for unary minus
+       * a-tifiio.adb: Add parentheses for uses of unary minus
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
+       with multiplying operator.
+       (Expected_Type_Is_Any_Real): New function to determine from the Parent
+       pointer whether the context expects "any real type".
+       (Resolve_Arithmetic_Op): Do not give an error on calls to the
+       universal_fixed "*" and "/" operators when they are used in a context
+       that expects any real type. Also set the type of the node to
+       Universal_Real in this case, because downstream processing requires it
+       (mainly static expression evaluation).
+       Reword some continuation messages
+       Add some \\ sequences to continuation messages
+       (Resolve_Call): Refine infinite recursion case. The test has been
+       sharpened to eliminate some false positives.
+       Check for Current_Task usage now includes entry barrier, and is now a
+       warning, not an error.
+       (Resolve): If the call is ambiguous, indicate whether an interpretation
+       is an inherited operation.
+       (Check_Aggr): When resolving aggregates, skip associations with a box,
+       which are priori correct, and will be replaced by an actual default
+       expression in the course of expansion.
+       (Resolve_Type_Conversion): Add missing support for conversion from
+       a class-wide interface to a tagged type. Minor code cleanup.
+       (Valid_Tagged_Converion): Add support for abstact interface type
+       conversions.
+       (Resolve_Selected_Component): Call Generate_Reference here rather than
+       during analysis, and use May_Be_Lvalue to distinguish read/write.
+       (Valid_Array_Conversion): New procedure, abstracted from
+       Valid_Conversion, to incorporate accessibility checks for arrays of
+       anonymous access types.
+       (Valid_Conversion): For a conversion to a numeric type occurring in an
+       instance or inlined body, no need to check that the operand type is
+       numeric, since this has been checked during analysis of the template.
+       Remove legacy test for scope name Unchecked_Conversion.
+
+       * sem_res.ads: Minor reformatting
+
+       * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
+       (PE_Current_Task_In_Entry_Body): New exception code
+       (SE_Restriction_Violation): Removed, not used
+
+       * a-except.ads:  Update comments.
+
+       * types.h, types.ads: Add definition for Validity_Check
+       (PE_Current_Task_In_Entry_Body): New exception code
+       (SE_Restriction_Violation): Removed, not used
+
+2006-10-31  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
+       error status.
+
+2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
+       part of Ada.Calendar: all subprogram raise Unimplemented.
+       (Split_W_Offset): Temp function body, raising Unimplemented
+
+       * a-calend.ads, a-calend-vms.ads: 
+       Add imported variable Invalid_TZ_Offset used to designate targets unable
+       to support time zones.
+       (Unimplemented): Temporary function raised by the body of new
+       subprograms below.
+       (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
+       unit provides handling of leap seconds and is used by the new Ada 2005
+       packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
+       (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
+       version returns an extra value which is the offset to UTC.
+
+       * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
+       (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
+       (Split_W_Offset): New function body.
+       (Time_Of): When a date is close to UNIX epoch, compute the time for
+       that date plus one day (that amount is later substracted after
+       executing mktime) so there are no problems with time zone adjustments.
+
+       * a-calend-mingw.adb: Remove Windows specific version no longer needed.
+
+       * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
+       a-catizo.ads, a-catizo.adb: New files.
+
+       * impunit.adb: Add new Ada 2005 entries
+
+       * sysdep.c: Add external variable __gnat_invalid_tz_offset.
+       Rename all occurences of "__gnat_localtime_r" to
+       "__gnat_localtime_tzoff".
+       (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
+       zone data and calculate the GMT offset.
+       (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
+       Use the field "tm_gmtoff" to extract the GMT offset.
+       (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
+       the external variable "timezone" to calculate the GMT offset.
+
+2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb, 
+       s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads, 
+       s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
+       s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
+       System.Any_Priority to a POSIX priority on the target.
+
+       * system-linux-ia64.ads: 
+       Extend range of Priority types on Linux to use the whole range made
+       available by the system.
+
+       * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
+       function maps from System.Any_Priority to a POSIX priority on the
+       target.
+       (PTHREAD_PRIO_PROTECT): Set real value.
+       (PTHREAD_PRIO_INHERIT): Now a function.
+       (SIGCPUFAIL): New signal.
+       (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
+       are documented as reserved by the OS.
+
+       * system-aix.ads: Use the full range of priorities provided by the
+       system on AIX.
+
+       * s-taprop-posix.adb: Call new function To_Target_Priority.
+       (Set_Priority): Take into account Task_Dispatching_Policy and
+       Priority_Specific_Dispatching pragmas when determining if Round Robin
+       must be used for scheduling the task.
+
+       * system-linux-x86_64.ads, system-linux-x86.ads, 
+       system-linux-ppc.ads: Extend range of Priority types on Linux to use
+       the whole range made available by the system.
+
+       * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb, 
+       s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb, 
+       s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
+       when deallocating the TCB in order to avoid potential references to
+       deallocated data.
+       (Set_Priority): Take into account Task_Dispatching_Policy and
+       Priority_Specific_Dispatching pragmas when determining if Round Robin
+       or FIFO within priorities must be used for scheduling the task.
+
+       * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
+       the Thread field (to be used internally by the run-time system) and the
+       kernel-level task id in the LWP field (to be used by the debugger).
+       (Create_Task): Reorganize to unify the calls to taskSpawn into a single
+       instance, and propagate the current task options to the spawned task.
+       (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
+       (Initialize): Set Round Robin dispatching when the corresponding pragma
+       is in effect.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, 
+       system-linux-hppa.ads, system-hpux-ia64.ads, 
+       system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads, 
+       system-vxworks-sparcv9.ads, system-solaris-x86.ads, 
+       system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, 
+       system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads, 
+       system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
+       system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
+       system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
+       Default_Bit_Order) to kill constant condition warnings for references
+       to this switch.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
+       mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
+       mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
+       Ext_To, when building the library file name
+
+       * mlib-tgt-vxworks.adb: ditto.
+       (Get_Target_Suffix): Add support for x86 targets.
+
+       * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
+
+       * mlib-tgt-darwin.adb: 
+       Use Append_To, instead of Ext_To, when building the library file name
+       (Flat_Namespace): New global variable.
+       (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
+       (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
+       (Link_Shared_Libgcc): Delete.
+       (Build_Dynamic_Library): Adjust for above changes.
+       Use Opt package.
+       (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
+
+2006-10-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
+       (Initialize): Add type conversions required by above change.
+
+2006-10-31  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-osinte-vxworks.ads, s-osinte-vxworks.adb: 
+       (getpid): New body for this function that uses the underlying taskIdSelf
+       function for VxWorks 5 and VxWorks 6 in kernel mode.
+       (unsigned_int): New type, modular to allow logical bit operations.
+       (taskOptionsGet): New imported function.
+
+       * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
+       field to be compliant with the type used by the corresponding operating
+       system primitive.
+
+2006-10-31  Pascal Obry  <obry@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
+       ASCII version of the registry API. This is needed as the GNAT runtime
+       is now UNICODE by default.
+       Include version.h.
+       (get_gcc_version): Do not hardcode the return value.
+       (__gnat_file_time_name): On Windows properly set the default returned
+       value to -1 which corresponds to Invalid_Time.
+       (__gnat_fopen): New routine. A simple wrapper on all plateforms
+        except on Windows where it does conversion for unicode support.
+       (__gnat_freopen): Idem.
+       (__gnat_locate_exec_on_path): If environment variable PATH does not
+       exist, return a NULL pointer
+
+       * adaint.h: (__gnat_fopen): Declare.
+       (__gnat_freopen): Likewise.
+
+       * mingw32.h (_tfreopen): Define this macro here for older MingW
+       version.
+       Activate the unicode support on platforms using a MingW runtime
+       version 3.9 or newer.
+
+       * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
+       This is needed for proper unicode support on Windows.
+       (freopen): Idem.
+
+2006-10-31  Eric Botcazou  <ebotcazou@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * gigi.h: (tree_code_for_record_type): Declare.
+       (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
+       (get_global_renaming_pointers): Rename to
+       invalidate_global_renaming_pointers.
+       (static_ctors): Delete.
+       (static_dtors): Likewise.
+       (gnat_write_global_declarations): Declare.
+       (create_var_decl): Adjust descriptive comment to indicate that the
+       subprogram may return a CONST_DECL node.
+       (create_true_var_decl): Declare new function, similar to
+       create_var_decl but forcing the creation of a VAR_DECL node.
+       (get_global_renaming_pointers): Declare.
+       (add_global_renaming_pointer): Likewise.
+
+       * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
+
+       * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
+       tree before setting TREE_ADDRESSABLE for by-reference return mechanism
+       processing.
+       (gnat_to_gnu_entity): Remove From_With_Type from computation for
+       imported_p.
+       <E_Access_Type>: Use the Non_Limited_View as the full view of the
+       designated type if the pointer comes from a limited_with clause.  Make
+       incomplete designated type if it is in the main unit and has a freeze
+       node.
+       <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
+       Underlying_Full_View similarly.  Return earlier if the full view already
+       has an associated tree.
+       (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
+       (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
+       (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
+       reference type built for objects with an address clause.
+       Use create_true_var_decl with const_flag set for
+       DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
+       TREE_READONLY set.
+       (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
+       for Character and Wide_Character types. This info is read by the
+       dwarf-2 writer, and is needed to be able to use the command "ptype
+       character" in the debugger.
+       (gnat_to_gnu_entity): When generating a type representing
+       a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
+       so that debug writers can distinguish it from ordinary integers.
+       (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
+       addition to TREE_READONLY to assert the constantness of variables for
+       elaboration purposes.
+       (gnat_to_gnu_entity, subprogram cases): Change loops on formal
+       parameters to call new Einfo function First_Formal_With_Extras.
+       (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
+       protected type with its corresponding discriminant, to obtain a usable
+       declaration
+       (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
+       for a multiple elaboration of the "equivalent" type.
+       (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
+       into record_global_renaming_pointer.
+       (gnat_to_gnu_entity) <E_Array_Type>: Do not force
+       TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
+       <E_Array_Subtype>: Likewise.
+       (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
+       incomplete subtypes and incomplete subtypes of incomplete types visible
+       through a limited with clause.
+       (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
+       the base index type for the maximum size of the array only if they are
+       constant.
+       (gnat_to_gnu_entity, renaming object case): Do not wrap up the
+       expression into a SAVE_EXPR if stabilization failed.
+
+       * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
+       a result decl into DECL_BY_REFERENCE on this decl, now what is expected
+       by lower level compilation passes.
+       (gnat_genericize): New function, lowering a function body to GENERIC.
+       Turn the type of RESULT_DECL into a real reference type if the decl
+       has been marked DECL_BY_REFERENCE, and adjust references to the latter
+       accordingly.
+       (gnat_genericize_r): New function. Tree walking callback for
+       gnat_genericize.
+       (convert_from_reference, is_byref_result): New functions. Helpers for
+       gnat_genericize_r.
+       (create_type_decl): Call gnat_pushdecl before calling
+       rest_of_decl_compilation, to make sure that field TYPE_NAME of
+       type_decl is properly set before calling the debug information writers.
+       (write_record_type_debug_info): The heuristics which compute the
+       alignment of a field in a variant record might not be accurate. Add a
+       safety test to make sure no alignment is set to a smaller value than
+       the alignment of the field type.
+       (make_dummy_type): Use the Non_Limited_View as the underlying type if
+       the type comes from a limited_with clause. Do not loop on the full view.
+       (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
+       (dummy_node_table): New global variable, moved from decl.c.
+       (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
+       (save_gnu_tree): Use above macros.
+       (get_gnu_tree): Likewise.
+       (present_gnu_tree): Likewise.
+       (init_dummy_type): New function, moved from decl.c. Use above macros.
+       (make_dummy_type): Likewise.
+       (tree_code_for_record_type): New function extracted from make_dummy_type
+       (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
+       (static_ctors): Change it to a vector, make static.
+       (static_dtors): Likewise.
+       (end_subprog_body): Adjust for above change.
+       (build_global_cdtor): Moved from trans.c.
+       (gnat_write_global_declarations): Emit global constructor and
+       destructor, and call cgraph_optimize before emitting debug info for
+       global declarations.
+       (global_decls): New global variable.
+       (gnat_pushdecl): Store the global declarations in global_decls, for
+       later use.
+       (gnat_write_global_declarations): Emit debug information for global
+        declarations.
+       (create_var_decl_1): Former create_var_decl, with an extra argument to
+        state whether the creation of a CONST_DECL is allowed.
+       (create_var_decl): Behavior unchanged. Now a wrapper around
+       create_var_decl_1 allowing CONST_DECL creation.
+       (create_true_var_decl): New function, similar to create_var_decl but
+       forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
+       (create_field_decl): Do not always mark the field as addressable
+       if its type is an aggregate.
+       (global_renaming_pointers): New static variable.
+       (add_global_renaming_pointer): New function.
+       (get_global_renaming_pointers): Likewise.
+
+       * misc.c (gnat_dwarf_name): New function.
+       (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
+       (gnat_post_options): Add comment about structural alias analysis.
+       (gnat_parse_file): Do not call cgraph_optimize here.
+       (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
+
+       * trans.c (process_freeze_entity): Don't abort if we already have a
+       non dummy GCC tree for a Concurrent_Record_Type, as it might
+       legitimately have been elaborated while processing the associated
+       Concurrent_Type prior to this explicit freeze node.
+       (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
+       exception handler volatile if it is of variable size.
+       (process_type): Remove bypass for types coming from a limited_with
+       clause.
+       (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
+       actual, convert the corresponding gnu_actual to the real destination
+       type when necessary.
+       (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
+       originally TREE_READONLY but whose elaboration cannot be performed
+       statically.
+       Part of fix for F504-021.
+       (tree_transform, subprogram cases): Change loops on formal parameters to
+       call new Einfo function First_Formal_With_Extras.
+       (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
+       stemming from type conversion for the lhs.
+       (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
+       number of bits per unit for components of records.
+       (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
+       (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
+       with At_End_Proc after the SJLJ EH cleanup.
+       (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
+       compilation unit.
+       (elaborate_all_entities): Do not retest type_annotate_only.
+       (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
+       result type of an abstract subprogram, which may be an itype associated
+       with an anonymous access result (related to AI-318-02).
+       (build_global_cdtor): Move to utils.c.
+       (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
+       this choice is not a null tree nor an integer constant.
+       (gigi): Run unshare_save_expr via walk_tree_without_duplicates
+       on the body of elaboration routines instead of mark_unvisited.
+       (add_stmt): Do not mark the tree.
+       (add_decl_expr): Tweak comment.
+       (mark_unvisited): Delete.
+       (unshare_save_expr): New static function.
+       (call_to_gnu): Issue an error when making a temporary around a
+       procedure call because of non-addressable actual parameter if the
+       type of the formal is by_reference.
+       (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
+       after building the elaboration routine.
+
+2006-10-31  Bob Duff  <duff@adacore.com>
+
+       * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
+       as finalization-started, so we can raise Program_Error on 'new'.
+
+       * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
+       collection has already started.
+
+       * s-finimp.ads (Collection_Finalization_Started): Added new special
+       flag value for indicating that a collection's finalization has started.
+
+       * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
+       create a task whose master has already waited for dependent tasks.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * lib.adb, lib.ads: (In_Predefined_Unit): New functions
+
+       * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads, 
+       a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads, 
+       a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads, 
+       a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads, 
+       a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads, 
+       a-except-2005.ads: Add pragma Preelaborable_Warning
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
+
+       * ali.adb (Get_Name): Properly handle scanning of wide character names
+       encoded with brackets notation.
+       (Known_ALI_Lines): Add S lines to this list.
+       (Scan_ALI): Acquire S (priority specific dispatching) lines.
+       New flag Elaborate_All_Desirable in unit table
+
+       * ali.ads (Priority_Specific_Dispatching): Add this range of
+       identifiers to be used for Priority_Specific_Dispatching table entries.
+       (ALIs_Record): Add First_Specific_Dispatching and
+       Last_Specific_Dispatching that point to the first and last entries
+       respectively in the priority specific dispatching table for this unit.
+       (Specific_Dispatching): Add this table for storing each S (priority
+       specific dispatching) line encountered in the input ALI file.
+       New flag Elaborate_All_Desirable in unit table
+
+       * bcheck.adb: (Check_Configuration_Consistency): Add call to
+       Check_Consistent_Dispatching_Policy.
+       (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
+       verifying that the use of Priority_Specific_Dispatching,
+       Task_Dispatching_Policy, and Locking_Policy is consistent across the
+       partition.
+
+       * bindgen.adb: (Public_Version_Warning): function removed.
+       (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
+       required information from ALI files in order to initialize the table
+       containing the specific dispatching policy.
+       (Gen_Adainit_Ada): Generate the variables required for priority specific
+       dispatching entries (__gl_priority_specific_dispatching and
+       __gl_num_specific_dispatching).
+       (Gen_Adainit_C): Generate the variables required for priority specific
+       dispatching entries (__gl_priority_specific_dispatching and
+       __gl_num_specific_dispatching).
+       (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
+       pragma entries.
+       (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
+       (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
+       (Tab_To): Removed.
+       (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
+       a call to gnat_set_globals.
+       Generate a string containing settings from
+       Priority_Specific_Dispatching pragma entries.
+       (Gen_Object_Files_Options): Do not include the runtime libraries when
+       pragma No_Run_Time is specified.
+
+       * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
+       consistency with s-intman-posix.adb.
+       (__gnat_error_handler, case FreeBSD): Account for the fact that the
+       handler is installed with SA_SIGINFO.
+       (__gnat_adjust_context_for_raise, FreeBSD case): New function for
+       FreeBSD ZCX support, copied from Linux version.
+       Add MaRTE-specific definitions for the linux target. Redefine sigaction,
+       sigfillset, and sigemptyset so the routines defined by MaRTE.
+       (__gl_priority_specific_dispatching): Add this variable that stores the
+       string containing priority specific dispatching policies in the
+       partition.
+       (__gl_num_specific_dispatching): Add this variable that indicates the
+       highest priority for which a priority specific dispatching pragma
+       applies.
+       (__gnat_get_specific_dispatching): Add this routine that returns the
+       priority specific dispatching policy, as set by a
+       Priority_Specific_Dispatching pragma appearing anywhere in the current
+       partition. The input argument is the priority number, and the result
+       is the upper case first character of the policy name.
+       (__gnat_set_globals): Now a dummy function.
+       (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
+       mechargs instead of sigargs, as the latter can be retrieved from the
+       former and sigargs is not what we want on ia64.
+       (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
+       mechargs argument.
+       (__gnat_adjust_context_for_raise, ia64-vms): New function.
+       (tasking_error): Remove unused symbol.
+       (_abort_signal): Move this symbol to the IRIX specific part since this
+       is the only target that uses this definition.
+       (Check_Abort_Status): Move this symbol to the IRIX specific part since
+       this is the only target that uses this definition.
+       (Lock_Task): Remove unused symbol.
+       (Unlock_Task): Remove unused symbol.
+
+       * lib-writ.adb (Write_ALI): Output new S lines for
+       Priority_Specific_Dispatching pragmas.
+       Implement new flag BD for elaborate body desirable
+
+       * lib-writ.ads: Document S lines for Priority Specific Dispatching.
+       (Specific_Dispatching): Add this table for storing the entries
+       corresponding to Priority_Specific_Dispatching pragmas.
+       Document new BD flag for elaborate body desirable
+
+       * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
+       of known pragmas.
+
+2006-10-31  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, a-tags.adb: 
+       (Predefined_DT): New function that improves readability of the code.
+       (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
+       Inherit_DT): Use the new function Predefined_DT to improve code
+       readability.
+       (Register_Interface_Tag): Update assertion.
+       (Set_Interface_Table): Update assertion.
+       (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
+       determining progenitor interfaces in Tags.
+       (Inherit_CPP_DT): New subprogram.
+
+       * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
+       analysis of the thunk code.
+       (Expand_Interface_Conversion): Handle run-time conversion of
+       access to class wide types.
+       (Expand_Dispatching_Call): When generating the profile for the
+       subprogram itype for a dispatching operation, properly terminate the
+       formal parameters chaind list (set the Next_Entity of the last formal
+       to Empty).
+       (Collect_All_Interfaces): Removed. This routine has been moved to
+       sem_util and renamed as Collect_All_Abstract_Interfaces.
+       (Set_All_DT_Position): Hidden entities associated with abstract
+       interface primitives are not taken into account in the check for
+       3.9.3(10); this check is done with the aliased entity.
+       (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
+       interfacing with CPP by default.
+       (Expand_Interface_Conversion): Add missing support for static conversion
+       from an interface to a tagged type.
+       (Collect_All_Interfaces): Add new out formal containing the list of
+       abstract interface types to cleanup the subprogram Make_DT.
+       (Make_DT): Update the code to generate the table of interfaces in case
+       of abstract interface types.
+       (Is_Predefined_Dispatching_Alias): New function that returns true if
+       a primitive is not a predefined dispatching primitive but it is an
+       alias of a predefined dispatching primitive.
+       (Make_DT): If the ancestor of the type is a CPP_Class and we are
+       compiling under full ABI compatibility mode we avoid the generation of
+       calls to run-time services that fill the dispatch tables because under
+       this mode we currently inherit the dispatch tables in the IP subprogram.
+       (Write_DT): Emit an "is null" indication for a null procedure primitive.
+       (Expand_Interface_Conversion): Use an address as the type of the formal
+       of the internally built function that handles the case in which the
+       target type is an access type.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * bindusg.ads, bindusg.adb:
+       Change to package and rename procedure as Display, which
+       now ensures that it only outputs usage information once.
+
+2006-10-31  Jose Ruiz  <ruiz@adacore.com>
+
+       * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
+       using RTPs.
+
+       * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
+       when using RTPs.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * treepr.adb: Use new subtype N_Membership_Test
+
+       * checks.ads, checks.adb: Add definition for Validity_Check
+       (Range_Or_Validity_Checks_Suppressed): New function
+       (Ensure_Valid): Test Validity_Check suppressed
+       (Insert_Valid_Check): Test Validity_Check suppressed
+       (Insert_Valid_Check): Preserve Do_Range_Check flag
+       (Validity_Check_Range): New procedure
+       (Expr_Known_Valid): Result of membership test is always valid
+       (Selected_Range_Checks): Range checks cannot be applied to discriminants
+       by themselves. Disabling those checks must also be done for task types,
+       where discriminants may be used for the bounds of entry families.
+       (Apply_Address_Clause_Check): Remove side-effects if address expression
+       is non-static and is not the name of a declared constant.
+       (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
+       Code cleanup and new error messages.
+       (Enable_Range_Check): Test for some cases of suppressed checks
+       (Generate_Index_Checks): Suppress index checks if index checks are
+       suppressed for array object or array type.
+       (Apply_Selected_Length_Checks): Give warning for compile-time detected
+       length check failure, even if checks are off.
+       (Ensure_Valid): Do not generate a check on an indexed component whose
+       prefix is a packed boolean array.
+       * checks.adb: (Alignment_Checks_Suppressed): New function
+       (Apply_Address_Clause_Check): New procedure, this is a completely
+       rewritten replacement for Apply_Alignment_Check
+       (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
+       we request a discriminal value only in case of discriminants.
+       (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
+       assignments where the target subtype is unconstrained and the target
+       object is a parameter or dereference (other aliased cases are known
+       to be unconstrained).
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
+       prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
+       vms_conv.adb: Fix bad table increment values (much too small)
+
+       * table.adb (Realloc): Make sure we get at least some new elements
+       Defends against silly small values for table increment
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
+       entities. Move other fields around to make this possible
+       (Is_Derived_Type): Add missing call to Is_Type.
+       (Extra_Formals): New function for subprograms, entries, subprogram
+       types.
+       (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
+       (First_Formal_With_Extras): New function for subprogs, entries, subp
+       types.
+       (Write_Field28_Name): New procedure for node display of "Extra_Formals".
+       Add node information for E_Return_Statement.
+       (Elaborate_Body_Desirable): New flag
+       (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
+       to be Is_Inherently_Limited_Type, because return-by-reference has
+       no meaning in Ada 2005.
+       (E_Return_Statement): New entity kind.
+       (Return_Applies_To): Field of E_Return_Statement.
+       (Is_Return_Object): New flag in object entities.
+       (Is_Dynamic_Scope): Make it True for E_Return_Statement.
+       (Must_Have_Preelab_Init): New flag
+       (Known_To_Have_Preelab_Init): New flag
+       (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
+       (Is_Visible_Formal): New flag on entities in formal packages.
+       (Low_Bound_Known): New flag
+       (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
+       Incomplete_Kind.
+       (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
+       output when Id is an incomplete subtype.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
+       Avoid abbreviation Creat
+       (Finalize): List all sources in extended mail source if -gnatl
+       switch is active.
+       Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
+       (Finalize): Implement new -gnatl=xxx switch to output listing to file
+       (Set_Specific_Warning_On): New procedure
+       (Set_Specific_Warning_Off): New procedure
+       Add implementation of new insertion \\
+       (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
+       (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
+       types.
+       (Error_Msg_Internal): Make sure that we set Last_Killed to
+       True when a message from another package is suppressed.
+       Implement insertion character ~ (insert string)
+       (First_Node): Minor adjustments to get better placement.
+
+       * frontend.adb: 
+       Implement new -gnatl=xxx switch to output listing to file
+
+       * gnat1drv.adb: 
+       Implement new -gnatl=xxx switch to output listing to file
+
+       * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
+       (Commands_To_Stdout): New flag
+       Implement new -gnatl=xxx switch to output listing to file
+       New switch Dump_Source_Text
+       (Warn_On_Deleted_Code): New warning flag for -gnatwt
+       Define Error_Msg_Line_Length
+       (Warn_On_Assumed_Low_Bound): New switch
+
+       * osint.ads, osint.adb
+       (Normalize_Directory_Name): Fix bug.
+       Implement new -gnatl=xxx switch to output listing to file
+       (Concat): Removed, replaced by real concatenation
+       Make use of concatenation now allowed in compiler
+       (Executable_Prefix.Get_Install_Dir): First get the full path, so that
+       we find the 'lib' or 'bin' directory even when the tool has been
+       invoked with a relative path.
+       (Executable_Name): New function taking string parameters.
+
+       * osint-c.ads, osint-c.adb: 
+       Implement new -gnatl=xxx switch to output listing to file
+
+       * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
+
+       * switch-c.adb: 
+       Implement new -gnatl=xxx switch to output listing to file
+       Recognize new -gnatL switch
+       (no longer keep in old warning about old style usage)
+       Use concatenation to simplify code
+       Recognize -gnatjnn switch
+       (Scan_Front_End_Switches): Clean up handling of -gnatW
+       (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
+       (Set_Specific_Warning_Off): New procedure
+       (Warning_Specifically_Suppressed): New function
+       (Validate_Specific_Warnings): New procedure
+       (Output_Msg_Text): Complete rewrite to support -gnatjnn
+
+       * err_vars.ads: Implement insertion character ~ (insert string)
+
+2006-10-31  Bob Duff  <duff@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
+       the parent part is a build-in-place function call, generate assignments.
+       (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
+       are build-in-place function calls.
+       (Replace_Self_Reference): New subsidiary of
+       Make_OK_Assignment_Statement, to replace an access attribute that is a
+       self-reference into an access to the appropriate component of the
+       target object. Generalizes previous mechanism to handle self-references
+       nested at any level.
+       (Is_Self_Referential_Init): Remove, not needed.
+       (Is_Self_Referential_Init): New predicate to simplify handling of self
+       referential components in record aggregates.
+       (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
+       check for presence of entity before checking for self-reference.
+       (Has_Default_Init_Comps): Return True if a component association is a
+       self-reference to the enclosing type, which can only come from a
+       default initialization.
+       (Make_OK_Assignment_Statement): If the expression is of the form
+       Typ'Acc, where Acc is an access attribute, the expression comes from a
+       default initialized self-referential component.
+       (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
+       that has been derived from several abstract interfaces we must also
+       initialize the tags of the secondary dispatch tables.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_attr.adb: 
+       (Expand_Access_To_Protected_Op): If the context indicates that an access
+       to a local operation may be transfered outside of the object, create an
+       access to the wrapper operation that must be used in an external call.
+       (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
+       target, pass the Valid attribute applied to a floating-point prefix on
+       to the back end without expansion.
+       (Storage_Size): Use the new run-time function Storage_Size to retrieve
+       the allocated storage when it is specified by a per-object expression.
+       (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
+       Nothing to do here, the attribute has been rewritten during semantic
+       analysis.
+       (Expand_Attribute_Reference): Handle expansion of the new Priority
+       attribute
+       (Find_Fat_Info): Handle case of universal real
+       (Expand_Access_To_Protected_Op): Fix use of access to protected
+       subprogram from inside the body of a protected entry.
+       (Expand_Access_To_Protected_Op): Common procedure for the expansion of
+       'Access and 'Unrestricted_Access, to transform the attribute reference
+       into a fat pointer.
+       (Is_Constrained_Aliased_View): New predicate to help determine whether a
+       subcomponent's enclosing variable is aliased with a constrained subtype.
+       (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
+       test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
+       an aliased prefix must be known to be constrained in order to use True
+       for the attribute value, and now it's possible for some aliased views
+       to be unconstrained.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
+       (Expand_Entity_Reference): Correct error of not handling subprogram
+       formals in current_value processing.
+
+2006-10-31  Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
+       register in the final list objects containing class-wide interfaces;
+       otherwise we incorrectly register the tag of the interface in the final
+       list.
+       (Make_Controlling_Function_Wrappers): Add missing barrier to do not
+       generate the wrapper if the parent primitive is abstract. This is
+       required to report the correct error message.
+       (Expand_N_Subtype_Indication): Do validity checks on range
+       (Clean_Task_Names): If an initialization procedure includes a call to
+       initialize a task (sub)component, indicate that the procedure will use
+       the secondary stack.
+       (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
+       compatibility for interfacing with CPP by default.
+       (Expand_N_Object_Declaration): Only build an Adjust call when the
+       object's type is a nonlimited controlled type.
+       * exp_ch3.adb: Add with and use of Exp_Ch6.
+       (Expand_N_Object_Declaration): Check for object initialization that is a
+       call to build-in-place function and apply Make_Build_In_Place_Call_In_
+       Object_Declaration to the call.
+       (Freeze_Type): When the designated type of an RACW was not frozen at the
+       point where the RACW was declared, validate the primitive operations
+       with respect to E.2.2(14) when it finally is frozen.
+       (Build_Initialization_Call,Expand_Record_Controller): Rename
+       Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
+       return-by-reference has no meaning in Ada 2005.
+       (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
+       to register tag of the immediate ancestor interfaces in the
+       run-time structure.
+       (Init_Secondary_Tags): Moved to the specification to allow the
+       initialization of extension aggregates with abstract interfaces.
+       (Build_Master_Renaming): Make public, for use by function declarations
+       whose return type is an anonymous access type.
+       (Freeze_Record_Type): Replace call to Insert_List_Before by call to
+       Insert_List_Before_And_Analyze after the generation of the specs
+       associated with null procedures.
+       (Expand_Tagged_Root): Update documentation in its specification.
+       (Init_Secondary_Tags): Update documentation.
+       (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
+       tibility mode and the immediate ancestor is a CPP_Pragma tagged type
+       then generate code to inherit the contents of the dispatch table
+       directly from the ancestor.
+       (Expand_Record_Controller): Insert controller component after tags of
+       implemented interfaces.
+       (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
+       create null procedure overridings when null procedures are inherited
+       from interfaces.
+       (Make_Null_Procedure_Specs): New procedure to generate null procedure
+       declarations for overriding null primitives inherited from interfaces.
+       (Is_Null_Interface_Procedure): New function in
+       Make_Null_Procedure_Specs.
+       (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
+       immediate ancestor of a tagged type is an abstract interface type we
+       must generate the specification of the predefined primitives associated
+       with controlled types (because the dispatch table of the ancestor is
+       null and hence these entries cannot be inherited). This is required to
+       elaborate well the dispatch table.
+
+2006-10-31  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
+       conversion.
+       (Expand_N_In): Do validity checks on range
+       (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
+       (Expand_N_Allocator): For "new T", if the object is constrained by
+       discriminant defaults, allocate the right amount of memory, rather than
+       the maximum for type T.
+       (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
+       when the allocator is initialized by a build-in-place call, since the
+       allocator is already rewritten as a reference to the function result,
+       and this prevents an unwanted duplication of the function call.
+       Add with and use of Exp_Ch6.
+       (Expand_Allocator_Expresssion): Check for an allocator whose expression
+       is a call to build-in-place function and apply
+       Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
+       untagged designated types).
+       (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
+       optimization if source or target is biased.
+       (Expand_N_Allocator): Add comments for case of an allocator within a
+       function that returns an anonymous access type designating tasks.
+       (Expand_N_Allocator): apply discriminant checks for access
+       discriminants of anonymous access types (AI-402, AI-416)
+
+2006-10-31  Bob Duff  <duff@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
+
+       * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
+       (Expand_N_Assignment_Statement): Call
+       Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
+       build-in-place function call. Currently, this can happen only for
+       assignments that come from aggregates.
+       Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+       in order to alleviate the upward compatibility introduced by AI-318.
+       (Expand_N_Extended_Return_Statement): Add support for handling the
+       return object as a build-in-place result.
+       (Expand_Non_Function_Return): Implement simple return statements nested
+       within an extended return.
+       (Enable_New_Return_Processing): Turn on the new processing of return
+       statements.
+       (Expand_Non_Function_Return): For a return within an extended return,
+       don't raise Program_Error, because Sem_Ch6 now gives a warning.
+       (Expand_N_Extended_Return_Statement): Implement AI-318
+       (Expand_Simple_Function_Return): Ditto.
+       (Expand_N_If_Statement): Handle new -gnatwt warning
+       (Expand_N_Case_Statement): Handle new -gnatwt warning
+       (Expand_N_Assignment): Handle assignment to the Priority attribute of
+       a protected object.
+       (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
+       validity checking of assignments to elementary record components.
+       (Expand_N_Return_Statement): return Class Wide types on the secondary
+       stack independantly of their controlled status since with HIE runtimes,
+       class wide types are not potentially controlled anymore.
+
+       * expander.adb (Expand): Add case for new N_Extended_Return_Statement
+       node kind.
+
+       * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
+       Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
+       it expects a block, procedure, or task. The return statement will get
+       turned into a block, and Expand_Cleanup_Actions will happen then.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
+       capability.
+       (Expand_Inlined_Call): Tagged types are by-reference types, and
+       therefore should be replaced by a renaming declaration in the expanded
+       body, as is done for limited types.
+       (Expand_Call): If this is a call to a function with dispatching access
+       result, propagate tag from context.
+       (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
+       CPP by default.
+       (Make_Build_In_Place_Call_In_Assignment): New procedure to do
+       build-in-place when the right-hand side of an assignment is a
+       build-in-place function call.
+       (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
+       of the explicit dereference of the allocator to the result subtype of
+       the build-in-place function. This is needed to satisfy type checking
+       in cases where the caller's return object is created by an allocator for
+       a class-wide access type and the type named in the allocator is a
+       specific type.
+       (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
+       conversion of the reference to the declared object to the result subtype
+       of the build-in-place function. This is needed to satisfy type checking
+       in cases where the declared object has a class-wide type. Also, in the
+       class-wide case, change the type of the object entity to the specific
+       result subtype of the function, to avoid passing a class-wide object
+       without explicit initialization to the back end.
+       (Register_Interface_DT_Entry): Moved outside the body of
+       Freeze_Subprogram because this routine is now public; it is called from
+       Check_Dispatching_Overriding to handle late overriding of abstract
+       interface primitives.
+       (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
+       adding an implicit access actual on a call to a build-in-place function.
+       (Expand_Actuals): Test for an actual parameter that is a call to a
+       build-in-place function and apply
+       Make_Build_In_Place_Call_In_Anonymous_Context to the call.
+       (Is_Build_In_Place_Function): New function to determine whether an
+       entity is a function whose calls should be handled as build-in-place.
+       (Is_Build_In_Place_Function_Call): New function to determine whether an
+       expression is a function call that should handled as build-in-place.
+       (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
+       calls to build-in-place functions as the initialization of an allocator.
+       (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
+       handling calls to build-in-place functions in contexts that do not
+       involve init of a separate object (for example, actuals of subprogram
+       calls).
+       (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
+       handling calls to build-in-place functions as the initialization of an
+       object declaration.
+       (Detect_Infinite_Recursion): Add explicit parameter Process to
+       instantiation of Traverse_Body to avoid unreferenced warning.
+       (Check_Overriding_Inherited_Interfaces): Removed.
+       (Register_Interface_DT_Entry): Code cleanup.
+       (Register_Predefined_DT_Entry): Code cleanup.
+       (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
+       inlined statements if within a transient scope.
+       (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
+       formal parameters with occurrences of actuals in inlined body, establish
+       visibility on the proper view of the actual's subtype for the body's
+       context.
+       (Freeze_Subprogram): Do nothing if we are compiling under full ABI
+       compatibility mode and we have an imported CPP subprogram because
+       for now we assume that imported CPP primitives correspond with
+       objects whose constructor is in the CPP side (and therefore we
+       don't need to generate code to register them in the dispatch table).
+       (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
+       aligned selected component.
+       (Add_Call_By_Copy_Node): Add missing code to handle the case in which
+       the actual of an in-mode parameter is a type conversion.
+       (Expand_Actuals): If the call does not come from source and the actual
+       is potentially misaligned, let gigi handle it rather than rejecting the
+       (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
+       Class Wide types as returning by reference independantly of their
+       controlled status since with HIE runtimes class wide types are not
+       potentially controlled anymore.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
+       references that are private components of the protected object.
+       (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
+       (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
+       instantiation to deal with warnings.
+       (Initialize_Protection): If expression for priority is non-static, use
+       System_Priority as its expected type, in case the expression has not
+       been analyzed yet.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
+       initialization of Homonym_Len.
+       (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
+       names from fully qualified name. Fixes problem of duplicate
+       external names differing only in the presence of such a block name.
+
+2006-10-31  Thomas Quinot  <quinot@adacore.com>
+           Pablo Oliveira  <oliveira@adacore.com>
+
+       * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
+       subprogram Ids, even if they are not yet assigned.
+       (Build_Subprogram_Id): It is now this function that will take care of
+       calling Assign_Subprogram_Ids if necessary.
+       (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
+       should be done only once they are assigned.
+       (Build_From_Any_Function, case of tagged types): Add missing call to
+       Allocate_Buffer.
+       (Corresponding_Stub_Type): New subprogram. Returns the associated stub
+       type for an RACW type.
+       (Add_RACW_Features): When processing an RACW declaration for which the
+       designated type is already frozen, enforce E.2.2(14) rules immediately.
+       (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
+       special reordering of controlling formals.
+
+       * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
+       associated stub type for an RACW type.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
+       fixed-point operations in an integer context, i.e. as operands of a
+       conversion to an integer type, indicate that result must be rounded.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
+       cases, pass the encoding method, since it is now required by the run
+       time.
+
+       * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
+       assumption that Str'First = 1.
+       (Value_Wide_Character): Takes EM (encoding method) parameter and passes
+       it on to the Value_Wide_Wide_Character call.
+       (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
+       properly handles a string of the form quote-encoded_wide_char-quote.
+
+       * s-wchcnv.adb: Minor reformatting
+
+2006-10-31  Javier Miranda  <miranda@adacore.com>
+
+       * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+       run-time membership test to ensure that the constructed object
+       implements the target abstract interface.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
+       Machine_Attribute pragma internally to implement the user pragma.
+       Add processing for pragma Interface so that it is now completely
+       equivalent to pragma Import.
+
+       * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
+       so that it can be applied to all entities, including record components
+       and enumeration literals.
+       (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
+       priority ranges are correct, verify compatibility against task
+       dispatching and locking policies, and if everything is correct an entry
+       is added to the table containing priority specific dispatching entries
+       for this compilation unit.
+       (Delay_Config_Pragma_Analyze): Delay processing
+       Priority_Specific_Dispatching pragmas because when processing the
+       pragma we need to access run-time data, such as the range of
+       System.Any_Priority.
+       (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
+       Allow pragma Unreferenced as a context item
+       Add pragma Preelaborable_Initialization
+       (Analyze_Pragma, case Interface): Interface is extended so that it is
+       now syntactically and semantically equivalent to Import.
+       (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
+       insertion characters.
+       Add handling for Pragma_Wide_Character_Encoding
+       (Process_Restrictions_Restriction_Warnings): Ensure that a warning
+       never supercedes a real restriction, and that a real restriction
+       always supercedes a warning.
+       (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
+       appropriate form.
+
+2006-10-31  Bob Duff  <duff@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
+       Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
+       Is_Inherently_Limited_Type, because return-by-reference has no meaning
+       in Ada 2005.
+       (Find_Node_To_Be_Wrapped): Use new method of determining the result
+       type of the function containing a return statement, because the
+       Return_Type field was removed. We now use the Return_Applies_To field.
+
+       * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
+       (Build_Task_Image_Decl): If procedure is not called from an
+       initialization procedure, indicate that function that builds task name
+       uses the sec. stack. Otherwise the enclosing initialization procedure
+       will carry the indication.
+       (Insert_Actions): Remove N_Return_Object_Declaration. We now use
+       N_Object_Declaration instead.
+       (Kill_Dead_Code): New interface to implement -gnatwt warning for
+       conditional dead code killed, and change implementation accordingly.
+       (Insert_Actions): Add N_Return_Object_Declaration case.
+       Correct comment to mention N_Extension_Aggregate node.
+       (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
+       attempts to save information for global variables which cannot be
+       safely tracked.
+       (Get_Current_Value_Condition): Handle conditions the other way round
+       (constant on left). Also handle right operand of AND and AND THEN
+       (Set_Current_Value_Condition): Corresponding changes
+       (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
+       (Get_Current_Value_Condition): Handle simple boolean operands
+       (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
+       (Get_Current_Value_Condition): If the variable reference is within an
+       if-statement, does not appear in the list of then_statments, and does
+       not come from source, treat it as being at unknown location.
+       (Get_Current_Value_Condition): Enhance to allow while statements to be
+       processed as well as if statements.
+       (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
+       come from source.
+       (OK_To_Do_Constant_Replacement): Allow constant replacement within body
+       of loop. This is safe now that we fixed Kill_Current_Values.
+       (OK_To_Do_Constant_Replacement): Check whether current scope is
+       Standard, before examining outer scopes.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
+       When True, apply VMS treatment to children of packages A, G, I and S.
+       For F320-016
+
+       * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb: Add handling of Last_Assignment field
+       (Warn_Overlay): Supply missing continuation marks in error msgs
+       (Freeze_Entity): Add check for Preelaborable_Initialization
+
+       * g-comlin.adb: Add Warnings (Off) to prevent new warning
+
+       * g-expect.adb: Add Warnings (Off) to prevent new warning
+
+       * lib-xref.adb: Add handling of Last_Assignment field
+       (Generate_Reference): Centralize handling of pragma Obsolescent here
+       (Generate_Reference): Accept an implicit reference generated for a
+       default in an instance.
+       (Generate_Reference): Accept a reference for a node that is not in the
+       main unit, if it is the generic body corresponding to an subprogram
+       instantiation.
+
+       * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
+
+       * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
+       -gnatwq/Q.
+       (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
+       exception handler.
+       (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
+       use clauses, to avoid messages on packages used to qualify, and also
+       to avoid messages from obsolescent units.
+       (Warn_On_Useless_Assignments): Don't generate messages for imported
+       and exported variables.
+       (Warn_On_Useless_Assignments): New procedure
+       (Output_Obsolescent_Entity_Warnings): New procedure
+       (Check_Code_Statement): New procedure
+
+       * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
+       Change name Is_Ada_2005 to Is_Ada_2005_Only
+       (Last_Assignment): New field for useless assignment warning
+
+2006-10-31  Olivier Hainque  <hainque@adacore.com>
+
+       * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
+       closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
+
+2006-10-31  Bob Duff  <duff@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * g-awk.adb (Default_Session, Current_Session): Compile this file in
+       Ada 95 mode, because it violates the new rules for AI-318.
+
+       * g-awk.ads: Use overloaded subprograms in every case where we used to
+       have a default of Current_Session. This makes the code closer to be
+       correct for both Ada 95 and 2005.
+
+       * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
+       code, relying on the fact that the compiler generates a warning
+       instead of an error in -gnatg mode.
+
+       * lib-xref.ads (Xref_Entity_Letters): Add entry for new
+       E_Return_Statement entity kind.
+       Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
+
+       * par.adb (P_Interface_Type_Definition): Addition of one formal to
+       report an error if the reserved word abstract has been previously found.
+       (SS_End_Type): Add E_Return for new extended_return_statement syntax.
+
+       * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
+       parenthesized range attribute usage
+       (P_Expression_No_Right_Paren): Add missing comment about error recovery.
+
+       * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
+       in the syntax for extended_return_statement. This is not in the latest
+       RM, but the ARG is expected to issue an AI allowing this.
+       (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
+       N_Return_Object_Declaration. We now use N_Object_Declaration instead.
+       (P_Return_Object_Declaration, P_Return_Subtype_Indication,
+       P_Return_Statement): Parse the new syntax for extended_return_statement.
+
+       * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
+       Output_End_Missing): Add error-recovery code for the new
+       extended_return_statement syntax; that is, the new E_Return entry on
+       the scope stack.
+
+       * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
+       limited to nonlimited, because otherwise we violate the new Ada 2005
+       rules about returning limited types in function Create_AST_Handler in
+       s-asthan.adb.
+
+       * sem.adb (Analyze): Add cases for new node kinds
+       N_Extended_Return_Statement and N_Return_Object_Declaration.
+
+       * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
+       type is in the same category as type of context before applying check,
+       to prevent anomalies in instantiations.
+       (Resolve_Aggregate): Remove test for limited components in aggregates.
+       It's unnecessary in Ada 95, because if it has limited components, then
+       it must be limited. It's wrong in Ada 2005, because limited aggregates
+       are now allowed.
+       (Resolve_Record_Aggregate): Move check for limited types later, because
+       OK_For_Limited_Init requires its argument to have been resolved.
+       (Get_Value): When copying the component default expression for a
+       defaulted association in an aggregate, use the sloc of the aggregate
+       and not that of the original expression, to prevent spurious
+       elaboration errors, when the expression includes function calls.
+       (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
+       were missing. We also didn't handle qualified expressions. Now also
+       allow function calls. Use new common routine OK_For_Limited_Init.
+       (Resolve_Extension_Aggregate): Minor fix to bad error message (started
+       with space can upper case letter).
+
+       * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
+       Has_Static_Discriminants flag
+       (Record_Type_Declaration): Diagnose an attempt to declare an interface
+       type with discriminants.
+       (Process_Range_Expr_In_Decl): Do validity checks on range
+       (Build_Discriminant_Constraints): Use updated form of
+       Denotes_Discriminant.
+       (Process_Subtype): If the subtype is a private subtype whose full view
+       is a concurrent subtype, introduce an itype reference to prevent scope
+       anomalies in gigi.
+       (Build_Derived_Record_Type, Collect_Interface_Primitives,
+       Record_Type_Declaration):  The functionality of the subprograms
+       Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
+       is now performed by a single routine.
+       (Build_Derived_Record_Type): If the type definition includes an explicit
+       indication of limitedness, then the type must be marked as limited here
+       to ensure that any access discriminants will not be treated as having
+       a local anonymous access type.
+       (Check_Abstract_Overriding): Issue a detailed error message when an
+       abstract subprogram was not overridden due to incorrect mode of its
+       first parameter.
+       (Analyze_Private_Extension_Declaration): Add support for the analysis of
+       synchronized private extension declarations. Verify that the ancestor is
+       a limited or synchronized interface or in the generic case, the ancestor
+       is a tagged limited type or synchronized interface and all progenitors
+       are either limited or synchronized interfaces.
+       Derived_Type_Declaration): Check for presence of private extension when
+       dealing with synchronized formal derived types.
+       Process_Full_View): Enchance the check done on the usage of "limited" by
+       testing whether the private view is synchronized.
+       Verify that a synchronized private view is completed by a protected or
+       task type.
+       (OK_For_Limited_Init_In_05): New function.
+       (Analyze_Object_Declaration): Move check for limited types later,
+       because OK_For_Limited_Init requires its argument to have been resolved.
+       Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+       in order to alleviate the upward compatibility introduced by AI-318.
+       (Constrain_Corresponding_Record): If the constraint is for a component
+       subtype, mark the itype as frozen, to avoid out-of-scope references to
+       discriminants in the back-end.
+       (Collect_Implemented_Interfaces): Protect the recursive algorithm of
+       this subprogram against wrong sources.
+       (Get_Discr_Value, Is_Discriminant): Handle properly references to a
+       discriminant of limited type completed with a protected type, when the
+       discriminant is used to constrain a private component of the type, and
+       expansion is disabled.
+       (Find_Type_Of_Object): Do not treat a return subtype that is an
+       anonymous subtype as a local_anonymous_type, because its accessibility
+       level is the return type of the enclosing function.
+       (Check_Initialization): In -gnatg mode, turn the error "cannot
+       initialize entities of limited type" into a warning.
+       (OK_For_Limited_Init): Return true for generated nodes, since it
+       sometimes violates the legality rules.
+       (Make_Incomplete_Declaration): If the type for which an incomplete
+       declaration is created happens to be the currently visible entity,
+       preserve the homonym chain when removing it from visibility.
+       (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
+       inherited subprograms.
+       (Access_Definition): If this is an access to function that is the return
+       type of an access_to_function definition, context is a type declaration
+       and the scope of the anonymous type is the current one.
+       (Analyze_Subtype_Declaration): Add the defining identifier of a regular
+       incomplete subtype to the set of private dependents of the original
+       incomplete type.
+       (Constrain_Discriminated_Type): Emit an error message whenever an
+       incomplete subtype is being constrained.
+       (Process_Incomplete_Dependents): Transform an incomplete subtype into a
+       corresponding subtype of the full view of the original incomplete type.
+       (Check_Incomplete): Properly detect invalid usage of incomplete types
+       and subtypes.
+
+2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * g-catiio.ads, g-catiio.adb (Value): New function.
+       Given an input String, try and parse a valid Time value.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * g-debpoo.adb (Is_Valid): Correctly compute Offset using
+       Integer_Address arithmetic, as in Set_Valid.
+
+2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
+       handling executable extension manually and duplicating code.
+
+       * make.adb: Implement new -S switch
+       (Gnatmake): Use new function Osint.Executable_Name instead
+       of handling executable extension manually.
+
+       * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
+       is specified, the executable name ends with this suffix.
+       Take advantage of Osint.Executable_Name instead of duplicating code.
+
+       * switch-m.adb: Recognize new gnatmake -S switch
+
+       * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
+       variable.
+       (Get_Target_Parameters): Set Executable_Extension_On_Target if
+       available.
+
+       * makeusg.adb: Add line for gnatmake -S switch
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
+       call it with -static-libgcc, as there are some platforms, such as
+       Darwin, where one of these two switches is compulsory to link.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
+       instead of ADA_PROJECT_PATH, for the project path.
+       (Gnatls): When displaying the project path directories, use host dir
+       specs.
+
+       * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
+       names in the project path, as absolute paths may correspond to
+       multi-valued VMS logical names.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
+       absolute path name.
+       (Locate_Regular_File): Ditto
+       (Change_Dir): Remove, no longer used
+       (Normalize_Pathname): Do not use Change_Dir to get the drive letter
+       on Windows. Get it calling Get_Current_Dir.
+       (OpenVMS): Remove imported boolean, no longer needed.
+       (Normalize_Pathname)[VMS]: Do not resolve directory names.
+       (Pid_To_Integer): New function to convert a Process_Id to  Integer
+
+2006-10-31  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
+       sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
+       to No_Socket.
+       (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
+       W_Sig_Socket.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
+       initial letter o as a zero.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
+       variant records
+       (Layout_Variant_Record): Retrieve the discriminants from the entity
+       rather than from the type definition, because in the case of a full
+       type for a private type we need to take the discriminants from the
+       partial view.
+       (Layout_Component_List): When applying the Max operator to variants with
+       a nonstatic size, check whether either operand is static and scale that
+       operand from bits to storage units before applying Max.
+       (Layout_Type): In VMS, if a C-convention access type has no explicit
+       size clause (and does not inherit one in the case of a derived type),
+       then the size is reset to 32 from 64.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * lib-load.adb (Load_Unit): Skip the test for a unit not found when
+       its file has already been loaded, according to the unit being loaded,
+       not to the current value of Multiple_Unit_Index.
+
+2006-10-31  Thomas Quinot  <quinot@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
+       (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
+       possible.
+       (a-except.o): Pass it to the compiler.
+       (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
+       (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
+       a-calend-mingw.adb version.
+
+       * Makefile.rtl: Added s-dsaser.
+       Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
+       (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
+       Ada.Dispatching.Round_Robin.
+       Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
+
+       * Make-lang.in: Remove all references to gt-ada-decl.h.
+       Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
+       sources.
+       Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
+       Update dependencies.
+
+       * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * mlib-utl.adb (Initialized): Remove, no longer used
+       (Initialize): Remove, no longer used
+       (Ar): If Ar_Exec is null, get the location of the archive builder and,
+       if there is one, the archive indexer. Fail if the archive builder cannot
+       be found.
+       (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
+       be found.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
+       Process_Body_Clauses): If the context of a body includes a use clause
+       for P.Q then a with_clause for P in the same body is not redundant,
+       even if the spec also has a with_clause on P.
+       Add missing continuation mark to error msg
+       (Build_Limited_Views): A limited view of a type is tagged if its
+       declaration includes a record extension.
+       (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
+       node, even if the subunit has errors. This avoids malfunction by
+       Lib.Check_Same_Extended_Unit in the presence of syntax errors.
+       (Analyze_Compilation_Unit): Add circuit to make sure we get proper
+       generation of obsolescent messages for with statements (cannot do
+       this too early, or we cannot implement avoiding the messages in the
+       case of obsolescent units withing obsolescent units).
+       (Install_Siblings): If the with_clause is on a remote descendant of
+       an ancestor of the current compilation unit, find whether there is
+       a sibling child unit that is immediately visible.
+       (Remove_Private_With_Clauses): New procedure, invoked after completing
+       the analysis of the private part of a nested package, to remove from
+       visibility the private with_clauses of the enclosing package
+       declaration.
+       (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
+       now centralized in Generate_Reference.
+       (Install_Limited_Context_Clauses): Remove superfluous error
+       message associated with unlimited view visible through use
+       and renamings. In addition, at the point in which the error
+       is reported, we add the backslash to the text of the error
+       to ensure that it is reported as a single error message.
+       Use new // insertion for some continuation messages
+       (Expand_Limited_With_Clause): Use copy of name rather than name itself,
+       to create implicit with_clause for parent unit mentioned in original
+       limited_with_clause.
+       (Install_Limited_With_Unit): Set entity of parent identifiers if the
+       unit is a child unit. For ASIS queries.
+       (Analyze_Subunit): If the subunit appears within a child unit, make all
+       ancestor child units directly visible again.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch10.adb (P_Context_Clause): Minor error message fix
+
+2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * par-ch12.adb: Grammar update and cleanup.
+       (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
+       support for synchronized derived type definitions.
+       Add the new actual Abstract_Present to every call to
+       P_Interface_Type_Definition.
+       (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
+       a formal object declaration with an access definition or a subtype mark
+       with a null exclusion.
+       (P_Generic_Association): Handle association with box, and others_choice
+       with box, to support Ada 2005 partially parametrized formal packages.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
+       (P_Type_Declaration): Remove barrier against the reserved word "limited"
+       after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
+       (P_Type_Declaration): Minor code cleanup. Add support for synchronized
+       private extensions.
+       (P_Type_Declaration): Add the new actual Abstract_Present to every call
+       to P_Interface_Type_Definition.
+       (P_Interface_Type_Definition): Addition of one formal to report an error
+       if the reserved word abstract has been previously found.
+       (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
+       object renaming declaration with an access definition or subtype mark
+       with a possible null exclusion.
+
+       * par-ch9.adb: Minor error msg fix
+
+       * par-load.adb: Add missing continuation mark to error msg
+
+       * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
+       unknown attribute in unknown package or in package that does not need
+       to be checked.
+       (Parse_Package_Declaration): Do not issue warning for unknown package in
+       quiet output.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
+       (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
+       Packages_To_Check.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
+       on VMS, change "__" to '.' before checking the name.
+       (Record_Ada_Source): Always add the source file name in the list of
+       of sources, even if it is not the first time, as it is for another
+       source index.
+       (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
+       dot, instead of replacing only the first '_'.
+
+       * prj-part.adb (Parse): Convert project file path to canonical form
+
+       * prj-proc.adb (Recursive_Process): Make sure that, when a project is
+       extended, the project id of the project extending it is recorded in its
+       data, even when it has already been processed as an imported project.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * repinfo.adb (List_Entities): Don't list entities from renaming
+       declarations.
+
+2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
+       only a restriction warning is active for the given restriction. This is
+       desirable because we do not want to modify code in the case where only
+       a warning is set.
+       (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
+       causes overriding of real restrictions.
+       Take advantage of new No_Restrictions constant.
+
+       * raise.h: (__gnat_set_globals): Change profile.
+
+2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+
+       * rtsfind.adb: Remove s-polint from comment as it exists no more.
+
+       * rtsfind.ads: 
+       Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
+       Move all the entities in obsolete package System.PolyORB_Interface to
+       System.Partition_Interface.
+       (RE_Storage_Size): New function in System.Tasking.
+       (RE_Get_Ceiling): New entity.
+       (RE_Set_Ceiling): New entity.
+       (RO_PE_Get_Ceiling): New entity.
+       (RO_RE_Set_Ceiling): New entity.
+       (Inherit_CPP_DT): New entity
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * scng.adb (Scan, case of numeric literal): Better msg for identifier
+       starting with a digit.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
+       properly an attempt to apply Unchecked_Access to a protected operation.
+       (OK_Self_Reference): New subprogram to check the legality of an access
+       attribute whose prefix is the type of an enclosing aggregate.
+       Generalizes previous mechanism to handle attribute references nested
+       arbitrarily deep within the aggregate.
+       (Analyze_Access_Attribute): An access attribute whose prefix is a type
+       can appear in an aggregate if this is a default-initialized aggregate
+       for a self-referential type.
+       (Resolve_Attribute, case Access): Ditto.
+       Add support for new implementation defined attribute Stub_Type.
+       (Eval_Attribute, case Attribute_Stub_Type): New case.
+       (Analyze_Attribute, case Attribute_Stub_Type): New case.
+       (Stream_Attribute_Available): Implement using new subprogram from
+       sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
+       Has_Specified_Stream_Attribute flag.
+       Disallow Storage_Size and Storage_Pool for access to subprogram
+       (Resolve_Attribute, case 'Access et al): Take into account anonymous
+       access types of return subtypes in extended return statements. Remove
+       accessibility checks on anonymous access types when Unchecked_Access is
+       used.
+       (Analyze_Attribute): Add support for the use of 'Class to convert
+       a class-wide interface to a tagged type.
+       Add support for the attribute Priority.
+       (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
+       whether the designated type is discriminated with a constrained partial
+       view and require static matching in that case.
+       Add local variable Des_Btyp. The Designated_Type
+       of an access to incomplete subtype is either its non-limited view if
+       coming from a limited with or its etype if regular incomplete subtype.
+
+       * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
+       Fix predicate to identify and allow cases of (expander-generated)
+       references to tag of designated object of a RACW.
+       (Validate_Static_Object_Name): In Ada 2005, a formal object is
+       non-static, and therefore cannot appear as a primary in a preelaborable
+       package.
+       (Has_Stream_Attribute_Definition): New subprogram, abstracted from
+       Has_Read_Write_Attributes.
+       (Has_Read_Write_Attributes): Reimplement in termes of
+       Has_Stream_Attribute_Definition.
+       (Missing_Read_Write_Attributes): When checking component types in a
+       record, unconditionally call Missing_Read_Write_Attributes recursively
+       (remove guard checking for Is_Record_Type / Is_Access_Type).
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
+       useless assignments here and conditionalize it on absence of exception
+       handlers.
+       (Analyze_Exception_Handlers): Small code reorganization of error
+       detection code, for new handling of formal packages.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
+       that has been constant-folded, preserve information of original tree,
+       for ASIS uses.
+       (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
+       generated private extension declaration if the formal derived type is
+       synchronized. Carry synchronized present over to the generated private
+       extension.
+       (Validate_Derived_Type_Instance): Ensure that the actual of a
+       synchronized formal derived type is a synchronized tagged type.
+       (Instantiate_Formal_Package): When creating the instantiation used to
+       validate the actual package of a formal declared without a box, check
+       whether the formal itself depends on a prior actual.
+       (Instantiate_Formal_Subprogram): Create new entities for the defining
+       identifiers of the formals in the renaming declaration, for ASIS use.
+       (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
+       a renaming declaration or a subtype declaration for an actual in an
+       instance, capture location information of declaration in generic, for
+       ASIS use.
+       (Instantiate_Formal_Package): Add comments on needed additional tests.
+       AI-317 (partial parametrization) is fully implemented.
+       (Validate_Private_Type_Instance): Add check for actual which
+       must have preelaborable initialization
+       Use new // insertion for some continuation messages
+       (Analyze_Formal_Object_Declaration): Change usage of Expression to
+       Default_Expression. Add type retrieval when the declaration has an
+       access definition. Update premature usage of incomplete type check.
+       (Check_Access_Definition): New subsidiary routine. Check whether the
+       current compilation version is Ada 05 and the supplied node has an
+       access definition.
+       (Instantiate object): Alphabetize local variables. Handle the creation
+       of new renaming declarations with respect to the kind of definition
+       used - either an access definition or a subtype mark. Guard against
+       unnecessary error message in the context of anonymous access types after
+       they have been resolved. Add check for required null exclusion in a
+       formal object declaration.
+       (Switch_View): A private subtype of a non-private type needs to be
+       switched (the base type can have been switched without its private
+       dependents because of the last branch of Check_Private_View.
+       (Check_Private_View): Do not recompute Base_Type (T), instead use cached
+       value from BT.
+       (Instantiate_Type): Emit an error message whenever a class-wide type of
+       a tagged incomplete type is used as a generic actual.
+       (Find_Actual_Type): Extend routine to handle a component type in a child
+       unit that is imported from a formal package in a parent.
+       (Validate_Derived_Type_Instance): Check that analyzed formal and actual
+       agree on constrainedness, rather than checking against ultimate ancestor
+       (Instantiate_Subprogram_Body): Create a cross-reference link to the
+       generic body, for navigation purposes.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch13.adb: Storage pool cannot be given for access to subprogram
+       type.
+       (New_Stream_Subprogram): When processing an attribute definition clause
+       for a stream-oriented subprogram, record an entity node occurring at
+       the point of clause to use for checking the visibility of the clause,
+       as defined by 8.3(23) as amended by AI-195.
+       (New_Stream_Subprogram): New procedure, factoring behaviour from both
+        New_Stream_Function and New_Stream_Procedure.
+       (New_Stream_Function, New_Stream_Procedure): Removed.
+       (Analyze_Attribute_Definition_Clause, case Address): Check new
+       Alignment_Check check
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
+       generate the same errors compiling under -gnatc.
+       (Try_Object_Operation): If no candidate interpretation succeeds, but
+       there is at least one primitive operation with the right name, report
+       error in call rather than on a malformed selected component.
+       (Analyze_Selected_Component): If the prefix is an incomplete type from
+       a limited view, and the full view is available, use the full view to
+       determine whether this is a prefixed call to a primitive operation.
+       (Operator_Check): Verify that a candidate interpretation is a binary
+       operation before checking the type of its second formal.
+       (Analyze_Call): Add additional warnings for function call contexts not
+       yet supported.
+       (Analyze_Allocator): Move the check for "initialization not allowed for
+       limited types" after analyzing the expression. This is necessary,
+       because OK_For_Limited_Init looks at the structure of the expression.
+       Before analysis, we don't necessarily know what sort of expression it
+       is. For example, we don't know whether F(X) is a function call or an
+       indexed component; the former is legal in Ada 2005; the latter is not.
+       (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
+       were missing. We also didn't handle qualified expressions. Now also
+       allow function calls. Use new common routine OK_For_Limited_Init.
+       (Analyze_Type_Conversion): Do not perform some legality checks in an
+       instance, because the error message will be redundant or spurious.
+       (Analyze_Overloaded_Selected_Component): Do not do style check when
+       setting an entity, since we do not know it is the right entity yet.
+       (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
+       (Analyze_Overloaded_Selected_Component): Same change
+       (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
+       since regular incomplete subtypes are transformed into corresponding
+       subtypes of their full views.
+       (Complete_Object_Operation): Treat name of transformed subprogram call
+       as coming from source, for browsing purposes.
+       (Try_Primitive_Operation): If formal is an access parameter, compare
+       with base type of object to determine whether it is a primitive
+       operation.
+       (Operator_Check): If no interpretation of the operator matches, check
+       whether a use clause on any candidate might make the operation legal.
+       (Try_Class_Wide_Operation): Check whether the first parameter is an
+       access type whose designated type is class-wide.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
+       warn on infinite loops.
+       Add \\ to some continuation messages
+       (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
+       (Process_Bounds): If the bounds are integer literals that result from
+       constant-folding, and they carry a user-defined type, preserve that type
+       rather than treating this as an integer range.
+       (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
+       (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
+       (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
+       left hand side of assignment.
+       (Analyze_Assignment): Add suport to manage assigments to the attribute
+       priority of a protected object.
+       (Check_Possible_Current_Value_Condition): Allow fully qualified names
+       not just identifiers.
+       (Check_Possible_Current_Value_Condition): Acquire left operand of AND
+       or AND THEN for possible tracking.
+       (Analyze_Iteration_Scheme): Check for setting Current_Value for the
+       case of while loops so we can track values in the loop body.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
+       procedure cannot be a protected operation (it is a basic_declaration,
+       not a subprogram_declaration).
+       (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
+       Subp. Add logic for entry processing.
+       (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
+       Determine whether an entry or subprogram of a protected or task type
+       override an inherited primitive of an implemented interface.
+       (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
+       Update the actual used in calls to Check_Overriding_Indicator.
+       (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
+       generate the proper reference to the parent unit, for cross-reference.
+       (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
+       Is_Formal.
+       Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+       (Add_Extra_Formal): Revise procedure to allow passing in associated
+       entity, scope, and name suffix, and handle setting of the new
+       Extra_Formals field.
+       (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
+       pass new parameters. Add support for adding the new extra access formal
+       for functions whose calls are treated as build-in-place.
+       (Analyze_A_Return_Statement): Correct casing in error message.
+       Move Pop_Scope to after Analyze_Function_Return, because an extended
+       return statement really is a full-fledged scope. Otherwise, visibility
+       doesn't work right. Correct use of "\" for continuation messages.
+       (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
+       evilly trying to call Analyze_Object_Declaration directly. Otherwise,
+       the node doesn't get properly marked as analyzed.
+       (Analyze_Subprogram_Body): If subprogram is a function that returns
+       an anonymous access type that denotes a task, build a Master Entity
+       for it.
+       (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
+       proper usage of null exclusion in a result definition.
+       (Process_Formals): Code cleanup and new error message.
+       (Process_Formals): Detect incorrect application of null exclusion to
+       non-access types.
+       (Conforming_Types): Handle conformance between [sub]types and itypes
+        generated for entities that have null exclusions applied to them.
+       (Maybe_Primitive_Operation): Add an additional type retrieval when the
+        base type is an access subtype. This case arrises with null exclusions.
+       (New_Overloaded_Entity): Do not remove the overriden entity from the
+       homonym chain if it corresponds with an abstract interface primitive.
+       (Process_Formals): Replace membership test agains Incomplete_Kind with a
+       call to the synthesized predicate Is_Incomplete_Type.
+       (Analyze_Subprogram_Body): Check wrong placement of abstract interface
+       primitives.
+       (Analyze_Subprogram_Declaration): Check that abstract interface
+       primitives are abstract or null.
+       (Analyze_Subprogram_Specification): Remove previous check for abstract
+       interfaces because it was not complete.
+       (Has_Interface_Formals): Removed.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
+       of Analyze_Package_Body, to create Itype references for anonymous
+       access types created in the package declaration, whose designated types
+       may have only a limited view.
+       (Analyze_Package_Specification): For the private part of a nested
+       package, install private_with_clauses of enclosing compilation unit if
+       we are in its visible part.
+       (Declare_Inherited_Private_Subprograms): Complete barrier
+       to ensure that the primitive operation has an alias to some parent
+       primitive. This is now required because, after the changes done for the
+       implementation of abstract interfaces, the contents of the list of
+       primitives has entities whose alias attribute references entities of
+       such list of primitives.
+       (Analyze_Package_Specification): Simplify code that handles parent units
+       of instances and formal packages.
+       (Uninstall_Declarations): Check the convention consistency among
+       primitive overriding operations of a tagged record type.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb: Minor error msg rewording
+       (Undefined): When checking for misspellings, invert arguments (to get
+       expected and found set right)
+       (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
+       (Analyze_Generic_Renaming): Same fix
+       (Use_One_Package): Do not take into account the internal entities of
+       abstract interfaces during the analysis of entities that are marked
+       as potentially use-visible.
+       (Find_Type): Handle the case of an attribute reference for
+       implementation defined attribute Stub_Type (simply let the analysis of
+       the attribute reference rewrite it).
+       (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
+       type that appears in a Use_Type clause.
+       (Analyze_Object_Renaming): Add support for renaming of the Priority
+       attribute.
+       (Find_Type): In Ada 2005, a task type can be used within its own body,
+       when it appears in an access definition.
+       (Analyze_Object_Renaming): Remove warning on null_exclusion.
+       (Analyze_Object_Renaming): Introduce checks for required null exclusion
+        in a formal object declaration or in a subtype declaration.
+       (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
+       (Check_Null_Exclusion): New local routine to
+       Analyze_Subprogram_Renaming. Check whether the formals and return
+       profile of a renamed subprogram have required null exclusions when
+       their counterparts of the renaming already impose them.
+       (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
+       Determine whether an entity is inside a generic scope.
+       (In_Open_Scope): First pass of documentation update.
+       (Find_Expanded_Name): Add support for shadow entities associated with
+       limited withed packages. This is required to handle nested packages.
+       (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
+       that makes a renaming of a limited withed package illegal.
+
+2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
+       Check_Overriding_Indicator.
+       (Analyze_Task_Definition): Ditto.
+       (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
+       (Check_Overriding_Indicator): To find overridden interface operation,
+       examine only homonyms that have an explicit subprogram declaration, not
+       inherited operations created by an unrelated type derivation.
+       (Check_Overriding_Indicator): When checking for the presence of "null"
+       in a procedure, ensure that the queried node is a procedure
+       specification.
+       (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
+       type when the formal is an access to variable.
+       (Analyze_Protected_Type): Add check for Preelaborable_Initialization
+       (Analyze_Task_Type): Same addition
+       (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
+       provide navigation capabilities for entries.
+
+2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
+       inherited from an interface ancestor by another interface in the
+       context of an instance as 'late'.
+       (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
+       of a call to a function that dispatches on access result.
+       (Check_Dispatching_Operation): In case of late overriding of a primitive
+       that covers abstract interface subprograms we register it in all the
+       secondary dispatch tables associated with abstract interfaces.
+       (Check_Dispatching_Call): Add check that a dispatching call is not made
+       to a function with a controlling result of a limited type. This is a
+       current implementation restriction.
+       (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
+       (Check_Dispatching_Operation): Do no emit a warning if the controlling
+       argument is an interface type that is a generic formal.
+       (Is_Interface_Subprogram): Removed.
+       (Check_Dispatching_Operation): If the subprogram is not a dispatching
+       operation, check the formals to handle the case in which it is
+       associated with an abstract interface type.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
+       Add new calls to this procedure during traversal
+       (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
+       another unit if expansion is disabled.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.adb (Compile_Time_Compare): Make use of information from
+       Current_Value in the conditional case, to evaluate additional
+       comparisons at compile time.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
+       subprogram type to provide better diagnostics in case of ambiguity.
+       (Covers): Handle coverage of formal and actual anonymous access types in
+       the context of generic instantiation.
+       (Covers/Interface_Present_In_Ancestors): Use the base type to manage
+       abstract interface types; this is required to handle concurrent types
+       with discriminants and abstract interface types.
+       (Covers): Include type coverage of both regular incomplete subtypes and
+       incomplete subtypes of incomplete type visibles through a limited with
+       clause.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
+       messages for entities in packages which are not used.
+       (Collect_Synchronized_Interfaces): New procedure.
+       (Overrides_Synchronized_Primitive): New function.
+       (Denotes_Discriminant): Extend predicate to apply to task types.
+       Add missing continuation marks in error msgs
+       (Unqualify): New function for removing zero or more levels of
+       qualification from an expression. There are numerous places where this
+       ought to be used, but we currently only deal properly with zero or one
+       level.
+       (In_Instance); The analysis of the actuals in the instantiation of a
+       child unit is not within an instantiation, even though the parent
+       instance is on the scope stack.
+       (Safe_To_Capture_Value): Exclude the case of variables that are
+       renamings.
+       (Check_Obsolescent): Removed
+       (Is_Aliased_View): A reference to an enclosing instance in an aggregate
+       is an aliased view, even when rewritten as a reference to the target
+       object in an assignment.
+       (Get_Subprogram_Entity): New function
+       (Known_To_Be_Assigned): New function
+       (Type_Access_Level): Compute properly the access level of a return
+       subtype that is an anonymous access type.
+       (Explain_Limited_Type): Correct use of "\" for continuation messages.
+       (Is_Transfer): The new extended_return_statement causes a transfer of
+       control.
+       (Has_Preelaborable_Initialization): New function
+       (Has_Null_Exclusion): New function. Given a node N, determine whether it
+       has a null exclusion depending on its Nkind.
+       Change Is_Lvalue to May_Be_Lvalue
+       (May_Be_Lvalue): Extensive additional code to deal with subprogram
+       arguments (IN parameters are not Lvalues, IN OUT parameters are).
+       (Safe_To_Capture_Value): Extend functionality so it can be used for
+       the current value condition case.
+       (Has_Compatible_Alignment): New function
+       (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
+       objects to handle the Ada 2005 case, where aliasedness no longer implies
+       that the object is constrained. In particular, for dereferenced names,
+       the designated object must be assumed to be unconstrained.
+       (Kill_Current_Values): Properly deal with the case where we encounter
+       a loop in the scope chain.
+       (Safe_To_Capture_Value): Do not let a loop stop us from capturing
+       a value.
+       (Compile_Time_Constraint_Error): Improve error message in error case
+
+       * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
+       associated with entities of abstract interface primitives.
+       Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * s-osinte-tru64.adb: 
+       Mark Asm statements Volatile to prevent warnings (seems a
+       reasonable change anyway)
+       Fixes new warnings
+
+       * s-mastop-irix.adb: Add Volatile to Asm statements
+       Suppresses warning, and seems appropriate in any case
+
+       * s-osinte-vms.adb: Add Volatile to Asm statement
+
+       * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
+
+       * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
+       returned.
+       Add call to Check_Code_Statement
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
+       Synchronized_Present): Add Formal_Derived_Type_Definition and
+       Private_Extension_Declaration to the list of assertions.
+       (Is_Entry_Barrier_Function): New flag
+       (Has_Self_Reference): New flag on aggregates, to indicate that they
+       contain a reference to the enclosing type, inserted through a default
+       initialization.
+       (Next_Rep_Item): Move from Node4 to Node5.
+       (Entity): Add this field for N_Attribute_Definition_Clause.
+       (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
+       (N_Return_Object_Declaration): Remove this node kind. We now use
+       N_Object_Declaration instead.
+       (Actual_Designated_Subtype): Move to a different place to make room in
+       N_Extended_Return_Statement.
+       (Procedure_To_Call): Move to a different place to make room in
+       N_Extended_Return_Statement.
+       (Return_Type): Removed this field to make room in return statements
+       (both kinds).
+       (Return_Statement_Entity): New field in return statements, in part to
+       replace Return_Type, and in part to support the fact that return
+       statements are now pushed on the scope stack during semantic analysis.
+       (Return_Object_Declarations): New field to support extended return
+       statements.
+       (N_Extended_Return_Statement): New node for extended_return_statement
+       nonterminal.
+       (N_Return_Object_Declaration): New node for part of
+       extended_return_statement nonterminal. Needed because all the necessary
+       fields won't fit in N_Extended_Return_Statement.
+       Generic_associations now carry the Box_Present flag, to indicate a
+       default for an actual in a partially parametrized formal package.
+
+       * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
+       (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
+       and for the new predefined dispatching policies: EDF_Across_Priorities,
+       Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
+       Introduce new name Stub_Type for implementation defined attribute.
+       Add pragma Preelaborable_Initialization
+       Add entry for Priority attribute.
+       Add Pragma_Wide_Character_Encoding
+       (Get_Convention_Name): Given a convention id, this function returns the
+       corresponding name id from the names table.
+
+2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
+       print null exclusion twice in the case of an access definition,
+       Implement new -gnatL switch
+       Remove N_Return_Object_Declaration. We now use
+       N_Object_Declaration instead. Implement the case for
+       N_Extended_Return_Statement. Alphabetize the cases.
+       Add cases for new nodes N_Extended_Return_Statement and
+       N_Return_Object_Declaration. The code is not yet written.
+       Update the output for N_Formal_Object_Declaration
+       and N_Object_Renaming_Declaration.
+       (Write_Itype): Account for the case of a modular integer subtype whose
+       base type is private.
+
+2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
+       Remove elaboration code, now done in the binder.
+
+       * s-rident.ads: Make this unit Preelaborate.
+       (No_Restrictions): New constant used to clean up code and follow
+       preelaborate constraints.
+
+       * s-stalib.adb: 
+       Add System.Restrictions dependence, referenced directly from the
+       binder generated file.
+
+2006-10-31  Gary Dismukes  <dismukes@adacore.com>
+
+       * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
+       True when AAMP extended floating-point is in use (48-bit). Change type
+       ByteLF to ByteLLF, add new array type ByteLF and condition the size of
+       the two byte array types on AFloat. Change type of IV_Ilf overlay
+       variable from Byte8 to ByteLF. Add appropriate initializations of
+       floating-point overlays for AAMP cases.
+
+2006-10-31  Javier Miranda  <miranda@adacore.com>
+
+       * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
+       (Get_Ceiling): New subprogram that returns
+       the ceiling priority of the protected object.
+       (Set_Ceiling): New subprogram that sets the new ceiling priority of
+       the protected object.
+
+       * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
+
+       * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
+
+2006-10-31  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
+       requeuing to the same protected object to give higher priority tasks
+       the opportunity to execute.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+
+       * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
+       add more precise check for the character sequence that follows '[' to
+       avoid possible confusion in case if '[' is the last character of a
+       string literals.
+       (Scan_Wide): Always allow brackets encoding
+
+2006-10-31  Olivier Hainque  <hainque@adacore.com>
+
+       * s-stchop.ads: make this unit preelaborate. This is desirable in
+       general and made mandatory by the use of this unit by s-taprop which
+       is itself preelaborate.
+
+       * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
+       Td_Events component.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
+       in file names.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * makegpr.adb (Check_Compilation_Needed): Take into account path names
+       with spaces.
+       (Check_Compilation_Needed): When checking a C or C++ source, do not
+       resolve symbolic links.
+       (Display_Command): New Boolean parameter Ellipse, defaulted to False.
+       When not in verbose mode and Ellipse is True, display "..." for the
+       first argument with Display set to False.
+       (Build_Global_Archive): Always set Display True for the first object
+       file. Call Display_Command with Ellipse set to True.
+
+2006-10-31  Matt Heaney  <heaney@adacore.com>
+
+       * a-crbtgo.ads: Commented each subprogram
+
+       * a-crbtgo.adb: Added reference to book from which algorithms were
+       adapted.
+
+       * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
+       indicate which child.
+       (Generic_Conditional_Insert): changed parameter name from "Success" to
+       "Inserted".
+       (Generic_Unconditional_Insert_With_Hint): improved algorithm
+
+       * a-coorse.adb (Replace_Element): changed parameter name in call to
+       conditional insert operation.
+
+       * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
+
+       * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
+       Generic_Iteration
+
+       * a-ciorse.adb (Replace_Element): changed parameter name in call to
+       conditional insert operation.
+
+       * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
+       Generic_Iteration.
+
+       * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
+       instead of mode inout.
+
+       * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
+       draft
+       (Generic_Read): preserve existing buckets array if possible
+       (Generic_Write): don't send buckets array length anymore
+
+       * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
+       instead of mode inout.
+
+       * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
+       (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+
+       * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
+       (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+       (Replace_Element): local operation is now an instantiation
+
+       * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
+       check current length.
+       (Generic_Replace_Element): new operation
+
+2006-10-31  Doug Rupp  <rupp@adacore.com>
+
+       * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
+       Call TBK$SYMBOLIZE without omitting parameters.
+
+2006-10-31  Vincent Celier  <celier@adacore.com>
+
+       * symbols-processing-vms-ia64.adb,
+       symbols-processing-vms-alpha.adb (Process): Do not include symbols
+       that come from generic instantiations in bodies.
+
+2006-10-31  Pat Rogers  <rogers@adacore.com>
+
+       * a-rttiev.ads, a-rttiev.adb: 
+       This is a significant redesign primarily for the sake of automatic
+       timer task termination but also to fix a design flaw.
+       Therefore we are now using an RTS lock, instead of a protected
+       object, to provide mutual exclusion to the queue of pending events
+       and the type Timing_Event is no longer a protected type.
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Cyrille Comar  <comar@adacore.com>
+           Ben Brosgol  <brosgol@adacore.com>
+
+       * debug.adb:  Update flags documentation
+
+       * gnat_ugn.texi: Add documentation for new -gnatwq switch
+       Clean up documentation for several other warning switches
+       Clarify how task stack size can be specified with various
+       versions of Windows.
+       Add note that -gnatVo includes ranges including loops
+       Add documentation for -gnatL switch
+       Add note on elaboration warning for initializing variables
+       Add documentation for new -gnatwt warning switch
+       Document new form of pragma Warnings (On|Off, string)
+       Add comment on use of pragma Warnings to control warnings
+       Add documentation for -gnatjnn switch
+       Modify section on interfacing with C for VMS 64-bit.
+       Add doc for -gnatVe/E
+       Add documentation of new warning flags -gnatww/-gnatwW
+       Add warnings about address clause overlays to list of warnings
+       (Exception Handling Control): Document that the option --RTS must be
+       used consistently for gcc and gnatbind.
+       Clarify that inlining is not always possible
+       Update documentation on pragma Unchecked_Union.
+
+       * gnat_rm.texi: 
+       Add documentation for new extended version of pragma Obsolescent
+       Add documentation for implementation defined attribute 'Stub_Type.
+       Add note on use of Volatile in asm statements
+       Add documentation on use of pragma Unreferenced in context clause
+       Document new form of pragma Warnings (On|Off, pattern)
+       Document pragma Wide_Character_Encoding
+       Add note that pragma Restrictions (No_Elaboration_Code) is only fully
+       enforced if code generation is active.
+       Add section on pragma Suppress to document GNAT specific check
+       Alignment_Check
+       Clarify difference between No_Dispatching_Calls & No_Dispatch.
+       Add documentation for pragma Restrictions (No_Elaboration_Code)
+
+       * gnat-style.texi: 
+       Add comments on layout of subprogram local variables in the
+       presence of nested subprograms.
+
+       * ug_words: Resync.
+
+       * elists.ads: Minor reformatting
+       Node returns Node_Or_Entity_Id (doc change only)
+
+       * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
+
+       * g-arrspl.ads (Create): Update comments.
+
+       * sem.ads: Add details on the handling of the scope stack.
+
+       * usage.adb: Update documentation.
+
+       * validsw.ads, validsw.adb: 
+       Add definition of Validity_Check_Components and implement -gnatVe/E
+
+       * vms_data.ads: Add missing VMS qualifiers.
+
+       * s-addope.ads: Add documentation on overflow and divide by zero
+
+2006-10-31  Robert Dewar  <dewar@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * fmap.adb: Put routines in alpha order
+
+       * g-boumai.ads: Remove redundant 'in' keywords
+
+       * g-cgi.adb: Minor reformatting
+
+       * g-cgi.ads: Remove redundant 'in' keywords
+
+       * get_targ.adb: Put routines in alpha order
+
+       * prj-attr.ads: Minor reformatting
+
+       * s-atacco.ads: Minor reformatting
+
+       * scn.adb: Put routines in alpha order
+
+       * sinput-l.adb: Minor comment fix
+
+       * sinput-p.adb: Minor comment fix
+
+       * s-maccod.ads: Minor reformatting
+
+       * s-memory.adb: Minor reformatting
+
+       * s-htable.adb: Fix typo in comment.
+
+       * s-secsta.adb: Minor comment update.
+
+       * s-soflin.adb: Minor reformatting
+
+       * s-stoele.ads: 
+       Add comment about odd qualification in Storage_Offset declaration
+
+       * s-strxdr.adb: 
+       Remove unnecessary 'in' keywords for formal parameters.
+
+       * treeprs.adt: Minor reformatting
+
+       * urealp.adb: Put routines in alpha order
+
+       * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
+       taking string.
+
+       * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+
+       * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
+
+       * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
+       workaround as on other platforms.
+
+       * g-eacodu-vms.adb: Remove redundant 'in' keywords
+       * g-expect-vms.adb: Remove redundant 'in' keywords
+
+       * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
+       clear error message if the list-of-files file cannot be opened.
+
+       * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
+       equality operator is always visible.
+
+       * lang.opt: Woverlength-strings: New option.
+
+       * nmake.adt: 
+       Update copyright, since nmake.ads and nmake.adb have changed.
+
+       * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
+       (Binder_Output_Time_Stamps_Set): removed.
+       (Old_Binder_Output_Time_Stamp): idem.
+       (New_Binder_Output_Time_Stamp): idem.
+       (Recording_Time_From_Last_Bind): idem.
+       (Recording_Time_From_Last_Bind): Make constant.
+
+       * output.ads, output.adb (Write_Str): Allow LF characters
+       (Write_Spaces): New procedure
+
+       * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
+
+       * inline.adb: Minor reformatting
+
+       * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+
+       * s-mastop-vms.adb: Remove redundant 'in' keywords
+
+       * s-osprim-vms.adb: Remove redundant 'in' keywords
+
+       * s-trafor-default.adb: Remove redundant 'in' keywords
+
+       * 9drpc.adb: Remove redundant 'in' keywords
+
+       * s-osinte-mingw.ads: Minor reformatting
+
+       * s-inmaop-posix.adb: Minor reformatting
+
+       * a-direio.ads: Remove quotes from Compile_Time_Warning message
+
+       * a-exexda.adb: Minor code reorganization
+
+       * a-filico.adb: Minor reformatting
+
+       * a-finali.adb: Minor reformatting
+
+       * a-nudira.ads: Remove quote from Compile_Time_Warning message
+
+       * a-numeri.ads: Minor reformatting
+
+       * a-sequio.ads: Remove quotes from Compile_Time_Warning message
+
+       * exp_pakd.ads: Fix obsolete comment
+
+       * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
+       a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
+       Probably not a bug, but certainly neater and more efficient.
+
+       * a-tienio.adb: Minor reformatting
+
+       * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
+       Avoid assuming low bound of string is 1.
+
+       * gnatbind.adb: Change Bindusg to package and rename procedure as
+       Display, which now ensures that it only outputs usage information once.
+       (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
+
+       * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
+       Table'First.
+
+       * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
+       warning.
+       (Match): Add pragma Assert to ensure that Matches'First is zero
+
+       * g-regpat.ads (Match): Document that Matches lower bound must be zero
+
+       * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
+       documented preconditions (also kills warnings about bad indexes).
+
+       * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
+       is 1.
+       (Build_Import_Library): Ditto;
+
+       * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
+
+       * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
+
+       * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
+       lower bound of choice table is 1.
+
+       * sem_case.ads (Analyze_Choices): Document that lower bound of
+       Choice_Table is 1.
+
+       * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
+       string is 1.
+
+       * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
+       and add appropriate Assert pragma to suppress warnings.
+
+       * atree.h, atree.ads, atree.adb
+       Change Elist24 to Elist25
+       Add definitions of Field28 and Node28
+       (Traverse_Field): Use new syntactic parent table in sinfo.
+
+       * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+
+       * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+
+       * exp_tss.adb: Put routines in alpha order
+
+       * fe.h: Remove redundant declarations.
+
+2006-10-23 Rafael Avila de Espindola  <rafael.espindola@gmail.com>
+
+       * utils.c (builtin_function): Rename to gnat_builtin_function.
+       Move common code to add_builtin_function.
+       * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
+       gnat_builtin_function.
+       * gigi.h (builtin_function): Rename to gnat_builtin_function.
+       Change the signature.
+
+2006-10-16  Brooks Moses  <bmoses@stanford.edu>
+
+       * Makefile.in: Add TEXI2PDF definition.
+       * Make-lang.in: Add "ada.pdf" target.
+
+2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * decl.c, utils.c: Fix comment typos.
+       * utils.c: Fix a typo.
+
+2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
+       on "pure" Ada subprograms if SJLJ exceptions are used.
+       * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
+       on the declaration node of JMPBUF_SAVE.
+       * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
+       of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
+       * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
+
+2006-08-20  Laurent GUERBY  <laurent@guerby.net>
+
+       PR ada/28716
+       g-socket.adb (Bind_Socket): Call Set_Address.
+
+2006-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/15802
+       * decl.c (same_discriminant_p): New static function.
+       (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
+       subtype and we have discriminants, fix up the COMPONENT_REFs
+       for the discriminants to make them reference the corresponding
+       fields of the parent subtype after it has been built.
+
+2006-09-15  Roger Sayle  <roger@eyesopen.com>
+
+       PR ada/18817
+       * utils.c (max_size): Perform constant folding of (A ? B : C) - D
+       into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
+
+2006-09-13  Olivier Hainque  <hainque@adacore.com>
+
+       PR ada/29025
+       * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
+       of a SAVE_EXPR, just make the operand addressable/not-readonly and
+       let the common gimplifier code make and propagate a temporary copy.
+       (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
+       out/in-out actuals and defer setting the addressable/readonly bits
+       to the gimplifier.
+
+2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/28591
+       * decl.c (components_to_record): Defer emitting debug info for the
+       record type associated with the variant until after we are sure to
+       actually use it.
+
+2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/21952
+       * gigi.h (gnat_internal_attribute_table): Declare.
+       * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
+       * utils.c (gnat_internal_attribute_table): New global variable.
+       (builtin_function): Always call decl_attributes on the builtin.
+       (handle_const_attribute): New static function.
+       (handle_nothrow_attribute): Likewise.
+
+2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
+
+2006-06-23  Olivier Hainque  <hainque@adacore.com>
+
+       * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
+       not been able to get a constant upper bound from TYPE_SIZE_UNIT.
+
+2006-06-20  James A. Morrison  <phython@gcc.gnu.org>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/18692
+       * Make-lang.in: Add check-gnat to lang_checks.  Rename existing
+       check-gnat into check-acats.
+
+2006-06-17  Karl Berry  <karl@gnu.org>
+
+       * gnat-style.texi (@dircategory): Use "Software development"
+       instead of "Programming", following the Free Software Directory.
+
+2006-06-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/27944
+       * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
+
+2006-06-06  Laurent GUERBY  <laurent@guerby.net>
+
+       PR ada/27769
+       mlib-utl.adb: Use Program_Name.
+
+2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
+
+       * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
+       sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
+       trans.c, utils.c: Fix comment typos.  Follow spelling
+       conventions.
+       * gnat_rm.texi, gnat_ugn.texi, : Fix typos.  Follow spelling
+       conventions.
+
+2006-05-19  Nicolas Setton  <setton@adacore.com>
+
+       * misc.c (gnat_dwarf_name): New function.
+       (LANG_HOOKS_DWARF_NAME): Define to it.
+
+2006-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
+       (ada/misc.o): Likewise.
+       (ada/utils.o): Likewise.
+
+2006-04-08  Aurelien Jarno  <aurel32@debian.org>
+
+       * Makefile.in: Add Ada support for GNU/kFreeBSD.
+       * s-osinte-kfreebsd-gnu.ads: New file.
+
+2006-03-29  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * Make-lang.in: Rename docdir to gcc_docdir.
+
+2006-03-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gigi.h (get_ada_base_type): Delete.
+       * utils2.c (get_ada_base_type): Likewise.
+       * trans.c (convert_with_check): Operate in the real base type.
+
+2006-03-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
+
+2006-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+       * utils.c (create_var_decl): Use have_global_bss_p when deciding
+       whether to make the decl common.
+
+2006-02-20  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * Make-lang.in (Ada): Remove.
+       (.PHONY): Remove Ada
+
+2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
+       aggregate, check the interpretations of the other operand to find one
+       that may be a boolean array.
+
+       (Analyze_Selected_Component): Fix flow-of-control typo in case where
+       the prefix is a private extension.
+
+2006-02-17  Eric Botcazou  <botcazou@adacore.com>
+
+       PR ada/26315
+       * utils2.c (find_common_type): If both input types are BLKmode and
+       have the same constant size, keep using the first one.
+
+       * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
+
+       * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
+
+       * misc.c (gnat_handle_option): New case for -Woverlength-strings.
+
+2006-02-17  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, 
+       s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, 
+       s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb, 
+       s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
+       Abort_Defer/Undefer pairs to avoid the possibility of a task being
+       aborted while owning a lock.
+
+2006-02-17  Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
+       through an access to class-wide interface we force the displacement of
+       the pointer to the allocated object to reference the corresponding
+       secondary dispatch table.
+       (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
+       if Long_Shifts are supported on the target, even if 64 bit divides
+       are not supported (configurable run time mode).
+       (Expand_N_Type_Conversion): Do validity check if validity checks on
+       operands are enabled.
+       (Expand_N_Qualified_Expression): Do validity check if validity checks
+       on operands are enabled.
+
+2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
+       must be materialized when the renamed expression is an explicit
+       dereference.
+
+2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Statically_Discriminated_Components): Return false if
+       the bounds of the type of the discriminant are not static expressions.
+
+       * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
+       the bounds of the discriminant type are not static.
+
+2006-02-17  Robert Dewar  <dewar@adacore.com>
+
+       * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
+       then we close To if it is valid.
+
+2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * init.c (facility_resignal_table): new array
+       (__gnat_default_resignal_p): enhance default predicate to resignal if
+       VMS condition has one of the predefined facility codes.
+
+2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * Makefile.in: Use VMS64 specialized versions of several units in
+       Interfaces.C hierarchy to be compatible with HP C default size choices.
+       Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
+
+2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
+       instantiation, the corresponding entity is the related_instance of the
+       wrapper package created for the instance.
+
+2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
+       the current instance is nested within another instance in a child unit.
+
+2006-02-17  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
+       type we cannot inherit the primitive operations; we inherit the
+       Corresponding_Record_Type (which has the list of primitive operations).
+       (Check_Anonymous_Access_Types): When creating anonymous access types for
+       access components, use Rewrite in order to preserve the tree structure,
+       for ASIS use.
+       (Analyze_Object_Declaration): For limited types with access
+       discriminants with defaults initialized by an aggregate, obtain
+       subtype from aggregate as for other mutable types.
+       (Derived_Type_Declaration): If the derived type is a limited interface,
+       set the corresponding flag (Is_Limited_Record is not sufficient).
+
+2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
+       to inline a function that returns an unconstrained type, the return
+       expression must be the first variable declared in the body of the
+       function.
+
+2006-02-17  Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
+       abstract interface type, the static analysis is not enough to know if
+       the interface is implemented or not by the source tagged type. Hence
+       we must pass the work to the expander to generate the required code to
+       evaluate the conversion at run-time.
+       (Resolve_Equality_Op): Do not apply previous
+       transformation if expansion is disasbled, to prevent anomalies when
+       locating global references in a generic unit.
+
+2006-02-17  Vincent Celier  <celier@adacore.com>
+
+       * snames.ads, snames.adb: New standard names for new project attributes:
+       archive_builder, archive_indexer, compiler_pic_option,
+       config_body_file_name, config_body_file_name_pattern,
+       config_file_switches, config_file_unique, config_spec_file_name,
+       config_spec_file_name_pattern, default_builder_switches,
+       default_global_compiler_switches, default_language,
+       dependency_file_kind, global_compiler_switches, include_path,
+       include_path_file, language_kind, linker_executable_option,
+       linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
+       roots, runtime_project.
+
+2006-02-17  Matthew Heaney  <heaney@adacore.com>
+
+       * a-convec.ads, a-convec.adb: 
+       (operator "&"): handle potential overflow for large index types
+       (Insert): removed Contraint_Error when using large index types
+       (Insert_Space): removed Constraint_Error for large index types
+       (Length): moved constraint check from Length to Insert
+
+       * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
+       as not null access.
+       Explicit raise statements now include an exception message.
+       (operator "&"): handle potential overflow for large index types
+       (Insert): removed Contraint_Error when using large index types
+       (Insert_Space): removed Constraint_Error for large index types
+       (Length): moved constraint check from Length to Insert
+
+2006-02-17  Robert Dewar  <dewar@adacore.com>
+
+       * s-wchcnv.adb: Document handling of [ on output (we do not change
+       this to ["5B"] and the new comments say why not.
+
+       * gnat_ugn.texi: 
+       Add note for -gnatVo that this now includes the cases of type
+       conversions and qualified expressions.
+       Add comments on handling of brackets encoding for Text_IO
+
+2006-02-17  Ramon Fernandez  <fernandez@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * expander.adb: Fix typo in comment
+
+       * exp_pakd.adb: Fix typo
+       Minor comment reformatting.
+
+       * g-dyntab.adb: Minor reformatting
+
+       * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
+       aliased subprograms to look for the abstract interface subprogram.
+
+2006-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * env.c (__gnat_setenv): Use size_t.
+       (__gnat_unsetenv): Likewise.
+       (__gnat_clearenv): Likewise.
+
+2006-02-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
+       g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
+       i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
+       s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
+       s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
+       s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
+       s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
+       s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
+       s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
+       no longer used.
+
+2006-02-13  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
+       protection against race conditions is not needed.
+       (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
+       fallback handler.
+       (Set_Specific_Handler): Add mutual exclusive access to the specific
+       handler.
+       (Specific_Handler): Add mutual exclusive access for retrieving the
+       specific handler.
+
+       * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
+       back handler.
+
+       * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
+       Fall_Back_Handler and Specific_Handler.
+
+       * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
+       termination handlers.
+       Set two different owerflow depending on the maximal stack size.
+
+       * s-solita.adb (Task_Termination_Handler_T): Document why explicit
+       protection against race conditions is not needed when executing the
+       task termination handler.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
+       a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
+       a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+       a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
+       a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
+       a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
+       a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
+       a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
+       a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
+       a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+       a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
+       a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
+       a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
+       a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
+       a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
+       a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
+       a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
+       a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
+       a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
+       a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
+       g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
+       g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
+       mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
+       prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
+       s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
+       s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
+       s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
+       s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
+       s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
+       s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
+       a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
+       fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
+       par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
+       system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
+       reformatting.
+
+2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
+       s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
+       s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
+       s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
+       a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
+       s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
+       a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
+       s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
+       s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads, 
+       s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads, 
+       s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, 
+       s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, 
+       s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads, 
+       s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
+       replaced by anonymous access type.
+       (pthread_sigmask): Now take an access sigset_t
+
+       * s-osinte-hpux.ads:  Ditto.
+       (pthread_mutex_t, pthread_cond_t): Update definitions to support
+       properly 32 and 64 bit ABIs.
+
+2006-02-13  Pascal Obry  <obry@adacore.com>
+
+       * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, 
+       s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, 
+       s-taprop-linux.adb, s-taprop-solaris.adb,
+       s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
+       adjustement is already done when calling this routine.
+
+2006-02-13  Pascal Obry  <obry@adacore.com>
+
+       * system-mingw.ads (Underlying_Priorities): Update the priority mapping
+       table to take advantage of the 16 priority levels available on Windows
+       2000 and XP. On NT4 there are only 7 priority levels, this is properly
+       supported by this new mapping.
+
+2006-02-13  Nicolas Setton  <setton@adacore.com>
+
+       * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
+       (get_encoding): New subprogram. Extracts the encodings from an encoded
+       Ada name.
+
+2006-02-13  Pascal Obry  <obry@adacore.com>
+           Nicolas Roche  <roche@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
+       support.
+       (__gnat_try_lock): Add unicode support by using a specific section on
+       Windows.
+       (__gnat_get_current_dir): Idem.
+       (__gnat_open_read): Idem.
+       (__gnat_open_rw): Idem.
+       (__gnat_open_create): Idem.
+       (__gnat_create_output_file): Idem.
+       (__gnat_open_append): Idem.
+       (__gnat_open_new): Idem.
+       (__gnat_file_time_name): Idem.
+       (__gnat_set_file_time_name): Idem.
+       (__gnat_stat): Idem.
+       (win32_no_block_spawn): Idem.
+       (__gnat_locate_exec_on_path): Idem.
+       (__gnat_opendir): New routine.
+       (__gnat_closedir): Idem.
+       (__gnat_readdir): Add new parameter length (pointer to int). Update
+       implementation to use it and add specific Win32 code for Unicode
+       support.
+       (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
+       (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
+       (convert_addresses): Do not define this dummy routine on VMS.
+
+       * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
+       runtime Unicode support will be activated.
+       (S2WS): String to Wide-String conversion. This version just copy a
+       string in non Unicode version.
+       (WS2S): Wide-String to String conversion. This version just copy a
+       string in non Unicode version.
+
+       * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
+       (Open): Now import __gnat_opendir from adaint.c.
+       (Read): Change the implementation to support unicode characters. It is
+       not possible to use strlen() on Windows as this version supports only
+       standard ASCII characters. So the length of the directory entry is now
+       returned from the imported __gnat_readdir routine.
+       Update copyright notice.
+
+       * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
+       (opendir): Moved to adaint.c.
+
+       * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
+       (Get_Directory): Fix wrong indexing.
+       (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
+       __gnat_getenv from env.c
+       (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
+       from env.c
+
+       * env.h, env.c: New file.
+
+       * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
+       adaint.c by __gnat_getenv from env.c
+
+       * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
+       adaint.c by __gnat_getenv from env.c
+
+       * Make-lang.in: Add env.o in the list of C object needed by gnat1
+       and gnatbind.
+       Update dependencies.
+
+2006-02-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
+       
+       * gigi.h (value_factor_p): Add prototype and description, now public.
+
+       * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
+       promotion for field with rep clause if the associated size was proven
+       to be in error.
+       Expand comments describing attempts to use a packable type.
+       (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
+       E_Floating_Point_Subtype>: Inherit alias set of what we are making a
+       subtype of to ensure conflicts amongst all subtypes in a hierarchy,
+       necessary since these are not different types and pointers may
+       actually designate any subtype in this hierarchy.
+       (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
+       discriminants but put them into record only if not Unchecked_Union;
+       pass flag to components_to_record showing Unchecked_Union.
+       (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
+       components before variants; don't set TYPE_UNCHECKED_UNION_P.
+       (components_to_record): New argument UNCHECKED_UNION.
+       Remove special case code for Unchecked_Union and instead use main code
+       with small changes.
+
+       PR ada/26096
+       (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
+       variable with the expression being built, only its inner field.
+
+       * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
+       emit_sequence_entry_statements.
+       (emit_sequence_entry_statements, body_with_handlers_p): Delete.
+       (establish_gnat_vms_condition_handler): Move before
+       Subprogram_Body_to_gnu.
+       (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
+       for a subprogram if it has a foreign convention or is exported.
+       (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
+       substituted for a CONST_DECL.
+       (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
+       Etype to assoc_to_constructor.
+       (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
+       discriminants of Unchecked_Union.
+       (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
+       don't need cluttering preprocessor directives.
+       (establish_gnat_vms_condition_handler): New function. Establish the GNAT
+       condition handler as current in the compiled function.
+       (body_with_handlers_p): New function. Tell whether a given sequence of
+       statements node is attached to a package or subprogram body and involves
+       exception handlers possibly nested within inner block statements.
+       (emit_sequence_entry_statements): New function, to emit special
+       statements on entry of sequences when necessary. Establish GNAT
+       condition handler in the proper cases for VMS.
+       (Handled_Sequence_Of_Statements_to_gnu): Start block code with
+       emit_sequence_entry_statements.
+
+       * utils2.c (find_common_type): If both input types are BLKmode and
+       have a constant size, use the smaller one.
+       (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
+       the same.
+
+       * utils.c (value_factor_p): Make public, to allow uses from other gigi
+       units.
+       (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
+       (convert, case UNION_TYPE): Remove special treatment for unchecked
+       unions.
+
+       PR ada/18659
+       (update_pointer_to): Update variants of pointer types to unconstrained
+       arrays by attaching the list of fields of the main variant.
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * a-exexpr.adb, a-exexpr-gcc.adb
+       (Process_Raise_Exception): Removed, merged with Propagate_Exception.
+       (Propagate_Exception): Now take extra From_Signal_Handler parameter.
+       Remove code unused for exception propagation for the compiler itself
+       from a-except.adb and update to still share separate packages.
+
+       * a-except.ads, a-except.adb: Ditto.
+       Add comments that this version is now used only by the compiler and
+       other basic tools. The full version that includes the Ada 2005 stuff
+       is in separate files a-except-2005.ads/adb. The reason is that we do
+       not want to cause bootstrap problems with compilers not recognizing
+       Wide_Wide_String.
+       Add exception reason code PE_Implicit_Return
+       Add new exception reason code (Null Exception_Id)
+
+       * a-except-2005.adb, a-except-2005.ads: New files.
+
+       * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
+
+       * s-wchcon.adb: New file.
+
+       * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
+       (traceback.o deps): Likewise.
+       (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
+       Activate build of GMEM instrumentation library on VMS targets.
+       (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
+       Use a-except-2005.ads/adb for all run-time library builds unless
+       specified otherwise.
+       [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
+       s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
+       Use s-parame.adb on all native platforms.
+       Use s-parame-vxworks.adb on all vxworks platforms.
+       Add env.c env.h in LIBGNAT_SRCS
+       Add env.o in LIBGNAT_OBJS
+       (GNATMAKE_OBJS): Remove ctrl_c.o object.
+       (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
+       s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+       supports VxWorks 6 RTPs.
+       (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
+       i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+       * types.h, types.ads (Terminate_Program): New exception
+       Add comment on modifying multiple versions of a-except.adb when the
+       table of exception reasons is modified.
+       Add exception reason code PE_Implicit_Return
+       Add new exception reason code (Null Exception_Id)
+
+       * clean.adb (Initialize): Get the target parameters before checking
+       if target is OpenVMS. Move the OpenVMS specific code here from package
+       body elaboration code.
+
+2006-02-13  Thomas Quinot  <quinot@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * ali-util.adb (Get_File_Checksum): Update to account for change in
+       profile of Initialize_Scanner.
+
+       * gprep.adb (Gnatprep): Update to account for change in profile of
+       Initialize_Scanner.
+       (Process_One_File): Same.
+
+       * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
+       common code between Get_Code_Unit and Get_Source_Unit. Reimplement
+       that behaviour using the new Unit information recorded in the source
+       files table, rather than going through all units every time.
+       (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
+       (Get_Source_Unit): Same.
+
+       * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
+       change in profile of Initialize_Scanner.
+       (Prepare_To_Preprocess): Same.
+
+       * lib.ads: Fix typo in comment (templace -> template).
+
+       * prj-part.adb (Parse_Single_Project): Update to account for change in
+       profile of Initialize_Scanner.
+
+       * scn.adb (Initialize_Scanner): Account for change in profile of
+       Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
+       Also record the association of the given Source_File_Index to the
+       corresponding Unit_Number_Type.
+
+       * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
+       procedure.
+       (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
+       Remove Unit formal for generic scanner: this formal
+       is only relevant to Scn (the scanner instance used to parse Ada source
+       files), not to other instances. Update comment accordingly.
+       (Scan): Use new function Snames.Is_Keyword_Name.
+
+       * sinfo-cn.adb: Fix typo in comment.
+
+       * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
+       Unit.
+
+       * sinput.ads (Source_File_Record): New component Unit, used to capture
+       the unit identifier (if any) associated to a source file.
+
+       * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
+       Unit in Source_File_Record.
+
+       * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
+       in profile of Initialize_Scanner.
+
+       * scans.adb (Initialize_Ada_Keywords): New procedure
+
+       * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
+       Ada keywords in the Namet table, without the need to call
+       Initialize_Scanner.
+
+       * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
+       (Is_Keyword_Name): New function
+
+       * snames.ads: Add subtype Configuration_Pragma_Names
+       Add pragma Ada_2005 (synonym for Ada_05)
+       (Is_Keyword_Name): New function
+
+       * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
+       index.
+
+       * a-stwima.adb (To_Set): Add extra check when N = 0.
+
+       * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-parame-mingw.adb, s-parame-linux.adb,
+       s-parame-solaris.adb: Removed, replaced by s-parame.adb
+
+       * s-parame-vxworks.ads: Fix typo.
+
+       * s-parame-vxworks.adb: New file.
+
+       * s-parame.adb: Version now used by all native platforms.
+       (Default_Stack_Size): Use 2 megs for default stack size and use
+       __gl_default_stack_size when available.
+       (Minimum_Stack_Size): Use 12K.
+
+       * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
+       (Create_Task): Refine implementation taking advantage of the XP stack
+       size support. On XP, we now create the thread using the flag
+       STACK_SIZE_PARAM_IS_A_RESERVATION.
+
+       * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
+
+       * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
+       XP and 0 on older Windows versions.
+
+       * interfac-vms.ads: Removed, no longer used.
+
+2006-02-13  Matthew Heaney  <heaney@adacore.com>
+
+       * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb, 
+       a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb, 
+       a-cohase.adb: All explicit raise statements now include an exception
+       message.
+
+       * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
+       (Update_Element_Preserving_Key): renamed op to just Update_Element.
+       Explicit raise statements now include an exception message
+
+       * a-cihase.ads, a-cohase.ads: Removed comment.
+
+       * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
+       a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
+       a-szbzha.adb, a-szfzha.ads: New files.
+
+2006-02-13  Matthew Heaney  <heaney@adacore.com>
+
+       * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
+       quicksort.
+
+2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lang.opt: Wvariadic-macros: New option.
+       Wold-style-definition: Likewise.
+       Wmissing-format-attribute: Likewise.
+
+       * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
+       -Wold-style-definition and -Wmissing-format-attribute.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
+
+       * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
+
+2006-02-13  Nicolas Roche  <roche@adacore.com>
+
+       * a-envvar.adb, a-envvar.ads: New files.
+
+2006-02-13  Douglas Rupp  <rupp@adacore.com>
+
+       * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
+
+       * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
+
+2006-02-13  Pat Rogers  <rogers@adacore.com>
+
+       * a-rttiev.adb, a-rttiev.ads: New files.
+
+2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
+       a-wwboio.ads, a-zzboio.adb, a-zzboio.ads:  New files.
+
+       * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb, 
+       sem_case.adb: Minor code reorganization (not Present should be No)
+
+2006-02-13  Geert Bosch  <bosch@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
+       0, since the lower bound of the actual string may be greater than one.
+
+       PR ada/20753
+       * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
+       layout is requested.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * back_end.adb (Scan_Compiler_Arguments): Check if
+       Search_Directory_Present is True and, if it is, add the argument in
+       the source search directory path.
+
+       * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
+       Search_Directory_Present to True.
+
+2006-02-13  Joel Brobecker  <brobecke@adacore.com>
+
+       * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
+       volatile, to tell the compiler to preserve this variable at any level
+       of optimization.
+       (Gen_Versions_Ada): Temporarily work around codegen bug.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
+       gcc to link with option -shared-libgcc.
+       (Gnatlink): Remove duplicate switches -shared-libgcc
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * gnatvsn.ads (Current_Year): New constant, used to easily update
+       copyright on all GNAT tools.
+
+       * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
+       copyright notice.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
+       after hyphen (small aesthetic change useful for a range of numbers
+       using ^-^.
+       Suppress range checks for a couple of assignments which otherwise
+       cause validity checks with validity checking turned on.
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
+       Improvement in error message for object.
+       (Rep_Item_Too_Late): Remove '!' in warning message.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * err_vars.ads: Suppress range checks for a couple of assignments
+       which otherwise cause validity checks with validity checking turned on.
+       Update comments.
+
+       * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
+       Make message unconditional if it is a warning.
+       (Error_Msg_NEL): Always output warning messages.
+       Suppress range checks for a couple of assignments which otherwise
+       cause validity checks with validity checking turned on.
+
+       * errout.ads (Message Insertion Characters): Document that '!' is
+       implied by '?' in error messages.
+
+       * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
+       (Gnat1drv): Use a goto to end of main subprogram instead of
+       Exit_Program (E_Success) so that finalization can occur normally.
+
+2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
+       wrapped around.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
+       Unchecked_Conversion functions.
+       (Modification_Time): Use direct conversion of OS_Time to Calendar time
+       when OpenVMS returns False.
+
+       * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
+       a-dirval.adb (OpenVMS): New Boolean function
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * checks.adb (Build_Discriminant_Checks): If the expression being
+       checks is an aggregate retrieve the values of its discriminants to
+       generate the check, rather than creating a temporary and a reference
+       to it.
+       (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
+       (Install_Null_Excluding_Check): Ditto
+       (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
+       not for the renamed object, so that the actual itype is attached in the
+       proper context.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * debug.adb: Eliminate numeric switches for binder/gnatmake
+
+       * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
+       switches for the compiler.
+       (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
+       (Scan_Make_Switches): When failing with an illegal switch, output an
+       error message with the full switch.
+       Eliminate numeric switches for binder/gnatmake
+
+       * switch.ads, switch.adb (Bad_Switch): New procedure
+
+       * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
+       Remove 0-9 as debug flag character possibilities
+       -d is now controlling the primary stack size when its value is a
+       positive. Also add checks against invalid values, and support for kb,
+       mb. Ditto for -D switch.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+           Serguei Rybin  <rybin@adacore.com>
+
+       * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
+       save/restore routines.
+       Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+       were not always properly handled previously.
+       Since we are changing the tree format anyway, also get rid of the
+       junk obsolete Immediate_Errors flag.
+       (Tree_Read): Change the way of reading Tree_Version_String - now we
+       read the version string from the tree even if its length is not the
+       same as the length of the version string computed from Gnatvsn.
+       (Search_Directory_Present): New Boolean flag for the compiler.
+       Define Tree_Version_String as a dynamic string.
+       (Default_Stack_Size): new variable, used to handle switch -d.
+
+       * par-prag.adb: 
+       For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
+       only for main unit.
+       Add pragma Ada_2005 (synonym for Ada_05)
+       Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+       were not always properly handled previously.
+
+       * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
+       explicit Ada_95 to Ada_2005.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
+       against errors in the source program: a private types for which the
+       corresponding full type declaration is missing and pragma CPP_Virtual
+       is used.
+       (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
+       (Is_Known_Null): New flag
+       (Has_Pragma_Pure): New flag
+       (No_Return): Present in all entities, set only for procedures
+       (Is_Limited_Type): A type whose ancestor is an interface is limited if
+       explicitly declared limited.
+       (DT_Offset_To_Top_Func): New attribute that is present in E_Component
+       entities. Only used for component marked Is_Tag. If present it stores
+       the Offset_To_Top function used to provide this value in tagged types
+       whose ancestor has discriminants.
+
+       * exp_ch2.adb: Update status of new Is_Known_Null flag
+
+       * sem_ch7.adb: Maintain status of new Is_Known_Null flag
+
+       * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
+       the categorization sense if Is_Pure was set by pragma Pure_Function.
+
+2006-02-13  Quentin Ochem  <ochem@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * bindusg.adb: Updated documentation for -d and -D switches.
+
+       * raise.h (__gnat_set_globals): added new parameter for
+       Default_Stack_Size.
+
+       * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
+       (__gnat_handle_vms_condition): Adjust context before raise.
+       (__gnat_install_handler): Restore the global vector setup for GCC
+       versions before 3.4, as the frame based circtuitry is not available
+       in this case.
+       (__gnat_set_globals): added a parameter default_stack_size
+       (__gl_default_stack_size): new variable.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
+       "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
+       does not exist in the Ada RM.
+       (Compatible_Int_Bounds): Determine whether two integer range bounds
+       are of equal length and have the same start and end values.
+       (Is_Int_Range_Bounds): Determine whether a node is an integer range.
+       (Build_Record_Aggr_Code): Perform proper sliding of a nested array
+       aggregate when it is part of an object declaration.
+       (Build_Record_Aggr_Code)  If the aggregate ttype is a derived type that
+       constrains discriminants of its parent, add explicitly the discriminant
+       constraints of the ancestor by retrieving them from the
+       stored_constraint of the parent.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
+       attribute Mechanism_Code is applied to renamed subprogram, modify
+       prefix to point to base subprogram.
+       Max/Min attributes now violate Restriction No_Implicit_Conditionals
+
+       * sinfo.ads: Document that Mechanism_Code cannot be applied to
+       renamed subprograms so that the front-end must replace the prefix
+       appropriately.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
+       availability of RE_Interface_Tag.
+       (Build_Initialization_Call): Fix wrong access to the discriminant value.
+       (Freeze_Record_Type): Do not generate the tables associated with
+       timed and conditional dispatching calls through synchronized
+       interfaces if compiling under No_Dispatching_Calls restriction.
+       When compiling for Ada 2005, for a nonabstract
+       type with a null extension, call Make_Controlling_Function_Wrappers
+       and insert the wrapper function declarations and bodies (the latter
+       being appended as freeze actions).
+       (Predefined_Primitive_Bodies): Do not generate the bodies of the
+       predefined primitives associated with timed and conditional
+       dispatching calls through synchronized interfaces if we are
+       compiling under No_Dispatching_Calls.
+       (Build_Init_Procedure):  Use RTE_Available to check if a run-time
+       service is available before generating a call.
+       (Make_Controlling_Function_Wrappers): New procedure.
+       (Expand_N_Full_Type_Declaration): Create a class-wide master for
+       access-to-limited-interfaces because they can be used to reference
+       tasks that implement such limited interface.
+       (Build_Offset_To_Top_Functions): Build the tree corresponding to the
+       procedure spec and body of the Offset_To_Top function that is generated
+       when the parent of a type with discriminants has secondary dispatch
+       tables.
+       (Init_Secondary_Tags): Handle the case in which the parent of the type
+       containing secondary dispatch tables has discriminants to generate the
+       correct arguments to call Set_Offset_To_Top.
+       (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
+
+       * a-tags.ads, a-tags.adb: (Check_Index): Removed.
+       Add Wide_[Wide_]Expanded_Name.
+       (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
+       the same functionality of Get_Prim_Op_Address but applied to predefined
+       primitive operations because the pointers to the predefined primitives
+       are now saved in a separate table.
+       (Parent_Size): Modified to get access to the separate table of primitive
+       operations or the parent type.
+       (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
+       functionality of Set_Prim_Op_Address but applied to predefined primitive
+       operations.
+       (Set_Signature): New subprogram used to store the signature of a DT.
+       (Displace): If the Offset_To_Top value is not static then call the
+       function generated by the expander to get such value; otherwise use
+       the value stored in the table of interfaces.
+       (Offset_To_Top): The type of the actual has been changed to Address to
+       give the correct support to tagged types with discriminants. In this
+       case this value is stored just immediately after the tag field.
+       (Set_Offset_To_Top): Two new formals have been added to indicate if the
+       offset_to_top value is static and hence pass this value to the run-time
+       to store it in the table of interfaces, or else if this value is dynamic
+       and then pass to the run-time the address of a function that is
+       generated by the expander to provide this value for each object of the
+       type.
+
+       * rtsfind.ads (Default_Prin_Op_Count): Removed.
+       (Default_Prim_Op_Count): New entity
+       (Get_Predefined_Prim_Op_Address): New entity
+       (Set_Predefined_Prim_Op_Address): New entity
+       (RE_Set_Signature): New entity
+
+2006-02-13  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
+       Make_Adjust_Call done for a newly-allocated object.
+
+       * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
+       in a subprogram are wrapped in a cleanup block, indicate that the
+       subprogram contains an inner block with an exception handler.
+       (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
+       Adjust call is for a newly-allocated object. In that case we must not
+       assume that the finalization list chain pointers are correct (since they
+       come from a bit-for-bit copy of the original object's pointers) so if
+       the attach level would otherwise be zero (no change), we set it to 4
+       instead to cause the pointers to be reset to null.
+
+       * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
+       reset chain pointers to null.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
+       string, and the context requires a loop for the assignment (e.g.
+       because the left-hand side is packed), generate a unique name for the
+       temporary that holds the string, to prevent spurious name clashes.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
+       return unconstrained arrays.
+       Update comments.
+       (Expand_Call):  An indirect call through an access parameter of a
+       protected operation is not a protected call.
+       Add circuit to raise CE in Ada 2005 mode following call
+       to Raise_Exception.
+       (Register_DT_Entry): Do nothing if
+       the run-time does not give support to abstract interfaces.
+       (Freeze_Subprogram): In case of dispatching operations, do not generate
+       code to register the operation in the dispatch table if the source
+       is compiled with No_Dispatching_Calls.
+       (Register_Predefined_DT_Entry): Generate code that calls the new
+       run-time subprogram Set_Predefined_Prim_Op_Address instead of
+       Set_Prim_Op_Address.
+
+       * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
+       on array assignments if the right-hand side is a function call that has
+       been inlined. Check is performed on the assignment in the block.
+       (Process_Bounds): If bounds and range are overloaded, apply preference
+       rule for root operations to disambiguate, and diagnose true ambiguity.
+       (Analyze_Assignment): Propagate the tag for a class-wide assignment with
+       a tag-indeterminate right-hand side even when Expander_Active is True.
+       Needed to ensure that dispatching calls to T'Input are allowed and
+       get the tag of the target class-wide object.
+
+       * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
+       an inherited primitive operation that already overrides several
+       abstract interface primitives. For transitivity, the new entity must
+       also override all the abstract interface primitives covered by the
+       inherited overriden primitive.
+       Emit warning if new entity differs from homograph in same scope only in
+       that one has an access parameter and the other one has a parameter of
+       a general access type with the same designated type, at the same
+       position in the signature.
+       (Make_Inequality_Operator): Use source locations of parameters and
+       subtype marks from corresponding equality operator when creating the
+       tree structure for the implicit declaration of "/=". This does not
+       change anything in behaviour except that the decoration of the
+       components of the subtree created for "/=" allows ASIS to get the
+       string images of the corresponding identifiers.
+       (Analyze_Return_Statement): Remove '!' in warning message.
+       (Check_Statement_Sequence): Likewise.
+       (Analyze_Subprogram_Body): For an access parameter whose designated type
+       is an incomplete type imported through a limited_with clause, use the
+       type of the corresponding formal in the body.
+       (Check_Returns): Implicit return in No_Return procedure now raises
+       Program_Error with a compile time warning, instead of beging illegal.
+       (Has_Single_Return):  Function returning unconstrained type cannot be
+       inlined if expression in unique return statement is not an identifier.
+       (Build_Body_To_Inline): It is possible to inline a function call that
+       returns an unconstrained type if all return statements in the function
+       return the same local variable. Subsidiary procedure Has_Single_Return
+       verifies that the body conforms to this restriction.
+
+       * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
+       same type, and  one of them is of an anonymous access type, convert
+       the other operand to it, so that this is a valid binary operation for
+       gigi.
+       (Resolve_Type_Conversion): Handle subtypes of protected types and
+       task types when accessing to the corresponding record type.
+       (Resolve_Allocator): Add '\' in 2-line warning message.
+       Remove '!' in warning message.
+       (Resolve_Call): Add '\' in 2-line warning message.
+       (Valid_Conversion): Likewise.
+       (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
+       resulting type may be an access type with an implicit dereference.
+       Obtain the proper component from the designated type.
+       (Make_Call_Into_Operator): Handle properly a call to predefined equality
+       given by an expanded name with prefix Standard, when the operands are
+       of an anonymous access type.
+       (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
+       Explicit_Dereference and Resolve_Selected_Component, to verify that the
+       prefix of the expression is not of an incomplete type. Allows full
+       diagnoses of all semantic errors.
+       (Resolve_Actuals): If the actual is an allocator whose directly
+       designated type is a class-wide interface we build an anonymous
+       access type to use it as the type of the allocator. Later, when
+       the subprogram call is expanded, if the interface has a secondary
+       dispatch table the expander will add a type conversion to force
+       the displacement of the pointer.
+       (Resolve_Call): If a function that returns an unconstrained type is
+       marked Inlined_Always and inlined, the call will be inlined and does
+       not require the creation of a transient scope.
+       (Check_Direct_Boolean_Op): Removed
+       (Resolve_Comparison_Op): Remove call to above
+       (Resolve_Equality_Op): Remove call to above
+       (Resolve_Logical_Op): Inline above, since this is only call.
+       (Valid_Conversion): Handle properly conversions between arrays of
+       convertible anonymous access types.
+
+       PR ada/25885
+       (Set_Literal_String_Subtype): If the lower bound is not static, wrap
+       the literal in an unchecked conversion, because GCC 4.x needs a static
+       value for a string bound.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
+       components of the corresponding record, take into account component
+       definitions that are access definitions.
+       (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
+       procedure is not considered a dispatching call and will be expanded
+       properly.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
+       controlling argument of the dispatching call is an abstract interface
+       class-wide type then we use it directly.
+       Check No_Dispatching_Calls restriction.
+       (Default_Prim_Op_Position): Remove the code that looks for the last
+       entity in the list of aliased subprograms. This code was wrong in
+       case of renamings.
+       (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
+       when the source is compiled with the No_Dispatching_Calls restriction.
+       (Init_Predefined_Interface_Primitives): No need to inherit primitives
+       if we are compiling with restriction No_Dispatching_Calls.
+       (Make_Disp_XXX): Addition of assertion to avoid the use of all these
+       subprograms if we are compiling under No_Dispatching_Calls restriction.
+       (Make_DT): Generate a dispatch table with a single dummy entry if
+       we are compiling with the No_Dispatching_Calls restriction. In
+       addition, in this case we don't generate code that calls to the
+       following run-time subprograms: Set_Type_Kind, Inherit_DT.
+       (Make_Select_Specific_Data_Table): Add assertion to avoid the use
+       of this subprogram if compiling with the No_Dispatching_Calls
+       restriction.
+       (Expand_Type_Conversion): Instead of using the actual parameter,
+       the argument passed as parameter to the conversion function was
+       erroneously referenced by the expander.
+       (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
+       Set_Predefined_Primitive_Op_Address and Set_Signature.
+       (Expand_Dispatching_Call): Generate call to
+       Get_Predefined_Prim_Op_Address for predefined primitives.
+       (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
+       predefined primitives.
+       (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
+       primitives we reserve one dummy entry to ensure that the tag does not
+       point to some memory that is associated with some other object. In
+       addition, remove all the old code that generated the assignments
+       associated with the signature of the dispatch table and replace them
+       by a call to the new subprogram Set_Signature.
+       (Set_All_DT_Position): Change the algorithm because now we have a
+       separate dispatch table associated with predefined primitive operations.
+       (Expand_Interface_Conversion): In case of non-static offset_to_top
+       add explicit dereference to get access to the object after the call
+       to displace the pointer to the object.
+       (Expand_Interface_Thunk): Modify the generation of the actual used
+       in the calls to the run-time function Offset_To_Top to fulfil its
+       new interface.
+       (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_dist.adb (Copy_Specification): For access parameters, copy
+       Null_Exclusion flag, which will have been set for stream subprograms
+       in Ada2005 mode.
+
+2006-02-13  Pascal Obry  <obry@adacore.com>
+
+       * expect.c (__gnat_expect_portable_execvp): New implementation. The
+       previous implementation was using the C runtime spawnve routine but
+       the corresponding wait was using directly the Win32 API. This was
+       causing some times a lock when waiting for an event using
+       WaitForSingleObject in __gnat_waitpid. This new implementation uses
+       the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
+       API fixes this problem.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
+       call.
+
+2006-02-13  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_pakd.ads: Fix typos in comments.
+
+       * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
+       array reference that is an explicit dereference, mark the converted
+       (packed) array reference as analyzed to prevent a forthcoming
+       reanalysis from resetting its type to the original (non-packed) array
+       type.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_util.ads, exp_util.adb (Find_Prim_Op,
+       Is_Predefined_Primitive_Operation): When
+       searching for the predefined equality operator, verify that operands
+       have the same type.
+       (Is_Predefined_Dispatching_Operation): Remove the code that looks
+       for the last entity in the list of aliased subprograms. This code
+       was wrong in case of renamings.
+       (Set_Renamed_Subprogram): New procedure
+       (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
+       Exp_Type constant computed when entering this subprogram.
+       (Known_Null): New function
+       (OK_To_Do_Constant_Replacement): New function
+       (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
+       (Side_Effect_Free): An attribute reference 'Input is not free of
+       side effect, unlike other attributes that are functions. (from code
+       reading).
+       (Remove_Side_Effects): Expressions that involve packed arrays or records
+       are copied at the point of reference, and therefore must be marked as
+       renamings of objects.
+       (Is_Predefined_Dispatching_Operation): Return false if the operation is
+       not a dispatching operation.
+
+       PR ada/18819
+       (Remove_Side_Effects): Lift enclosing type conversion nodes for
+       elementary types in all cases.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
+       task types when accessing to the corresponding record type.
+       Remove '!' in warning message.
+
+2006-02-13  Olivier Hainque  <hainque@adacore.com>
+
+       * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
+       to avoid useless and space inefficient overalignments on targets where
+       Max_Alignment is larger than 16.
+
+2006-02-13  Pascal Obry  <obry@adacore.com>
+
+       * g-catiio.adb (Sec_Number): New type used to compute the number of
+       seconds since 1-1-1970.
+       (Image) [Natural]: The parameter was an Integer, as we can't deal with
+       negative numbers (years, months...) it is better to have a Natural here.
+       Code clean-up.
+       (Image) [Number]: Change parameter from Long_Integer to Number.
+       (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
+       overflow for dates past year 2038.
+
+2006-02-13  Matthew Heaney  <heaney@adacore.com>
+
+       *  g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
+       Constraint_Error.
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
+       native platforms.
+       (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
+       finalization can occur normally.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (Rules_Switches): New table
+       (Add_To_Rules_Switches): New procedure
+       (GNATCmd): For command CHECK, put all options following "-rules" in the
+       Rules_Switches table. Append these -rules switches after the -cargs
+       switches.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
+       These two cases were generating incorrect output, and if this unit
+       was built with checks on, generated a discriminant mismatch constraint
+       error.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * lib-xref.adb (Get_Type_Reference): For a private type whose full
+       view is an array type, indicate the component type as well, for
+       navigation purposes.
+       (Generate_Reference): Don't consider array ref on LHS to be a case
+       of violating pragma Unreferenced.
+       Do not give Ada 2005 warning except on real reference.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
+       main source, add switch -mdebug-main=_ada_ so that the executable can
+       be debugged by the standard VMS debugger.
+       (Gnatmake): Set No_Main_Subprogram to True when there is no main
+       subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
+       Exit the Multi_Main_Loop when Unique_Compile is True after compilation
+       of the last source, as the binding and linking phases are never
+       performed.
+       Set all executable obsolete when rebuilding a library.
+
+       * makeutl.adb (Linker_Options_Switches): Do not process empty linker
+       options.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+
+       PR ada/23973
+       * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
+       code to improve the error message reported when the program has
+       declarations of abstract interface types and it is not compiled with
+       the -gnat05 switch.
+       (P_Access_Definition): Reorganize the code to improve the error
+       message reported when the new Ada 2005 syntax for anonymous
+       access types is used and the program is not compiled with the
+       -gnat05 switch.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
+       stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
+       (MODE_IN)
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+
+       * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
+       against source containing syntax errors.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * prj.adb (Reset): Initialize the first element of table Namings with
+       the standard naming data.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * prj.ads (Error_Warning): New enumeration type
+
+       * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
+       unknown, use the location of the project to report the error.
+       (When_No_Sources): New global variable
+       (Report_No_Ada_Sources): New procedure
+       (Check): New parameter When_No_Sources. Set value of global variable
+       When_No_Sources,
+       (Find_Sources): Call Report_No_Ada_Sources when appropriate
+       (Get_Sources_From_File): Ditto
+       (Warn_If_Not_Sources): Better warning messages indicating the unit name
+       and the file name.
+
+       * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
+       Call Prj.Proc.Process with parameter When_No_Sources.
+
+       * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
+       Call Recursive_Check with parameter When_No_Sources.
+       (Recursive_Check): New parameter When_No_Sources. Call itself and
+       Prj.Nmsc.Check with parameter When_No_Sources.
+       (Process): New parameter When_No_Sources. Call Check with parameter
+       When_No_Sources.
+       (Copy_Package_Declarations): New procedure to copy renamed parameters
+       and setting the location of the declared attributes to the location
+       of the renamed package.
+       (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
+       packages.
+
+2006-02-13  Vincent Celier  <celier@adacore.com>
+
+       * prj-makr.adb (Make): Preserve the comments from the original project
+       file.
+       When removing nodes (attributes Source_Dirs, Source_Files,
+       Source_List_File and package Naming), save the comments and attach the
+       saved comments to the newly created nodes.
+       Do not add a with clause for the naming package if one already exists.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
+
+       * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
+       aliased entities to look for the overriden abstract interface
+       subprogram.
+       (Is_Interface_Subprogram): Complete documentation.
+       (Check_Dispatching_Operation): Do not generate code to register the
+       operation in the dispatch table if the source is compiled with
+       restriction No_Dispatching_Calls.
+       (Override_Dispatching_Operation): Check for illegal attempt to override
+       No_Return procedure with procedure that is not No_Return
+       (Check_Dispatching_Call): Suppress the check for an abstract operation
+       when the original node of an actual is a tag-indeterminate attribute
+       call, since the attribute, which must be 'Input, can never be abstract.
+       (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
+       call to the Input attribute (even when rewritten).
+       (Propagate_Tag): Augment comment to indicate the possibility of a call
+       to an Input attribute.
+
+       * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
+       calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
+
+       * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
+       No_Wide_Characters is no longer partition-wide
+       No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
+       rather than GNAT
+
+2006-02-13  Douglas Rupp  <rupp@adacore.com>
+
+       * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
+       handles default-initialized components to keep separate the management
+       of this feature but also avoid the unrequired resolution and
+       expansion of components that do not have partially initialized
+       values.
+       (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
+       (Check_Bounds): Likewise.
+       (Check_Length): Likewise.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
+       abstract interface type call analyze_and_resolve to expand the type
+       conversion into the corresponding displacement of the
+       reference to the base of the object.
+       (Eval_Attribute, case Width): For systems where IEEE extended precision
+       is supported, the maximum exponent occupies 4 decimal digits.
+       (Accessibility_Message): Add '\' in 2-line warning message.
+       (Resolve_Attribute): Likewise.
+       (case Attribute_Access): Significantly revise checks
+       for illegal access-to-subprogram Access attributes to properly enforce
+       the rules of 3.10.2(32/2).
+       Diagnose use of current instance with an illegal attribute.
+
+       * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
+       to a Node_Id.
+       (Enclosing_Generic_Unit): New function to return a node's innermost
+       enclosing generic declaration node.
+       (Compile_Time_Constraint_Error): Remove '!' in warning messages.
+       (Type_Access_Level): The accessibility level of anonymous acccess types
+       associated with discriminants is that of the current instance of the
+       type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
+       (Compile_Time_Constraint_Error): Handle case of conditional expression.
+       (Kill_Current_Values_For_Entity): New function
+       (Enter_Name): Change formal type to Entity_Id
+
+2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch10.adb (Check_Redundant_Withs): New procedure in
+       Analyze_Compilation_Unit.
+       Detect and warn on redundant with clauses detected in a package spec
+       and/or body when -gnatwr is used.
+       (Analyze_Context): Analyze config pragmas before other items
+       (Install_Context_Items): Don't analyze config pragmas here
+       (Install_Limited_Withed_Unit): Set limited entity of package in
+       with_clause so that cross-reference information or warning messages on
+       unused packages can be properly generated
+       (Is_Visible_Through_Renamings): Return false if the limited_with_clause
+       has Error_Posted set. Prevent infinite loops in illegal programs.
+       (Check_Private_Child_Unit): Move test for a nonprivate with clause down
+       to the point of the error test requiring the current unit to be private.
+       This ensures that private with clauses are not exempted from the basic
+       checking for being a descendant of the same library unit parent as a
+       withed private descendant unit.
+       (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
+       handle private with clauses properly, as well as to account for cases
+       where the withed unit is a public descendant of a private ancestor
+       (in which case the current unit must be a descendant of the private
+       ancestor's parent). The spec comments were updated accordingly. Also,
+       the old error message in this subprogram was replaced with error
+       messages that mirror the errors tested and reported by
+       Check_Private_Child_Unit.
+       Parameter and variable names improved for readability.
+       (Install_Limited_Context_Clauses): Remove test for a withed unit being
+       private as the precondition for calling
+       Check_Private_Limited_Withed_Unit since that subprogram has been
+       revised to test public units as well as private units.
+
+2006-02-13  Thomas Quinot  <quinot@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
+       that Scope_Stack.First = 1.
+       Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+       were not always properly handled previously.
+       (Formal_Entity): Complete rewrite, to handle properly some complex case
+       with multiple levels of parametrization by formal packages.
+       (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
+       to the corresponding derived type declaration for proper semantics.
+
+       * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
+       (Check_Component): Enforce restriction on components of
+       unchecked_unions: a component in a variant cannot contain tasks or
+       controlled types.
+       (Unchecked_Union): Allow nested variants and multiple discriminants, to
+       conform to AI-216.
+       Add pragma Ada_2005 (synonym for Ada_05)
+       Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+       were not always properly handled previously.
+       Document that pragma Propagate_Exceptions has no effect
+       (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
+       (Set_Convention_From_Pragma): Check that if a convention is
+       specified for a dispatching operation, then it must be
+       consistent with the existing convention for the operation.
+       (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
+       longer required to specify an vtable-ptr component in the record. For
+       compatibility reasons we leave the support for the previous definition.
+       (Analyze_Pragma, case No_Return): Allow multiple arguments
+
+       * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
+       non-overrideen inherited operation with a controlling result as
+       illegal only its implicit declaration comes from the derived type
+       declaration of its result's type.
+       (Check_Possible_Deferred_Completion): Relocate the object definition
+       node of the subtype indication of a deferred constant completion rather
+       than directly analyzing it. The analysis of the generated subtype will
+       correctly decorate the GNAT tree.
+       (Record_Type_Declaration): Check whether this is a declaration for a
+       limited derived record before analyzing components.
+       (Analyze_Component_Declaration): Diagnose record types  not explicitly
+       declared limited when a component has a limited type.
+       (Build_Derived_Record_Type): Code reorganization to check if some of
+       the inherited subprograms of a tagged type cover interface primitives.
+       This check was missing in case of a full-type associated with a private
+       type declaration.
+       (Constant_Redeclaration): Check that the subtypes of the partial and the
+       full view of a constrained deferred constant statically match.
+       (Mentions_T): A reference to the current type in an anonymous access
+       component declaration  must be an entity name.
+       (Make_Incomplete_Type_Declaration): If type is tagged, set type of
+       class_wide type to refer to full type, not to the incomplete one.
+       (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
+       available. Required to give support to the certified run-time.
+       (Analyze_Component_Declaration): In case of anonymous access components
+       perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
+       (Process_Discriminants): For an access discriminant, use the
+       discriminant specification as the associated_node_for_itype, to
+       simplify accessibility checks.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
+       abstract interpretations on an operator, remove interpretations that
+       yield Address or a type derived from it, if one of the operands is an
+       integer literal.
+       (Try_Object_Operation.Try_Primitive_Operation,
+       Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
+       location when creating the new reference to a primitive or class-wide
+       operation as a part of rewriting a subprogram call.
+       (Try_Primitive_Operations): If context requires a function, collect all
+       interpretations after the first match, because there may be primitive
+       operations of the same type with the same profile and different return
+       types. From code reading.
+       (Try_Primitive_Operation): Use the node kind to choose the proper
+       operation when a function and a procedure have the same parameter
+       profile.
+       (Complete_Object_Operation): If formal is an access parameter and prefix
+       is an object, rewrite as an Access reference, to match signature of
+       primitive operation.
+       (Find_Equality_Type, Find_One_Interp): Handle properly equality given
+       by an expanded name with prefix Standard, when the operands are of an
+       anonymous access type.
+       (Remove_Abstract_Operations): If the operation is abstract because it is
+       inherited by a user-defined type derived from Address, remove it as
+       well from the set of candidate interpretations of an overloaded node.
+       (Analyze_Membership_Op): Membership test not applicable to cpp-class
+       types.
+
+2006-02-13  Bob Duff  <duff@adacore.com>
+
+       * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
+       redundant use clauses.
+       In particular, if the scope of two use clauses overlaps, but one is not
+       entirely included in the other, we should not warn.  This can happen
+       with nested packages.
+       (Analyze_Subprogram_Renaming): Protect the compiler against previously
+       reported errors. The bug was reported when the compiler was built
+       with assertions enabled.
+       (Find_Type): If the node is a 'Class reference and the prefix is a
+       synchronized type without a corresponding record, return the type
+       itself.
+
+2006-02-13  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
+       if this is the full-declaration associated with a private declaration
+       that implement interfaces, then the private type declaration must be
+       limited.
+       (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
+       as aliased. The use of the 'access attribute is not available for such
+       object (for this purpose the object should be explicitly marked as
+       aliased, but being an anonymous type this is not possible).
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_elab.adb (Same_Elaboration_Scope): A package that is a
+       compilation unit is an elaboration scope.
+       (Add_Task_Proc): Add '\' in 2-line warning message.
+       (Activate_All_Desirable): Deal with case of unit with'ed by parent
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_type.adb (Write_Overloads): Improve display of candidate
+       interpretations.
+       (Add_One_Interp): Do not add to the list of interpretations aliased
+       entities corresponding with an abstract interface type that is an
+       immediate ancestor of a tagged type; otherwise we have a dummy
+       conflict between this entity and the aliased entity.
+       (Disambiguate): The predefined equality on universal_access is not
+       usable if there is a user-defined equality with the proper signature,
+       declared in the same declarative part as the designated type.
+       (Find_Unique_Type): The universal_access equality operator defined under
+       AI-230 does not cover pool specific access types.
+       (Covers): If one of the types is a generic actual subtype, check whether
+       it matches the partial view of the other type.
+
+2006-02-13  Thomas Quinot  <quinot@adacore.com>
+
+       * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
+       line. This is necessary to allow In_Extended_Main_Unit to provide
+       correct results for itypes while writing out expanded source.
+       (Close_File): No need to update the source_index_table here since it's
+       now done for each line.
+
+2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
+       preserve the source unit where the itype is declared, and prevent a
+       backend abort.
+       (Note_Implicit_Run_Time_Call): New procedure
+       (Write_Itype): Handle missing cases (E_Class_Wide_Type and
+       E_Subprogram_Type)
+
+       * sprint.ads: Document use of $ for implicit run time routine call
+
+2006-02-13  Quentin Ochem  <ochem@adacore.com>
+
+       * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
+       task name.
+
+2006-02-13  Bob Duff  <duff@adacore.com>
+
+       * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
+       Scan_Unsigned, so we do not scan leading blanks and sign twice.
+       Integer'Value("- 5") and Integer'Value("-+5") now correctly
+       raise Constraint_Error.
+
+       * s-vallli.adb (Scan_Long_Long_Integer): Call
+       Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
+       do not scan leading blanks and sign twice.
+       Integer'Value("- 5") and Integer'Value("-+5") now correctly
+       raise Constraint_Error.
+
+       * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
+       Scan_Long_Long_Unsigned): Split out most of the processing from
+       Scan_Long_Long_Unsigned out into
+       Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
+       This prevents scanning leading blanks and sign twice.
+       Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
+       See RM-3.5(44).
+
+       * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
+       out most of the processing from Scan_Unsigned out into
+       Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
+       This prevents scanning leading blanks and sign twice.
+
+       * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
+       use with Modular'Value attribute.
+       (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
+       attribute.
+
+2006-02-13  Robert Dewar  <dewar@adacore.com>
+
+       * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
+
+2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
+       (PPC VxWorks): Likewise.
+       (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
+       (forced_callee): Make non-inlinable and non-pure.
+       (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
+
+2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+           Ben Brosgol  <brosgol@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
+       support.
+       Document that gnatbind -M option is for cross environments only.
+       Added description of using gnatmem to trace gnat rtl allocs and deallocs
+       Add note on use of $ to label implicit run time calls
+       Add documentation for -gnatyI (check mode IN)
+       Updated chapter on compatibility with HP Ada
+       VMS-oriented edits.
+       Ran spell and corrected errors
+       Add documentation for gnatbind -d and rework documentation of -D
+       at the same time.
+       Add subprogram/data elimination section.
+       Minor editing of annex A.
+       Add section for gnatcheck.
+       Add documentation for restriction No_Dispatching_Calls
+       Add documentation for pragma Ada_2005
+       Remove mention of obsolete pragma Propagate_Exceptions
+       Document that pragma Unreferenced can appear after DO in ACCEPT
+       Clarify Pure_Function for library level units
+       Mention Max/Min in connection with No_Implicit_Conditionals
+       No_Wide_Characters restriction is no longer partition-wide
+       Add a nice example for Universal_Literal_String attribute
+       Document that pragma No_Return can take multiple arguments
+
+       * ug_words: Added entry for gnatcheck
+
+       * g-ctrl_c.ads (Install_Handler): Enhance comments
+
+       * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
+
+       * g-trasym.ads: Add documentation on how to do off line symbolic
+       traceback computation.
+
+       * s-fatgen.adb: Add comments for Unaligned_Valid
+
+       * stand.ads: Fix typo in comment
+
+2006-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
+
+2006-02-06  Roger Sayle  <roger@eyesopen.com>
+
+       * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
+
+2006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/25926
+       * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
+       implementation that calls __main.
+
+2006-01-25  Peter O'Gorman  <peter@pogma.com>
+
+       PR bootstrap/25859
+       * Makefile.in (GCC_LINK): Remove quotes.
+       (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
+       or $(GCC_LINK).
+
+       (powerpc-darwin): Pass -shared-libgcc when building shared library.
+
+2006-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/24533
+       * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
+
+2005-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
+
+2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
+       needed.
+
+2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * Make-lang.in: Update dependencies
+
+2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * Make-lang.in: Add rule for ada/exp_sel.o
+
+2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in (mingw section): Remove EH_MECHANISM setting.
+
+2005-12-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnatvsn.ads (Library_Version): Bump to version 4.2
+       (ASIS_Version_Number): Bumped.
+
+2005-12-09  Doug Rupp  <rupp@adacore.com>
+
+       * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
+       Ada bind file prefix on VMS from b$ to b__.
+       (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
+       __init.
+
+       * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
+       Targparm.OpenVMS_On_Target.
+       (Object_Suffix): Initialize with target object suffix.
+       (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
+
+       * butil.adb: Change some Hostparm.OpenVMS checks to
+       Targparm.OpenVMS_On_Target.
+
+       * clean.adb: Change some Hostparm.OpenVMS checks to
+       Targparm.OpenVMS_On_Target.
+       (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
+       ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
+       Ada bind file prefix on VMS from b$ to b__.
+
+       * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
+       --GCC so that Get_Target_Parameters can find system.ads.
+       (Gnatlink): Call Get_Target_Parameters in mainline.
+       Initialize standard packages for Targparm.
+       Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+       (Process_Args): Also Check for object files with target object
+       extension.
+       (Make_Binder_File_Names): Create with target object extension.
+       (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
+       to b__.
+
+       * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
+       Targparm.OpenVMS_On_Target.
+       ({declaration},Build_Library,Check_Library): Change Ada bind file
+       prefix on VMS from b$ to b__.
+
+       * osint-b.adb: Change some Hostparm.OpenVMS checks to
+       Targparm.OpenVMS_On_Target.
+       (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
+       b__.
+
+       * targext.c: New file.
+
+       * Makefile.in: add support for vxworks653 builds
+       (../../vxaddr2line): gnatlink with targext.o.
+       (TOOLS_LIBS): Move targext.o to precede libgnat.
+       (init.o, initialize.o): Minor clean up in dependencies.
+       (GNATLINK_OBJS): Add targparm.o, snames.o
+       Add rules fo building targext.o and linking it explicitly with all
+       tools.
+       Also add targext.o to gnatlib.
+
+       * Make-lang.in: Add rules for building targext.o and linking it in
+       with gnat1 and gnatbind.
+       Add entry for exp_sel.o.
+
+       * osint.adb Change some Hostparm.OpenVMS checks to
+       Targparm.OpenVMS_On_Target.
+       (Object_File_Name): Use target object suffix.
+
+       * osint.ads (Object_Suffix): Remove, no longer used.
+       (Target_Object_Suffix): Initialize with target object suffix.
+
+       * rident.ads: Add special exception to license.
+
+       * targparm.adb (Get_Target_Parameters): Set the value of
+       Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
+       value.
+       (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
+       
+       * targparm.ads: Add special exception to license.
+
+       * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
+       function.
+       (Copy_File): Make sure from file is closed if error on to file
+       (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
+
+       * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
+       (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
+
+       * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
+       target object suffix.
+
+2005-12-09  Jose Ruiz  <ruiz@adacore.com>
+           Quentin Ochem  <ochem@adacore.com>
+           Florian Villoing  <villoing@adacore.com>
+
+       * a-taster.ads, a-taster.adb: New files.
+
+       * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
+       link to the version that does nothing. This way the task termination
+       routine is not executed twice for the environment task when finishing
+       because of an unhandled exception.
+
+       * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
+       handler because of an unhandled exception.
+
+       * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
+       System.Tasking.Utilities instead of that in System.Tasking.Stages.
+
+       * s-finimp.adb (initialization code): Modify the soft link for the
+       finalization of the global list instead of Adafinal.
+
+       * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
+       non-tasking version of the soft link for task termination. We do
+       nothing since if we are using the non-tasking version it
+       means that the task termination functionality is not used.
+       (Null_Finalize_Global_List): Add this null version for the procedure
+       in charge of finalizing the global list for controlled objects.
+       (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
+       instead for handling run-time termination in a more flexible way.
+       (Adafinal_NT): This new procedure will take care of finalizing the
+       global list for controlled objects if needed, but no tasking
+       finalization.
+
+       * s-tarest.adb (Task_Lock): Do not try to lock again the
+       Global_Task_Lock if we already own it. Otherwise, we get blocked in
+       some run-time operations.
+       (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
+       until all nested locks have been released.
+       (Task_Wrapper): Call the fall-back task termination handler. It
+       applies to all tasks but the environment task.
+       (Finalize_Global_Tasks): Add the call for the task termination
+       procedure for the environment task.
+       (Task_Wrapper): suppress warnings around declaration of
+       Secondary_Stack_Address.
+
+       * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
+       moved to the Common_ATCB record.
+       (Task_Lock): Global_Task_Lock_Nesting has been moved to the
+       Common_ATCB record.
+       (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
+       Common_ATCB record.
+
+       * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
+       Fall_Back_Handler, and Specific_Handler.
+
+       * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
+       defined in Ada.Task_Termination, to avoid circular dependencies.
+       (Termination_Handler): Redefine this type here, alredy defined in
+       Ada.Task_Termination, for avoiding circular dependencies.
+       (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
+       for storing task termination handlers. In addition,
+       Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
+       Common_ATCB because it is used by both the regular and the restricted
+       run times.
+       (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
+       Common_ATCB because it is used by both the regular and the restricted
+       run times.
+       (Common_ATCB): Added a dynamic task analyzer field.
+
+       * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
+       potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
+       (Task_Wrapper): Call the task termination handler. It applies to all
+       tasks but the environment task.
+       (Finalize_Global_Tasks): Call the task termination procedure for the
+       environment task. The call to Finalize_Global_List is now performed
+       using the soft links mechanism.
+       (Task_Wrapper): added dynamic stack analysis.
+
+       * s-tasuti.adb (Abort_Tasks): The code in charge of checking
+       potentially blocking operations has been moved from
+       System.Tasking.Stages.Abort_Tasks to this procedure. There can be
+       direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
+       through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
+       this run-time check.
+
+       * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
+       of task termination procedure.
+       (Init_Tasking_Soft_Links): Install the task-safe version of the soft
+       link for the task termination procedure.
+
+       * bindusg.adb: (Bindusg): Added documentation for -u option.
+
+       * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
+       (Get_Main_C): Add handling of dynamic stack analysis.
+       (Gen_Output_File_C): Add external functions for dynamic stack analysis.
+
+       * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
+       (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
+       (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
+
+       * opt.ads: Added flags used by dynamic stack measurement.
+       (Max_Line_Length): Remove (not used anymore)
+
+       * s-io.ads, s-io.adb (Standard_Error): new subprogram
+       (Standart_Output): new subprogram
+       (Set_Output): new subprogram
+       (Put): now uses the value of Current_Out to know if the output has to be
+       send to stderr or stdout.
+       
+       * s-stausa.ads: Complete implementation.
+
+       * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
+       
+       * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
+       list of Ada 05 files.
+       (GNAT Library Units): Add AltiVec files.
+
+       * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
+       g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
+       g-alvety.ads, g-alvevi.ads: New files providing altivec API.
+
+2005-12-09  Nicolas Setton  <setton@adacore.com>
+
+       * adaint.c (__gnat_locate_regular_file): Return immediately if
+       file_name is empty.
+
+2005-12-09  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
+       to the specification because the frontend generates code that uses this
+       subprogram.
+       (Set_Interface_Table): Add missing assertion.
+       Update documentation describing the run-time structure.
+       (Displace): New subprogram that displaces the pointer to the object
+       to reference one of its secondary dispatch tables.
+       (IW_Membership): Modified to use the new table of interfaces.
+       (Inherit_TSD): Modified to use the new table of interfaces.
+       (Register_Interface_Tag): Use the additional formal to fill the
+       contents of the new table of interfaces.
+       (Set_Interface_Table): New subprogram that stores in the TSD the
+       pointer to the table of interfaces.
+       (Set_Offset_To_Top): Use the additional formal to save copy of
+       the offset value in the table of interfaces.
+       Update structure of GNAT Primary and Secondary dispatch table diagram.
+       Add comment section on GNAT dispatch table prologue.
+       (Offset_To_Signature): Update the constant value of the Signature field.
+       (Dispatch_Table): Update comment on hidden fields in the prologue.
+       (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
+       Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
+       the type of formal parameter T to Tag, introduce additional assertions.
+       (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
+       conversion.
+       (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
+
+       * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
+       in all the calls to Expand_Interface_Thunk. Instead of referencing the
+       record component containing the tag of the secondary dispatch table we
+       have to use the Offset_To_Top run-time function to get this information;
+       otherwise if the pointer to the base of the object has been displace
+       we get a wrong value if we use the 'position attribute.
+
+       * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
+       all the calls to Expand_Interface_Thunk.
+       (Make_Secondary_DT): Secondary dispatch tables do not have a table of
+       interfaces; hence the call to Set_Interface_Table was clearly wrong.
+       (Collect_All_Interfaces): Modify the internal subprogram Collect to
+       ensure that the interfaces implemented by the ancestors are placed
+       at the header of the generated list.
+       (Expand_Interface_Conversion): Handle the case in which the displacement
+       associated with the interface conversion is not statically known. In
+       this case we generate a call to the new run-time subprogram Displace.
+       (Make_DT): Generate and fill the new table of interfaces.
+       (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
+       Get_Tagged_Kind and Set_Tagged_Kind.
+       (Tagged_Kind): New function that determines the tagged kind of a type
+       with respect to limitedness and concurrency and returns a reference to
+       RE_Tagged_Kind.
+       (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
+       Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
+       primary dispatch table for a type.
+       (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
+       secondary dispatch table respectively of a tagged type.
+
+       * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
+       (Expand_Interface_Conversion): New subprogram to indicate if the
+       displacement of the type conversion is statically known.
+       (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
+
+       * rtsfind.ads (RE_Offset_To_Top): New entity
+       (RTU_Id): Add Ada_Task_Termination to the list so that it is made
+       accessible to users.
+       (Re_Displace): New entity
+       (RE_Interface_Data): New entity
+       (RE_Set_Interface_Data): New_Entity
+       (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
+       Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
+       RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
+       RE_TK_Tagged, RE_TK_Task.
+
+       * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
+       Init_Secondary_Tags_Internal to allow its use with interface types and
+       also to generate the code for the new additional actual required
+       by Set_Offset_To_Top.
+       (Build_Init_Statements): In case of components associated with abstract
+       interface types there is no need to generate a call to its IP.
+       (Freeze_Record_Type): Generate Select Specific Data tables only for
+       concurrent types.
+       (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
+       the bodies and specifications of the predefined primitive operations
+       dealing with dispatching selects and abort, 'Callable, 'Terminated only
+       for concurrent types.
+
+       * exp_sel.ads, exp_sel.adb: New files.
+
+       * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
+       Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
+       properly protected objects and attach handler in the case of the
+       restricted profile.
+       Move embeded package Select_Expansion_Utilities into a separate external
+       package.
+       (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
+       Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
+       (Build_K, Build_S_Assignment): New subprograms, part of the select
+       expansion utilities.
+       (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
+       Expand_N_Timed_Entry_Call): Optimize expansion of select statements
+       where the trigger is a dispatching procedure of a limited tagged type.
+
+2005-12-09  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
+       pointer initialization values. Make a SAVE_EXPR instead. Add comments
+       about the use and expansion of SAVE_EXPRs in the various possible
+       renaming handling cases.
+       (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
+       abusing DECL_FCONTEXT.
+
+2005-12-09  Matthew Heaney  <heaney@adacore.com>
+
+       * a-convec.adb (Merge): Added assertions to check whether vector params
+       are sorted.
+
+       * a-coinve.adb (Merge): Added assertions to check whether vector params
+       are sorted.
+
+       * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
+       draft.
+       (Cursor'Read): raises PE
+
+       * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
+       to its default value.
+
+       * a-cihama.adb: Manually check whether cursor's key and elem are
+       non-null
+
+       * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
+       (Merge): Assert that target and source lists are in order
+       (Swap): Declare non-const temporaries, to pass to Splice
+
+       * a-cdlili.ads: (Splice): Changed param name and param mode
+
+       * a-cdlili.adb: (Splice): Changed param name and param mode
+       (Merge): Assert that target and source lists are in order
+       (Swap): Declare non-const temporaries, to pass to Splice
+
+       * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
+       (Write): declare Stream param as not null
+
+       * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
+       an exception message.
+
+2005-12-09  Thomas Quinot  <quinot@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
+       which is the absolute maximum length we can support.
+
+       * frontend.adb: For the processing of configuration pragma files,
+       remove references to Opt.Max_Line_Length, which is not checked anymore.
+
+       * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
+       length.
+
+       * scn.adb, scng.adb: 
+       Always check line length against the absolute supported maximum,
+       Hostparm.Max_Line_Length.
+
+       * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
+       value for the maximum line length is Max_Line_Length (not
+       Column_Number'Last).
+       Minor error msg update
+       (Set_Style_Check_Options): New interface returning error msg
+       Minor code reorganization (processing for 'M' was out of alpha order)
+
+       * switch-c.adb: New interface for Set_Style_Check_Options
+
+       * stylesw.ads (Set_Style_Check_Options): New interface returning error
+       msg.
+
+2005-12-09  Javier Miranda  <miranda@adacore.com>
+
+       * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
+       with IP subprogram were only supported if there were limited types.
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
+       records with IP subprogram were only supported if there were limited
+       types.
+
+2005-12-09  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (tree_transform, emit_check): Adjust calls to
+       build_call_raise, passing the now expected GNAT_NODE argument.
+
+       * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
+       source line information than what the current global locus indicates
+       when appropriate.
+
+       * utils2.c (build_simple_component_ref): Return 0 if the offset of the
+       field has overflowed.
+       (build_call_raise): Add a GNAT_NODE argument to convey better source
+       line information than what the current global locus indicates when
+       appropriate.
+       (build_component_ref): Adjust call to build_call_raise.
+
+2005-12-09  Pascal Obry  <obry@adacore.com>
+
+       * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
+       the iterator is quitting iteration on parent directory.
+
+2005-12-09  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
+       and the assignment to a class-wide object, before the assignment we
+       generate a run-time check to ensure that the tag of the Target is
+       covered by the tag of the source.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
+       parameter in call to Image_Wide_Character.
+
+       * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
+       parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
+       (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
+       annoying FFFE/FFFF inconsistency.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
+       of type conversion.
+       (Find_Interface): New subprogram that given a tagged type and one of its
+       component associated with the secondary table of an abstract interface
+       type, return the entity associated with such abstract interface type.
+       (Make_Subtype_From_Expr): If type has unknown discriminants, always use
+       base type to create anonymous subtype, because entity may be a locally
+       declared subtype or generic actual.
+       (Find_Interface): New subprogram that given a tagged type and one of its
+       component associated with the secondary table of an abstract interface
+       type, return the entity associated with such abstract interface type.
+
+       * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
+       conversion cannot be handled at compile time. In this case we pass this
+       information to the expander to generate the appropriate code.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Itype_Printed): New flag
+       (Is_Limited_Type): Derived types do not inherit limitedness from
+       interface progenitors.
+       (Is_Return_By_Reference_Type): Predicate does not apply to limited
+       interfaces.
+
+       * einfo.ads (Itype_Printed): New flag
+       Move Is_Wrapper_Package to proper section
+       Add missing Inline for Is_Volatile
+
+       * output.ads, output.adb (Write_Erase_Char): New procedure
+       (Save/Restore_Output_Buffer): New procedures
+       (Save/Restore_Output_Buffer): New procedures
+
+       * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
+       Add missing support for anonymous access type
+       (Write_Id): Insert calls to Write_Itype
+       (Write_Itype): New procedure to output itypes
+
+       * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
+       use of "limited" in declaration.
+
+       * sinfo.ads, sinfo.adb: 
+       Formal derived types can carry an explicit "limited" indication.
+
+       * sem_ch3.adb: Add with and use of Targparm.
+       (Create_Component): If Frontend_Layout_On_Target is True and the
+       copied component does not have a known static Esize, then reset
+       the size and positional fields of the new component.
+       (Analyze_Component_Declaration): A limited component is
+       legal within a protected type that implements an interface.
+       (Collect_Interfaces): Do not add to the list the interfaces that
+       are implemented by the ancestors.
+       (Derived_Type_Declaration): If the parent of the full-view is an
+       interface perform a transformation of the tree to ensure that it has
+       the same parent than the partial-view. This simplifies the job of the
+       expander in order to generate the correct object layout, and it is
+       needed because the list of interfaces of the full-view can be given in
+       any order.
+       (Process_Full_View): The parent of the full-view does not need to be
+       a descendant of the parent of the partial view if both parents are
+       interfaces.
+       (Analyze_Private_Extension_Declaration): If declaration has an explicit
+       "limited" the parent must be a limited type.
+       (Build_Derived_Record_Type): A derived type that is explicitly limited
+       must have limited ancestor and progenitors.
+       (Build_Derived_Type): Ditto.
+       (Process_Full_View): Verify that explicit uses of "limited" in partial
+       and full declarations are consistent.
+       (Find_Ancestor_Interface): Remove function.
+       (Collect_Implemented_Interfaces): New procedure used to gather all
+       implemented interfaces by a type.
+       (Contain_Interface): New function used to check whether an interface is
+       present in a list.
+       (Find_Hidden_Interface): New function used to determine whether two
+       lists of interfaces constitute a set equality. If not, the first
+       differing interface is returned.
+       (Process_Full_View): Improve the check for the "no hidden interface"
+       rule as defined by AI-396.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
+       types, not on record subtypes.
+       (Freeze_Entity): Code cleanup. Add barrier to the loop
+       that generates the references for primitive operations. This allows to
+       remove an unnecessary exception handler.
+       Code reformatting and comment clean ups.
+
+2005-12-09  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
+       If GNAT CHECK is called with a project file, but with no
+       source on the command line, call gnatcheck with all the compilable
+       sources of the project.
+       Take into account the new command Check, for gnatcheck. Treat as for
+       other ASIS tools: take into account project, specific package Check and
+       Compiler switches.
+       For ASIS tools, add the switches in package Compiler for
+       the invocation of the compiler.
+
+       * prj-attr.adb: Add package Check and its attributes
+
+       * vms_conv.ads (Command_Type): New command Check, for gnatcheck
+
+       * vms_conv.adb (Initialize): Change Params of command Check to
+       unlimited files.
+       Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+       Add data for new command Check
+
+       * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
+       ELIM.
+       Add qualifiers for Check command options
+       (Command_Type): New command Check
+
+2005-12-09  Thomas Quinot  <quinot@adacore.com>
+
+       * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
+       command line switch overruns the output buffer.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb: Processing for new pragma Complete_Representation
+       (Analyze_Pragma, case Debug): Implement two argument form.
+
+       * par-prag.adb: Entry for new pragma Complete_Representation
+       (Prag, case Debug): Recognize two argument form of pragma Debug
+       New interface for Set_Style_Check_Options.
+
+       * sem_ch13.adb: Implement new pragma Complete_Representation.
+
+       * snames.adb, snames.ads, snames.h: Entry for new pragma
+       Complete_Representation.
+
+2005-12-09  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
+       available user-specified stream attributes on limited parameters to
+       also test the type directly rather than only its underlying type (for
+       Ada 95) and, in the case of Ada 2005, to check that the user-specified
+       attributes are visible at the point of the subprogram declaration.
+       For Ada 2005, the error message is modified to indicate that the
+       type's stream attributes must be visible (again, only for -gnat05).
+
+2005-12-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
+       anonymous access types.
+
+       * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
+       matching of anonymous access types and anonymous access to subprogram
+       types. 'R'M 4.9.1 (2/2).
+
+2005-12-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
+       rule prematurely when operands are universal, remaining ambiguities
+       will be removed during resolution.
+       Code cleanup.
+
+       * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
+       that are Ada 2005 functions.
+       (Has_Abstract_Interpretation): Subsidiary to
+       Remove_Conversions, to remove ambiguities caused by abstract operations
+       on numeric types when operands are universal.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
+       for case where spec is categorized.
+
+2005-12-09  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
+       types use the corresponding record type. This was not needed before
+       the implementation of Ada 2005 synchronized types because
+       concurrent types were never tagged types in Ada 95.
+
+2005-12-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
+       first subtype of the type of the expression to verify that it is a
+       legal Time type.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
+       decoded names.
+
+2005-12-09  Quentin Ochem  <ochem@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Falis  <falis@adacore.com>
+           Florian Villoing  <villoing@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_ugn.texi: Created section "Stack Related Tools"
+       Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
+       "Stack Related Tools"
+       Added subsection "Static Stack Usage Analysis"
+       Added subsection "Dynamic Stack Usage Analysis"
+       Include documentation of itypes in sprint listing (-gnatG)
+       Documented gnatbind -D switch (default sec stack size for fixed sec
+       stacks).
+       Added Interrupt_State and Persistent_BSS to list of configuration
+       pragmas.
+       Add missing doc for maximum value of nnn in -gnatyMnnn
+
+       * gnat_rm.texi: Document the AltiVec binding.
+       Add documentation for pragma Complete_Representation
+       Shortened an overly long line (> 79 chars)
+       Clarify documentation of unchecked conversion in implementation
+       defined cases.
+       Document two argument form of pragma Debug
+
+       * types.ads (Column_Number): Update documentation.
+
+       * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
+       library level Finalize_Storage_Only objects (these are not attached to
+       any finalization list).
+
+       * system-mingw.ads: (Underlying_Priorities): Update comment.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
+       i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+       inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
+       i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
+       krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
+       lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
+       interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
+       s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
+       reformatting.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * s-vaflop-vms-alpha.adb: (Ne_F): New function
+       (Ne_G): New function
+
+       * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
+       for tag assignment.
+       (Rewrite_Comparison): Handle case where operation is not a comparison
+       and ignore, and also handle type conversion case.
+
+2005-12-09  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_aggr.ads: Fix typo in comment.
+       ???-mark Convert_Aggr_In_Assignment as needing documentation.
+
+2005-12-09  Gary Dismukes  <dismukes@adacore.com>
+
+       * layout.adb: Replace various uses of byte by storage unit throughout.
+       (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
+       static size, convert to storage units before returning, to conform to
+       spec.
+
+2005-12-09  Matthew Gingell  <gingell@adacore.com>
+
+       * g-exctra.ads: Fix typo in comment.
+
+2005-12-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils.c: Minor reformatting.
+
+2005-12-09  Robert Dewar  <dewar@adacore.com>
+
+       * g-soccon.ads: 
+       Further comment fixes to make the status of the default file clear
+
+       * s-bitops.adb: Clarify comment for Bits_Array
+
+2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+
+       * Make-lang.in (ada.install-normal): Remove.
+
+2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+
+       * Make-lang.in: Remove all dependencies on s-gtype.
+
 2005-12-05  Richard Guenther  <rguenther@suse.de>
 
        * utils.c (convert): Use fold_convert where appropriate.
 
 2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
 
-        * Makefile.in (gnatlib): Fix regex, using \. instead of . when
+       * Makefile.in (gnatlib): Fix regex, using \. instead of . when
        a period is meant.
 
 2005-12-02  Richard Guenther  <rguenther@suse.de>
 
 2005-11-23  Laurent GUERBY  <laurent@guerby.net>
 
-        * mlib-prj.adb (Build_Library): Initialize Delete.
+       * mlib-prj.adb (Build_Library): Initialize Delete.
 
 2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
 
 
 2005-11-18  Laurent GUERBY  <laurent@guerby.net>
 
-        PR ada/24857
-        * Makefile.in: Use s-auxdec-empty for RTEMS.
+       PR ada/24857
+       * Makefile.in: Use s-auxdec-empty for RTEMS.
 
 2005-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 
        PR ada/24857
        * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
-       
+
 2005-11-16  Richard Guenther  <rguenther@suse.de>
 
        * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
 
 2005-11-16  Joel Sherrill <joel.sherrill@oarcorp.com>
 
-        PR ada/24855
-        * raise-gcc.c: Add missing stdarg.h include.
+       PR ada/24855
+       * raise-gcc.c: Add missing stdarg.h include.
  
 2005-11-16  Richard Guenther  <rguenther@suse.de>
 
            Ed Schonberg  <schonberg@adacore.com>
 
        PR ada/18434
-
        * types.ads: Include All_Checks in Suppress_Array
 
        * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
        (Save_Occurrence_And_Private): Move GCC EH related code to
        a-exexpr-gcc.adb
        (Raise_Current_Excep): Add new variable Id with pragma
-        volatile, to ensure that the variable lives on stack.
+       volatile, to ensure that the variable lives on stack.
 
        * a-exexpr-gcc.adb, raise-gcc.c: New file.
 
            Javier Miranda  <miranda@adacore.com>
 
        PR ada/15604
-
        * sem_type.adb (Covers): In an inlined body, a composite type matches
        a private type whose full view is a composite type.
        (Interface_Present_In_Ancestor): Protect the frontend against
        subprogram Complete_Subprograms_Derivation already does the
        job associated with the second call.
 
-        * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
-        conversion to the full view when generating an operation for a
-        discriminant whose type may currently be private.
+       * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
+       conversion to the full view when generating an operation for a
+       discriminant whose type may currently be private.
 
 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
            Javier Miranda  <miranda@adacore.com>
 2005-07-07  Olivier Hainque  <hainque@adacore.com>
 
        PR ada/22301
-
        * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
        definitions for the Unwind wrappers in the compiler case.
 
        N_Object_Declaration, only perform the checks if the Object_Definition
        is not an Access_Definition.
 
-        * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
-        where the parent of an the access definition is an N_Object_Declaration
-        when determining the Associated_Node_For_Itype and scope of an
-        anonymous access-to-subprogram type.
+       * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
+       where the parent of an the access definition is an N_Object_Declaration
+       when determining the Associated_Node_For_Itype and scope of an
+       anonymous access-to-subprogram type.
 
        * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
        Corresponding_Spec on the body created for a null procedure. Add ???
 2005-07-04  Robert Dewar  <dewar@adacore.com>
 
        PR ada/22039
-
        * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
 
 2005-07-04  Matthew Gingell  <gingell@adacore.com>
 
 2005-07-04  Sergey Rybin  <rybin@adacore.com>
 
-        * gnat_ugn.texi: Add description of --eol gnatpp option
+       * gnat_ugn.texi: Add description of --eol gnatpp option
 
 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
            Thomas Quinot  <quinot@adacore.com>
 
-        * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
+       * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
        if the user wants all calls of a subprogram to be flagged,
        independently of whether they are made from within the same unit or
        another unit.
-        Mention restriction for pragma Linker_Alias on some platforms.
-        Document pragma Linker_Constructor and Linker_Destructor.
-        Rewrite documentation of Weak_External, Linker_Section and
-        Linker_Alias pragmas.
+       Mention restriction for pragma Linker_Alias on some platforms.
+       Document pragma Linker_Constructor and Linker_Destructor.
+       Rewrite documentation of Weak_External, Linker_Section and
+       Linker_Alias pragmas.
 
 2005-07-04  Arnaud Charlet  <charlet@adacore.com>
 
        s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
        Rewrite to correspond to new wide character names in AI-395
 
-        * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
-        default procedures.
+       * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
+       default procedures.
 
 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
            Robert Dewar  <dewar@adacore.com>
 2005-06-14  Thomas Quinot  <quinot@adacore.com>
 
        PR ada/6717
-
        * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
        broadcast address.
        (Create_Selector): Bind listening socket used to create the signalling
        For objects and parameters of a generic private type, retain the '*'
        indicator to distinguish such an entity from its type.
 
-        * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
-        to store information about instantiated entities.
+       * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
+       to store information about instantiated entities.
 
-        * ali.adb (Scan_ALI): Add support for parsing the reference to the
-        generic parent
+       * ali.adb (Scan_ALI): Add support for parsing the reference to the
+       generic parent
 
-        * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
-        (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
-        information.
+       * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
+       (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
+       information.
 
 2005-06-10  Doug Rupp  <rupp@adacore.com>
            Arnaud Charlet  <charlet@adacore.com>
 2005-06-14  Robert Dewar  <dewar@adacore.com>
 
        PR ada/15613
-
        * par-ch2.adb (Scan_Pragma_Argument): New procedure
        (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
 
        characters are now considered graphic characters and hence yield false
        in this call.
 
-        * nmake.adt: Modify header so that xnmake does not generate output
-        files with multiple blank lines.
+       * nmake.adt: Modify header so that xnmake does not generate output
+       files with multiple blank lines.
 
-        * treeprs.adt: Remove a blank line so that output from xtreeprs does
-        not have an extra blank line
+       * treeprs.adt: Remove a blank line so that output from xtreeprs does
+       not have an extra blank line
 
 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
 
            Ed Schonberg  <schonberg@adacore.com>
 
        PR ada/10671
-
        * sem_prag.adb: Implement pragma Persistent_BSS
        Remove obsolete pragma Persistent_Data, Persistent_Object
        Set Ada_Version_Explicit, for implementation of AI-362
        * nmake.adt: Modify header so that xnmake does not generate output
        files with multiple blank lines.
 
-        * treeprs.adt: Remove a blank line so that output from xtreeprs does
-        not have an extra blank line
+       * treeprs.adt: Remove a blank line so that output from xtreeprs does
+       not have an extra blank line
 
 2005-06-14  Sergey Rybin  <rybin@adacore.com>
 
        Add UNNECESSARY_BLANK_LINES for -gnatyu
        Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
 
-        * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+       * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
 
 2005-06-14  Vincent Celier  <celier@adacore.com>
 
        object directories of project files before directories in ADA_*_PATH
        environment variables.
 
-        * g-trasym.ads: Document that IRIX is supported
+       * g-trasym.ads: Document that IRIX is supported
 
 2005-06-10  Arnaud Charlet  <charlet@adacore.com>
 
 
 2005-04-16  Laurent GUERBY  <laurent@guerby.net>
 
-        PR ada/18847
-        * a-nudira.adb (Value): Check for valid string.
-        * a-nuflra.adb (Value): Likewise.
+       PR ada/18847
+       * a-nudira.adb (Value): Check for valid string.
+       * a-nuflra.adb (Value): Likewise.
 
 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
 
        Generic_Dispatching_Constructor.
 
        PR ada/20300
-
        * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
        character type cases.
        (Analyze_Subprogram_Renaming): Add special handling for
 
        * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
 
-        * 5xcrtl.ads: Renamed to...
-        * s-crtl-vms64.ads: ...this new file
+       * 5xcrtl.ads: Renamed to...
+       * s-crtl-vms64.ads: ...this new file
 
 2005-03-17  Robert Dewar  <dewar@adacore.com>
 
        PR ada/19519
-
        * namet.adb (Copy_One_Character): Set proper wide character encoding
        for upper half character if we have upper half encoding.
 
 2005-03-15  Robert Dewar  <dewar@adacore.com>
 
        PR ada/13470
-
        * a-stunau.ads, a-stunau.adb:
        Change interface to allow efficient (and correct) implementation
        The previous changes to allow extra space in unbounded strings had
        PR ada/19408
        PR ada/19140
        PR ada/20255
-
        * decl.c (gnat_to_gnu_field): Reject aliased components with a
        representation clause that prescribes a size not equal to the rounded
        size of their types.
 
        PR ada/20226
        PR ada/20344
-
        * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
        when IN_RTS. This is to work around a bootstrap path problem.
 
 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
            Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       Fix for c330001 - PR ada/19386
-
+       PR ada/19386
        * decl.c:
        (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
        on the field if Pragma Component_Alignment (Storage_Unit).
 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
 
        PR ada/16592
-
        * Makefile.in: Link all gnat tools with -static-libgcc, since
        -shared-libgcc is now used by default on some systems (e.g. linux with
        recent binutils).
 2004-10-04  Bernard Banner  <banner@gnat.com>
 
        PR ada/13897
-
        * Makefile.in: Add section for powerpc linux
        Add variant i-vxwork-x86.ads
 
 2004-09-23  Robert Dewar  <dewar@gnat.com>
 
        PR ada/17540
-
        * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
        instead do this at freeze time (we won't do it if there is an address
        clause).
 2004-09-20  Robert Dewar  <dewar@gnat.com>
 
        PR ada/17540
-
        * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
        if an address clause is present, since that means that the Import
        should be ignored.
 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
 
        PR ada/15408
-
        * sem_ch7.adb (Install_Private_Declarations): In the body of the
        package or of a child, private entities are both immediately_visible
        and not hidden.
 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
 
        PR ada/15587
-
        * einfo.ads: Minor comment updates for Has_Completion and
        E_Constant list of flags.
 
 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
 
        PR ada/15403
-
        * sem_ch12.adb (Save_References): If operator node has been folded to
        enumeration literal, associated_node must be discarded.
 
 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
 
        PR ada/15568
-
        * Makefile.in: Remove target specific SO_OPT on IRIX
 
 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
 
        PR ada/15152
-
        * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
        alone. Replacing object references by literals is inappropriate in a
        so low level context.
 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
            Nathanael Nerode  <neroden@gcc.gnu.org>
 
-       PR ada/6637, PR ada/5911
+       PR ada/6637
+       PR ada/5911
        Merge with libada-branch:
        * config-lang.in: Build libada only when ada is built.
 
         Fixes ACATS regressions.
 
        PR ada/13353
-
        * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
        be inlined.
 
 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
 
        PR ada/11724
-
        * adaint.h, adaint.c, g-os_lib.ads:
        Do not assume that the offset argument to lseek(2) is a 32 bit integer,
        on some platforms (including FreeBSD), it is a 64 bit value.
 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        Part of PR ada/12806
-
        * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
        tree, not integer.
 
 
        * Makefile.generic: Add missing substitution on object_deps handling.
 
-       PR ada/5909:
+       PR ada/5909
        * Make-lang.in (check-ada): Enable ACATS test suite.
 
 2003-10-27  Robert Dewar  <dewar@gnat.com>
 
 2003-10-24  Pascal Obry  <obry@gnat.com>
 
+       PR ada/12014
        * adadecode.c (ostrcpy): New function.
        (__gnat_decode): Use ostrcpy of strcpy.
        (has_prefix): Set first parameter a const.
        (has_suffix): Set first parameter a const.
        Update copyright notice. Fix source name in header.
        Removes a trailing space.
-       PR ada/12014.
 
 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
 
 
 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
 
-       PR ada/11978:
+       PR ada/11978
        * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
        External_Tag attribute definition clauses.
 
 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
 
-       PR ada/7613:
+       PR ada/7613
        * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
        child unit, generate a fully qualified name to avoid spurious errors
        when the context contains renamings of different child units with
 
 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
 
-       * Makefile.in: Disable build of gnatpsta. PR ada/10110.
+       PR ada/10110
+       * Makefile.in: Disable build of gnatpsta.
        * cstreams.c (__gnat_full_name): Minor improvements and clean up
        of previous change.
 
 
 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
 
-       PR ada/9953:
+       PR ada/9953
        * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
        and turn ZCX_By_Default back to False since the underlying support
        is not quite there yet.
 
 2003-02-18  Ben Elliston  <bje@redhat.com>
 
-       Part of fix for PR ada/9406
+       Part of PR ada/9406
        * gnat_ug.texi (Binder output file): Grammar fix.
 
 2003-02-18  Ben Elliston  <bje@redhat.com>
 
 2002-12-14   Geert Bosch <bosch@gnat.com>
 
+       PR ada/5690
        * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
        case of a body created for a Renaming_As_Body, on which
-       conformance checks are not performed. Fixes PR ada/5690.
+       conformance checks are not performed.
 
 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
 
        solution to buffer overflow bug on GNU/Linux.
 
 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
-       Closes PR ada/5856 and PR ada/6919 !
+
+       PR ada/5856
+       PR ada/6919
        * bindgen.adb: Remove all references to Public_Version.
        * comperr.adb: Remove all references to Public_Version and
        GNATPRO_Version; correct bug reporting instructions.
        GNATPRO version.
 
 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
        PR ada/6919
        * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
        GNU/Linux.
        * config-lang.in: Remove diff_excludes.
 
 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
+
        PR ada/8358
        * trans.c (gnu_pending_elaboration_lists): New GC root.
        (build_unit_elab): Use..
 
 2002-10-30   Geert Bosch <bosch@gnat.com>
+
        PR ada/6558
        * misc.c : Include optabs.h
 
        * Make-lang.in (misc.o): Add dependency on optabs.h
 
 2002-10-29   Geert Bosch <bosch@gnat.com>
+
        PR ada/6558
        * Make-lang.in (gnatbind): Depend on CONFIG_H
 
 2002-10-29  Geert bosch  <bosch@gnat.com>
+
        PR ada/6558
        * misc.c: Unrevert misc.c (1.13)
 
        maintainership comments.
 
 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
+
        PR ada/5904
        * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
        5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb