OSDN Git Service

gcc/ada/
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 1bf57b4..ce44ffb 100644 (file)
+2007-12-13  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/34360
+       * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
+       mlib-tgt-specific.adb.
+
+2007-12-13  Bob Duff  <duff@adacore.com>
+
+       * trans.c (Attribute_to_gnu): Check for violations of the
+       No_Implicit_Dynamic_Code restriction. This checking used to be done in
+       the front end, but is moved here so we can make it more accurate.
+
+2007-12-13  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
+        version is provided for older GNU/Linux distribution not
+        supporting thread affinity sets.
+       
+       * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
+       call.
+       (bit_field): New packed boolean type used by cpu_set_t.
+       (cpu_set_t): New type corresponding to the C type with
+       the same name. Note that on the Ada side we use a bit
+       field array for the affinity mask. There is not need
+       for the C macro for setting individual bit.
+       (pthread_setaffinity_np): New imported routine.
+       
+       * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
+       no null.
+       (Create_Task): Set the processor affinity mask if information
+       is present.
+       
+       * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
+       
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, 
+       s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads, 
+       s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads, 
+       s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
+       s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
+       s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads, 
+       s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads, 
+       i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
+       for subprogram pointers.
+
+       * g-ctrl_c.adb: New file.
+
+       * g-ctrl_c.ads (Install_Handler): New body.
+
+       * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
+       instead of obsolete function Is_Always_Inlined.
+       (Freeze_Entity): check for tagged type in imported C subprogram
+       (Freeze_Entity): check for 8-bit boolean in imported C subprogram
+       (Freeze_Entity): check for convention Ada subprogram pointer in
+       imported C subprogram.
+       (Freeze_Fixed_Point_Type): In the case of a base type where the low
+       bound would be chopped off and go from negative to zero, force
+       Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
+       bound) so that the size computation for the base type will take
+       negative values into account.
+
+2007-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Tristan Gingold  <gingold@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-aix.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-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
+       system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
+       system-vxworks-arm.ads, system-darwin-x86.ads, system.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,
+       system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
+       (Always_Compatible_Rep): New flag to control trampolines globally.
+       (Dynamic_Trampolines_Used): New flag for implementing the
+       No_Implicit_Dynamic_Code restriction more correctly (not yet used,
+       and not yet set correctly for some targets).
+
+       * s-taprop-vxworks.adb: Use stack limit method of stack checking.
+       Simply indirectly call s-stchop when a task is created.
+
+       * ali.ads: 
+       New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
+       appears as an argument (entries A) in an ALI file.
+
+       * fe.h (Stack_Check_Limits): Declare new target parameter.
+       (Check_Implicit_Dynamic_Code_Allowed): New procedure.
+
+       * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
+       This variable is declared in C to be sure not subject to elaboration
+       code.
+       (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
+       Storage_Error.
+
+       * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
+       (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
+
+       * s-stchop.ads: Add comments.
+
+       * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
+       limit method of stack checking.
+
+       * s-stchop-limit.ads: New file.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb, 
+       a-cihama.adb, g-awk.adb, 
+       s-inmaop-posix.adb: Update handling of assigned value/unreferenced
+       warnings
+
+       * exp_smem.adb: Update handling of assigned value/unreferenced warnings
+
+       * sem.adb: Update handling of assigned value/unreferenced warnings
+
+       * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
+
+       * lib-xref.ads: Improve documentation for k xref type
+
+       * lib-xref.adb: 
+       Update handling of assigned value/unreferenced warnings
+       (Generate_Reference): Warning for reference to entity for which a
+       pragma Unreferenced has been given should be unconditional.
+       If the entity is a discriminal, mark the original
+       discriminant as referenced.
+
+       * sem_warn.ads, sem_warn.adb
+       (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
+       no entities referenced in package
+       (Check_One_Unit): Don't give message about no entities referenced in
+       a package if a pragma Unreferenced has appeared.
+       Handle new warning flag -gnatw.a/-gnatw.A
+       Update handling of assigned value/unreferenced warnings
+
+       * atree.h: Add flags up to Flag247
+       (Flag231): New macro.
+
+2007-12-13  Jose Ruiz  <ruiz@adacore.com>
+
+       * adaint.h: (__gnat_plist_init): Not defined for RTX.
+
+       * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
+       RTX systems.
+
+       * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
+       (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
+       EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
+       GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
+
+       * mingw32.h: 
+       Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
+
+       * sysdep.c (winflush_function for RTX): Procedure that does nothing
+       since we only have problems with Windows 95/98, which are not
+       supported by RTX.
+       (__gnat_ttyname): Return the empty string on Nucleus, just as
+       done on vxworks.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * a-textio.adb, a-textio.ads: 
+       Extensive changes to private part for wide character encoding
+
+       * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
+       (Look_Ahead): Fix mishandling of encoded sequences
+       Move declaration of Wch_Con to private part (should not be visible)
+
+       * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
+       UTF-8. Probably this is never used, but if it is, brackets is
+       clearly correct.
+
+       * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
+       setting wide character encoding for no main program case and when
+       encoding is specified using -W?
+       Initialize stack limit of environment task if stack limit method of
+       stack checking is enabled.
+       (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
+       (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
+       (Get_Main_Unit_Name): New function.
+       (Gen_Adainit_Ada): Add call to main program for .NET when needed.
+       (Gen_Output_File): Set Bind_Main_Program to True for .NET
+
+       * bindusg.adb: Add line for -Wx switch
+
+       * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
+       Add comments
+       Add new useful constant WC_Longest_Sequences
+
+       * switch-b.adb: Clean up handling of -Wx switch
+       For -gnatWx, set Wide_Character_Encoding_Method_Specified
+
+       * switch-c.adb: -gnatg activates warning on assertion errors
+       For -gnatWx, set Wide_Character_Encoding_Method_Specified
+
+       * s-wchcon.adb: (Is_Start_Of_Encoding): New function
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * a-ngcoty.adb: New pragma Fast_Math
+
+       * opt.adb: New pragma Fast_Math
+
+       * par-prag.adb: 
+       Add Implemented_By_Entry to the list of pragmas which do not require any
+       special processing.
+       (Favor_Top_Level): New pragma.
+       New pragma Fast_Math
+
+       * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
+       (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+       Expand_Allocator_Expression): Take into account VM_Target
+       (Expand_Attribute, case 'Identity):  Handle properly the case where
+       the prefix is a task interface.
+       New pragma Fast_Math
+
+       * par.adb (Next_Token_Is): New function
+       (P_Pragma): Add Skipping parameter
+       (U_Left_Paren): New procedure
+       (U_Right_Paren): New procedure
+       New pragma Fast_Math
+
+       * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
+       subunit
+       New pragma Fast_Math
+
+       * sem_prag.adb: Add significance value to table Sig_Flag for pragma
+       Implemented_By_Entry.
+       (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
+       (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
+       items, since it can apply to more than one overloadable entity. Set
+       new flag Has_Pragma_Inline_Always for Inline_Always case.
+       (Analyze_Pragma, case Complex_Representation): Improve error message.
+       (Analyze_Pragma, case Assert): When assertions are disabled build the
+       rewritten code with Sloc of expression rather than pragma, so new
+       warning about failing is not deleted.
+       (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
+       protected types and update error message to reflect that. Test whether
+       the protected type is allowed for the pragma (an error is issued if the
+       type has any entries, or components that do not have preelaborable
+       initialization).
+       New pragma Fast_Math
+       (Analyze_Pragma, case No_Return): Handle generic instance
+
+       * snames.h, snames.ads, snames.adb: 
+       Add new predefined name for interface primitive _Disp_Requeue.
+       New pragma Fast_Math
+
+       * a-tags.ads, a-tags.adb: New calling sequence for
+       String_To_Wide_[Wide_]String
+       (Secondary_Tag): New subprogram.
+
+       * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
+       from Exp_Attr
+       New calling sequence for String_To_Wide_[Wide_]String
+       (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
+       the use of the secondary stack for image routines.
+
+       * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
+       calling sequence for String_To_Wide_[Wide_]String
+
+       * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
+       Ada 95 mode
+       (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
+       Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+       * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
+       (P_Formal_Part): Use Skipping parameter in P_Pragma call
+       to improve error recovery
+
+       * par-util.adb (Next_Token_Is): New function
+       (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
+
+       * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
+       semicolon if missing
+       (P_Pragma): Implement new Skipping parameter
+       Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+       Fix location of flag for unrecognized pragma message
+
+       * par-tchk.adb (U_Left_Paren): New procedure
+       (U_Right_Paren): New procedure
+
+2007-12-13  Geert Bosch  <bosch@adacore.com>
+
+       * a-tifiio.adb: 
+       (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
+       the second or later Scaled_Divide would omit leading zeroes,
+       resulting in too few digits produced and a Layout_Error as result.
+       (Put): Initialize Pos.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       atree.ads, atree.adb (Flag231..Flag247): New functions
+       (Set_Flag231..Set_Flag247): New procedures
+       (Basic_Set_Convention): Rename Set_Convention to be
+       Basic_Set_Convention
+       (Nkind_In): New functions
+       Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+       * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
+       instead
+        of obsolete function Is_Always_Inlined
+       (Register_Predefined_DT_Entry): Initialize slots of the second
+       secondary dispatch table.
+       Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+       (Expand_N_Function_Call): Remove special provision for stack checking.
+
+       * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+       Include _Disp_Requeue in the list of predefined operations.
+       (Find_Interface_ADT): Modified to fulfill the new specification.
+       Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+       * par-ch4.adb, nlists.ads, nlists.adb: 
+       Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+       * sinfo.ads, sinfo.adb: (Nkind_In): New functions
+       Fix location of flag for unrecognized pragma message
+
+       * sem_ch7.adb: Use Nkind_In
+
+2007-12-13  Vincent Celier  <celier@adacore.com>
+
+       * opt.ads: 
+       Indicate what flags are used by the Project Manager, gprbuild and
+       gprclean.
+       (Opt.Follow_Links_For_Dirs): New flag
+       (Warn_On_Assertion_Failure): New flag
+       (Wide_Character_Encoding_Method_Specified): New flag
+       (Suppress_All_Inlining): New switch set by -fno-inline
+       (Real_VMS_Target): New flag
+       New pragma Fast_Math
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * back_end.adb: Recognize -fno-inline
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb: Fix optimization problem with short-circuited form
+
+2007-12-13  Bob Duff  <duff@adacore.com>
+
+       * clean.adb (Usage): Add line for -aP
+       (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
+       with a parameter "procedure Usage", instead of passing a pointer to a
+       procedure. This is to eliminate trampolines (since the Usage procedure
+       is often nested in a main procedure, and it would be inconvenient to
+       unnest it).
+
+       * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
+       to be generic, with a parameter "procedure Callback (...)", instead of
+       passing a pointer to a procedure. This is to eliminate trampolines
+       (since the Callback procedure is usually nested).
+
+       * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb, 
+       gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
+       (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
+
+       * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
+       Use the generic Heap_Sort_G instead of Heap_Sort_A.
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
+       (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
+       (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
+       (Renamed_In_Spec): New flag
+       (Has_Pragma_Inline_Always): New flag
+       Add missing doc for pragma Obsolescent_Warning
+       Add missing doc for 17 additional unused flags (230-247)
+       (Is_Derived_Type): Remove condition "not Is_Generic_Type".
+       Alphabetize with clauses.
+       Separate Is_Thunk and Has_Thunks flags
+       (Write_Entity_Flags): Add forgotten entry for Has_Thunks
+       (Related_Interface): Renamed to Related_Type.
+       (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
+       (Set_Is_Flag): Restrict the assertion.
+
+2007-12-13  Vincent Celier  <celier@adacore.com>
+
+       * errout.adb (Output_Source_Line): Do not keep a trailing space after
+       the source line number if the source line is empty.
+
+2007-12-13  Geert Bosch  <bosch@adacore.com>
+
+       * eval_fat.adb (Decompose_Int): Handle argument of zero.
+       (Compose): Remove special casing of zero.
+       (Exponent): Likewise.
+       (Fraction): Likewise.
+       (Machine): Likewise.
+       (Decompose): Update comment.
+
+2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
+       limited ancestor part, initialize controllers of enclosing record
+       before expanding ancestor aggregate.
+       (Gen_Assign): If a component of the aggregate is box-initialized, add
+       code to call Initialize if the component is controlled, and explicit
+       assignment of null if the component is an access type.
+
+       Handle properly aggregates for limited types that appear in object
+       declarations when the aggregate contains controlled values such as
+       protected types.
+       When expanding limited aggregates into individual components, do not
+       call Adjust on controlled components that are limited.
+
+2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * expander.adb: Take into account N_Subprogram_Renaming_Declaration
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
+       predefined primitive _Disp_Requeue.
+       (Make_Predefined_Primitive_Specs): Create the spec for predefined
+       primitive _Disp_Requeue.
+       (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
+       type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
+       (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
+       an interface type. In case of limited interfaces we now declare all the
+       predefined primitives associated with synchronized interfaces as
+       abstract.
+       (Predef_Spec_Or_Body): For interface types generate abstract subprogram
+       declarations.
+       (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
+       tagged type is an interface type and there is no user-defined equality
+       function.
+       Add also bodies of predefined primitives associated with synchronized
+       interfaces.
+       (Freeze_Record_Type): Do not build bodies of predefined primitives of
+       interface types because they are now defined abstract.
+       Add missing documentation.
+       (Expand_Record_Controller): Update occurrence of Related_Interface
+       to Related_Type.
+       (Build_Offset_To_Top_Functions): Do nothing in case of VM.
+       (Expand_N_Object_Declaration): Take into account VM_Target when handling
+       class wide interface object declaration.
+       (Expand_Previous_Access_Type): Do not create a duplicate master entity
+       if the access type already has one.
+       (Expand_N_Object_Declaration): Defend against attempt to validity check
+       generic types. Noticed for -gnatVcf specified with previous errors.
+
+2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+       Expand_Allocator_Expression): Take into account VM_Target
+
+       * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
+       secondary stack when VM_Target /= No_VM
+
+2007-12-13  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
+       Is_Complation_Unit by Is_Library_Level_Entity in the code
+       that decides if the static dispatch tables need to be built.
+       (Wrap_Transient_Declaration): Do not generate a finalization call if
+       this is a renaming declaration and the renamed object is a component
+       of a controlled type.
+
+2007-12-13  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
+       In the case where the renamed subprogram is a dereference, call
+       Force_Evaluation on the prefix.
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Asynchronous_Select,
+       Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
+       comment reformatting.
+       (Set_Privals): Inherit aliased flag from formal. From code reading.
+       (Build_Simple_Entry_Call): Out parameters of an access type are passed
+       by copy and initialized from the actual. This includes entry parameters.
+       (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
+       and Ada 2005 models of requeue.
+       (Null_Statements): Still connsider do-end block null if it contains
+       Unreferenced and Warnings pragmas.
+       (Expand_N_Accept_Statement): Do not optimize away null do end if
+       dispatching policy is other than defaulted.
+       (Expand_N_Timed_Entry_Call): When the triggering statement is a
+       dispatching call, manually analyze the delay statement.
+       (Find_Parameter_Type): Move subprogram to Sem_Util.
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
+       _Disp_Requeue occupies dispatch table slot number 15. Move
+       _Disp_Timed_Select to slot 16.
+       (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
+       generate the spec and body of _Disp_Reqeueue.
+       (Make_DT): Build and initialize the second dispatch table.
+       Handle initialization of RC_Offset when the parent
+       is a private type with variable size components.
+       (Make_Secondary_DT): Complete documentation. Add support to
+       initialize the second dispatch table.
+       (Make_Tags): Generate the tag of the second dispatch table.
+       (Register_Primitive): Add support to register primitives in the
+       second dispatch table.
+
+2007-12-13  Pascal Obry  <obry@adacore.com>
+
+       * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
+       Windows. This signal is used by gnatmake to kill child processes for
+       example.
+
+2007-12-13  Javier Miranda  <miranda@adacore.com>
+
+       * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+       support for generic dispatching constructor calls in which we need to
+       locate the tag of a secondary dispatch table associated with an
+       interface type to properly dispatch the call.
+       (Expand_N_Attribute_Reference [case Address],
+       Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
+       handling of VM targets.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
+       assert fail
+
+       * ug_words: Add entries for -gnatw.a -gnatw.A
+
+       * sem_res.adb (Set_String_Literal_Subtype): If the context of the
+       literal is a subtype with non-static constraints, use the base type of
+       the context as the base of the string subtype, to prevent type
+       mismatches in gigi.
+       (Resolve_Actuals): If the actual is an entity name, generate a
+       reference before the actual is resolved and expanded, to prevent
+       spurious warnings on formals of enclosing protected operations.
+       (Analyze_Overloaded_Selected_Component): If type of prefix if
+       class-wide, use visible components of base type.
+       (Resolve_Selected_Component): Ditto.
+       (Resolve_Short_Circuit): Detect case of pragma Assert argument
+       evaluating to False, and issue warning message.
+
+       * usage.adb: Add lines for -gnatw.a and -gnatw.A
+
+2007-12-13  Emmanuel Briot  <briot@adacore.com>
+
+       * g-calend.ads (No_Time): New constant, to represent an uninitialized
+       time value
+
+       * g-catiio.ads, g-catiio.adb (Value): Added support for more date
+       formats.
+       (Month_Name_To_Number): New subprogram
+
+       * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
+       letter to upper-case.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
+
+       * layout.adb (Resolve_Attribute, case 'Access): If designated type of
+       context is a limited view, use non-limited view when available. If the
+       non-limited view is an unconstrained array, this enforces consistency
+       requirements in 3.10.2 (27).
+       (Layout_Type): For an access type whose designated type is a limited
+       view, examine its declaration to determine if it is an unconstrained
+       array, and size the access type accordingly.
+       (Layout_Type): Do not force 32-bits for convention c subprogram
+       pointers in -gnatdm mode, only if real vms target.
+
+       * sem_attr.adb (Analyze_Access_Attribute): Use new flag
+       Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+       (Analyze_Access_Attribute,Attribute_Address): Remove checks for
+       violations of the No_Implicit_Dynamic_Code restriction.
+       (Resolve_Attribute, case 'Access): If designated type of context is a
+       limited view, use non-limited view when available. If the non-limited
+       view is an unconstrained array, this enforces consistency requirements
+       in 3.10.2 (27).
+       (Layout_Type): For an access type whose designated type is a limited
+       view, examine its declaration to determine if it is an unconstrained
+       array, and size the access type accordingly.
+
+2007-12-13  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
+       object directory of main project does not exist.
+       On VMS, correctly set then environment variable for the source
+       directories.
+
+2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
+       set to True this procedure will create the value of type REG_EXPAND_SZ.
+       It was only possible to create REG_SZ values before.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
+       g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
+       namet-sp.adb, namet-sp.ads: New files.
+
+       * g-speche.adb: Use generic routine in g-spchge
+
+       * s-wchcnv.ads, s-wchcnv.adb: 
+       Minor code cleanup (make formal type consistent with spec)
+
+       * namet.adb: Update comments.
+
+       * par-endh.adb (Evaluate_End_Entry): Use new
+       Namet.Sp.Is_Bad_Spelling_Of function
+
+       * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
+       ancestor is an access type initialized with a box, set its type
+       explicitly, for use in subsequent expansion.
+       (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
+       function
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
+       access Vstring)
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * inline.adb (Back_End_Cannot_Inline): Use new flag
+       Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+
+       * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
+       Has_Pragma_Inline_Always instead.
+       of obsolete function Is_Always_Inlined
+       (Build_Body_To_Inline): Same change
+       (Cannot_Inline): Same change
+       Do not give warning on exception raise in No_Return function
+
+       * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
+       component has two inconsistent component clauses in the same record
+       representation clause, favor the message that complains about
+       duplication rather than inconsistency.
+       Update comments.
+       (Record_Representation_Clause): Do not warn on missing component
+       clauses for inherited components of a type extension.
+       (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
+       an overloadable item if it is a pragma that can apply to multiple
+       overloadable entities (e.g. Inline) because a pragma cannot be on
+       more than one chain at a time.
+       (Validate_Unchecked_Conversion): Add code to warn on unchecked
+       conversion where one of the operands is Ada.Calendar.Time.
+       (Analyze_Attribute_Definition_Clause): Fix typo in error message.
+       For now, ignore Component_Size clause on VM targets, as done for
+       pragma Pack.
+
+2007-12-13  Emmanuel Briot  <briot@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
+       string
+       (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
+       prj.ads
+       (Hash): Move instantiation of System.HTable.Hash from spec to body
+       (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
+       systems, since we do not need to recompute the Name_Id for the canonical
+       file name.
+       (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+       as a parameter. This parameter is in fact always "ada" in all calls, and
+       we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
+       while loading a project with 40000 files
+
+       * prj-attr.adb: Fix name of attribute Dependency_Driver
+       Change the kind of indexing for attribute Root
+
+       * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
+       variables already declared, in case constructions.
+
+       * prj-env.adb (Initialize): Reset Current_Source_Path_File and
+       Current_Object_Path_File to No_Path.
+
+       * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
+       ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
+
+       * prj-makr.adb: new parameter Current_Dir
+
+       * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
+       Ada sources when language is not Ada.
+       Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+       (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
+       (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
+       (Locate_Directory): Always resolve links when computing Canonical_Path
+       (Look_For_Sources): Make sure that Name_Buffer contains the file name
+       in Source_Files before checking for the presence of a directory
+       separator.
+       Optimize calls to Name_Find when on case sensitive systems.
+       (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+       as a parameter.
+       (Prj.Nmsc.Check): new parameter Current_Dir
+       (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
+       cannot be empty and the spec suffix cannot be the same as the body or
+       separate suffix.
+       (Get_Unit): When a file name can be of several unit kinds (spec, body or
+       subunit), always consider the longest suffix.
+       (Check_Configuration): Do not issue an error if there is no compiler
+       for a language. Just issue a warning and ignore the sources for the
+       language.
+       (Check_Library_Attributes): Only check Library_Dir if Library_Name is
+       not empty.
+       (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
+       (Unit_Exceptions): New hash table
+       (Check_Naming_Schemes): Check if a file that could be a unit because of
+       the naming scheme is not in fact a source because there is an exception
+       for the unit.
+       (Look_For_Sources): Put the unit exceptions in hash table
+       Unit_Exceptions
+       (Get_Unit_Exceptions): Give initial value No_Source to local variable
+       Other_Part to avoid exception when code is compiled with validity
+       checking.
+       (Get_Sources_From_File): Check that there is no directory information
+       in the file names.
+       (Look_For_Sources): Check that there is no directory information in the
+       list of file names in Source_Files.
+       (Look_For_Sources): In multi-language mode, do not allow exception file
+       names that are excluded.
+       (Excluded_Sources_Htable): New hash table
+       (Search_Directories.Check_File): New procedure to simplify
+       Search_Directories.
+       (Search_Directories): Do not consider excluded sources
+       (Look_For_Sources): Populate Excluded_Sources_Htable before calling
+       Search_Directories.
+       (Get_Exceptions): Set component Lang_Kind of Source_Data
+       (Get_Unit_Exceptions): Ditto
+       (Search_Directories): Ditto
+
+       * prj-pars.adb: new parameter Current_Dir
+
+       * prj-part.ads, prj-part.adb: 
+       Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+       (Opt.Follow_Links_For_Dirs): New flag
+       (Project_Path_Name_Of): Cache information returned by this routine as
+       Locate_Regular_File is a costly routine. The code to output a log
+       information and the effective call to Locate_Regular_File is now
+       factorized into a routine (code clean-up).
+       (Parse, Parse_Single_Project): new parameter Current_Dir
+       When main project file cannot be found, indicate in the error
+       message the project path that was used to do the search.
+
+       * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
+       (Prj.Proc.Process*): new parameter Current_Dir
+
+       * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
+
+2007-12-13  Bob Duff  <duff@adacore.com>
+
+       * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
+       procedure to be called from the back end to check the
+       No_Implicit_Dynamic_Code restriction.
+
+2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
+       Fixes another case where RTE_Available_Call was ignored instead of being
+       taken into account.
+       (Load_Fail): Ditto.
+
+       * rtsfind.ads: Add new entries.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
+       g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
+
+       * scn.adb: Implement BOM recognition
+
+2007-12-13  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
+       subprogram body that acts as its own spec may not have a non-private
+       WITH clause on a private sibling.
+       (Build_Unit_Name): If the parent unit in the name in a with_clause on a
+       child unit is a renaming, create an implicit with_clause on that
+       parent, and not on the unit it renames, to prevent visibility errors
+       in the current unit.
+
+2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
+       renaming declaration, use the Slocs of the formal parameters from the
+       declaration of the formal subprogram when creating the formal parameter
+       entities in the renaming declaration.
+       (Analyze_Formal_Type_Declaration): Change the placement of the error
+       message concerning illegal known discriminants. It is now posted on the
+       type rather than on the first discriminant. This change ensures early
+       error report.
+       (Freeze_Subprogram_Body): If the generic subprogram is nested within
+       the package body that contains the instance, do not generate an
+       out-of-place freeze node for the enclosing package.
+       (Collect_Previous_Instantiations): Ignore internal instantiations
+       generated for formal packages.
+       (Validate_Derived_Type_Instance): Add a check that when a formal
+       derived type is Known_To_Have_Preelab_Init then the actual type must
+       have preelaborable initialization, and issue an error when this
+       condition is violated.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * s-imenne.adb, s-imenne.ads: New files.
+
+       * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb, 
+       s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb, 
+       s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads, 
+       s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb, 
+       s-imgwch.ads: New calling sequence for Image routines to avoid sec
+       stack usage.
+
+2007-12-13  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
+       generation of spurious error if parent is an interface type; caused
+       because predefined primitive bodies will be generated later by
+       Freeze_Record_Type.
+       (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
+       flag.
+       (Derive_Subprograms): Handle derivations of predefined primitives
+       after all the user-defined primitives to ensure that they are
+       found in proper order in instantiations.
+       (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
+       of Related_Interface to Related_Type.
+       (Record_Type_Declaration): Minor reordering of calls to decorate the
+       Tag component because the entity must have set its Ekind attribute
+       before setting its Is_Tag attribute.
+       (Analyze_Subtype_Declaration): In the case of subtypes with
+       Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
+       statement to the list of contexts where a selected component with a
+       concurrent tagged type prefix should yield a primitive operation.
+       (Find_Primitive_Operation): Handle case of class-wide types.
+       (Analyze_Overloaded_Selected_Component): If type of prefix is
+       class-wide, use visible components of base type.
+       (Resolve_Selected_Component): Ditto.
+       (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
+       formal of a generic subprogram. find candidate interpretations by
+       scanning the list of generic formal declarations.:
+       (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
+       type from a limited_with_clause, and the full view is available, use it
+       for subsequent semantic checks.
+       (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
+       (Find_Primitive_Operation): New function.
+       (Analyze_Overloaded_Selected_Component): insert explicit dereference
+       only once if several interpretations of the prefix yield an access type.
+       (Try_Object_Operation): Code and comment cleanup.
+       (Analyze_Selected_Component): Reorder local variables. Minot comment and
+       code reformatting. When the type of the prefix is tagged concurrent, a
+       correct interpretation might be available in the primitive and
+       class-wide operations of the type.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
+       renaming entry as subprogram using rename-as-body if subprogram spec
+       frozen.
+       (Use_One_Type): The clause is legal on an access type whose designated
+       type has a limited view.
+       (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+       (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+       (Analyze_Renamed_Primitive_Operation): new procedure to determine the
+       operation denoted by a selected component.
+       (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
+       it can be an expression, possibly overloaded, that returns a task or
+       an access to one.
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
+       requeue statement is dispatching. Do not emit an error when the name is
+       not an entry and the context is a dispatching select. Add code to
+       perform subtype conformance between the formals of the current entry
+       and those of the target interface primitive.
+       (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
+       Timed_Entry_Call): Analyze the triggering statement as the first step of
+       the processing. If this is a dispatching select, postpone the analysis
+       of all select statements until the Expander transforms the select. This
+       approach avoids generating duplicate identifiers after the Expander has
+       replicated some of the select statements. In case the Expander is
+       disabled, perform regular analysis.
+       (Check_Triggering_Statement): New routine.
+       (Analyze_Requeue): Exclude any interpretations that are not entries when
+       checking overloaded names in a requeue. Also test type conformance for
+       matching interpretations rather than requiring subtype conformance at
+       that point to conform with the RM's resolution rule for requeues.
+
+2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
+       inherited operation is a defaulted tag-indeterminate call, and there is
+       a statically tagged actual, use the static tag as a controlling actual
+       for the defaulted actual.
+
+2007-12-13  Geert Bosch  <bosch@adacore.com>
+
+       * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
+       context, so do not call Check_Non_Static_Context.
+
+2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
+       whether formal E is an entity which may have parameters.
+
+2007-12-13  Bob Duff  <duff@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
+       (Set_Convention): New procedure to set the Convention flag, and in
+       addition make sure the Favor_Top_Level flag is kept in sync (all
+       foreign-language conventions require Favor_Top_Level = True).
+       (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
+       to Related_Type.
+       (Collect_Interfaces_Info): Minor update to handle the two secondary
+       dispatch tables. Update occurrence of Related_Interface to Related_Type.
+       (Generate_Parent_Ref): Add parameter to specify entity to check
+       (Is_Preelaborable_Expression): Allow the name of a discriminant to
+       initialize a component of a type with preelaborable initialization.
+       This includes the case of a discriminal used in such a context.
+       (Is_Dependent_Component_Of_Mutable_Object): Take into account the
+       latest Ada 2005 rules about renaming and 'Access of
+       discriminant-dependent components.
+       (Check_Nested_Access): Add handling when there are no enclosing
+       subprograms (e.g. case of a package body).
+       (Find_Parameter_Type): Factor routine from several other compiler files.
+       Remove routine from Find_Overridden_Synchronized_Primitive.
+
+2007-12-13  Thomas Quinot  <quinot@adacore.com>
+
+       * sinput.adb (Get_Source_File_Index): Add assertion to guard against
+       an invalid access to an uninitialized slot in the
+       Source_File_Index_Table.
+
+2007-12-13  Thomas Quinot  <quinot@adacore.com>
+
+       * sinput-l.adb (Load_File): Disable style checks when preprocessing.
+
+2007-12-13  Bob Duff  <duff@adacore.com>
+
+       * s-soflin.ads: Apply new pragma Favor_Top_Level to all
+       access-to-subprogram types in this package.
+
+2007-12-13  Olivier Hainque  <hainque@adacore.com>
+
+       * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
+       with Stack_Grows_Down in System.Parameters. Rename Array_Address into
+       Stack_Overlay_Address and document that we are using an internal
+       abstraction.
+       (Byte_Size, Unsigned_32_Size): Remove, now useless.
+       (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
+       consistently throughout the various implementation pieces.
+
+       * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
+       overlay we are using to fill the stack area with patterns.
+       (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
+       (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
+       (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
+
+2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tassta.adb: 
+       (Create_Task): Take into account tasks created by foreign threads.
+       Code clean up: use constants instead of hard coded values.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * styleg.adb (Check_Comment): More liberal rules for comment placement
+
+2007-12-13  Olivier Hainque  <hainque@adacore.com>
+
+       * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
+       of Procedure Value instead of Frame Pointer as the invocation
+       identifier associated with the instruction pointer in each traceback
+       entry.
+
+       * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
+       TB_Entry_For): Revert back to use of Procedure Value instead of Frame
+       Pointer as the invocation identifier passed to tbk$symbolize.
+
+       * s-traent-vms.ads, s-traent-vms.adb
+       (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
+       Procedure Value instead of Frame Pointer as the invocation identifier
+       passed to tbk$symbolize.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * tbuild.ads, tbuild.adb: 
+       Fix location of flag for unrecognized pragma message
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * treepr.ads, treepr.adb: (pl): implement use of positive value
+       shorthands
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * xeinfo.adb: Remove warnings
+       * xnmake.adb: Remove warnings
+       * xsinfo.adb: Remove warnings
+       * xtreeprs.adb: Remove warnings
+       * xsnames.adb: Remove warnings
+
+       * a-ngcoar.adb: Fix typo.
+       * s-interr.adb: Minor reformatting
+       * env.c: Minor reformatting.
+       * g-bytswa.adb: Minor reformatting.
+       * g-rannum.ads: Minor documentation improvements
+       * s-tasinf-mingw.adb: Minor header fix
+       * a-clrefi.adb: Minor reformatting
+       * g-sttsne.ads: Minor documentation improvement
+       * g-sttsne-locking.ads: Minor documentation improvement
+       * g-soliop-solaris.ads: Minor documentation improvement
+       * g-soliop-mingw.ads: Minor documentation improvement
+       * g-soliop.ads: Minor documentation improvement
+       * exp_aggr.ads: Minor reformatting
+       * debug.adb: Add documentation for the gprbuild debug flags
+       * exp_ch2.adb: Use Nkind_In to simplify code throughout
+       * exp_pakd.adb: Minor reformatting
+
+       * g-altive.ads, g-alleve.adb: Remove assertions.
+       Add comment about minor differences between targets regarding
+       floating-point operations.
+
+       * g-thread.adb: Remove pragma unreferenced.
+       * lib.ads: Minor reformatting
+       * par-ch9.adb: Minor reformatting of error messages
+       * sem_case.adb: Minor reformatting
+       * s-fileio.adb: Minor reformattinng
+       * s-vmexta.ads: Minor typo
+       * vxaddr2line.adb: 
+       Take into account 'Success' value as per new GNAT warning.
+
+2007-12-13  Vincent Celier  <celier@adacore.com>
+
+       * a-direct.adb (Create_Path): Always take '/' as a directory separator,
+       even on Windows
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * gnat_ugn.texi: Dcoument new rules for style check comment alignment
+       Document that suffixes may be terminations of each others
+       Add doc for -gnatw.a and -gnatw.A
+       Document gnatbind -Wx switch
+       Document BOM recognition
+       Document pragma Implemented_By_Entry.
+       Document new units.
+
+       * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
+       Add doc for pragma Unreferenced suppressing no entities referenced msg
+       Add documentation of GNAT.Directory_Operations.Iteration
+       Add documentation of GNAT.Random_Numbers
+       Add documentation for pragma Shared.
+       Correct documentation for Bit_Order
+       Add documentation for the Pool_Address attribute.
+       Fix and improve documentation of pragma machine_attribute.
+       New pragma Fast_Math
+       Document BOM recognition
+
+       * vms_data.ads: Add entries for -gnatw.a -gnatw.A
+       Add /Wide_Character_Encoding for binder
+       Add qualifier for the new gnatpp option --no-separate-loop-then
+
+2007-12-13  Matthew Heaney  <heaney@adacore.com>
+
+       * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
+       which generic formal operations are called for each operation.
+
+2007-12-13  Olivier Hainque  <hainque@adacore.com>
+
+       * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
+       (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
+
+2007-12-13  Emmanuel Briot  <briot@adacore.com>
+
+       * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
+       Reference_Dir unless we actually need it.
+
+2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
+           Tristan Gingold  <gingold@adacore.com>
+
+       * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
+
+       * s-osprim-vms.adb,
+       a-calend-vms.adb: Remove pragma warning off and add pragma
+       unreferenced.
+
+2007-12-13  Robert Dewar  <dewar@adacore.com>
+
+       * impunit.adb: Add entries for missing units
+
+       * Makefile.rtl: Add new run-time units.
+
+       * Make-lang.in:  Update dependencies.
+
+2007-12-13  Bob Duff  <duff@adacore.com>
+
+       * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
+       types, set Can_Use_Internal_Rep appropriately, based on
+       Always_Compatible_Rep_On_Target.
+
+2007-12-13  Gary Dismukes  <dismukes@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
+       it to the front end and setting the aamp_target environment variable
+       to the switch's argument to ensure that gnaampbind and gnaamplink will
+       take the specified library into account.
+       (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
+       target, since the CIL compiler supports an "object" file (.il files).
+
+2007-12-13  Vincent Celier  <celier@adacore.com>
+
+       * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
+       (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
+
+2007-12-13  Geert Bosch  <bosch@adacore.com>
+
+       * s-parame-vxworks.adb: 
+       Update comments to reflect usage of this package by Nucleus.
+
+2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * i-vxwork.ads: Kill new warning on Convention C, since changing the
+       spec would break code.
+
+       * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
+
+       * system-vxworks-alpha.ads: Removed.
+
+2007-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
+
+2007-12-09  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/34366
+       * sem_ch3.adb (Designates_T): New function.
+       (Mentions_T): Factor reusable part of the logic into Designates_T.
+       Consider non-access parameters and access and non-access result.
+       (Check_Anonymous_Access_Components): Set ekind of anonymous access to
+       E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
+
+       * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
+
+2007-12-07  Ludovic Brenta  <ludovic@ludovic-brenta.org>
+
+       PR ada/34361
+       * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
+       the new implementation of target-specific calls.
+
+2007-12-07  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
+       the designated full view, only follow a second level Full_View link
+       for Non_Limited_Views of from_limited_with references.
+       
+2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/15805
+       * sem_ch6.adb (Process_Formals): Prevent an access type formal
+       to be initialized with an access to constant object.
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
+       when an access to constant is used to initialize an access
+       value.
+
+       PR ada/21346
+       * a-direct.adb (Compose): Containing_Directory can be an empty string.
+
+2007-12-07  Olivier Hainque  <hainque@adacore.com>
+
+       PR ada/34173
+       * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
+       the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
+       this is from an alignment clause on the GNAT entity.
+       * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
+       to distinguish the case where we set it from the type's alignment.
+       When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
+       whether this alignment was set from an explicit alignment clause.
+
+2007-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (make_packable_type): Revert last change.
+       (gnat_to_gnu_field): Avoid setting size and position multiple times.
+       * utils.c (finish_record_type): Retrieve the real name of the type.
+
+2007-12-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (lvalue_required_p): Take base node directly instead
+       of its parent.  Rename second parameter to 'gnu_type'.
+       <N_Indexed_Component>: Return 0 if the node isn't the prefix.
+       <N_Slice>: Likewise.
+       (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
+       Adjust calls to lvalue_required_p.
+
+2007-12-05  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/21489
+       * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
+       parameters of an entry call.
+
+2007-12-03  Robert Dewar <dewar@adacore.com>
+            Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/34287
+       * sem_util.adb (Safe_To_Capture_Value): Do not capture values
+       of variables declared in a library-level package.
+    
+2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
+
+       * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
+       of Empty_String'Unchecked_Access.
+
+       * Makefile.in: Add support for sh4-linux.
+
+       * system-linux-sh4.ads: New file.
+
+2007-12-01  Kostik Belousov  <kostikbel@ukr.net>
+
+       PR ada/33722
+       * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
+       and its argument must not be free()ed.
+
+2007-11-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (make_packable_type): Retrieve the real name of the type.
+       (maybe_pad_type): Simplify similar code.
+
+2007-11-28  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR ada/15804
+       * par-ch3.adb (P_Variant_Part): Signal an error when anything other
+       than an identifier is used after "case" in a variant_part.
+
+       PR ada/17318
+       * par-ch4.adb (Is_Parameterless_Attribute): New map.
+       (P_Name, Scan_Apostrophe block): Parse left parenthesis following
+       attribute name or not depending on the new map.
+
+       * sem-attr.adb (Analyze_Attribute): Parameterless attributes
+       returning a string or a type will not be called with improper
+       arguments.
+
+       * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
+
+       * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
+
+       PR ada/32792
+       * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
+       Signal an error when attribute argument is a fixed-point value of
+       an unknown type.
+
+       PR ada/22559
+       * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
+       a derived ordinary fixed point type.
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
+       RM_Size when a Small clause is found.
+
+2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+        PR 34081/C++
+        * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
+        Pass 'false' for the new allocate_struct_function parameter.
+        * utils.c (build_function_stub): Likewise.
+
+2007-11-25  Richard Guenther  <rguenther@suse.de>
+
+       * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
+       (gnat_poplevel): Likewise.
+
+2007-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
+       strict alignment, no alignment clause and a known static size, cap
+       the type alignment to the greatest power of 2 factor of the size.
+       (gnat_to_gnu_field): If the field has a component clause, is aliased
+       or of a type with strict alignment, require that its size be equal to
+       that of the type.
+       (validate_size): Use the type size as the minimum size for a type with
+       strict alignment.
+
+2007-11-23  Samuel Tardieu  <sam@rfc1149.net>
+
+       * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
+       s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+       s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
+       Use 'Access instead of 'Unchecked_Access in second and third
+       arguments of pthread_sigmask.
+
+2007-11-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (ceil_alignment): New function.
+       (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
+       (make_packable_type): Likewise.
+
+2007-11-22  Olivier Hainque  <hainque@adacore.com>
+
+       * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
+       to fit in 80 columns.
+
+2007-11-21  Aurelien Jarno <aurelien@aurel32.net>
+
+       * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
+       * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
+
+2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/34098
+       * misc.c (gnat_adjust_rli): Delete.
+       (gnat_init): Do not initialize the translation code here.
+       Do not call set_lang_adjust_rli.
+       * trans.c (init_code_table): Make static.
+       (gnat_init_stmt_group): Delete.
+       (gigi): Initialize the translation code entirely here.
+       Emit debug info for the common types here instead of...
+       * utils.c (gnat_init_decl_processing): ...here.
+       * gigi.h (init_code_table): Delete.
+       (gnat_init_stmt_group): Likewise.
+
+2007-11-16  Olivier Hainque  <hainque@adacore.com>
+
+       * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
+       retrieving an allocator return value from a super-aligned address from
+       here to ...
+       * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
+       expect a super-aligned address for a fat or thin pointer.
+       
+2007-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (call_to_gnu): Always set the source location on the call
+       expression.  If the function returns-by-target, also set it on the
+       address expression.
+
+2007-11-14  Samuel Tardieu  <sam@rfc1149.net>
+
+       * adaint.c, init.c, initialize.c, link.c: Remove system-specific
+       sections of non-supported Interix target.
+
+       * s-osinte-interix.ads: Removed.
+
+       * i-cstrin.ads (chars_ptr): Make it a C convention type.
+
+2007-11-13  Samuel Tardieu  <sam@rfc1149.net>
+
+       * a-tasatt.adb: Add a comment at the beginning of the package
+       explaining why in general 'Unchecked_Access must be used instead
+       of 'Access.
+
+       * sem_prag.adb (Process_Convention): Move the test for the
+       entity on which the Convention pragma applies down to also
+       forbid pragma Convention on enumeration literals reached
+       through renamings.
+
+2007-11-10  Samuel Tardieu  <sam@rfc1149.net>
+
+       * a-tasatt.adb: Revert previous change for this file as it will
+       generate an error when this package is instantiated from a
+       local context.
+
+2007-11-07  Samuel Tardieu  <sam@rfc1149.net>
+
+       * a-tasatt.adb: Type Wrapper should be declared in comment instead
+       of already declared type Node_Access.
+       Use 'Access instead of 'Unchecked_Access when applicable. Local
+       lifetime is the one of the package.
+       (Set_Value): W is allocated on the heap.
+
+       * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
+       applicable.
+       (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
+       access type.
+       (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
+       access type.
+
+       * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
+       applicable.
+       (elaboration code): Timer_Queue lifetime is the one of the
+       package.
+
+       * tracebak.c (i386 alternative): Remove useless comparaison
+       which is always false; LOWEST_ADDRESS is 0 and is never greater
+       than an unsigned integer.
+
+       * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
+       embedded check for "Ada_Version >= Ada_05".
+
+2007-11-07  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
+       craft and expand comment.
+
+2007-11-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
+
+2007-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * misc.c (gnat_handle_option): Replace call to abort with
+       call to gcc_unreachable.
+       (gnat_init): Likewise.
+       (gnat_expand_expr): Likewise.
+       (fp_prec_to_size): Likewise.
+       (fp_size_to_prec): Likewise.
+
+2007-10-23  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/33608
+       * tracebak.c: #undef abort after including system.h.
+
+2007-10-20  Danny Smith <dannysmith@users.sourceforge.net>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
+       s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
+       for win32 targets.
+       (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
+
+2007-10-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
+       Set the protection status of the guard page based on the value of On.
+
+       * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
+
+       * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
+       (Exit_Task): Pass False to Hide_Yellow_Zone.
+
+2007-10-15  Robert Dewar  <dewar@adacore.com>
+
+       * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, 
+       s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
+       a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, 
+       checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, 
+       freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, 
+       gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, 
+       mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, 
+       prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, 
+       sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, 
+       s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
+       uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, 
+       a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, 
+       a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, 
+       a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, 
+       a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, 
+       a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
+       Minor reformatting.
+       Add Unreferenced and Warnings (Off) pragmas for cases of
+       variables modified calls where they are IN OUT or OUT parameters and
+       the resulting values are not subsequently referenced. In a few cases,
+       we also remove redundant code found by the new warnings.
+
+       * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, 
+       sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
+       sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
+       sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
+       warning controlled by -gnatw.o that warns on cases of out parameter
+       values being ignored.
+
+2007-10-15  Geert Bosch  <bosch@adacore.com>
+
+       * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
+
+       * expect.c: Initial port to arm-mentor-nucleus.
+       Use kill for __gnat_kill() on VMS.
+
+2007-10-15  Emmanuel Briot  <briot@adacore.com>
+
+       * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
+       value.
+       (Xref_Record): Change type for Line, since in the case of a reference to
+       a predefined entity (as happens for array index types), the line is set
+       to 0.
+       Add support for parsing multiple array index types info, or
+       multiple inherited interfaces info. This information cannot be stored
+       in Xref_Entity_Record, which only supports a single instance of Tref_*,
+       and is therefore stored in the list of references instead. It has a
+       special treatement later on in tools that use this information.
+
+2007-10-15  Tristan Gingold  <gingold@adacore.com>
+
+       * debug.adb: Document use of -gnatd.a and -gnatd.I
+
+       * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
+
+2007-10-15  Javier Miranda  <miranda@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
+       Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
+       care of access to class-wide interface types plus removal of bizarre
+       conversion of tagged object to access type (reported by Gary
+       Dismukes). After this patch there is no need to perform any
+       additional management on these nodes in Expand_Interface_Actuals.
+
+       * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
+       that handles use of 'Access and 'Unchecked_Access applied to
+       actuals covering interface types. Such code is now
+       centralized in Expand_N_Attribute_Reference.
+
+2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
+       of tagged types whose ultimate ancestor is a CPP type.
+       (Freeze_Array_Type): For a packed array type, generate an initialization
+       procedure if the type is public, to handle properly a client that
+       specifies Normalize_Scalars.
+
+2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
+       inside a generic body, retrieve the full view of the entry family
+       discrete subtype if available.
+
+2007-10-15  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
+       attempt to generate stubs for hidden primitive operations.
+
+2007-10-15  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-specific.adb (Support_For_Libraries): New function,
+       returning None, used when there is no platform specific body for
+       MLib.Tgt.Specific.
+
+2007-10-15  Bob Duff  <duff@adacore.com>
+
+       * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
+       (passing'Unrestricted_Access of nested subprograms to Sort) with use of
+       the generic Heap_Sort_G, in order to avoid trampolines.
+
+2007-10-15  Vasiliy Fofanov  <fofanov@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * vx_stack_info.c: New file.
+
+       * i-forbla-unimplemented.ads: New file.
+
+       * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
+       for unsupported configurations; use it on VMS targets instead of the
+       real one.
+       (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
+       vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
+       used by VxWorks targets to have access to task-specific data and be
+       able to extract the stack boundaries for stack checking.
+       Use system-vms-ia64.ads on ivms.
+
+       * Make-lang.in: Update dependencies.
+
+       * sysdep.c (__gnat_get_stack_info): Move to a standalone file
+       (vx_stack_info.c).
+
+2007-10-15  Vincent Celier  <celier@adacore.com>
+
+       * snames.adb, snames.ads: Add new standard name runtime_library_dir
+
+       * prj.ads (Language_Config): Add new component Runtime_Library_Dir
+
+       * prj-attr.adb: Add project level attribute Runtime_Library_Dir
+
+       * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
+       the source is unknown.
+
+       * prj-ext.adb: Spelling error fix
+
+       * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
+       95 reserved word in its name.
+       (Process_Project_Level_Array_Attributes): Process new attribute
+       Runtime_Library_Dir.
+
+       * prj-part.adb (Parse_Single_Project): Do not check the name of the
+       config project against the user project names.
+
+       * prj-proc.adb (Expression): In multi-language mode, indexes that do
+       not include a dot are always case insensitive.
+       (Process_Declarative_Items): Ditto
+       (Process_Project_Tree_Phase_1): Set Success to False in case an error is
+       detected.
+
+       * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
+       True, compare both indexes in lower case.
+
+2007-10-15  Robert Dewar  <dewar@adacore.com>
+
+       * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
+
+2007-10-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
+       association for an access component, add an association with null as
+       the expression. Remove testing for array subtypes and the setting in
+       that case of Ctyp to the array component type, which prevented proper
+       inclusion of an association for null-initialized arrays. Collapse
+       condition that tests for array subtypes into just a test of
+       Is_Partially_Initialized_Type (which already covers arrays anyway).
+
+2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb: Minor code reformatting.
+       (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
+       find the parent package which may have been hidden by local
+       declarations.
+
+2007-10-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
+       flag of derived concurrent types, taking into account the flag setting
+       on the parent subtype and any new set of discriminants.
+
+2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch4.adb: Minor code and comment reformatting.
+       (Analyze_Allocator): When the designated type of an unconstrained
+       allocator is a record with unknown discriminants or an array with
+       unknown range bounds, emit a detailed error message depending on the
+       compilation mode and whether the designated type is limited.
+
+2007-10-15  Tristan Gingold  <gingold@adacore.com>
+
+       * system-vms-ia64.ads: New file.
+
+       * system-vms_64.ads: Minor comment fix.
+
+2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
+       body generated for a function with a controlling result that is a null
+       extension, discard the generated body in favor of the current explicit
+       one.
+
+2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
+       examining its original form, to handle properly operator calls that
+       have been rewritten.
+
+2007-10-15  Olivier Hainque  <hainque@adacore.com>
+
+       * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
+       instead of a procedure value in each traceback entry.
+
+       * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
+       instead of procedure value to TBK$SYMBOLIZE.
+
+       * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
+       field.
+       (TB_Entry_For): Account for the PV/FP renaming.
+
+       * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
+       add comment.
+       (Null_TB_Entry): Account for change of component name.
+       (PV_For): Rename as FP_For.
+
+2007-10-15  Tristan Gingold  <gingold@adacore.com>
+
+       * trans.c (gnat_to_gnu): Remove the padding structure more often.
+       This optimize assignment to over-aligned record.
+
+2007-10-15  Emmanuel Briot  <briot@adacore.com>
+
+       * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
+       interfaces.
+
+       * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
+       type, for dispatching calls.
+
+2007-10-15  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * gnat_ugn.texi: Add documentation for switches --version and --help
+       for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
+       gnatxref, gnatfind, gnatls, and gnatclean.
+       Document -gnatw.o.
+       Mention attribute Excluded_Source_Dirs
+       Replace obsolescent attribute Locally_Removed_Files with attribute
+       Excluded_Source_Files.
+       Improve documentation of -u (gnatbind)
+       Document how to do reliable stack checking for the environmental task
+       on iVMS.
+
+       * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
+       Document attribute Excluded_Source_Files and indicate that attribute
+       Locally_Removed_Files is obsolescent.
+
+2007-10-15  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-vms.ads: Fix value of MSG_WAITALL.
+
+       * gen-soccon.c: 
+       Update documentation to note that OpenVMS 8.3 or later must be used
+       to generate g-soccon-vms.ads.
+
+       * atree.adb: Add ??? comment
+
+       * exp_util.adb: Minor reformatting.
+       Add ??? comment in Kill_Dead_Code.
+
+2007-10-15  Robert Dewar  <dewar@adacore.com>
+
+       * errout.ads: Comment clarification
+
+       * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
+       (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
+
+       * lib.ads: Comment update
+
+       * init.c: Minor reformatting.
+
+       * sem_attr.adb: Minor formatting
+
+       * osint-b.ads: Minor reformatting
+
+       * sem_ch9.adb: Implement -gnatd.I switch
+
+       * g-comlin.adb: (Start): Fix handling of empty command line.
+
+       * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
+       even when -rules follows the -cargs section.
+
+2007-10-08  Ollie Wild  <aaw@google.com>
+
+       * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
+       gnat_return_tree.
+       (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
+       gnat_return_tree.
+       (gnat_eh_runtime_type): Removed.
+       (gnat_return_tree): New function.
+
+2007-10-08  Ben Elliston  <bje@au.ibm.com>
+
+       PR ada/33454
+       Revert:
+       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-09-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Mapped location support
+       * back_end.adb (Call_Back_End): Pass information about source
+       files instead of units to gigi.
+       * gigi.h (struct File_Info_Type): New.
+       (gigi): Rename and change type of number_units parameter, change
+       type of file_info_ptr parameter.
+       * trans.c (number_files): New global variable.
+       (gigi): Rename and change type of number_units parameter, change
+       type of file_info_ptr parameter.
+       If mapped location support is enabled, create the isomorphic mapping
+       between source files and line maps.
+       (Sloc_to_locus): If mapped location support is enabled, translate
+       source location into mapped location.
+       (annotate_with_node): Rename into set_expr_location_from_node.
+       Call set_expr_location instead of annotate_with_locus.
+       (Pragma_to_gnu): Adjust for above change.
+       (Loop_Statement_to_gnu): Likewise.
+       (call_to_gnu): Likewise.
+       (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+       (gnat_to_gnu): Likewise.
+       (add_stmt_with_node): Likewise.
+       (add_cleanup): Likewise.
+       * utils.c (gnat_init_decl_processing): Do not set input_line.
+
+2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
+       (Applicable_Use): Emit a warning when a package tries to use itself.
+       (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
+       is already in use or the package where it is declared is in use or is
+       declared in the current package.
+       (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
+
+       * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
+       s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
+       s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
+
+2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend-vms.adb, a-calend.adb: 
+       Add a section on leap seconds control along with two entities used to
+       enable and disable leap seconds support. The array Leap_Second_Times is
+       now constant and contains hard time values pre-generated. Remove
+       all elaboration code used to populate the table of leap seconds.
+
+       * bindgen.adb: 
+       Add entity Leap_Seconds_Support to the list of global run-time variables
+       along with a comment on its usage and values.
+       (Gen_Adainit_Ada): Add code to generate the declaration and import of
+       Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
+       or one (enabled) depending on the presence of binder switch "-y".
+       (Gen_Adainit_C): Add code to generate the declaration of external int
+       __gl_leap_seconds_support. Set is value to zero (disabled) or one
+       (enabled) depending on the presence of binder switch "-y".
+
+       * init.c: Add __gl_leap_seconds_support to the list of global values
+       computed by the binder.
+
+2007-09-26  Jerome Guitton  <guitton@adacore.com>
+
+       * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+       s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
+        s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+       s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
+
+       * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
+
+       * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
+       function which can be called by the debugger to interrupt the tasks of
+       an Ada application asynchronously, as needed on VxWorks.
+       (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
+
+       * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
+       renamed from Stop_All_Tasks. Update comments.
+       (Stop_All_tasks): New function declaration.
+
+2007-09-26  Olivier Hainque  <hainque@adacore.com>
+
+       * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
+       #include <utime.h> and #define GCC_RESOURCE_H before
+       #include <sys/wait.h>.
+       Add more protections in __gnat_translate_vms.
+
+       * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
+       #include <sys/wait.h>.
+
+2007-09-26  Thomas Quinot  <quinot@adacore.com>
+           Sergey Rybin  <rybin@adacore.com>
+
+       * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
+
+       * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+       where it belongs.
+
+       * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+       * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+       where it belongs.
+
+       * sem_dist.ads: Minor comment fix
+
+       * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+2007-09-26  Javier Miranda  <miranda@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * a-tags.adb: 
+       (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
+        indirection added to the HT_Link component of the TSD. This is required
+        to statically allocate the TSD.
+
+       * a-tags.ads: 
+       Minor reordering of the declarations in the private part. Required to
+       add a level of indirection to the contents of the TSD component HT_Link.
+       This is required to statically allocate the TSD.
+
+       * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
+       Is_Statically_Allocated set from constant objects.
+       Do not make exported constants created by the compiler volatile.
+       (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
+       as read-only.
+
+       * trans.c (Identifier_to_gnu): For constants, unshare initializers
+       before returning them.
+
+       * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
+       public part of the package.
+       (Make_DT): Move HT_Link component out of the TSD record. For this
+       purpose Make_DT now declares a separate object that stores the
+       HT_Link value, and initializes the TSD component with the address
+       of this new object. The addition of this level of indirection is
+       required to statically allocate the TSD because the TSD cannot
+       have variable components.
+       (Expand_Interface_Conversion): Improve the expanded code.
+       (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
+
+       * sem_disp.adb (Check_Dispatching_Operation): In case of a body
+       declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
+       if we are building static dispatch tables then we must not generate
+       extra code to register the primitive because the dispatch table will
+       be built at the end of the library package; otherwise we notify that
+       we cannot build the static dispatch table.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
+       overlays.
+
+       * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
+       (Analyze_Record_Representation_Clause): Suppress junk warning for
+       missing component clause.
+       (Analyze_Attribute_Definition_Clause, case Address): Apply the special
+       tests for controlled type overlay to composites with controlled
+       components.
+       (Analyze_Record_Representation_Clause): Add reference for component name
+
+2007-09-26  Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
+       for thunks associated with interface types.
+
+       * einfo.ads: Improve documentatation of Is_Internal
+       (Is_Thunk): New attribute applicable to subprograms. True for thunks
+       associated with interface types.
+       Extensive comment fixes regarding flags that appear in all entities. The
+       documentation is now consistent for all such flags (there were a number
+       of errors in the documentation in this regard).
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
+       of these procedures are passed a function call that already has
+       build-in-place actuals (testing new flag
+       Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
+       the case where processing continues.
+       (Expand_Call): If the call is generated from a thunk body then we
+       propagate the extra actuals associated with the accessibility
+       level of the access type actuals.
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
+       of each extra formal of a protected operation to reference the
+       corresponding extra formal of the subprogram denoted by the
+       operation's Protected_Body_Subprogram.
+       
+       * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
+       N_Function_Call nodes.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
+
+       * debug.adb: Add d.s flag.
+
+2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
+       debug variable so that it won't be initialized when pragma
+       Initialize_Scalars is in effect.
+
+2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Remove check for preelaborable
+       initialization of a full view. This is moved to
+       Analyze_Package_Specification.
+
+       * sem_ch7.adb (Analyze_Package_Specification): Add check for
+       preelaborable initialization of a full view in entity loop.
+       (Uninstall_Declarations): If entity is a use-visible compilation unit,
+       its child units are use-visible only if they are visible child units.
+
+       * sem_util.adb (Is_Preelaborable_Expression): New function to determine
+       whether an expression can be used within a type declaration that
+       requires preelaborable init.
+       (Check_Components): Replace inline code that does partial checking for
+       preelaborable default expressions with call to
+       Is_Preelaborable_Expression.
+       (Has_Preelaborable_Initialization): In the case of a generic actual
+       subtype, (that is, Is_Generic_Actual is True), return the result of
+       applying Has_Preelaborable_Initialization to the generic actual's base
+       type.
+
+2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
+       call to Jan_1_Day _Of_Week to optimize its performance.
+       (Is_Leap): Move the routine to the scope of Week_In_Year.
+       (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
+       weekday on which January 1 falls of Year - 1 and Year + 1. This function
+       avoids calling Time_Of and Split, thus making it more efficent.
+       (Week_In_Year): Reimplemented in oder to follow ISO 8601.
+
+       * g-calend.ads (Week_In_Year): Change comment to reflect new
+       implementation.
+
+2007-09-26  Emmanuel Briot  <briot@adacore.com>
+
+       * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
+       Command_Line): New types
+       (Define_Alias, Define_Prefix, Free): New subprograms. These provide
+       support for defining how switches can be grouped on a command line (as
+       is the case for -gnatw... for GNAT), and how simple switches can be
+       used as aliases for more complex switches (-gnatwa is same as
+       -gnatwbcef...)
+       (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
+       (Start, Current_*): New subprograms
+       Added support for parsing an array of strings in addition to the real
+       command line.
+       (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
+        be moved from the body to the private part of the spec.
+       (*): All subprograms now have an extra parameter with default value to
+       specify which parser should be used. For backward compatibility, it
+       defaults to parsing the command line of the application. They were also
+       modified to properly handle cases where each of the argument does not
+       start at index 1 (which is always true for Ada.Command_Line, but not
+       when processing any Argument_List).
+       (Free): New subprogram
+       (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
+       Argument): New subprograms
+       (Switch_Parameter_Type): New enum, which clarifies the code. The extra
+       special characters like ':', '=',... are now handled in a single place,
+       which makes the code more extensible eventually.
+       (Getopt, Full_Switch): When the switch was returned as part of the
+       special character '*', make sure it is prepended by the switch character
+       ('-' in general), so that the application knows whether "foo" or "-foo"
+       was specified on the command line.
+
+2007-09-26  Florian Villoing  <villoing@adacore.com>
+
+       * g-dirope.adb (Remove_Dir): In case we are removing directories
+       recursively, make sure that if an exception is raised during the
+       processing, the current working directory is reset to its initial
+       value before propagating the exception.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * gnatbind.adb: If there are several ALI files specified and there is
+       a main program to bind, the first ALI is expected to contain the main
+       subprogram and the names of the binder generated files will be derived
+       from the first ALI file name.
+       (Gnatbind): Fix insertion character in invocation of Error_Msg
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (Check_Files): Do not include sources that have been
+       removed by attributes Exclude_Source_Files or Locally_Removed_Files.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-xref.ads, lib-xref.adb: The entry for array types now carries
+       information about each of its index types, following the type
+       reference for its component type.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * make.adb: (Kill): New procedure (__gnat_kill imported)
+       (Running_Compile, Outstanding_Compiles): Global variables that
+       were previously local to procedure Compile_Sources.
+       (Sigint_Intercepted): Send signal SIGINT to all outstanding
+       compilation processes.
+
+       (Gnatmake): If project files are used, create the mapping of all the
+       sources, so that the correct paths will be found.
+
+       * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
+
+       * prj.ads, prj.adb (Default_Language): Remove function, no longer used
+       Replace components Compiler_Min_Options and Binder_Min_Options with
+       Compiler_Required_Switches and Binder_Required_Switches in record
+       Language_Config.
+       Remove components Default_Language and Config in Project_Tree_Data,
+       no longer used.
+
+       * prj-attr.adb: New attributes Required_Switches (<language>) in
+       packages Compiler and Binder.
+
+       * prj-nmsc.adb: Major rewrite of the processing of configuration
+       attributes for gprbuild. No impact on GNAT tools.
+
+       * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
+       process configuration attributes: this is done in Prj.Nmsc.Check.
+       (Recursive_Process): Make a full copy of packages inherited from project
+       being extended, instead of a shallow copy.
+       (Process_Project_Tree_Phase_1): New procedure
+       (Process_Project_Tree_Phase_1): New procedure
+       (Process): Implementation now uses the two new procedures
+
+       * prj-util.adb (Executable_Of): Get the suffix and the default suffix
+       from the project config, not the tree config that no longer exists.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * Make-lang.in: Update dependencies..
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * osint.adb, osint.ads: Minor reformatting
+
+       * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
+
+2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
+       message to cite use of <> in aggregate component associations rather
+       than wrongly indicating use of limited aggregates.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
+       Address_Taken.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
+       ancestor of the derived type, the operations are inherited from the
+       primary dispatch table of the parent.
+       (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
+       when the context is an explicit type conversion.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
+       rule for qualified expressions properly, to detect improper conversions
+       and resolve some cases of overloading.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
+       proper kind of reference to the primitive operation, for better source
+       navigation.
+       (Valid_Conversion): A tagged conversion is legal if both operands are
+       tagged.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb (Check_References): Catch more cases of unreferenced
+       packages.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * snames.adb, snames.ads: Change Include_Option to Include_Switches
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * s-wchstw.adb: provide messages for run time unit exceptions
+
+       * a-witeio.adb: Minor reformatting
+
+       * exp_ch13.adb: Minor reformatting
+
+2007-09-26  Sergey Rybin  <rybin@adacore.com>
+
+       * vms_data.ads: Revise gnatmetric qualifiers.
+       Add qualified for the new gnatbind option '-y'
+
+       * gnat_ugn.texi: Revise the gnatmetric section.
+       Add entry for new gnatbind option '-y'.
+
+       * gnat_rm.texi: Minor spelling correction.
+       Document restriction on overlaying controlled types
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * makegpr.adb (Link_Executables): Do not fail when the root project has
+       no sources, but is an extending project.
+
+2007-09-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c: Fix misplaced #define.
+
+2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
+       the TYPE_REF_CAN_ALIAS_ALL flag to the result.
+
+2007-09-21  Olivier Hainque  <hainque@adacore.com>
+
+       * utils.c (type_for_nonaliased_component_p): Return false for
+       all AGGREGATE_TYPEs.
+
+2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
+       object covered by 13.3(19) volatile.
+
+2007-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/26797
+       PR ada/32407
+       * utils.c (unchecked_convert): Use a subtype as the intermediate type
+       in the special VIEW_CONVERT_EXPR case.
+
+2007-09-12  Robert Dewar  <dewar@adacore.com>
+
+       * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
+
+       * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
+       lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
+       s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
+       s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
+       s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
+       s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
+       s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
+       s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
+       a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads, 
+       g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads, 
+       s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb, 
+       s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb, 
+       snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads, 
+       s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads, 
+       s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads, 
+       s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads, 
+       s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
+       pragma Compiler_Unit and adds it to relevant library units.
+
+2007-09-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
+       a box need not correspond to any component.
+
+2007-09-12  Robert Dewar  <dewar@adacore.com>
+
+       * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
+       the tasking version of the Ada run time when foreign threads are
+       present and there are no explicit Ada tasks or tasking constructs.
+
+       * gnat_rm.texi: Clarify documentation of GNAT.Threads.
+
+2007-09-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * bindusg.adb (Display): Correct comment for switch -X. Add a line for
+       the usage of switch -y.
+
+       * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
+       when switch -y is present.
+
+       * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
+       leap seconds in Ada.Calendar and its children.
+
+2007-09-12  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-extiti.ads (Timer): The discriminant is a "not null access
+       constant" in the Reference Manual.
+       (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
+
+2007-09-12  Robert Dewar  <dewar@adacore.com>
+
+       * a-swuwha.adb: Remove junk RM header
+
+2007-09-12  Vincent Celier  <celier@adacore.com>
+
+       * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
+       indicator
+
+       * g-bytswa.ads: Minor reformatting
+
+2007-09-12  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads: 
+       Add new constant Thread_Blocking_IO, always True by default, set False
+       on a per-runtime basis.
+       (Need_Netdb_Buffer): New constant.
+
+2007-09-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
+       Added renames for corresponding functions in System.Partition_Interface.
+
+2007-09-12  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.in: Remove VMS specific System.CRTL packages which are no
+       longer needed.
+
+       * s-crtl-vms64.ads: Removed.
+
+2007-09-12  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
+       with discriminant constraints, generalize the code for BIT_FIELDs
+       to PACKED fields of constant size and propagate DECL_PACKED.
+
+2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (array_type_has_nonaliased_component): New predicate.
+       (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
+       set the TYPE_NONALIASED_COMPONENT flag on the type.
+       <E_Array_Subtype>: Likewise.
+       * gigi.h (type_for_nonaliased_component_p): Declare.
+       * utils.c (type_for_nonaliased_component_p): New predicate.
+       (create_field_decl): Invoke the above predicate to set the
+       DECL_NONADDRESSABLE_P flag on the field.
+
+2007-09-11  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
+       in library level record type entities if we are generating statically
+       allocated dispatch tables.
+
+       * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
+       importing/exporting the _tag declaration by new code
+       importing/exporting the dispatch table wrapper. This change allows us
+       to statically allocate of the TSD.
+       (Make_DT.Export_DT): New procedure.
+       (Build_Static_DT): New function.
+       (Has_DT): New function.
+
+       * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
+       True_Constant and Current_Value. Required to statically
+       allocate the dispatch tables.
+       (Check_Allocator): Make function iterative instead of recursive.
+       Also return inner allocator node, when present, so that we do not have
+       to look for that node again in the caller.
+
+2007-09-11  Jan Hubicka <jh@suse.cz>
+
+       * misc.c (gnat_expand_body): Kill.
+       (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
+
+2007-09-10  Robert Dewar  <dewar@adacore.com>
+
+       * exp_atag.ads, exp_atag.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, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+       mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
+       ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
+       bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
+       bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
+       butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
+       comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
+       elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
+       err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
+       exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
+       exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
+       exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
+       exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+       exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
+       exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
+       exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+       exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
+       exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
+       exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+       exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
+       fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
+       get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
+       gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
+       gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+       gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
+       gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
+       gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
+       gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
+       inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
+       lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
+       lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
+       make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
+       mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+       mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
+       mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+       mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
+       osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
+       osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
+       par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
+       par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
+       par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+       par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
+       par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+       prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
+       prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
+       prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+       prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+       prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+       prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+       prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
+       rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
+       scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
+       sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+       sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
+       sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
+       sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+       sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+       sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
+       sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+       sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+       sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
+       sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
+       sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
+       sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
+       sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
+       sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
+       stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
+       styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
+       switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+       switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
+       tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
+       treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
+       types.h, uintp.h, urealp.h, usage.adb, usage.ads,
+       validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
+       xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
+       xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
+       gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
+       mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
+       symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
+       mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
+       mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
+
+2007-09-10  Emmanuel Briot  <briot@adacore.com>
+
+       * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
+       classes ("[]").
+
+2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * adaint.c (__gnat_translate_vms): new function.
+
+2007-09-10  Gary Dismukes  <dismukes@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
+       create an abstract subprogram in the case of 'Input. For 'Output we now
+       create a real spec/body when the type is abstract, since it can
+       potentially be called.
+       (Predefined_Primitive_Bodies): Now allow the creation of a predefined
+       body for 'Output when the type is abstract (only the creation of the
+       body for 'Input is excluded when the type is abstract).
+       (Stream_Operation_OK): Add an additional condition in the return
+       statement, so that False will be returned for TTS_Stream_Input if the
+       associated tagged type is an abstract extension. Add comments for
+       return statement.
+       (Expand_N_Object_Declaration): For the case of a shared passive
+       variable, insert init proc call only after the shared variable
+       procedures have been processed, because the IP call needs to undergo
+       shared passive variable reference expansion, which requires these
+       procedures to be available (and elaborated).
+
+2007-09-10  Vincent Celier  <celier@adacore.com>
+
+       * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
+       parameter Runtime_Project.
+
+2007-09-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
+       given a box association, the type of the component is discriminated,
+       and the value of the discriminant is the discriminant of the enclosing
+       type, retrieve its value from the aggregate itself, where it must have
+       been supplied.
+
+       * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
+       to remove other spurious ambiguities on arithmetic operations involving
+       literals and addresses, on systems where Address is a visible integer
+       type, when the operator is called in functional notation.
+       (Try_Primitive_Operation): Within an instance, a call in prefixed form
+       is legal when the types match, even if the operation is currently
+       hidden.
+
+2007-09-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Build_Local_Package): A formal package with no
+       associations is legal if all formals have defaults. It is not
+       equivalent to a formal declared with a box.
+
+2007-09-10  Sergey Rybin  <rybin@adacore.com>
+
+       * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
+
+2007-09-10  Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi: Add description of the new '-lratio' option
+       Update 7.3.1 section about availability of the feature.
+
+2007-09-10  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
+       inserted node.
+
+2007-09-10  Olivier Hainque  <hainque@adacore.com>
+
+       * Makefile.in: (mips-irix section): Activate build of libgmem.
+
+2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
+       x87 registers.
+
+2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
+       a debug renaming declaration specially.
+
+2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
+       which a constant renaming is treated as a normal object declaration.
+       * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
+       the N_Indexed_Component case.
+       <N_Indexed_Component>: Fall through to above case.
+       <N_Object_Renaming_Declaration>: Return true for all composite types.
+
+2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (make_packable_type): If the new type has been given BLKmode,
+       try again to get an integral mode for it.
+
+2007-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Re-apply accidentally reverted change:
+
+       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-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
        (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
+       * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
        -fRTS=rtp is specified.
        If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
        specified.