+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.
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,
+ 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,