aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1/gcc/ada/ChangeLog')
-rw-r--r--gcc-4.2.1/gcc/ada/ChangeLog24490
1 files changed, 24490 insertions, 0 deletions
diff --git a/gcc-4.2.1/gcc/ada/ChangeLog b/gcc-4.2.1/gcc/ada/ChangeLog
new file mode 100644
index 000000000..efee1db1c
--- /dev/null
+++ b/gcc-4.2.1/gcc/ada/ChangeLog
@@ -0,0 +1,24490 @@
+2007-07-19 Release Manager
+
+ * GCC 4.2.1 released.
+
+2007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
+
+2007-05-13 Release Manager
+
+ * GCC 4.2.0 released.
+
+2007-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/26797
+ * lang.opt: Accept -ftree-vrp for Ada.
+ * misc.c (OPT_ftree_vrp): New case.
+ (gnat_post_options): Disable Tree-VRP unless explicitly turned on.
+
+2007-02-28 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
+ $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
+ (doc/gnat-style.info): Likewise.
+
+2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * gnat-style.texi: Standardize title page.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+
+2007-02-21 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/18819
+ * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
+ untagged derived type, add hidden components to keep discriminant
+ layout consistent, when a given discriminant of the derived type
+ constraints several discriminants of the parent type.
+
+2006-11-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/27936
+ * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
+ * decl.c (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB
+ flag in addition to TREE_READONLY to assert the constantness of
+ variables for elaboration purposes.
+ * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
+ if the initializer takes into account the padding.
+ Set DECL_READONLY_ONCE_ELAB flag on variables originally TREE_READONLY
+ but whose elaboration cannot be performed statically.
+
+2006-10-16 Brooks Moses <bmoses@stanford.edu>
+
+ * Makefile.in: Add TEXI2PDF definition.
+ * Make-lang.in: Add "ada.pdf" target.
+
+2006-10-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+ * utils.c: Fix a typo.
+
+2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
+ on "pure" Ada subprograms if SJLJ exceptions are used.
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
+ on the declaration node of JMPBUF_SAVE.
+ * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
+ of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
+ * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
+
+2006-08-20 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/28716
+ g-socket.adb (Bind_Socket): Call Set_Address.
+
+2006-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/15802
+ * decl.c (same_discriminant_p): New static function.
+ (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
+ subtype and we have discriminants, fix up the COMPONENT_REFs
+ for the discriminants to make them reference the corresponding
+ fields of the parent subtype after it has been built.
+
+2006-09-15 Roger Sayle <roger@eyesopen.com>
+
+ PR ada/18817
+ * utils.c (max_size): Perform constant folding of (A ? B : C) - D
+ into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
+
+2006-09-13 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/29025
+ * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
+ of a SAVE_EXPR, just make the operand addressable/not-readonly and
+ let the common gimplifier code make and propagate a temporary copy.
+ (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
+ out/in-out actuals and defer setting the addressable/readonly bits
+ to the gimplifier.
+
+2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/28591
+ * decl.c (components_to_record): Defer emitting debug info for the
+ record type associated with the variant until after we are sure to
+ actually use it.
+
+2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/21952
+ * gigi.h (gnat_internal_attribute_table): Declare.
+ * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
+ * utils.c (gnat_internal_attribute_table): New global variable.
+ (builtin_function): Always call decl_attributes on the builtin.
+ (handle_const_attribute): New static function.
+ (handle_nothrow_attribute): Likewise.
+
+2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
+
+2006-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
+ not been able to get a constant upper bound from TYPE_SIZE_UNIT.
+
+2006-06-20 James A. Morrison <phython@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/18692
+ * Make-lang.in: Add check-gnat to lang_checks. Rename existing
+ check-gnat into check-acats.
+
+2006-06-17 Karl Berry <karl@gnu.org>
+
+ * gnat-style.texi (@dircategory): Use "Software development"
+ instead of "Programming", following the Free Software Directory.
+
+2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/27944
+ * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
+
+2006-06-06 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/27769
+ * mlib-utl.adb: Use Program_Name.
+
+2006-05-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
+ sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
+ trans.c, utils.c: Fix comment typos. Follow spelling
+ conventions.
+ * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling
+ conventions.
+
+2006-05-19 Nicolas Setton <setton@adacore.com>
+
+ * misc.c (gnat_dwarf_name): New function.
+ (LANG_HOOKS_DWARF_NAME): Define to it.
+
+2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
+ (ada/misc.o): Likewise.
+ (ada/utils.o): Likewise.
+
+2006-04-08 Aurelien Jarno <aurel32@debian.org>
+
+ * Makefile.in: Add Ada support for GNU/kFreeBSD.
+ * s-osinte-kfreebsd-gnu.ads: New file.
+
+2006-03-29 Carlos O'Donell <carlos@codesourcery.com>
+
+ * Make-lang.in: Rename docdir to gcc_docdir.
+
+2006-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (get_ada_base_type): Delete.
+ * utils2.c (get_ada_base_type): Likewise.
+ * trans.c (convert_with_check): Operate in the real base type.
+
+2006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
+
+2006-03-02 Richard Sandiford <richard@codesourcery.com>
+
+ * utils.c (create_var_decl): Use have_global_bss_p when deciding
+ whether to make the decl common.
+
+2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (Ada): Remove
+ (.PHONY): Remove Ada
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
+ aggregate, check the interpretations of the other operand to find one
+ that may be a boolean array.
+
+ (Analyze_Selected_Component): Fix flow-of-control typo in case where
+ the prefix is a private extension.
+
+2006-02-17 Eric Botcazou <botcazou@adacore.com>
+
+ PR ada/26315
+ * utils2.c (find_common_type): If both input types are BLKmode and
+ have the same constant size, keep using the first one.
+
+ * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
+
+ * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
+
+ * misc.c (gnat_handle_option): New case for -Woverlength-strings.
+
+2006-02-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
+ s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
+ Abort_Defer/Undefer pairs to avoid the possibility of a task being
+ aborted while owning a lock.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
+ through an access to class-wide interface we force the displacement of
+ the pointer to the allocated object to reference the corresponding
+ secondary dispatch table.
+ (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
+ if Long_Shifts are supported on the target, even if 64 bit divides
+ are not supported (configurable run time mode).
+ (Expand_N_Type_Conversion): Do validity check if validity checks on
+ operands are enabled.
+ (Expand_N_Qualified_Expression): Do validity check if validity checks
+ on operands are enabled.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
+ must be materialized when the renamed expression is an explicit
+ dereference.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Statically_Discriminated_Components): Return false if
+ the bounds of the type of the discriminant are not static expressions.
+
+ * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
+ the bounds of the discriminant type are not static.
+
+2006-02-17 Robert Dewar <dewar@adacore.com>
+
+ * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
+ then we close To if it is valid.
+
+2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * init.c (facility_resignal_table): new array
+ (__gnat_default_resignal_p): enhance default predicate to resignal if
+ VMS condition has one of the predefined facility codes.
+
+2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * Makefile.in: Use VMS64 specialized versions of several units in
+ Interfaces.C hierarchy to be compatible with HP C default size choices.
+ Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
+ instantiation, the corresponding entity is the related_instance of the
+ wrapper package created for the instance.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
+ the current instance is nested within another instance in a child unit.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
+ type we cannot inherit the primitive operations; we inherit the
+ Corresponding_Record_Type (which has the list of primitive operations).
+ (Check_Anonymous_Access_Types): When creating anonymous access types for
+ access components, use Rewrite in order to preserve the tree structure,
+ for ASIS use.
+ (Analyze_Object_Declaration): For limited types with access
+ discriminants with defaults initialized by an aggregate, obtain
+ subtype from aggregate as for other mutable types.
+ (Derived_Type_Declaration): If the derived type is a limited interface,
+ set the corresponding flag (Is_Limited_Record is not sufficient).
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
+ to inline a function that returns an unconstrained type, the return
+ expression must be the first variable declared in the body of the
+ function.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
+ abstract interface type, the static analysis is not enough to know if
+ the interface is implemented or not by the source tagged type. Hence
+ we must pass the work to the expander to generate the required code to
+ evaluate the conversion at run-time.
+ (Resolve_Equality_Op): Do not apply previous
+ transformation if expansion is disasbled, to prevent anomalies when
+ locating global references in a generic unit.
+
+2006-02-17 Vincent Celier <celier@adacore.com>
+
+ * snames.ads, snames.adb: New standard names for new project attributes:
+ archive_builder, archive_indexer, compiler_pic_option,
+ config_body_file_name, config_body_file_name_pattern,
+ config_file_switches, config_file_unique, config_spec_file_name,
+ config_spec_file_name_pattern, default_builder_switches,
+ default_global_compiler_switches, default_language,
+ dependency_file_kind, global_compiler_switches, include_path,
+ include_path_file, language_kind, linker_executable_option,
+ linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
+ roots, runtime_project.
+
+2006-02-17 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.ads, a-convec.adb:
+ (operator "&"): handle potential overflow for large index types
+ (Insert): removed Contraint_Error when using large index types
+ (Insert_Space): removed Constraint_Error for large index types
+ (Length): moved constraint check from Length to Insert
+
+ * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
+ as not null access.
+ Explicit raise statements now include an exception message.
+ (operator "&"): handle potential overflow for large index types
+ (Insert): removed Contraint_Error when using large index types
+ (Insert_Space): removed Constraint_Error for large index types
+ (Length): moved constraint check from Length to Insert
+
+2006-02-17 Robert Dewar <dewar@adacore.com>
+
+ * s-wchcnv.adb: Document handling of [ on output (we do not change
+ this to ["5B"] and the new comments say why not.
+
+ * gnat_ugn.texi:
+ Add note for -gnatVo that this now includes the cases of type
+ conversions and qualified expressions.
+ Add comments on handling of brackets encoding for Text_IO
+
+2006-02-17 Ramon Fernandez <fernandez@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * expander.adb: Fix typo in comment
+
+ * exp_pakd.adb: Fix typo
+ Minor comment reformatting.
+
+ * g-dyntab.adb: Minor reformatting
+
+ * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
+ aliased subprograms to look for the abstract interface subprogram.
+
+2006-02-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * env.c (__gnat_setenv): Use size_t.
+ (__gnat_unsetenv): Likewise.
+ (__gnat_clearenv): Likewise.
+
+2006-02-16 Arnaud Charlet <charlet@adacore.com>
+
+ * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
+ g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
+ i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
+ s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
+ s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
+ s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
+ s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
+ s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
+ no longer used.
+
+2006-02-13 Jose Ruiz <ruiz@adacore.com>
+
+ * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
+ protection against race conditions is not needed.
+ (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
+ fallback handler.
+ (Set_Specific_Handler): Add mutual exclusive access to the specific
+ handler.
+ (Specific_Handler): Add mutual exclusive access for retrieving the
+ specific handler.
+
+ * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
+ back handler.
+
+ * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
+ Fall_Back_Handler and Specific_Handler.
+
+ * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
+ termination handlers.
+ Set two different owerflow depending on the maximal stack size.
+
+ * s-solita.adb (Task_Termination_Handler_T): Document why explicit
+ protection against race conditions is not needed when executing the
+ task termination handler.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
+ a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
+ a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
+ a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
+ a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
+ a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
+ a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
+ a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
+ a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
+ a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
+ a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
+ a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
+ a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
+ a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
+ a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
+ a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
+ a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
+ g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
+ g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
+ mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
+ prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
+ s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
+ s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
+ s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
+ s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
+ s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
+ s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
+ a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
+ fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
+ par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
+ system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
+ reformatting.
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
+ s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
+ s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
+ s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
+ a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
+ s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
+ a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
+ s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
+ s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
+ s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
+ s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+ s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+ s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
+ s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
+ replaced by anonymous access type.
+ (pthread_sigmask): Now take an access sigset_t
+
+ * s-osinte-hpux.ads: Ditto.
+ (pthread_mutex_t, pthread_cond_t): Update definitions to support
+ properly 32 and 64 bit ABIs.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
+ adjustement is already done when calling this routine.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * system-mingw.ads (Underlying_Priorities): Update the priority mapping
+ table to take advantage of the 16 priority levels available on Windows
+ 2000 and XP. On NT4 there are only 7 priority levels, this is properly
+ supported by this new mapping.
+
+2006-02-13 Nicolas Setton <setton@adacore.com>
+
+ * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
+ (get_encoding): New subprogram. Extracts the encodings from an encoded
+ Ada name.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+ Nicolas Roche <roche@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
+ support.
+ (__gnat_try_lock): Add unicode support by using a specific section on
+ Windows.
+ (__gnat_get_current_dir): Idem.
+ (__gnat_open_read): Idem.
+ (__gnat_open_rw): Idem.
+ (__gnat_open_create): Idem.
+ (__gnat_create_output_file): Idem.
+ (__gnat_open_append): Idem.
+ (__gnat_open_new): Idem.
+ (__gnat_file_time_name): Idem.
+ (__gnat_set_file_time_name): Idem.
+ (__gnat_stat): Idem.
+ (win32_no_block_spawn): Idem.
+ (__gnat_locate_exec_on_path): Idem.
+ (__gnat_opendir): New routine.
+ (__gnat_closedir): Idem.
+ (__gnat_readdir): Add new parameter length (pointer to int). Update
+ implementation to use it and add specific Win32 code for Unicode
+ support.
+ (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
+ (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
+ (convert_addresses): Do not define this dummy routine on VMS.
+
+ * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
+ runtime Unicode support will be activated.
+ (S2WS): String to Wide-String conversion. This version just copy a
+ string in non Unicode version.
+ (WS2S): Wide-String to String conversion. This version just copy a
+ string in non Unicode version.
+
+ * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
+ (Open): Now import __gnat_opendir from adaint.c.
+ (Read): Change the implementation to support unicode characters. It is
+ not possible to use strlen() on Windows as this version supports only
+ standard ASCII characters. So the length of the directory entry is now
+ returned from the imported __gnat_readdir routine.
+ Update copyright notice.
+
+ * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
+ (opendir): Moved to adaint.c.
+
+ * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
+ (Get_Directory): Fix wrong indexing.
+ (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
+ __gnat_getenv from env.c
+ (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
+ from env.c
+
+ * env.h, env.c: New file.
+
+ * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
+ adaint.c by __gnat_getenv from env.c
+
+ * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
+ adaint.c by __gnat_getenv from env.c
+
+ * Make-lang.in: Add env.o in the list of C object needed by gnat1
+ and gnatbind.
+ Update dependencies.
+
+2006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
+
+ * gigi.h (value_factor_p): Add prototype and description, now public.
+
+ * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
+ promotion for field with rep clause if the associated size was proven
+ to be in error.
+ Expand comments describing attempts to use a packable type.
+ (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
+ E_Floating_Point_Subtype>: Inherit alias set of what we are making a
+ subtype of to ensure conflicts amongst all subtypes in a hierarchy,
+ necessary since these are not different types and pointers may
+ actually designate any subtype in this hierarchy.
+ (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
+ discriminants but put them into record only if not Unchecked_Union;
+ pass flag to components_to_record showing Unchecked_Union.
+ (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
+ components before variants; don't set TYPE_UNCHECKED_UNION_P.
+ (components_to_record): New argument UNCHECKED_UNION.
+ Remove special case code for Unchecked_Union and instead use main code
+ with small changes.
+
+ PR ada/26096
+ (gnat_to_gnu_entity) <E_Variable>: Do not initialize the
+ aligning variable with the expression being built, only its inner
+ field.
+
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
+ emit_sequence_entry_statements.
+ (emit_sequence_entry_statements, body_with_handlers_p): Delete.
+ (establish_gnat_vms_condition_handler): Move before
+ Subprogram_Body_to_gnu.
+ (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
+ for a subprogram if it has a foreign convention or is exported.
+ (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
+ substituted for a CONST_DECL.
+ (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
+ Etype to assoc_to_constructor.
+ (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
+ discriminants of Unchecked_Union.
+ (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
+ don't need cluttering preprocessor directives.
+ (establish_gnat_vms_condition_handler): New function. Establish the GNAT
+ condition handler as current in the compiled function.
+ (body_with_handlers_p): New function. Tell whether a given sequence of
+ statements node is attached to a package or subprogram body and involves
+ exception handlers possibly nested within inner block statements.
+ (emit_sequence_entry_statements): New function, to emit special
+ statements on entry of sequences when necessary. Establish GNAT
+ condition handler in the proper cases for VMS.
+ (Handled_Sequence_Of_Statements_to_gnu): Start block code with
+ emit_sequence_entry_statements.
+
+ * utils2.c (find_common_type): If both input types are BLKmode and
+ have a constant size, use the smaller one.
+ (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
+ the same.
+
+ * utils.c (value_factor_p): Make public, to allow uses from other gigi
+ units.
+ (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
+ (convert, case UNION_TYPE): Remove special treatment for unchecked
+ unions.
+
+ PR ada/18659
+ (update_pointer_to): Update variants of pointer types to
+ unconstrained arrays by attaching the list of fields of the main
+ variant.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * a-exexpr.adb, a-exexpr-gcc.adb
+ (Process_Raise_Exception): Removed, merged with Propagate_Exception.
+ (Propagate_Exception): Now take extra From_Signal_Handler parameter.
+ Remove code unused for exception propagation for the compiler itself
+ from a-except.adb and update to still share separate packages.
+
+ * a-except.ads, a-except.adb: Ditto.
+ Add comments that this version is now used only by the compiler and
+ other basic tools. The full version that includes the Ada 2005 stuff
+ is in separate files a-except-2005.ads/adb. The reason is that we do
+ not want to cause bootstrap problems with compilers not recognizing
+ Wide_Wide_String.
+ Add exception reason code PE_Implicit_Return
+ Add new exception reason code (Null Exception_Id)
+
+ * a-except-2005.adb, a-except-2005.ads: New files.
+
+ * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
+
+ * s-wchcon.adb: New file.
+
+ * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
+ (traceback.o deps): Likewise.
+ (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
+ Activate build of GMEM instrumentation library on VMS targets.
+ (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
+ Use a-except-2005.ads/adb for all run-time library builds unless
+ specified otherwise.
+ [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
+ s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
+ Use s-parame.adb on all native platforms.
+ Use s-parame-vxworks.adb on all vxworks platforms.
+ Add env.c env.h in LIBGNAT_SRCS
+ Add env.o in LIBGNAT_OBJS
+ (GNATMAKE_OBJS): Remove ctrl_c.o object.
+ (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
+ s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+ supports VxWorks 6 RTPs.
+ (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
+ i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+ * types.h, types.ads (Terminate_Program): New exception
+ Add comment on modifying multiple versions of a-except.adb when the
+ table of exception reasons is modified.
+ Add exception reason code PE_Implicit_Return
+ Add new exception reason code (Null Exception_Id)
+
+ * clean.adb (Initialize): Get the target parameters before checking
+ if target is OpenVMS. Move the OpenVMS specific code here from package
+ body elaboration code.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb (Get_File_Checksum): Update to account for change in
+ profile of Initialize_Scanner.
+
+ * gprep.adb (Gnatprep): Update to account for change in profile of
+ Initialize_Scanner.
+ (Process_One_File): Same.
+
+ * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
+ common code between Get_Code_Unit and Get_Source_Unit. Reimplement
+ that behaviour using the new Unit information recorded in the source
+ files table, rather than going through all units every time.
+ (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
+ (Get_Source_Unit): Same.
+
+ * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
+ change in profile of Initialize_Scanner.
+ (Prepare_To_Preprocess): Same.
+
+ * lib.ads: Fix typo in comment (templace -> template).
+
+ * prj-part.adb (Parse_Single_Project): Update to account for change in
+ profile of Initialize_Scanner.
+
+ * scn.adb (Initialize_Scanner): Account for change in profile of
+ Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
+ Also record the association of the given Source_File_Index to the
+ corresponding Unit_Number_Type.
+
+ * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
+ procedure.
+ (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
+ Remove Unit formal for generic scanner: this formal
+ is only relevant to Scn (the scanner instance used to parse Ada source
+ files), not to other instances. Update comment accordingly.
+ (Scan): Use new function Snames.Is_Keyword_Name.
+
+ * sinfo-cn.adb: Fix typo in comment.
+
+ * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
+ Unit.
+
+ * sinput.ads (Source_File_Record): New component Unit, used to capture
+ the unit identifier (if any) associated to a source file.
+
+ * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
+ Unit in Source_File_Record.
+
+ * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
+ in profile of Initialize_Scanner.
+
+ * scans.adb (Initialize_Ada_Keywords): New procedure
+
+ * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
+ Ada keywords in the Namet table, without the need to call
+ Initialize_Scanner.
+
+ * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
+ (Is_Keyword_Name): New function
+
+ * snames.ads: Add subtype Configuration_Pragma_Names
+ Add pragma Ada_2005 (synonym for Ada_05)
+ (Is_Keyword_Name): New function
+
+ * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
+ index.
+
+ * a-stwima.adb (To_Set): Add extra check when N = 0.
+
+ * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-parame-mingw.adb, s-parame-linux.adb,
+ s-parame-solaris.adb: Removed, replaced by s-parame.adb
+
+ * s-parame-vxworks.ads: Fix typo.
+
+ * s-parame-vxworks.adb: New file.
+
+ * s-parame.adb: Version now used by all native platforms.
+ (Default_Stack_Size): Use 2 megs for default stack size and use
+ __gl_default_stack_size when available.
+ (Minimum_Stack_Size): Use 12K.
+
+ * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
+ (Create_Task): Refine implementation taking advantage of the XP stack
+ size support. On XP, we now create the thread using the flag
+ STACK_SIZE_PARAM_IS_A_RESERVATION.
+
+ * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
+
+ * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
+ XP and 0 on older Windows versions.
+
+ * interfac-vms.ads: Removed, no longer used.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
+ a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
+ a-cohase.adb: All explicit raise statements now include an exception
+ message.
+
+ * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
+ (Update_Element_Preserving_Key): renamed op to just Update_Element.
+ Explicit raise statements now include an exception message
+
+ * a-cihase.ads, a-cohase.ads: Removed comment.
+
+ * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
+ a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
+ a-szbzha.adb, a-szfzha.ads: New files.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
+ quicksort.
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang.opt: Wvariadic-macros: New option.
+ Wold-style-definition: Likewise.
+ Wmissing-format-attribute: Likewise.
+
+ * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
+ -Wold-style-definition and -Wmissing-format-attribute.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
+
+ * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
+
+2006-02-13 Nicolas Roche <roche@adacore.com>
+
+ * a-envvar.adb, a-envvar.ads: New files.
+
+2006-02-13 Douglas Rupp <rupp@adacore.com>
+
+ * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
+
+ * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
+
+2006-02-13 Pat Rogers <rogers@adacore.com>
+
+ * a-rttiev.adb, a-rttiev.ads: New files.
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
+ a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files.
+
+ * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
+ sem_case.adb: Minor code reorganization (not Present should be No)
+
+2006-02-13 Geert Bosch <bosch@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
+ 0, since the lower bound of the actual string may be greater than one.
+
+ PR ada/20753
+ (Put): Fix condition to raise Layout_Error when invalid
+ layout is requested.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Scan_Compiler_Arguments): Check if
+ Search_Directory_Present is True and, if it is, add the argument in
+ the source search directory path.
+
+ * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
+ Search_Directory_Present to True.
+
+2006-02-13 Joel Brobecker <brobecke@adacore.com>
+
+ * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
+ volatile, to tell the compiler to preserve this variable at any level
+ of optimization.
+ (Gen_Versions_Ada): Temporarily work around codegen bug.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
+ gcc to link with option -shared-libgcc.
+ (Gnatlink): Remove duplicate switches -shared-libgcc
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * gnatvsn.ads (Current_Year): New constant, used to easily update
+ copyright on all GNAT tools.
+
+ * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
+ copyright notice.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
+ after hyphen (small aesthetic change useful for a range of numbers
+ using ^-^.
+ Suppress range checks for a couple of assignments which otherwise
+ cause validity checks with validity checking turned on.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
+ Improvement in error message for object.
+ (Rep_Item_Too_Late): Remove '!' in warning message.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * err_vars.ads: Suppress range checks for a couple of assignments
+ which otherwise cause validity checks with validity checking turned on.
+ Update comments.
+
+ * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
+ Make message unconditional if it is a warning.
+ (Error_Msg_NEL): Always output warning messages.
+ Suppress range checks for a couple of assignments which otherwise
+ cause validity checks with validity checking turned on.
+
+ * errout.ads (Message Insertion Characters): Document that '!' is
+ implied by '?' in error messages.
+
+ * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
+ (Gnat1drv): Use a goto to end of main subprogram instead of
+ Exit_Program (E_Success) so that finalization can occur normally.
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
+ wrapped around.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
+ Unchecked_Conversion functions.
+ (Modification_Time): Use direct conversion of OS_Time to Calendar time
+ when OpenVMS returns False.
+
+ * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
+ a-dirval.adb (OpenVMS): New Boolean function
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Build_Discriminant_Checks): If the expression being
+ checks is an aggregate retrieve the values of its discriminants to
+ generate the check, rather than creating a temporary and a reference
+ to it.
+ (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
+ (Install_Null_Excluding_Check): Ditto
+ (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
+ not for the renamed object, so that the actual itype is attached in the
+ proper context.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * debug.adb: Eliminate numeric switches for binder/gnatmake
+
+ * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
+ switches for the compiler.
+ (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
+ (Scan_Make_Switches): When failing with an illegal switch, output an
+ error message with the full switch.
+ Eliminate numeric switches for binder/gnatmake
+
+ * switch.ads, switch.adb (Bad_Switch): New procedure
+
+ * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
+ Remove 0-9 as debug flag character possibilities
+ -d is now controlling the primary stack size when its value is a
+ positive. Also add checks against invalid values, and support for kb,
+ mb. Ditto for -D switch.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Serguei Rybin <rybin@adacore.com>
+
+ * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
+ save/restore routines.
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ Since we are changing the tree format anyway, also get rid of the
+ junk obsolete Immediate_Errors flag.
+ (Tree_Read): Change the way of reading Tree_Version_String - now we
+ read the version string from the tree even if its length is not the
+ same as the length of the version string computed from Gnatvsn.
+ (Search_Directory_Present): New Boolean flag for the compiler.
+ Define Tree_Version_String as a dynamic string.
+ (Default_Stack_Size): new variable, used to handle switch -d.
+
+ * par-prag.adb:
+ For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
+ only for main unit.
+ Add pragma Ada_2005 (synonym for Ada_05)
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+
+ * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
+ explicit Ada_95 to Ada_2005.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
+ against errors in the source program: a private types for which the
+ corresponding full type declaration is missing and pragma CPP_Virtual
+ is used.
+ (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
+ (Is_Known_Null): New flag
+ (Has_Pragma_Pure): New flag
+ (No_Return): Present in all entities, set only for procedures
+ (Is_Limited_Type): A type whose ancestor is an interface is limited if
+ explicitly declared limited.
+ (DT_Offset_To_Top_Func): New attribute that is present in E_Component
+ entities. Only used for component marked Is_Tag. If present it stores
+ the Offset_To_Top function used to provide this value in tagged types
+ whose ancestor has discriminants.
+
+ * exp_ch2.adb: Update status of new Is_Known_Null flag
+
+ * sem_ch7.adb: Maintain status of new Is_Known_Null flag
+
+ * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
+ the categorization sense if Is_Pure was set by pragma Pure_Function.
+
+2006-02-13 Quentin Ochem <ochem@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * bindusg.adb: Updated documentation for -d and -D switches.
+
+ * raise.h (__gnat_set_globals): added new parameter for
+ Default_Stack_Size.
+
+ * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
+ (__gnat_handle_vms_condition): Adjust context before raise.
+ (__gnat_install_handler): Restore the global vector setup for GCC
+ versions before 3.4, as the frame based circtuitry is not available
+ in this case.
+ (__gnat_set_globals): added a parameter default_stack_size
+ (__gl_default_stack_size): new variable.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
+ "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
+ does not exist in the Ada RM.
+ (Compatible_Int_Bounds): Determine whether two integer range bounds
+ are of equal length and have the same start and end values.
+ (Is_Int_Range_Bounds): Determine whether a node is an integer range.
+ (Build_Record_Aggr_Code): Perform proper sliding of a nested array
+ aggregate when it is part of an object declaration.
+ (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that
+ constrains discriminants of its parent, add explicitly the discriminant
+ constraints of the ancestor by retrieving them from the
+ stored_constraint of the parent.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
+ attribute Mechanism_Code is applied to renamed subprogram, modify
+ prefix to point to base subprogram.
+ Max/Min attributes now violate Restriction No_Implicit_Conditionals
+
+ * sinfo.ads: Document that Mechanism_Code cannot be applied to
+ renamed subprograms so that the front-end must replace the prefix
+ appropriately.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
+ availability of RE_Interface_Tag.
+ (Build_Initialization_Call): Fix wrong access to the discriminant value.
+ (Freeze_Record_Type): Do not generate the tables associated with
+ timed and conditional dispatching calls through synchronized
+ interfaces if compiling under No_Dispatching_Calls restriction.
+ When compiling for Ada 2005, for a nonabstract
+ type with a null extension, call Make_Controlling_Function_Wrappers
+ and insert the wrapper function declarations and bodies (the latter
+ being appended as freeze actions).
+ (Predefined_Primitive_Bodies): Do not generate the bodies of the
+ predefined primitives associated with timed and conditional
+ dispatching calls through synchronized interfaces if we are
+ compiling under No_Dispatching_Calls.
+ (Build_Init_Procedure): Use RTE_Available to check if a run-time
+ service is available before generating a call.
+ (Make_Controlling_Function_Wrappers): New procedure.
+ (Expand_N_Full_Type_Declaration): Create a class-wide master for
+ access-to-limited-interfaces because they can be used to reference
+ tasks that implement such limited interface.
+ (Build_Offset_To_Top_Functions): Build the tree corresponding to the
+ procedure spec and body of the Offset_To_Top function that is generated
+ when the parent of a type with discriminants has secondary dispatch
+ tables.
+ (Init_Secondary_Tags): Handle the case in which the parent of the type
+ containing secondary dispatch tables has discriminants to generate the
+ correct arguments to call Set_Offset_To_Top.
+ (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
+
+ * a-tags.ads, a-tags.adb: (Check_Index): Removed.
+ Add Wide_[Wide_]Expanded_Name.
+ (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
+ the same functionality of Get_Prim_Op_Address but applied to predefined
+ primitive operations because the pointers to the predefined primitives
+ are now saved in a separate table.
+ (Parent_Size): Modified to get access to the separate table of primitive
+ operations or the parent type.
+ (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
+ functionality of Set_Prim_Op_Address but applied to predefined primitive
+ operations.
+ (Set_Signature): New subprogram used to store the signature of a DT.
+ (Displace): If the Offset_To_Top value is not static then call the
+ function generated by the expander to get such value; otherwise use
+ the value stored in the table of interfaces.
+ (Offset_To_Top): The type of the actual has been changed to Address to
+ give the correct support to tagged types with discriminants. In this
+ case this value is stored just immediately after the tag field.
+ (Set_Offset_To_Top): Two new formals have been added to indicate if the
+ offset_to_top value is static and hence pass this value to the run-time
+ to store it in the table of interfaces, or else if this value is dynamic
+ and then pass to the run-time the address of a function that is
+ generated by the expander to provide this value for each object of the
+ type.
+
+ * rtsfind.ads (Default_Prin_Op_Count): Removed.
+ (Default_Prim_Op_Count): New entity
+ (Get_Predefined_Prim_Op_Address): New entity
+ (Set_Predefined_Prim_Op_Address): New entity
+ (RE_Set_Signature): New entity
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
+ Make_Adjust_Call done for a newly-allocated object.
+
+ * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
+ in a subprogram are wrapped in a cleanup block, indicate that the
+ subprogram contains an inner block with an exception handler.
+ (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
+ Adjust call is for a newly-allocated object. In that case we must not
+ assume that the finalization list chain pointers are correct (since they
+ come from a bit-for-bit copy of the original object's pointers) so if
+ the attach level would otherwise be zero (no change), we set it to 4
+ instead to cause the pointers to be reset to null.
+
+ * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
+ reset chain pointers to null.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
+ string, and the context requires a loop for the assignment (e.g.
+ because the left-hand side is packed), generate a unique name for the
+ temporary that holds the string, to prevent spurious name clashes.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
+ return unconstrained arrays.
+ Update comments.
+ (Expand_Call): An indirect call through an access parameter of a
+ protected operation is not a protected call.
+ Add circuit to raise CE in Ada 2005 mode following call
+ to Raise_Exception.
+ (Register_DT_Entry): Do nothing if
+ the run-time does not give support to abstract interfaces.
+ (Freeze_Subprogram): In case of dispatching operations, do not generate
+ code to register the operation in the dispatch table if the source
+ is compiled with No_Dispatching_Calls.
+ (Register_Predefined_DT_Entry): Generate code that calls the new
+ run-time subprogram Set_Predefined_Prim_Op_Address instead of
+ Set_Prim_Op_Address.
+
+ * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
+ on array assignments if the right-hand side is a function call that has
+ been inlined. Check is performed on the assignment in the block.
+ (Process_Bounds): If bounds and range are overloaded, apply preference
+ rule for root operations to disambiguate, and diagnose true ambiguity.
+ (Analyze_Assignment): Propagate the tag for a class-wide assignment with
+ a tag-indeterminate right-hand side even when Expander_Active is True.
+ Needed to ensure that dispatching calls to T'Input are allowed and
+ get the tag of the target class-wide object.
+
+ * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
+ an inherited primitive operation that already overrides several
+ abstract interface primitives. For transitivity, the new entity must
+ also override all the abstract interface primitives covered by the
+ inherited overriden primitive.
+ Emit warning if new entity differs from homograph in same scope only in
+ that one has an access parameter and the other one has a parameter of
+ a general access type with the same designated type, at the same
+ position in the signature.
+ (Make_Inequality_Operator): Use source locations of parameters and
+ subtype marks from corresponding equality operator when creating the
+ tree structure for the implicit declaration of "/=". This does not
+ change anything in behaviour except that the decoration of the
+ components of the subtree created for "/=" allows ASIS to get the
+ string images of the corresponding identifiers.
+ (Analyze_Return_Statement): Remove '!' in warning message.
+ (Check_Statement_Sequence): Likewise.
+ (Analyze_Subprogram_Body): For an access parameter whose designated type
+ is an incomplete type imported through a limited_with clause, use the
+ type of the corresponding formal in the body.
+ (Check_Returns): Implicit return in No_Return procedure now raises
+ Program_Error with a compile time warning, instead of beging illegal.
+ (Has_Single_Return): Function returning unconstrained type cannot be
+ inlined if expression in unique return statement is not an identifier.
+ (Build_Body_To_Inline): It is possible to inline a function call that
+ returns an unconstrained type if all return statements in the function
+ return the same local variable. Subsidiary procedure Has_Single_Return
+ verifies that the body conforms to this restriction.
+
+ * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
+ same type, and one of them is of an anonymous access type, convert
+ the other operand to it, so that this is a valid binary operation for
+ gigi.
+ (Resolve_Type_Conversion): Handle subtypes of protected types and
+ task types when accessing to the corresponding record type.
+ (Resolve_Allocator): Add '\' in 2-line warning message.
+ Remove '!' in warning message.
+ (Resolve_Call): Add '\' in 2-line warning message.
+ (Valid_Conversion): Likewise.
+ (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
+ resulting type may be an access type with an implicit dereference.
+ Obtain the proper component from the designated type.
+ (Make_Call_Into_Operator): Handle properly a call to predefined equality
+ given by an expanded name with prefix Standard, when the operands are
+ of an anonymous access type.
+ (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
+ Explicit_Dereference and Resolve_Selected_Component, to verify that the
+ prefix of the expression is not of an incomplete type. Allows full
+ diagnoses of all semantic errors.
+ (Resolve_Actuals): If the actual is an allocator whose directly
+ designated type is a class-wide interface we build an anonymous
+ access type to use it as the type of the allocator. Later, when
+ the subprogram call is expanded, if the interface has a secondary
+ dispatch table the expander will add a type conversion to force
+ the displacement of the pointer.
+ (Resolve_Call): If a function that returns an unconstrained type is
+ marked Inlined_Always and inlined, the call will be inlined and does
+ not require the creation of a transient scope.
+ (Check_Direct_Boolean_Op): Removed
+ (Resolve_Comparison_Op): Remove call to above
+ (Resolve_Equality_Op): Remove call to above
+ (Resolve_Logical_Op): Inline above, since this is only call.
+ (Valid_Conversion): Handle properly conversions between arrays of
+ convertible anonymous access types.
+
+ PR ada/25885
+ (Set_Literal_String_Subtype): If the lower bound is not static, wrap
+ the literal in an unchecked conversion, because GCC 4.x needs a static
+ value for a string bound.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
+ components of the corresponding record, take into account component
+ definitions that are access definitions.
+ (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
+ procedure is not considered a dispatching call and will be expanded
+ properly.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
+ controlling argument of the dispatching call is an abstract interface
+ class-wide type then we use it directly.
+ Check No_Dispatching_Calls restriction.
+ (Default_Prim_Op_Position): Remove the code that looks for the last
+ entity in the list of aliased subprograms. This code was wrong in
+ case of renamings.
+ (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
+ when the source is compiled with the No_Dispatching_Calls restriction.
+ (Init_Predefined_Interface_Primitives): No need to inherit primitives
+ if we are compiling with restriction No_Dispatching_Calls.
+ (Make_Disp_XXX): Addition of assertion to avoid the use of all these
+ subprograms if we are compiling under No_Dispatching_Calls restriction.
+ (Make_DT): Generate a dispatch table with a single dummy entry if
+ we are compiling with the No_Dispatching_Calls restriction. In
+ addition, in this case we don't generate code that calls to the
+ following run-time subprograms: Set_Type_Kind, Inherit_DT.
+ (Make_Select_Specific_Data_Table): Add assertion to avoid the use
+ of this subprogram if compiling with the No_Dispatching_Calls
+ restriction.
+ (Expand_Type_Conversion): Instead of using the actual parameter,
+ the argument passed as parameter to the conversion function was
+ erroneously referenced by the expander.
+ (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
+ Set_Predefined_Primitive_Op_Address and Set_Signature.
+ (Expand_Dispatching_Call): Generate call to
+ Get_Predefined_Prim_Op_Address for predefined primitives.
+ (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
+ predefined primitives.
+ (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
+ primitives we reserve one dummy entry to ensure that the tag does not
+ point to some memory that is associated with some other object. In
+ addition, remove all the old code that generated the assignments
+ associated with the signature of the dispatch table and replace them
+ by a call to the new subprogram Set_Signature.
+ (Set_All_DT_Position): Change the algorithm because now we have a
+ separate dispatch table associated with predefined primitive operations.
+ (Expand_Interface_Conversion): In case of non-static offset_to_top
+ add explicit dereference to get access to the object after the call
+ to displace the pointer to the object.
+ (Expand_Interface_Thunk): Modify the generation of the actual used
+ in the calls to the run-time function Offset_To_Top to fulfil its
+ new interface.
+ (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dist.adb (Copy_Specification): For access parameters, copy
+ Null_Exclusion flag, which will have been set for stream subprograms
+ in Ada2005 mode.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_expect_portable_execvp): New implementation. The
+ previous implementation was using the C runtime spawnve routine but
+ the corresponding wait was using directly the Win32 API. This was
+ causing some times a lock when waiting for an event using
+ WaitForSingleObject in __gnat_waitpid. This new implementation uses
+ the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
+ API fixes this problem.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
+ call.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.ads: Fix typos in comments.
+
+ * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
+ array reference that is an explicit dereference, mark the converted
+ (packed) array reference as analyzed to prevent a forthcoming
+ reanalysis from resetting its type to the original (non-packed) array
+ type.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Find_Prim_Op,
+ Is_Predefined_Primitive_Operation): When
+ searching for the predefined equality operator, verify that operands
+ have the same type.
+ (Is_Predefined_Dispatching_Operation): Remove the code that looks
+ for the last entity in the list of aliased subprograms. This code
+ was wrong in case of renamings.
+ (Set_Renamed_Subprogram): New procedure
+ (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
+ Exp_Type constant computed when entering this subprogram.
+ (Known_Null): New function
+ (OK_To_Do_Constant_Replacement): New function
+ (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
+ (Side_Effect_Free): An attribute reference 'Input is not free of
+ side effect, unlike other attributes that are functions. (from code
+ reading).
+ (Remove_Side_Effects): Expressions that involve packed arrays or records
+ are copied at the point of reference, and therefore must be marked as
+ renamings of objects.
+ (Is_Predefined_Dispatching_Operation): Return false if the operation is
+ not a dispatching operation.
+
+ PR ada/18819
+ (Remove_Side_Effects): Lift enclosing type conversion nodes for
+ elementary types in all cases.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
+ task types when accessing to the corresponding record type.
+ Remove '!' in warning message.
+
+2006-02-13 Olivier Hainque <hainque@adacore.com>
+
+ * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
+ to avoid useless and space inefficient overalignments on targets where
+ Max_Alignment is larger than 16.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * g-catiio.adb (Sec_Number): New type used to compute the number of
+ seconds since 1-1-1970.
+ (Image) [Natural]: The parameter was an Integer, as we can't deal with
+ negative numbers (years, months...) it is better to have a Natural here.
+ Code clean-up.
+ (Image) [Number]: Change parameter from Long_Integer to Number.
+ (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
+ overflow for dates past year 2038.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
+ Constraint_Error.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
+ native platforms.
+ (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
+ finalization can occur normally.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Rules_Switches): New table
+ (Add_To_Rules_Switches): New procedure
+ (GNATCmd): For command CHECK, put all options following "-rules" in the
+ Rules_Switches table. Append these -rules switches after the -cargs
+ switches.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
+ These two cases were generating incorrect output, and if this unit
+ was built with checks on, generated a discriminant mismatch constraint
+ error.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb (Get_Type_Reference): For a private type whose full
+ view is an array type, indicate the component type as well, for
+ navigation purposes.
+ (Generate_Reference): Don't consider array ref on LHS to be a case
+ of violating pragma Unreferenced.
+ Do not give Ada 2005 warning except on real reference.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
+ main source, add switch -mdebug-main=_ada_ so that the executable can
+ be debugged by the standard VMS debugger.
+ (Gnatmake): Set No_Main_Subprogram to True when there is no main
+ subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
+ Exit the Multi_Main_Loop when Unique_Compile is True after compilation
+ of the last source, as the binding and linking phases are never
+ performed.
+ Set all executable obsolete when rebuilding a library.
+
+ * makeutl.adb (Linker_Options_Switches): Do not process empty linker
+ options.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ PR ada/23973
+ * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
+ code to improve the error message reported when the program has
+ declarations of abstract interface types and it is not compiled with
+ the -gnat05 switch.
+ (P_Access_Definition): Reorganize the code to improve the error
+ message reported when the new Ada 2005 syntax for anonymous
+ access types is used and the program is not compiled with the
+ -gnat05 switch.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
+ stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
+ (MODE_IN)
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
+ against source containing syntax errors.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Reset): Initialize the first element of table Namings with
+ the standard naming data.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Error_Warning): New enumeration type
+
+ * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
+ unknown, use the location of the project to report the error.
+ (When_No_Sources): New global variable
+ (Report_No_Ada_Sources): New procedure
+ (Check): New parameter When_No_Sources. Set value of global variable
+ When_No_Sources,
+ (Find_Sources): Call Report_No_Ada_Sources when appropriate
+ (Get_Sources_From_File): Ditto
+ (Warn_If_Not_Sources): Better warning messages indicating the unit name
+ and the file name.
+
+ * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
+ Call Prj.Proc.Process with parameter When_No_Sources.
+
+ * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
+ Call Recursive_Check with parameter When_No_Sources.
+ (Recursive_Check): New parameter When_No_Sources. Call itself and
+ Prj.Nmsc.Check with parameter When_No_Sources.
+ (Process): New parameter When_No_Sources. Call Check with parameter
+ When_No_Sources.
+ (Copy_Package_Declarations): New procedure to copy renamed parameters
+ and setting the location of the declared attributes to the location
+ of the renamed package.
+ (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
+ packages.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Make): Preserve the comments from the original project
+ file.
+ When removing nodes (attributes Source_Dirs, Source_Files,
+ Source_List_File and package Naming), save the comments and attach the
+ saved comments to the newly created nodes.
+ Do not add a with clause for the naming package if one already exists.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
+
+ * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
+ aliased entities to look for the overriden abstract interface
+ subprogram.
+ (Is_Interface_Subprogram): Complete documentation.
+ (Check_Dispatching_Operation): Do not generate code to register the
+ operation in the dispatch table if the source is compiled with
+ restriction No_Dispatching_Calls.
+ (Override_Dispatching_Operation): Check for illegal attempt to override
+ No_Return procedure with procedure that is not No_Return
+ (Check_Dispatching_Call): Suppress the check for an abstract operation
+ when the original node of an actual is a tag-indeterminate attribute
+ call, since the attribute, which must be 'Input, can never be abstract.
+ (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
+ call to the Input attribute (even when rewritten).
+ (Propagate_Tag): Augment comment to indicate the possibility of a call
+ to an Input attribute.
+
+ * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
+ calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
+
+ * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
+ No_Wide_Characters is no longer partition-wide
+ No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
+ rather than GNAT
+
+2006-02-13 Douglas Rupp <rupp@adacore.com>
+
+ * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
+ handles default-initialized components to keep separate the management
+ of this feature but also avoid the unrequired resolution and
+ expansion of components that do not have partially initialized
+ values.
+ (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
+ (Check_Bounds): Likewise.
+ (Check_Length): Likewise.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
+ abstract interface type call analyze_and_resolve to expand the type
+ conversion into the corresponding displacement of the
+ reference to the base of the object.
+ (Eval_Attribute, case Width): For systems where IEEE extended precision
+ is supported, the maximum exponent occupies 4 decimal digits.
+ (Accessibility_Message): Add '\' in 2-line warning message.
+ (Resolve_Attribute): Likewise.
+ (case Attribute_Access): Significantly revise checks
+ for illegal access-to-subprogram Access attributes to properly enforce
+ the rules of 3.10.2(32/2).
+ Diagnose use of current instance with an illegal attribute.
+
+ * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
+ to a Node_Id.
+ (Enclosing_Generic_Unit): New function to return a node's innermost
+ enclosing generic declaration node.
+ (Compile_Time_Constraint_Error): Remove '!' in warning messages.
+ (Type_Access_Level): The accessibility level of anonymous acccess types
+ associated with discriminants is that of the current instance of the
+ type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
+ (Compile_Time_Constraint_Error): Handle case of conditional expression.
+ (Kill_Current_Values_For_Entity): New function
+ (Enter_Name): Change formal type to Entity_Id
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch10.adb (Check_Redundant_Withs): New procedure in
+ Analyze_Compilation_Unit.
+ Detect and warn on redundant with clauses detected in a package spec
+ and/or body when -gnatwr is used.
+ (Analyze_Context): Analyze config pragmas before other items
+ (Install_Context_Items): Don't analyze config pragmas here
+ (Install_Limited_Withed_Unit): Set limited entity of package in
+ with_clause so that cross-reference information or warning messages on
+ unused packages can be properly generated
+ (Is_Visible_Through_Renamings): Return false if the limited_with_clause
+ has Error_Posted set. Prevent infinite loops in illegal programs.
+ (Check_Private_Child_Unit): Move test for a nonprivate with clause down
+ to the point of the error test requiring the current unit to be private.
+ This ensures that private with clauses are not exempted from the basic
+ checking for being a descendant of the same library unit parent as a
+ withed private descendant unit.
+ (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
+ handle private with clauses properly, as well as to account for cases
+ where the withed unit is a public descendant of a private ancestor
+ (in which case the current unit must be a descendant of the private
+ ancestor's parent). The spec comments were updated accordingly. Also,
+ the old error message in this subprogram was replaced with error
+ messages that mirror the errors tested and reported by
+ Check_Private_Child_Unit.
+ Parameter and variable names improved for readability.
+ (Install_Limited_Context_Clauses): Remove test for a withed unit being
+ private as the precondition for calling
+ Check_Private_Limited_Withed_Unit since that subprogram has been
+ revised to test public units as well as private units.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
+ that Scope_Stack.First = 1.
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ (Formal_Entity): Complete rewrite, to handle properly some complex case
+ with multiple levels of parametrization by formal packages.
+ (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
+ to the corresponding derived type declaration for proper semantics.
+
+ * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
+ (Check_Component): Enforce restriction on components of
+ unchecked_unions: a component in a variant cannot contain tasks or
+ controlled types.
+ (Unchecked_Union): Allow nested variants and multiple discriminants, to
+ conform to AI-216.
+ Add pragma Ada_2005 (synonym for Ada_05)
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ Document that pragma Propagate_Exceptions has no effect
+ (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
+ (Set_Convention_From_Pragma): Check that if a convention is
+ specified for a dispatching operation, then it must be
+ consistent with the existing convention for the operation.
+ (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
+ longer required to specify an vtable-ptr component in the record. For
+ compatibility reasons we leave the support for the previous definition.
+ (Analyze_Pragma, case No_Return): Allow multiple arguments
+
+ * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
+ non-overrideen inherited operation with a controlling result as
+ illegal only its implicit declaration comes from the derived type
+ declaration of its result's type.
+ (Check_Possible_Deferred_Completion): Relocate the object definition
+ node of the subtype indication of a deferred constant completion rather
+ than directly analyzing it. The analysis of the generated subtype will
+ correctly decorate the GNAT tree.
+ (Record_Type_Declaration): Check whether this is a declaration for a
+ limited derived record before analyzing components.
+ (Analyze_Component_Declaration): Diagnose record types not explicitly
+ declared limited when a component has a limited type.
+ (Build_Derived_Record_Type): Code reorganization to check if some of
+ the inherited subprograms of a tagged type cover interface primitives.
+ This check was missing in case of a full-type associated with a private
+ type declaration.
+ (Constant_Redeclaration): Check that the subtypes of the partial and the
+ full view of a constrained deferred constant statically match.
+ (Mentions_T): A reference to the current type in an anonymous access
+ component declaration must be an entity name.
+ (Make_Incomplete_Type_Declaration): If type is tagged, set type of
+ class_wide type to refer to full type, not to the incomplete one.
+ (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
+ available. Required to give support to the certified run-time.
+ (Analyze_Component_Declaration): In case of anonymous access components
+ perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
+ (Process_Discriminants): For an access discriminant, use the
+ discriminant specification as the associated_node_for_itype, to
+ simplify accessibility checks.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
+ abstract interpretations on an operator, remove interpretations that
+ yield Address or a type derived from it, if one of the operands is an
+ integer literal.
+ (Try_Object_Operation.Try_Primitive_Operation,
+ Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
+ location when creating the new reference to a primitive or class-wide
+ operation as a part of rewriting a subprogram call.
+ (Try_Primitive_Operations): If context requires a function, collect all
+ interpretations after the first match, because there may be primitive
+ operations of the same type with the same profile and different return
+ types. From code reading.
+ (Try_Primitive_Operation): Use the node kind to choose the proper
+ operation when a function and a procedure have the same parameter
+ profile.
+ (Complete_Object_Operation): If formal is an access parameter and prefix
+ is an object, rewrite as an Access reference, to match signature of
+ primitive operation.
+ (Find_Equality_Type, Find_One_Interp): Handle properly equality given
+ by an expanded name with prefix Standard, when the operands are of an
+ anonymous access type.
+ (Remove_Abstract_Operations): If the operation is abstract because it is
+ inherited by a user-defined type derived from Address, remove it as
+ well from the set of candidate interpretations of an overloaded node.
+ (Analyze_Membership_Op): Membership test not applicable to cpp-class
+ types.
+
+2006-02-13 Bob Duff <duff@adacore.com>
+
+ * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
+ redundant use clauses.
+ In particular, if the scope of two use clauses overlaps, but one is not
+ entirely included in the other, we should not warn. This can happen
+ with nested packages.
+ (Analyze_Subprogram_Renaming): Protect the compiler against previously
+ reported errors. The bug was reported when the compiler was built
+ with assertions enabled.
+ (Find_Type): If the node is a 'Class reference and the prefix is a
+ synchronized type without a corresponding record, return the type
+ itself.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
+ if this is the full-declaration associated with a private declaration
+ that implement interfaces, then the private type declaration must be
+ limited.
+ (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
+ as aliased. The use of the 'access attribute is not available for such
+ object (for this purpose the object should be explicitly marked as
+ aliased, but being an anonymous type this is not possible).
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Same_Elaboration_Scope): A package that is a
+ compilation unit is an elaboration scope.
+ (Add_Task_Proc): Add '\' in 2-line warning message.
+ (Activate_All_Desirable): Deal with case of unit with'ed by parent
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Write_Overloads): Improve display of candidate
+ interpretations.
+ (Add_One_Interp): Do not add to the list of interpretations aliased
+ entities corresponding with an abstract interface type that is an
+ immediate ancestor of a tagged type; otherwise we have a dummy
+ conflict between this entity and the aliased entity.
+ (Disambiguate): The predefined equality on universal_access is not
+ usable if there is a user-defined equality with the proper signature,
+ declared in the same declarative part as the designated type.
+ (Find_Unique_Type): The universal_access equality operator defined under
+ AI-230 does not cover pool specific access types.
+ (Covers): If one of the types is a generic actual subtype, check whether
+ it matches the partial view of the other type.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
+ line. This is necessary to allow In_Extended_Main_Unit to provide
+ correct results for itypes while writing out expanded source.
+ (Close_File): No need to update the source_index_table here since it's
+ now done for each line.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
+ preserve the source unit where the itype is declared, and prevent a
+ backend abort.
+ (Note_Implicit_Run_Time_Call): New procedure
+ (Write_Itype): Handle missing cases (E_Class_Wide_Type and
+ E_Subprogram_Type)
+
+ * sprint.ads: Document use of $ for implicit run time routine call
+
+2006-02-13 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
+ task name.
+
+2006-02-13 Bob Duff <duff@adacore.com>
+
+ * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
+ Scan_Unsigned, so we do not scan leading blanks and sign twice.
+ Integer'Value("- 5") and Integer'Value("-+5") now correctly
+ raise Constraint_Error.
+
+ * s-vallli.adb (Scan_Long_Long_Integer): Call
+ Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
+ do not scan leading blanks and sign twice.
+ Integer'Value("- 5") and Integer'Value("-+5") now correctly
+ raise Constraint_Error.
+
+ * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
+ Scan_Long_Long_Unsigned): Split out most of the processing from
+ Scan_Long_Long_Unsigned out into
+ Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
+ This prevents scanning leading blanks and sign twice.
+ Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
+ See RM-3.5(44).
+
+ * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
+ out most of the processing from Scan_Unsigned out into
+ Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
+ This prevents scanning leading blanks and sign twice.
+
+ * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
+ use with Modular'Value attribute.
+ (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
+ attribute.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
+ (PPC VxWorks): Likewise.
+ (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
+ (forced_callee): Make non-inlinable and non-pure.
+ (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
+ support.
+ Document that gnatbind -M option is for cross environments only.
+ Added description of using gnatmem to trace gnat rtl allocs and deallocs
+ Add note on use of $ to label implicit run time calls
+ Add documentation for -gnatyI (check mode IN)
+ Updated chapter on compatibility with HP Ada
+ VMS-oriented edits.
+ Ran spell and corrected errors
+ Add documentation for gnatbind -d and rework documentation of -D
+ at the same time.
+ Add subprogram/data elimination section.
+ Minor editing of annex A.
+ Add section for gnatcheck.
+ Add documentation for restriction No_Dispatching_Calls
+ Add documentation for pragma Ada_2005
+ Remove mention of obsolete pragma Propagate_Exceptions
+ Document that pragma Unreferenced can appear after DO in ACCEPT
+ Clarify Pure_Function for library level units
+ Mention Max/Min in connection with No_Implicit_Conditionals
+ No_Wide_Characters restriction is no longer partition-wide
+ Add a nice example for Universal_Literal_String attribute
+ Document that pragma No_Return can take multiple arguments
+
+ * ug_words: Added entry for gnatcheck
+
+ * g-ctrl_c.ads (Install_Handler): Enhance comments
+
+ * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
+
+ * g-trasym.ads: Add documentation on how to do off line symbolic
+ traceback computation.
+
+ * s-fatgen.adb: Add comments for Unaligned_Valid
+
+ * stand.ads: Fix typo in comment
+
+2006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
+
+2006-02-06 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
+
+2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/25926
+ * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
+ implementation that calls __main.
+
+2006-01-25 Peter O'Gorman <peter@pogma.com>
+
+ PR bootstrap/25859
+ * Makefile.in (GCC_LINK): Remove quotes.
+ (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
+ or $(GCC_LINK).
+
+ (powerpc-darwin): Pass -shared-libgcc when building shared library.
+
+2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/24533
+ * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
+
+2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
+ needed.
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Update dependencies
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Add rule for ada/exp_sel.o
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in (mingw section): Remove EH_MECHANISM setting.
+
+2005-12-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to version 4.2
+ (ASIS_Version_Number): Bumped.
+
+2005-12-09 Doug Rupp <rupp@adacore.com>
+
+ * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
+ Ada bind file prefix on VMS from b$ to b__.
+ (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
+ __init.
+
+ * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_Suffix): Initialize with target object suffix.
+ (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
+
+ * butil.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+
+ * clean.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
+ ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
+ Ada bind file prefix on VMS from b$ to b__.
+
+ * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
+ --GCC so that Get_Target_Parameters can find system.ads.
+ (Gnatlink): Call Get_Target_Parameters in mainline.
+ Initialize standard packages for Targparm.
+ Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+ (Process_Args): Also Check for object files with target object
+ extension.
+ (Make_Binder_File_Names): Create with target object extension.
+ (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
+ to b__.
+
+ * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ ({declaration},Build_Library,Check_Library): Change Ada bind file
+ prefix on VMS from b$ to b__.
+
+ * osint-b.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
+ b__.
+
+ * targext.c: New file.
+
+ * Makefile.in: add support for vxworks653 builds
+ (../../vxaddr2line): gnatlink with targext.o.
+ (TOOLS_LIBS): Move targext.o to precede libgnat.
+ (init.o, initialize.o): Minor clean up in dependencies.
+ (GNATLINK_OBJS): Add targparm.o, snames.o
+ Add rules fo building targext.o and linking it explicitly with all
+ tools.
+ Also add targext.o to gnatlib.
+
+ * Make-lang.in: Add rules for building targext.o and linking it in
+ with gnat1 and gnatbind.
+ Add entry for exp_sel.o.
+
+ * osint.adb Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_File_Name): Use target object suffix.
+
+ * osint.ads (Object_Suffix): Remove, no longer used.
+ (Target_Object_Suffix): Initialize with target object suffix.
+
+ * rident.ads: Add special exception to license.
+
+ * targparm.adb (Get_Target_Parameters): Set the value of
+ Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
+ value.
+ (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
+
+ * targparm.ads: Add special exception to license.
+
+ * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
+ function.
+ (Copy_File): Make sure from file is closed if error on to file
+ (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
+
+ * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
+ (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
+
+ * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
+ target object suffix.
+
+2005-12-09 Jose Ruiz <ruiz@adacore.com>
+ Quentin Ochem <ochem@adacore.com>
+ Florian Villoing <villoing@adacore.com>
+
+ * a-taster.ads, a-taster.adb: New files.
+
+ * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
+ link to the version that does nothing. This way the task termination
+ routine is not executed twice for the environment task when finishing
+ because of an unhandled exception.
+
+ * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
+ handler because of an unhandled exception.
+
+ * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
+ System.Tasking.Utilities instead of that in System.Tasking.Stages.
+
+ * s-finimp.adb (initialization code): Modify the soft link for the
+ finalization of the global list instead of Adafinal.
+
+ * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
+ non-tasking version of the soft link for task termination. We do
+ nothing since if we are using the non-tasking version it
+ means that the task termination functionality is not used.
+ (Null_Finalize_Global_List): Add this null version for the procedure
+ in charge of finalizing the global list for controlled objects.
+ (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
+ instead for handling run-time termination in a more flexible way.
+ (Adafinal_NT): This new procedure will take care of finalizing the
+ global list for controlled objects if needed, but no tasking
+ finalization.
+
+ * s-tarest.adb (Task_Lock): Do not try to lock again the
+ Global_Task_Lock if we already own it. Otherwise, we get blocked in
+ some run-time operations.
+ (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
+ until all nested locks have been released.
+ (Task_Wrapper): Call the fall-back task termination handler. It
+ applies to all tasks but the environment task.
+ (Finalize_Global_Tasks): Add the call for the task termination
+ procedure for the environment task.
+ (Task_Wrapper): suppress warnings around declaration of
+ Secondary_Stack_Address.
+
+ * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
+ moved to the Common_ATCB record.
+ (Task_Lock): Global_Task_Lock_Nesting has been moved to the
+ Common_ATCB record.
+ (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
+ Common_ATCB record.
+
+ * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
+ Fall_Back_Handler, and Specific_Handler.
+
+ * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
+ defined in Ada.Task_Termination, to avoid circular dependencies.
+ (Termination_Handler): Redefine this type here, alredy defined in
+ Ada.Task_Termination, for avoiding circular dependencies.
+ (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
+ for storing task termination handlers. In addition,
+ Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
+ Common_ATCB because it is used by both the regular and the restricted
+ run times.
+ (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
+ Common_ATCB because it is used by both the regular and the restricted
+ run times.
+ (Common_ATCB): Added a dynamic task analyzer field.
+
+ * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
+ potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
+ (Task_Wrapper): Call the task termination handler. It applies to all
+ tasks but the environment task.
+ (Finalize_Global_Tasks): Call the task termination procedure for the
+ environment task. The call to Finalize_Global_List is now performed
+ using the soft links mechanism.
+ (Task_Wrapper): added dynamic stack analysis.
+
+ * s-tasuti.adb (Abort_Tasks): The code in charge of checking
+ potentially blocking operations has been moved from
+ System.Tasking.Stages.Abort_Tasks to this procedure. There can be
+ direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
+ through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
+ this run-time check.
+
+ * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
+ of task termination procedure.
+ (Init_Tasking_Soft_Links): Install the task-safe version of the soft
+ link for the task termination procedure.
+
+ * bindusg.adb: (Bindusg): Added documentation for -u option.
+
+ * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
+ (Get_Main_C): Add handling of dynamic stack analysis.
+ (Gen_Output_File_C): Add external functions for dynamic stack analysis.
+
+ * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
+ (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
+ (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
+
+ * opt.ads: Added flags used by dynamic stack measurement.
+ (Max_Line_Length): Remove (not used anymore)
+
+ * s-io.ads, s-io.adb (Standard_Error): new subprogram
+ (Standart_Output): new subprogram
+ (Set_Output): new subprogram
+ (Put): now uses the value of Current_Out to know if the output has to be
+ send to stderr or stdout.
+
+ * s-stausa.ads: Complete implementation.
+
+ * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
+
+ * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
+ list of Ada 05 files.
+ (GNAT Library Units): Add AltiVec files.
+
+ * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
+ g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
+ g-alvety.ads, g-alvevi.ads: New files providing altivec API.
+
+2005-12-09 Nicolas Setton <setton@adacore.com>
+
+ * adaint.c (__gnat_locate_regular_file): Return immediately if
+ file_name is empty.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
+ to the specification because the frontend generates code that uses this
+ subprogram.
+ (Set_Interface_Table): Add missing assertion.
+ Update documentation describing the run-time structure.
+ (Displace): New subprogram that displaces the pointer to the object
+ to reference one of its secondary dispatch tables.
+ (IW_Membership): Modified to use the new table of interfaces.
+ (Inherit_TSD): Modified to use the new table of interfaces.
+ (Register_Interface_Tag): Use the additional formal to fill the
+ contents of the new table of interfaces.
+ (Set_Interface_Table): New subprogram that stores in the TSD the
+ pointer to the table of interfaces.
+ (Set_Offset_To_Top): Use the additional formal to save copy of
+ the offset value in the table of interfaces.
+ Update structure of GNAT Primary and Secondary dispatch table diagram.
+ Add comment section on GNAT dispatch table prologue.
+ (Offset_To_Signature): Update the constant value of the Signature field.
+ (Dispatch_Table): Update comment on hidden fields in the prologue.
+ (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
+ Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
+ the type of formal parameter T to Tag, introduce additional assertions.
+ (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
+ conversion.
+ (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
+
+ * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
+ in all the calls to Expand_Interface_Thunk. Instead of referencing the
+ record component containing the tag of the secondary dispatch table we
+ have to use the Offset_To_Top run-time function to get this information;
+ otherwise if the pointer to the base of the object has been displace
+ we get a wrong value if we use the 'position attribute.
+
+ * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
+ all the calls to Expand_Interface_Thunk.
+ (Make_Secondary_DT): Secondary dispatch tables do not have a table of
+ interfaces; hence the call to Set_Interface_Table was clearly wrong.
+ (Collect_All_Interfaces): Modify the internal subprogram Collect to
+ ensure that the interfaces implemented by the ancestors are placed
+ at the header of the generated list.
+ (Expand_Interface_Conversion): Handle the case in which the displacement
+ associated with the interface conversion is not statically known. In
+ this case we generate a call to the new run-time subprogram Displace.
+ (Make_DT): Generate and fill the new table of interfaces.
+ (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
+ Get_Tagged_Kind and Set_Tagged_Kind.
+ (Tagged_Kind): New function that determines the tagged kind of a type
+ with respect to limitedness and concurrency and returns a reference to
+ RE_Tagged_Kind.
+ (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
+ Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
+ primary dispatch table for a type.
+ (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
+ secondary dispatch table respectively of a tagged type.
+
+ * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
+ (Expand_Interface_Conversion): New subprogram to indicate if the
+ displacement of the type conversion is statically known.
+ (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
+
+ * rtsfind.ads (RE_Offset_To_Top): New entity
+ (RTU_Id): Add Ada_Task_Termination to the list so that it is made
+ accessible to users.
+ (Re_Displace): New entity
+ (RE_Interface_Data): New entity
+ (RE_Set_Interface_Data): New_Entity
+ (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
+ Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
+ RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
+ RE_TK_Tagged, RE_TK_Task.
+
+ * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
+ Init_Secondary_Tags_Internal to allow its use with interface types and
+ also to generate the code for the new additional actual required
+ by Set_Offset_To_Top.
+ (Build_Init_Statements): In case of components associated with abstract
+ interface types there is no need to generate a call to its IP.
+ (Freeze_Record_Type): Generate Select Specific Data tables only for
+ concurrent types.
+ (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
+ the bodies and specifications of the predefined primitive operations
+ dealing with dispatching selects and abort, 'Callable, 'Terminated only
+ for concurrent types.
+
+ * exp_sel.ads, exp_sel.adb: New files.
+
+ * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
+ properly protected objects and attach handler in the case of the
+ restricted profile.
+ Move embeded package Select_Expansion_Utilities into a separate external
+ package.
+ (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
+ Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
+ (Build_K, Build_S_Assignment): New subprograms, part of the select
+ expansion utilities.
+ (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
+ Expand_N_Timed_Entry_Call): Optimize expansion of select statements
+ where the trigger is a dispatching procedure of a limited tagged type.
+
+2005-12-09 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
+ pointer initialization values. Make a SAVE_EXPR instead. Add comments
+ about the use and expansion of SAVE_EXPRs in the various possible
+ renaming handling cases.
+ (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
+ abusing DECL_FCONTEXT.
+
+2005-12-09 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb (Merge): Added assertions to check whether vector params
+ are sorted.
+
+ * a-coinve.adb (Merge): Added assertions to check whether vector params
+ are sorted.
+
+ * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
+ draft.
+ (Cursor'Read): raises PE
+
+ * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
+ to its default value.
+
+ * a-cihama.adb: Manually check whether cursor's key and elem are
+ non-null
+
+ * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
+ (Merge): Assert that target and source lists are in order
+ (Swap): Declare non-const temporaries, to pass to Splice
+
+ * a-cdlili.ads: (Splice): Changed param name and param mode
+
+ * a-cdlili.adb: (Splice): Changed param name and param mode
+ (Merge): Assert that target and source lists are in order
+ (Swap): Declare non-const temporaries, to pass to Splice
+
+ * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
+ (Write): declare Stream param as not null
+
+ * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
+ an exception message.
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
+ which is the absolute maximum length we can support.
+
+ * frontend.adb: For the processing of configuration pragma files,
+ remove references to Opt.Max_Line_Length, which is not checked anymore.
+
+ * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
+ length.
+
+ * scn.adb, scng.adb:
+ Always check line length against the absolute supported maximum,
+ Hostparm.Max_Line_Length.
+
+ * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
+ value for the maximum line length is Max_Line_Length (not
+ Column_Number'Last).
+ Minor error msg update
+ (Set_Style_Check_Options): New interface returning error msg
+ Minor code reorganization (processing for 'M' was out of alpha order)
+
+ * switch-c.adb: New interface for Set_Style_Check_Options
+
+ * stylesw.ads (Set_Style_Check_Options): New interface returning error
+ msg.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
+ with IP subprogram were only supported if there were limited types.
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
+ records with IP subprogram were only supported if there were limited
+ types.
+
+2005-12-09 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (tree_transform, emit_check): Adjust calls to
+ build_call_raise, passing the now expected GNAT_NODE argument.
+
+ * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
+ source line information than what the current global locus indicates
+ when appropriate.
+
+ * utils2.c (build_simple_component_ref): Return 0 if the offset of the
+ field has overflowed.
+ (build_call_raise): Add a GNAT_NODE argument to convey better source
+ line information than what the current global locus indicates when
+ appropriate.
+ (build_component_ref): Adjust call to build_call_raise.
+
+2005-12-09 Pascal Obry <obry@adacore.com>
+
+ * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
+ the iterator is quitting iteration on parent directory.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
+ and the assignment to a class-wide object, before the assignment we
+ generate a run-time check to ensure that the tag of the Target is
+ covered by the tag of the source.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
+ parameter in call to Image_Wide_Character.
+
+ * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
+ parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
+ (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
+ annoying FFFE/FFFF inconsistency.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
+ of type conversion.
+ (Find_Interface): New subprogram that given a tagged type and one of its
+ component associated with the secondary table of an abstract interface
+ type, return the entity associated with such abstract interface type.
+ (Make_Subtype_From_Expr): If type has unknown discriminants, always use
+ base type to create anonymous subtype, because entity may be a locally
+ declared subtype or generic actual.
+ (Find_Interface): New subprogram that given a tagged type and one of its
+ component associated with the secondary table of an abstract interface
+ type, return the entity associated with such abstract interface type.
+
+ * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
+ conversion cannot be handled at compile time. In this case we pass this
+ information to the expander to generate the appropriate code.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Itype_Printed): New flag
+ (Is_Limited_Type): Derived types do not inherit limitedness from
+ interface progenitors.
+ (Is_Return_By_Reference_Type): Predicate does not apply to limited
+ interfaces.
+
+ * einfo.ads (Itype_Printed): New flag
+ Move Is_Wrapper_Package to proper section
+ Add missing Inline for Is_Volatile
+
+ * output.ads, output.adb (Write_Erase_Char): New procedure
+ (Save/Restore_Output_Buffer): New procedures
+ (Save/Restore_Output_Buffer): New procedures
+
+ * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
+ Add missing support for anonymous access type
+ (Write_Id): Insert calls to Write_Itype
+ (Write_Itype): New procedure to output itypes
+
+ * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
+ use of "limited" in declaration.
+
+ * sinfo.ads, sinfo.adb:
+ Formal derived types can carry an explicit "limited" indication.
+
+ * sem_ch3.adb: Add with and use of Targparm.
+ (Create_Component): If Frontend_Layout_On_Target is True and the
+ copied component does not have a known static Esize, then reset
+ the size and positional fields of the new component.
+ (Analyze_Component_Declaration): A limited component is
+ legal within a protected type that implements an interface.
+ (Collect_Interfaces): Do not add to the list the interfaces that
+ are implemented by the ancestors.
+ (Derived_Type_Declaration): If the parent of the full-view is an
+ interface perform a transformation of the tree to ensure that it has
+ the same parent than the partial-view. This simplifies the job of the
+ expander in order to generate the correct object layout, and it is
+ needed because the list of interfaces of the full-view can be given in
+ any order.
+ (Process_Full_View): The parent of the full-view does not need to be
+ a descendant of the parent of the partial view if both parents are
+ interfaces.
+ (Analyze_Private_Extension_Declaration): If declaration has an explicit
+ "limited" the parent must be a limited type.
+ (Build_Derived_Record_Type): A derived type that is explicitly limited
+ must have limited ancestor and progenitors.
+ (Build_Derived_Type): Ditto.
+ (Process_Full_View): Verify that explicit uses of "limited" in partial
+ and full declarations are consistent.
+ (Find_Ancestor_Interface): Remove function.
+ (Collect_Implemented_Interfaces): New procedure used to gather all
+ implemented interfaces by a type.
+ (Contain_Interface): New function used to check whether an interface is
+ present in a list.
+ (Find_Hidden_Interface): New function used to determine whether two
+ lists of interfaces constitute a set equality. If not, the first
+ differing interface is returned.
+ (Process_Full_View): Improve the check for the "no hidden interface"
+ rule as defined by AI-396.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
+ types, not on record subtypes.
+ (Freeze_Entity): Code cleanup. Add barrier to the loop
+ that generates the references for primitive operations. This allows to
+ remove an unnecessary exception handler.
+ Code reformatting and comment clean ups.
+
+2005-12-09 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
+ If GNAT CHECK is called with a project file, but with no
+ source on the command line, call gnatcheck with all the compilable
+ sources of the project.
+ Take into account the new command Check, for gnatcheck. Treat as for
+ other ASIS tools: take into account project, specific package Check and
+ Compiler switches.
+ For ASIS tools, add the switches in package Compiler for
+ the invocation of the compiler.
+
+ * prj-attr.adb: Add package Check and its attributes
+
+ * vms_conv.ads (Command_Type): New command Check, for gnatcheck
+
+ * vms_conv.adb (Initialize): Change Params of command Check to
+ unlimited files.
+ Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+ Add data for new command Check
+
+ * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
+ ELIM.
+ Add qualifiers for Check command options
+ (Command_Type): New command Check
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+
+ * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
+ command line switch overruns the output buffer.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Processing for new pragma Complete_Representation
+ (Analyze_Pragma, case Debug): Implement two argument form.
+
+ * par-prag.adb: Entry for new pragma Complete_Representation
+ (Prag, case Debug): Recognize two argument form of pragma Debug
+ New interface for Set_Style_Check_Options.
+
+ * sem_ch13.adb: Implement new pragma Complete_Representation.
+
+ * snames.adb, snames.ads, snames.h: Entry for new pragma
+ Complete_Representation.
+
+2005-12-09 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
+ available user-specified stream attributes on limited parameters to
+ also test the type directly rather than only its underlying type (for
+ Ada 95) and, in the case of Ada 2005, to check that the user-specified
+ attributes are visible at the point of the subprogram declaration.
+ For Ada 2005, the error message is modified to indicate that the
+ type's stream attributes must be visible (again, only for -gnat05).
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
+ anonymous access types.
+
+ * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
+ matching of anonymous access types and anonymous access to subprogram
+ types. 'R'M 4.9.1 (2/2).
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
+ rule prematurely when operands are universal, remaining ambiguities
+ will be removed during resolution.
+ Code cleanup.
+
+ * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
+ that are Ada 2005 functions.
+ (Has_Abstract_Interpretation): Subsidiary to
+ Remove_Conversions, to remove ambiguities caused by abstract operations
+ on numeric types when operands are universal.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
+ for case where spec is categorized.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
+ types use the corresponding record type. This was not needed before
+ the implementation of Ada 2005 synchronized types because
+ concurrent types were never tagged types in Ada 95.
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
+ first subtype of the type of the expression to verify that it is a
+ legal Time type.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
+ decoded names.
+
+2005-12-09 Quentin Ochem <ochem@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Falis <falis@adacore.com>
+ Florian Villoing <villoing@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Created section "Stack Related Tools"
+ Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
+ "Stack Related Tools"
+ Added subsection "Static Stack Usage Analysis"
+ Added subsection "Dynamic Stack Usage Analysis"
+ Include documentation of itypes in sprint listing (-gnatG)
+ Documented gnatbind -D switch (default sec stack size for fixed sec
+ stacks).
+ Added Interrupt_State and Persistent_BSS to list of configuration
+ pragmas.
+ Add missing doc for maximum value of nnn in -gnatyMnnn
+
+ * gnat_rm.texi: Document the AltiVec binding.
+ Add documentation for pragma Complete_Representation
+ Shortened an overly long line (> 79 chars)
+ Clarify documentation of unchecked conversion in implementation
+ defined cases.
+ Document two argument form of pragma Debug
+
+ * types.ads (Column_Number): Update documentation.
+
+ * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
+ library level Finalize_Storage_Only objects (these are not attached to
+ any finalization list).
+
+ * system-mingw.ads: (Underlying_Priorities): Update comment.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
+ i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
+ i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
+ krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
+ interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
+ s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
+ reformatting.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * s-vaflop-vms-alpha.adb: (Ne_F): New function
+ (Ne_G): New function
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
+ for tag assignment.
+ (Rewrite_Comparison): Handle case where operation is not a comparison
+ and ignore, and also handle type conversion case.
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.ads: Fix typo in comment.
+ ???-mark Convert_Aggr_In_Assignment as needing documentation.
+
+2005-12-09 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb: Replace various uses of byte by storage unit throughout.
+ (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
+ static size, convert to storage units before returning, to conform to
+ spec.
+
+2005-12-09 Matthew Gingell <gingell@adacore.com>
+
+ * g-exctra.ads: Fix typo in comment.
+
+2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c: Minor reformatting.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * g-soccon.ads:
+ Further comment fixes to make the status of the default file clear
+
+ * s-bitops.adb: Clarify comment for Bits_Array
+
+2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (ada.install-normal): Remove.
+
+2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in: Remove all dependencies on s-gtype.
+
+2005-12-05 Richard Guenther <rguenther@suse.de>
+
+ * utils.c (convert): Use fold_convert where appropriate.
+
+2005-12-05 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (gnatlib): Fix regex, using \. instead of . when
+ a period is meant.
+
+2005-12-02 Richard Guenther <rguenther@suse.de>
+
+ * trans.c (gnat_gimplify_expr): Use buildN instead of build.
+
+2005-12-01 Roger Sayle <roger@eyesopen.com>
+
+ * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
+ nodes.
+
+2005-11-23 Laurent GUERBY <laurent@guerby.net>
+
+ * mlib-prj.adb (Build_Library): Initialize Delete.
+
+2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * socket.c: Add extern int h_errno for rtems since networking header
+ files are not available at this point in a tool bootstrap. Newlib
+ only has basic C library header files.
+
+2005-11-19 Richard Guenther <rguenther@suse.de>
+ Roger Sayle <roger@eyesopen.com>
+
+ PR ada/23717
+ * misc.c (internal_error_function): Don't use vsprintf to format
+ the error message text, instead use pp_format_text and the new
+ pretty printer APIs. This allows handling of %qs, %w, etc.
+
+2005-11-18 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/24857
+ * Makefile.in: Use s-auxdec-empty for RTEMS.
+
+2005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/22333
+ * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
+ a temporary if taking the address of something that is neither
+ reference, declaration, or constant, since the gimplifier
+ can't handle that case.
+
+2005-11-17 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/24857
+ * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
+
+2005-11-16 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
+
+2005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR ada/24855
+ * raise-gcc.c: Add missing stdarg.h include.
+
+2005-11-16 Richard Guenther <rguenther@suse.de>
+
+ * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
+ (ada/misc.o): Likewise.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon.ads: Minor reformatting. Update comments.
+
+ * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
+ gain visibility on the declaration of struct timeval.
+
+ * g-soccon-freebsd.ads,
+ g-soccon-darwin.ads,
+ g-soccon-tru64.ads,
+ g-soccon-aix.ads,
+ g-soccon-irix.ads,
+ g-soccon-hpux.ads,
+ g-soccon-solaris.ads,
+ g-soccon-vms.ads,
+ g-soccon-mingw.ads,
+ g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
+
+ * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
+ g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
+ g-soccon-linux-x86.ads: New files.
+
+ * g-socthi-mingw.adb:
+ (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
+
+ * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
+ (time_t, suseconds_t): New types constructed to match the tv_sec
+ and tv_usec fields of C struct timeval.
+ (Timeval): Construct structure in terms of the new types.
+ (Host_Errno): New function (imported from socket.c), returns last hosts
+ database error.
+
+ * g-socthi-vxworks.adb: Add error handling circuitry.
+
+ * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
+ components of struct timeval.
+ (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
+ (Check_Selector): In error conditions, clear internal socket sets to
+ avoid a memory leak.
+ (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
+ Send_Timeout, Receive_Timeout.
+
+ * g-socthi.ads (time_t, suseconds_t): New types constructed to match
+ the tv_sec and tv_usec fields of C struct timeval.
+ (Timeval): Construct structure in terms of the new types.
+ (Host_Errno): New function (imported from socket.c), returns last hosts
+ database error.
+
+ * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
+ hosts database last error code.
+
+ * gen-soccon.c: Complete value expansion should not be performed on
+ TARGET, as it has the form of a math expression, and some components
+ may be platform-defined macros.
+ For VxWorks, generate the OK and ERROR values.
+ New constants giving the sizes of the components of C struct timeval.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/18434
+ * types.ads: Include All_Checks in Suppress_Array
+
+ * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
+ not(a=b), since we no longer do this rewriting, and hence it is not
+ needed.
+ (Elaboration_Checks_Suppressed): Add special casing to
+ deal with different cases of static and dynamic elaboration checks (all
+ checks does not count in the first case, but does in the second).
+ (Expr_Known_Valid): Do not assume that the result of any arbitrary
+ function call is valid, since this is not the case.
+ (Ensure_Valid): Do not apply validity check to a real literal
+ in a universal or fixed context
+
+ * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
+ elementary types using the operator in standard. It is cleaner not to
+ modify the programmers intent, especially in the case of floating-point.
+ (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
+ it did not matter because we always rewrote a/=b to not(a=b).
+ (Expand_Allocator_Expression): For an allocator expression whose nominal
+ subtype is an unconstrained packed type, convert the expression to its
+ actual constrained subtype.
+ Implement warning for <= or >= where < or > not possible
+ Fix to Vax_Float tests (too early in many routines, causing premature
+ Vax_Float expansions.
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
+ to be used with packages and generic packages as well as with
+ subprograms.
+ (Suppress): Set All_Checks, but not Elaboration_Check, for case
+ of pragma Suppress (All_Checks)
+ (Analyze_Pragma, case Warnings): Implement first argument allowed to be
+ a string literal for precise control over warnings.
+ Avoid raise of pragma in case of unrecognized pragma and just return
+ instead.
+
+ * sem_prag.ads: Minor reformatting
+
+ * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
+ with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+ Switch. Do not handle any exception.
+ Include -gnatwx as part of -gnatg (warn on redundant parens)
+ Allow optional = after -gnatm
+ (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
+ longer sets Elaboration_Checks.
+ Code to set warning mode moved to Sem_Warn
+ so that it can be shared by pragma processing.
+
+ * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
+ statement.
+
+ * s-taprop-solaris.adb:
+ Change some <= to =, to avoid new warning
+
+ * a-exexda.adb, prj-proc.adb:
+ Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
+ Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_vfpt.adb: Handle /= case
+ (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
+ so that we do not get duplicate scaling for fixed point conversions.
+
+ * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
+
+2005-11-14 Matthew Gingell <gingell@adacore.com>
+
+ * system-lynxos-ppc.ads, system-lynxos-x86.ads:
+ Increase default priority on Lynx from 15 to 17, and meet the Ada
+ requirement that Default_Priority be ((Priority'First +
+ Priority'Last) / 2) by increasing the range of Interrupt_Priority.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
+ mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
+ mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
+ mlib-tgt-lynxos.adb (DLL_Prefix): New function
+
+2005-11-14 Doug Rupp <rupp@adacore.com>
+
+ * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
+ private part.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-traces-default.adb, s-trafor-default.ads,
+ s-tratas-default.adb: Fix compilation errors.
+
+2005-11-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
+ raising the exception so the memory used is freed.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
+ (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
+ (convert_address): Update comments and list of platforms using this.
+
+ * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
+ no longer used.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gnatdll.adb (Parse_Command_Line): Remove redundant use of
+ GNAT.Command_Line.
+
+ * memroot.adb: Remove redundant with/use clause on
+ System.Storage_Elements.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
+ (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
+ related code to a-exexpr.adb
+ (Save_Occurrence_And_Private): Move GCC EH related code to
+ a-exexpr-gcc.adb
+ (Raise_Current_Excep): Add new variable Id with pragma
+ volatile, to ensure that the variable lives on stack.
+
+ * a-exexpr-gcc.adb, raise-gcc.c: New file.
+
+ * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
+ from a-except.adb.
+ Move GCC EH related code to a-exexpr-gcc.adb
+
+ * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
+ 64-bit Solaris
+ Split the Linux version of g-soccon into separate variants for 32 and 64
+ bit platforms.
+ (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
+ vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
+ install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
+ of host variable $(RANLIB_FLAGS).
+ (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
+ Code clean up: remove unused/obsolete targets.
+ (EH_MECHANISM): New variable introduced to differenciate between the
+ two EH mechanisms statically.
+ (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
+ (LIBGNAT_OBJS): Add raise-gcc.o
+ (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
+ s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+ supports VxWorks 6 RTPs.
+ (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
+ i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+ * raise.c: Move all GCC EH-related routines to raise-gcc.c
+
+2005-11-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tassta.adb (Create_Task): Move the code in charge of resetting the
+ deferral level, when abort is not allowed, to a later stage (the
+ Task_Wrapper).
+ (Task_Wrapper): If Abort is not allowed, reset the deferral level since
+ it will not get changed by the generated code. It was previously done
+ in Create_Task.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c:
+ Factor common code to build a storage type for an unconstrained object
+ from a fat or thin pointer type and a constrained object type.
+ (annotate_value): Handle BIT_AND_EXPR.
+ (annotate_rep): Don't restrict the back annotation of inherited
+ components to the type_annotate_only case.
+ (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
+ we are not defining the type.
+ <E_Record_Type>: Likewise.
+ (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
+ to get advantage of the new maybe_stabilize_reference interface, to
+ ensure that what we reference is indeed stabilized instead of relying
+ on assumptions on what the stabilizer does.
+ (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
+ type imported through a limited_with clause, use its non-limited view.
+ (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
+ differentiation.
+ (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
+ of #if sections + explicit comparisons of convention identifiers.
+ (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
+ before early-returning for certain types when code generation is
+ disabled.
+ (gnat_to_gnu_entity) <object>: Adjust comment attached to the
+ nullification of gnu_expr we do for objects with address clause and
+ that we are not defining.
+ (elaborate_expression_1): Do not create constants when creating
+ variables needed by the debug info: the dwarf2 writer considers that
+ CONST_DECLs is used only to represent enumeration constants, and emits
+ nothing for them.
+ (gnat_to_gnu_entity) <object>: When turning a non-definition of an
+ object with an address clause into an indirect reference, drop the
+ initializing expression.
+ Include "expr.h".
+ (STACK_CHECK_BUILTIN): Delete.
+ (STACK_CHECK_PROBE_INTERVAL): Likewise.
+ (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
+ (STACK_CHECK_MAX_VAR_SIZE): Likewise.
+ (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
+ corresponding to the renamed object as ignored for debugging purposes.
+
+ * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
+ related): For a prefix that is a dereference of a fat or thin pointer,
+ if there is an actual subtype provided by the front-end, use that
+ subtype to build an actual type with bounds template.
+ (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
+ is provided by the front-end, use that subtype to compute the size of
+ the deallocated object.
+ (gnat_to_gnu): When adding a statement into an elaboration procedure,
+ check for a potential violation of a No_Elaboration_Code restriction.
+ (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+ with extra arguments to control whether to recurse through non-values
+ and to let the caller know if the stabilization has succeeded.
+ (gnat_stabilize_reference): Now a simple wrapper around
+ maybe_stabilize, for common uses without restriction on lvalues and
+ without need to check for the success indication.
+ (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
+ pass false instead of 0 as the FORCE argument which is a bool.
+ (Identifier_to_gnu): Remove checks ensuring that an renamed object
+ attached to a renaming pointer has been properly stabilized, as no such
+ object is attached otherwise.
+ (call_to_gnu): Invoke create_var_decl to create the temporary when the
+ function uses the "target pointer" return mechanism.
+ Reinstate conversion of the actual to the type of the formal
+ parameter before any other specific treatment based on the passing
+ mechanism. This turns out to be necessary in order for PLACEHOLDER
+ substitution to work properly when the latter type is unconstrained.
+
+ * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
+ common pattern.
+ (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+ with extra arguments to control whether to recurse through non-values
+ and to let the caller know if the stabilization has succeeded.
+
+ * utils2.c (gnat_build_constructor): Only sort the fields for possible
+ static output of record constructor if all the components are constant.
+ (gnat_build_constructor): For a record type, sort the list of field
+ initializers in increasing bit position order.
+ Factor common code to build a storage type for an unconstrained object
+ from a fat or thin pointer type and a constrained object type.
+ (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
+ types variants, and process special cases of VIEW_CONVERT expressions
+ as their NOP_EXPR counterpart to ensure we get to the
+ CORRESPONDING_VARs associated with CONST_DECls.
+ (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
+ on the right-hand side.
+
+ * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
+ a common pattern.
+ (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
+ are converting back to its original type.
+ (convert) <JM input>: Fallthrough regular conversion code instead of
+ extracting the object if converting to a type variant.
+ (create_var_decl): When a variable has an initializer requiring code
+ generation and we are at the top level, check for a potential violation
+ of a No_Elaboration_Code restriction.
+ (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
+ SIZE and SIZE_UNIT which we need for later back-annotations.
+ * utils.c: (convert) <STRING_CST>: Remove obsolete code.
+ <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
+ is an unchecked union.
+ (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
+ (convert) <VIEW_CONVERT_EXPR>: When the types have the same
+ main variant, just replace the VIEW_CONVERT_EXPR.
+ <UNION_TYPE>: Revert 2005-03-02 change.
+
+ * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
+
+ * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
+
+2005-11-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
+ a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
+ a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
+ a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
+ a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
+ Compiles against the spec for ordered maps described in sections
+ A.18.6 of the most recent (August 2005) AI-302 draft.
+
+2005-11-14 Olivier Hainque <hainque@adacore.com>
+
+ * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
+ to ensure bias adjustments take place when need be and to prevent
+ occurrences of intermediate overflows.
+
+2005-11-14 Matthew Gingell <gingell@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
+ ia64 HP-UX.
+
+ * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
+ tracebacks on ia64 HP-UX and provide explanatory comment.
+ Enable backtraces on ia64 GNU/Linux.
+ (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
+ base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
+
+2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
+ exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
+ einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
+
+ * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
+ properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
+ assertions).
+
+ * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
+ subprogram that generates the external name associated with a
+ secondary dispatch table.
+ (Get_Secondary_DT_External_Name): New subprogram that generates the
+ external name associated with a secondary dispatch table.
+
+2005-11-14 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
+ line in the ALI file to include both an instantiation reference, and a
+ returned value.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Check_Project): Look for Ada code in extending project,
+ even if Ada is not specified as a language.
+ Use new function DLL_Prefix for DLL_Name
+ (Clean_Interface_Copy_Directory): New procedure
+ (Clean_Library_Directory): New procedure
+ (Clean_Directory): Remove procedure, no longer used
+ (Clean_Project): Do not delete any file in an externally built project
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
+ directory of an extending project, even when there are no Ada source
+ present.
+ (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+ * mlib-prj.adb (Check_Library): For all library projects, get the
+ library file timestamp.
+ (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
+ (Build_Library): Use new function DLL_Prefix for the DLL_Name
+ (Clean): Remove procedure, no longer used
+ (Ultimate_Extension_Of): New function
+ (Build_Library): When cleaning the library directory, only remove an
+ existing library file and any ALI file of a source of the project.
+ When cleaning the interface copy directory, remove any source that
+ could be a source of the project.
+
+ * prj.ads, prj.adb (Project_Empty): Add values of new components
+ Library_TS and All_Imported_Projects.
+ (Project_Empty): Add values for new components of Project_Data:
+ Library_ALI_Dir and Display_Library_ALI_Dir
+
+ * prj-attr.adb: New project level attribute name Library_ALI_Dir
+
+ * prj-nmsc.adb (Check_Library_Attributes): Take into account new
+ attribute Library_ALI_Dir.
+ (Check_Library_Attributes): The library directory cannot be the same as
+ any source directory of the project tree.
+ (Check_Stand_Alone_Library): The interface copy directory cannot be
+ the same as any source directory of the project tree.
+
+ * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
+ all temporary files.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ (Check_Elab_Call): A call within a protected body is never an
+ elaboration call, and does not require checking.
+ (Same_Elaboration_Scope): Take into account protected types for both
+ entities.
+ (Activate_Elaborate_All_Desirable): New procedure
+
+ * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
+ desirable
+
+ * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
+ (Elab_Error_Msg): Use -da to include internal unit links, not -de.
+
+ * lib-writ.ads, lib-writ.adb:
+ Implement new AD/ED for Elaborate_All/Elaborate desirable
+ Use new Elaborate_All_Desirable flag in N_With_Clause node
+
+ * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
+ N_Free_Statement nodes.
+ Define new class N_Subprogram_Instantiation
+ Add Elaborate_Desirable flag to N_With_Clause node
+ Add N_Delay_Statement (covering two kinds of delay)
+
+ * debug.adb: Introduce d.f flag for compiler
+ Add -da switch for binder
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
+ for task component, in the case of a limited aggregate. The enclosed
+ object declaration will create it earlier. Otherwise, in the case of a
+ nested aggregate, the object may appear in the wrong scope.
+ (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
+ (Gen_Assign): If the component being assigned is an array type and the
+ expression is itself an aggregate, wrap the assignment in a block to
+ force finalization actions on the temporary created for each row of the
+ enclosing object.
+ (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
+ structures are initialized after all discriminants are set so that
+ they can be accessed even when their offset is dynamic.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb: Implement Machine_Rounding attribute
+ (Analyze_Access_Attribute): The access attribute may appear within an
+ aggregate that has been expanded into a loop.
+ (Check_Task_Prefix): Add semantic check for attribute 'Callable and
+ 'Terminated whenever the prefix is of a task interface class-wide type.
+ (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
+ the prefix is of a task interface class-wide type.
+
+ * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
+ to avoid warnings.
+
+ * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
+ Remove pragma Inline for [Unaligned_]Valid.
+ Add comments that Valid routines do not work for Vax_Float
+
+ * exp_attr.adb: Implement Machine_Rounding attribute
+
+ * snames.h: Add entry for Machine_Rounding attribute
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
+ and related): For a prefix that is an explicit dereference of an
+ access to unconstrained packed array type, annotate the dereference
+ with an actual subtype so GIGI can make a correct size computation.
+ (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
+ 'Unrestricted_Access, if the designated type is an interface we
+ add a type conversion to force the displacement of the pointer
+ to the secondary dispatch table.
+ Use Universal_Real instead of Long_Long_Float when we need a high
+ precision float type for the generated code (prevents gratuitous
+ Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+ (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
+ 'Terminated for task interface class-wide objects. Generate a call to
+ the predefined dispatching routine used to retrieve the _task_id from
+ a task corresponding record.
+ (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
+
+ * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ (Check_Dispatching_Operation): Protect the frontend againts
+ previously detected errors.
+
+ * Makefile.rtl: Add new instantiations of system.fat_gen
+
+ * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
+ Change name of instantiated package for better consistency
+ with newly added system.fat_gen instantiations.
+
+ * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
+ s-fvagfl.ads: New files.
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
+ assignment of a value of a tagged type that has been rewritten to a
+ block statement, it is known by construction that no checks are
+ necessary for the statements within the block: analyze it with checks
+ suppressed.
+ (Expand_N_If_Statement): When killing a dead then-branch in an
+ if-statement that has elsif_parts, recompute the Current_Value node
+ for any entity whose value is known from the condition of the first
+ elsif_part.
+ (Expand_N_Return_Statement): When returning a mutable record, convert
+ the return value into its actual subtype in order to help the backend
+ to return the actual size instead of the maximum. This is another
+ aftermath of not returning mutable records on the sec-stack anymore.
+
+ * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
+ handling of error msg for suspicious reverse range iteration.
+ (Check_Possible_Current_Value_Condition): Move declaration from body to
+ spec, to allow this subprogram to be called from exp_ch5.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
+ generate a set of nested array aggregates instead of a single flat
+ aggregate for multi-dimensional arrays.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
+ by spawnve is a process handle, no need to convert. Add a parameter
+ close to control wether the process handle must be closed.
+ (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
+ a process handle, not need to convert.
+ (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
+
+ * g-expect.adb: (Kill): Document the new close parameter.
+ (Close): Do not release the process handle in the kill there as
+ waitpid() is using it.
+ (Send_Signal): Release the process handle.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
+ need a high precision float type for the generated code (prevents
+ gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+ used).
+
+ * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
+ need a high precision float type for the generated code (prevents
+ gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+ used).
+ (Expand_Width_Attribute): In configurable run-time, the attribute is not
+ allowed on non-static enumeration subtypes. Force a load error to emit
+ the correct diagnostic.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
+ subtype to compute the size of the designated object at run-time,
+ create such a subtype and store it in the Actual_Designated_Subtype
+ attribute of the N_Free_Statement.
+ Generate itype for classwide designated object in both cases of
+ user-specified storage pool: specific and class-wide, not only in the
+ specific case.
+ Raise CE when trying to set a not null access type object to null.
+ (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
+ an explicit loop, because freeze nodes make its position variable.
+
+ * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
+ null object.
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+
+ * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
+ Build_Stream_Procedure): Add the null-excluding attribute to the first
+ formal.
+ This has no semantic meaning under Ada95 mode but it is a
+ requirement under Ada05 mode.
+
+ * par-ch3.adb (P_Access_Definition): Addition of warning message if
+ the null exclusion is used under Ada95 mode
+ (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
+ (P_Access_Definition): Remove assertion that forbids the use of
+ the null-exclusion feature in Ada95.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Exclude container helper units not intended for use by
+ users.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For an access formal that is an access
+ to subprogram, freeze the anonymous subprogram type at the same time,
+ to prevent later freezing in the wrong scope, such as the enclosing
+ subprogram body.
+ (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
+ subprogram whenever available.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23732
+ * gnatvsn.ads (Library_Version): Bump to 4.1
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
+ Storage_Offset to avoid wrap around causing invalid results.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * gnatbind.adb (Is_Cross_Compiler): New function returning True for
+ cross-compiler.
+ (Scan_Bind_Arg): Fail with an error message if -M option is used
+ on a native compiler.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gprep.adb: Implement -C switch to scan comments
+
+ * scng.adb: Scan comment symbol separately if Replace_In_Comments set
+
+ * scans.ads: Comment updates (including new use of Tok_Comment in
+ preprocessing)
+
+ * opt.ads: Add documentation for flags that are used by gprmake,
+ currently and in the next version of gprmake.
+ (Verbosity_Level): New variable
+ Add Replace_In_Comments switch
+
+ * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
+ and -vm.
+ Add /REPLACE_IN_COMMENTS for gnatprep -C switch
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
+ message, friendlier.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
+
+2005-11-14 Doug Rupp <rupp@adacore.com>
+
+ * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * interfac.ads: Change declarations of IEEE float types so that we no
+ longer need a separate version of this package for VMS.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
+ internal entity created for the declaration of a child subprogram body
+ with no spec as coming from source, to generate proper cross-reference
+ information.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compile_Sources): Change verbose message to minimum
+ verbosity level High for "is in an Ada library", "is a read-only
+ library" and "is an internal library",
+ (Create_Binder_Mapping_File): Path name of ALI file for library project
+ must include the library directory, not the object directory.
+ (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
+ for new switches -vl, -vm and -vh.
+ (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
+ (Check): Use minimum verbosity Medium for some Verbose_Msg calls
+ (Compile_Sources): Do not attempt to compile if an ALI file is missing
+ in a project that is externally built.
+ (Compute_All_Imported_Projects): New procedure
+ (Gnatmake): Check if importing libraries should be regenerated because
+ at least an imported library is more recent.
+ (Initialize): For each project compute the list of the projects it
+ imports directly or indirectly.
+ (Add_Library_Search_Dir): New procedure, used in place of
+ Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+ put in the search paths.
+ (Add_Source_Search_Dir): New procedure, used in place of
+ Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+ put in the search paths.
+ (Mark_Directory): Resolve the absolute path the directory before marking
+ it.
+
+ * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
+ call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+ Switch. Do not handle any exception.
+ (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
+ so that the switch is recognized as valid.
+ (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
+
+2005-11-14 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
+ used.
+ (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
+ In both cases the last argument was dropped.
+
+2005-11-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * namet.h: (Column_Numbe): New type.
+ (Get_Column_Number): Define to sinput__get_column_number.
+ (Instantiation): Define to sinput__instantiation.
+ (Get_Column_Number): Declare.
+ (Instantiation): Likewise.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
+ syntax, which could cause compiler hangs.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * prj-ext.adb: Take into account new environment variable
+ GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
+ are defined.
+ (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
+ normalize its path name, making it absolute and resolving symbolic
+ links, and replace the original if resolved path is different.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
+ into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
+
+2005-11-14 Emmanuel Briot <briot@adacore.com>
+
+ * prj-pp.adb (Print): Do not output the with statement if the
+ associated name is empty, which happens for virtual extending projects.
+ (Print): Preserve the "extends all" attribute when printing the project.
+
+ * prj-tree.ads (String_Value_Of): Add comment about returned value for
+ a virtual extending project.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
+ rhs of an assignment even if the type is unconstrained, when the
+ context is non-expanding.
+ In an inlined body, if the context type is private,
+ resolve with its full view, which must be a composite type.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ Do not give obsolescent warning on with of subprogram (since we
+ diagnose calls)
+ (Analyze_With_Clause): Add test for obsolescent package
+ (Install_Context_Clauses): If the unit is the body of a child unit, do
+ not install twice the private declarations of the parents, to prevent
+ circular lists of Use_Clauses in a parent.
+ (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
+ compiling body of child unit.
+ Use new class N_Subprogram_Instantiation
+ (Expand_With_Clause): If this is a private with_clause for a child unit,
+ appearing in the context of a package declaration, then the implicit
+ with_clauses generated for parent units are private as well.
+ (License_Check): Do not generate message if with'ed unit is internal
+
+2005-11-14 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
+ names are internal, because they will not have a corresponding partner
+ in the actual package.
+ (Analyze_Formal_Package): Move the setting of the formal package spec's
+ Generic_Parent field so that it occurs prior to analyzing the package,
+ to allow proper operation of Install_Parent_Private_Declarations.
+ (Analyze_Package_Instantiation): Set the instantiated package entity's
+ Package_Instantiation field.
+ (Get_Package_Instantiation_Node): Move declaration to package spec.
+ Retrieve the N_Package_Instantiation node when the Package_Instantiation
+ field is present.
+ (Check_Generic_Child_Unit): Within an inlined call, the only possible
+ instantiation is Unchecked_Conversion, for which no parents are needed.
+ (Inline_Instance_Body): Deinstall and record the use_clauses for all
+ parent scopes of a scope being removed prior to inlining an instance
+ body.
+ (Analyze_Package_Instantiation): Do not perform front-end inlining when
+ the current context is itself an instance within a non-instance child
+ unit, to prevent scope stack errors.
+ (Save_References): If the node is an aggregate that is an actual in a
+ call, rewrite as a qualified expression to preserve some type
+ information, to resolve possible ambiguities in the instance.
+ (Instance_Parent_Unit): New global variable to record the ultimate
+ parent unit associated with a generic child unit instance (associated
+ with the existing Parent_Unit_Visible flag).
+ (type Instance_Env): New component Instance_Parent_Unit for stacking
+ parents recorded in the global Instance_Parent_Unit.
+ (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
+ stack.
+ (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
+ it's not a top-level unit, and only do this if Instance_Parent_Unit is
+ not already set. Replace test of Is_Child_Unit with test of parent's
+ scope against package Standard. Add comments and a ??? comment.
+ (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
+ on a child instance parent to test that the parent equals
+ Instance_Parent rather than simply checking that the unit is not a
+ child unit.
+ (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
+ (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
+ a formal interface are ancestors of the corresponding actual.
+ (Validate_Formal_Interface_Type): Additional legality checks.
+ (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
+ interface types with ancestors.
+ (Analyze_Formal_Package): If formal is a renaming, use renamed entity
+ to diagnose attempts to use generic within its own declaration.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
+ discriminant.
+ (Build_Private_Derived_Type): The entity of the created full view of the
+ derived type does not come from source. If after installing the private
+ declarations of the parent scope the parent is still private, use its
+ full view to construct the full declaration of the derived type.
+ (Build_Derived_Record_Type): Relax the condition that controls the
+ execution of the check that verifies that the partial view and
+ the full view agree in the set of implemented interfaces. In
+ addition, this test now only takes into account the progenitors.
+ (Derive_Interface_Subprograms): No need to derive subprograms
+ of ancestors that are interfaces.
+ (Derive_Subprograms): Remove formal No_Predefined_Prims and the
+ associated code.
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Complete_Subprograms_Derivation): Handle the case in which the full
+ view is a transitive derivation of the ancestor of the partial view.
+ (Process_Full_View): Rename local subprogram Find_Interface_In_
+ Descendant to Find_Ancestor_Interface to leave the code more clear.
+ Remove wrong code that avoids the generation of an error message
+ when the immediate ancestor of the partial view is an interface.
+ In addition some minor reorganization of the code has been done to
+ leave it more clear.
+ (Analyze_Type_Declaration): If type has previous incomplete tagged
+ partial view, inherit properly its primitive operations.
+ (Collect_Interfaces): Make public, for analysis of formal
+ interfaces.
+ (Analyze_Interface_Declaration): New procedure for use for regular and
+ formal interface declarations.
+ (Build_Derived_Record_Type): Add support for private types to the code
+ that checks if a tagged type implements abstract interfaces.
+ (Check_Aliased_Component_Type): The test applies in the spec of an
+ instance as well.
+ (Access_Type_Declaration): Clean up declaration of malformed type
+ declared as an access to its own classwide type, to prevent cascaded
+ crash.
+ (Collect_Interfaces): For private extensions and for derived task types
+ and derived protected types, the parent may be an interface that must
+ be included in the interface list.
+ (Access_Definition): If the designated type is an interface that may
+ contain tasks, create Master_Id for it before analyzing the expression
+ of the declaration, which may be an allocator.
+ (Record_Type_Declaration): Set properly the interface kind, for use
+ in allocators, the creation of master id's for task interfaces, etc.
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
+ omitted in case of stream attribute subprograms.
+ (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
+ appear immediately after a subprogram body, when there is no previous
+ subprogram declaration.
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Process_Formals): A non null qualifier on a non null named access
+ type is not an error, and is a warning only if Redundant_Constructs
+ are flagged.
+
+2005-11-14 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
+ nested within Analyze_Package_Specification to install the private
+ declarations and use clauses within each of the parent units of a
+ package instance of a generic child package.
+ (Analyze_Package_Specification): When entering a private part of a
+ package associated with a generic instance or formal package, the
+ private declarations of the parent must be installed (by calling new
+ procedure Install_Parent_Private_Declarations).
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Preserve_Full_Attributes): For a synchronized type, the corresponding
+ record is absent in a generic context, which does not indicate a
+ compiler error.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
+ not try to rewrite a renamed stream attribute, because the operations
+ on the type may not have been generated.
+ Handle properly a renaming_as_body generated for a stream operation
+ whose default is abstract because the object type itself is abstract.
+ (Find_Type): If the type is incomplete and appears as the prefix of a
+ 'Class reference, it is tagged, and its list of primitive operations
+ must be initialized properly.
+ (Chain_Use_Clauses): When chaining the use clauses that appear in the
+ private declaration of a parent unit, prior to compiling the private
+ part of a child unit, find on the scope stack the proper parent entity
+ on which to link the use clause.
+ (Note_Redundant_Use): Emit a warning when a redundant use clause is
+ detected.
+ (Analyze_Object_Renaming): An attribute reference is not a legal object
+ if it is not a function call.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Implement d.f flag
+ (Subtype_Statically_Match): A generic actual type has unknown
+ discriminants when the corresponding actual has a similar partial view.
+ If the routine is called to validate the signature of an inherited
+ operation in a child instance, the generic actual matches the full view,
+
+2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Provide a better error message whenever
+ a procedure call is used as a select statement trigger and is not an
+ entry renaming or a primitive of a limited interface.
+ (Valid_Conversion): If the operand has a single interpretation do not
+ remove address operations.
+ (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
+ statement to inhibit warning.
+ (Resolve_Unary_Op): Do not produce a warning when
+ processing an expression of the form -(A mod B)
+ Use Universal_Real instead of Long_Long_Float when we need a high
+ precision float type for the generated code (prevents gratuitous
+ Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+ (Resolve_Concatenation_Arg): Improve error message when argument is an
+ ambiguous call to a function that returns an array.
+ (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
+ there is an implicit operator in the given scope if we are within an
+ instance: legality check has been performed on the generic.
+ (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
+ after resolving operand, to avoid false warnings on overloaded calls.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ PR ada/15604
+ * sem_type.adb (Covers): In an inlined body, a composite type matches
+ a private type whose full view is a composite type.
+ (Interface_Present_In_Ancestor): Protect the frontend against
+ previously detected errors to ensure that its compilation
+ with assertions enabled gives the same output that its
+ compilation without assertions.
+ (Interface_Present_In_Ancestor): Add support for private types.
+ Change name In_Actual to In_Generic_Actual (clean up)
+ (Disambiguate): New predicate In_Actual, to recognize expressions that
+ appear in the renaming declaration generated for generic actuals, and
+ which must be resolved in the outer context.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb: Change name Is_Package to
+ Is_Package_Or_Generic_Package.
+ (Check_Obsolescent): New procedure.
+ (Set_Is_Public): Remove obsolete junk test.
+ (Set_Public_Status): Do not set Is_Public on an object whose declaration
+ occurs within a handled_sequence_of_statemets.
+ (Is_Controlling_Limited_Procedure): Factor some of the logic, account
+ for a parameterless procedure.
+ (Enter_Name): Recognize renaming declarations created for private
+ component of a protected type within protected operations, so that
+ the source name of the component can be used in the debugger.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
+ of a generic subprogram are not visible outside the body.
+ (Set_Warning_Switch): New procedure (code to set warning mode moved
+ here from Switch.C so that it can be shared by pragma processing.
+ (Check_References): Special case warning for non-modified non-imported
+ volatile objects.
+ * par-prag.adb: Modify processing of pragma Warnings to accomodate new
+ form with a string literal argument
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+
+ * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
+ anonymous access.
+ (Write): Addition of "not null" to the anonymous access.
+ (Read): Addition of "not null" to the anonymous access.
+ (Write): Addition of "not null" to the anonymous access.
+
+ * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
+ I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
+ I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
+ (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
+ W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
+ "not null" to the anonymous access.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
+ offset values
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * switch.adb (Bad_Switch): New procedure
+ (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
+ message when in error.
+
+ * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
+ Too_Many_Output_Files): Remove declarations, no longer used.
+ (Scan_Nat): New parameter Switch
+ (Scan_Pos): Ditto
+ (Bad_Switch): New procedure
+
+ * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
+ with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
+ new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
+ to Osint.Fail. Do not handle any exception.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
+ designates a non existent directory.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * xgnatugn.adb: Replace invalid membership test by 'Valid
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Gprmake): Do not attempt to build the global archive if
+ there is no object directory.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Minor adjustment to output format, use nn instead of nnn
+ (so that -gnateInnn does not run into next column)
+
+2005-11-14 Ed Falis <falis@adacore.com>
+
+ * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
+ "constrained"
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+
+ * s-chepoo.ads: Add comments on Dereference.
+ Remove unnecessary inherited abstract primitives.
+ Cosmetic cleanup.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
+ node parameter, not needed, since it is available as Declaration_Node.
+
+2005-11-14 Geert Bosch <bosch@adacore.com>
+
+ * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
+ grammatically correct.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.ads: Correct spelling error in comment
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi:
+ Document that -fstack-check is needed for strict compliance with the
+ Ada 95 Reference Manual.
+ Correct reference to VAX systems to meet HP guidelines
+ Add documentation for new gnatmake switches -vl, -vm and -vh
+ Replace DEC Ada by HP Ada
+ Replace DIGITAL by HP
+ Remove empty section on tools in compatibility section
+ Clarify the Windows convention semantics.
+ Document the Win32 calling convention.
+ The Stdcall, Win32 and DLL convention are synonyms.
+ Add a note in -gnatR description about zero size record components
+ Note on new >= and <= warnings for -gnatwc
+ Document that equal sign after -gnatm is optional.
+ Note that strip is working fine on DLL built with a Library
+ Project. The restriction apply only to DLL built with gnatdll.
+ Update section about the way to debug a DLL.
+ Update information about the DLL convention.
+ Document -C switch for gnatprep
+ Document new attribute Library_ALI_Dir
+ Update elaboration doc to include implicit Elaborate pragmas now
+ generated for subprogram instantiations.
+ Document limitation on executable names that include spaces for --GCC,
+ --GNATBIND, and --GNATLINK switches.
+ Document that -w causes -gnatws to be added at start of gcc switches
+
+ * gnat_rm.texi: Document that -mieee is needed for generating infinite
+ and NaN values in case of overflow on machines that are not fully
+ compliant with the IEEE floating-point standard.
+ Create a section describing the set of compiler options needed for
+ strict compliance with the Ada 95 Reference Manual.
+ Add documentation for pragma Obsolescent applied to a package
+ Clarify potential issues of mixed language programs related to the
+ I/O buffering enabling in the elaboration of the GNAT runtime.
+ Add extra documentation for pragma Restrictions (No_Elaboration_Code)
+ This documentation only patch adds extra documentsion for pragma
+ Restrictions (No_Elaboration_Code), explaining why it is not possible
+ to document this restriction in terms of allowed source constructs.
+ Document string literal form of pragma Warnings
+ Document new attribute Library_ALI_Dir
+ Add documentation on stable attributes in project files that was missing
+
+ * gnat-style.texi: Indicate that paragraphs within a single comment
+ should be separated by empty comment lines
+
+ * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
+ /05 respectively)
+
+ * bindusg.adb: Minor cleanup, put -m before -M for consistency
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
+ a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
+ a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
+ a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
+ a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
+ a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
+ a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+ a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
+ a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
+ a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+ a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
+ a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
+ g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
+ a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+ a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
+ system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
+ g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
+ g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
+ a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
+ a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
+ a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+ a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
+ a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
+ a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
+ system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
+ a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
+ a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
+ a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
+ system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
+ s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
+ system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
+ system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, s-inmaop-vms.adb,
+ s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
+ system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
+ s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
+ a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
+ a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
+ a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
+ a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
+ a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
+ a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
+ a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
+ a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
+ a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
+ a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
+ a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
+ a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+ a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
+ a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
+ a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+ a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
+ a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
+ a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
+ a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
+ a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+ a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
+ bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
+ csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
+ errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
+ exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
+ exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
+ freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
+ g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
+ g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
+ g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
+ g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
+ g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
+ g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
+ g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
+ g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
+ gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
+ gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
+ g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
+ g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
+ g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
+ g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
+ layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
+ mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
+ nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
+ osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
+ par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
+ par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+ par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
+ prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
+ prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
+ prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
+ prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
+ sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
+ sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
+ sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
+ s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
+ sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
+ s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
+ s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
+ s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
+ s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
+ s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
+ s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
+ s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
+ s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
+ s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
+ s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
+ s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
+ s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
+ s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
+ s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
+ s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
+ s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
+ s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
+ s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
+ s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
+ s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
+ styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
+ s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
+ s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
+ s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
+ s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
+ s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
+ s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
+ s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
+ s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
+ table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
+ tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
+ ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
+ usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
+ xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
+ xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
+ a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
+ a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
+ a-numaux-darwin.ads, a-numaux-darwin.adb,
+ a-swuwha.ads, a-stunha.ads: Minor reformatting
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ PR ada/18434
+ * osint-m.adb: Add pragma Elaborate_All for Osint
+
+2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/23995
+ * trans.c (call_to_gnu): Restore statement lost in translation.
+
+2005-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c: Use the Linux-specific section for the IA-64/Linux target.
+ (__gnat_adjust_context_for_raise): Add conditional code so that the
+ IA-64 is also supported.
+
+2005-11-03 James E Wilson <wilson@specifix.com>
+
+ PR ada/23427
+ * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+ TREE_OVERFLOW check.
+
+2005-09-21 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/22418
+ * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
+ as we create them to store a size in bits.
+
+2005-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/21937
+ PR ada/22328
+ PR ada/22381
+ PR ada/22383
+ PR ada/22419
+ PR ada/22420
+ * utils2.c (build_return_expr): New helper function.
+ * gigi.h (build_return_expr): Declare it.
+ * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
+ of manually building the RETURN_EXPR tree.
+ (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
+ (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
+ build_binary_op for the "target pointer" case. Use build_return_expr
+ instead of manually building the RETURN_EXPR tree.
+
+2005-09-16 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/23788
+ * s-tpinop.ads: Make this unit Preelaborate.
+
+2005-09-16 Andreas Jaeger <aj@suse.de>
+
+ * socket.c: Add string.h for memcpy.
+
+2005-09-05 Arnaud Charlet <charlet@adacore.com>
+
+ * dec-io.ads, dec-io.adb: Removed, no longer used.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
+
+ * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+ s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
+ s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
+ dependent units are Preelaborate.
+ (Initialize): Call Interrupt_Managemeent.Initialize and
+ OS_Primitives.Initialize to ensure proper initialization of this unit.
+ Remove use of System.Soft_Links
+ Make this unit Preelaborate.
+
+ * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+ s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
+ s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
+ s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
+ s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+ s-tratas.ads, s-tasinf.ads: Minor reformatting.
+ Add pragma Preelaborate, since these packages are suitable for this
+ categorization.
+ Update comments.
+
+ * s-traent-vms.ads, s-intman-dummy.adb,
+ s-taprop-dummy.adb: Make this unit Preelaborate.
+
+ * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+ s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
+ s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
+ s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
+ s-intman-solaris.adb, s-intman-irix-athread.adb,
+ s-intman-irix.adb: Mark this unit Preelaborate.
+ (Initialize): New procedure.
+ Update comments.
+
+ * s-taspri-linux.ads: Removed.
+
+ * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
+ as done by other implementations (e.g. posix).
+
+ * s-taprop.ads (Timed_Delay): Update spec since the caller now is
+ responsible for deferring abort.
+ Mark this unit Preelaborate.
+
+ * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
+ proper initialization of the tasking run-time.
+
+ * s-tasdeb.ads: Mark this unit Preelaborate.
+ (Known_Tasks): Add explicit default value to avoid elaboration code.
+
+ * s-inmaop-vms.adb (Elaboration code): Add call to
+ Interrupt_Management.Initialize since the elaboration code depends on
+ proper initialization of this package.
+
+ * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
+ s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
+ s-osprim-posix.adb: Make this unit Preelaborate.
+
+ * a-calend.adb: Add call to OS_Primitives.Initialize
+
+ * a-elchha.adb: Update use of Except.Id.Full_Name.
+ Minor reformatting.
+ Remove use of Ada.Exceptions.Traceback when possible, cleaner.
+
+ * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
+ Move with clauses outside Warnings Off now that dependent units are
+ Preelaborate.
+ Use raise xxx with "..."; Ada 2005 form.
+
+ * a-taside.ads, a-taside.adb:
+ Remove some dependencies, to make it easier to make this unit truly
+ Preelaborate.
+ Rewrite some code to be conformant with Preelaborate rules.
+
+ * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
+ marked Preelaborate in the future.
+
+ * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
+ these units Preelaborate.
+
+ * s-exctab.adb: Update use of Except.Id.Full_Name.
+
+ * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
+ (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
+ Set_Exc_Stack_Addr): Removed, no longer used.
+ Remove reference to *Machine_State_Addr*, no longer needed.
+
+ * s-stalib.ads: Mark this unit as Preelaborate[_05].
+ (Exception_Data): Full_Name is now a System.Address so that this unit
+ can be made Preelaborate.
+ Clean up/simplify code thanks to Full_Name being a System.Address.
+ Remove obsolete pragma Suppress (All_Checks), no longer needed.
+
+ * s-taskin.ads, s-taskin.adb:
+ Move with clauses outside Warnings Off now that dependent units are
+ Preelaborate.
+ Make this unit Preelaborate.
+ (Initialize): New proceduure, replace elaboration code and makes the
+ set up of the tasking run-time cleaner.
+ (Detect_Blocking): Now a function instead of a deferred boolean, to
+ obey Preelaborate rules.
+
+ * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
+ soft links, no longer used.
+
+ * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
+ packages are suitable for this categorization.
+
+ * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
+ since we compile run-time sources in Ada 2005 mode.
+ (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
+ avoid having s-taprop*.adb depend on s-soflin and to avoid code
+ duplication.
+ Remove reference to *Machine_State_Addr*, no longer needed.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
+ (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
+ Remove reference to System.Exceptions.
+
+ * s-mastop-x86.adb: Removed, no longer used.
+
+ * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
+
+ * a-excach.adb: Minor reformatting.
+
+ * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
+ instead fix new warnings that were hidden by this change.
+ (AAA, ZZZ): Removed, replaced by...
+ (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
+ are used instead of constants, to help make Ada.Exception truly
+ preelaborate.
+ (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
+ Raise_Storage_Error): File is now a System.Address, to simplify code.
+ (Elab code): Removed, no longer used.
+ (Null_Occurrence): Remove Warnings Off and make this construct
+ preelaborate.
+ Remove code related to front-end zero cost exception handling, since
+ it is no longer used.
+ Remove -gnatL/-gnatZ switches.
+
+ * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
+ Update use of Except.Msg.
+
+ * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
+ freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
+ to front-end zero cost exception handling, since it is no longer used.
+ Remove -gnatL/-gnatZ switches.
+
+ * lib-writ.ads: Minor reformatting
+ Remove doc of UX
+
+ * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
+
+ * Make-lang.in: Remove references to s-except.ads
+
+ * s-except.ads: Removed, no longer used.
+
+ * s-mastop.ads, s-mastop.adb:
+ (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
+ Remove reference to System.Exceptions.
+
+ * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
+ switch-b.adb: Remove code related to front-end zero cost exception
+ handling, since it is no longer used.
+ Remove -gnatL/-gnatZ switches.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
+ type by valid test and generate warning.
+ (Tagged_Membership): Generate call to the run-time
+ subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
+ Change formal name Subtype_Mark to Result_Definition in several calls to
+ Make_Function_Specification.
+ (Expand_Allocator_Expression): Add tests for suppression of the AI-344
+ check for proper accessibility of the operand of a class-wide allocator.
+ The check can be left out if checks are suppressed or if the expression
+ has a specific tagged type whose level is known to be safe.
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
+ generates the run-time check associated with null-excluding entities.
+ (Expand_N_Return_Statement): Add tests to determine if the accessibility
+ check on the level of the return expression of a class-wide function
+ can be elided. The check usually isn't needed if the expression has a
+ specific type (unless it's a conversion or a formal parameter). Also
+ add a test for whether accessibility checks are suppressed. Augment
+ the comments to describe the conditions for performing the check.
+
+2005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * a-tags.adb (IW_Membership): Give support to
+ "Iface_CW_Typ in T'Class". For this purpose the functionality of this
+ subprogram has been extended to look for the tag in the ancestors tag
+ table.
+ Update the structure of the GNAT Dispatch Table to reflect the
+ additional two tables used in dispatching selects.
+ Introduce appropriate array types and record components in
+ Type_Specific_Data to reflect the two tables.
+ (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
+ the TSD of a tag, indexed by position.
+ (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
+ operation kind in the TSD of a tag, indexed by position.
+
+ * a-tags.ads: Introduce an enumeration type to capture different
+ primitive operation kinds. Define a constant reflecting the number of
+ predefined primitive operations.
+ (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
+ of an entry wrapper.
+ (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
+ callable entity of a primitive operation.
+
+ * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
+ primitive operations used in dispatching selects for limited
+ interfaces, limited tagged, task and protected types what implement a
+ limited interface.
+ (Freeze_Type): Generate the bodies of the primitive operations used in
+ dispatching selects for limited tagged, task and protected types that
+ implement a limited interface. Generate statements to populate the two
+ auxiliary tables used for dispatching in select statements.
+ (Freeze_Record_Type): Add call to initialize the dispatch table entries
+ associated with predefined interface primitive operations.
+ (Build_Dcheck_Function): Change Set_Subtype_Mark to
+ Set_Result_Definition.
+ (Build_Variant_Record_Equality): Change Subtype_Mark to
+ Result_Definition.
+ (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
+ (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
+ (Build_Assignment): Simplify the code that adds the run-time-check.
+ (Expand_N_Object_Declaration): Code cleanup.
+
+ * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
+ entries when there is a protected type that implements a limited
+ interface.
+
+ * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
+ common routines used in expansion of dispatching selects.
+ (Add_Private_Declarations): Select the appropriate protection type when
+ there is a protected type that implements a limited interface.
+ (Build_Parameter_Block): Generate a wrapped parameter block.
+ (Build_Protected_Subprogram_Body): Select the appropriate type for
+ locking entries when there is a protected type that implements a
+ limited interface.
+ (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
+ classified as entry wrappers.
+ (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
+ asynchronous selects.
+ (Expand_N_Conditional_Entry_Call): Add support for expansion of
+ dispatching conditional selects.
+ (Expand_N_Protected_Type_Declaration): Select the appropriate type for
+ protection when there is a protected type that implements limited
+ interfaces.
+ (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
+ timed selects.
+ (Extract_Dispatching_Call): Extract the entity of the name of a
+ dispatching call, the object parameter, actual parameters and
+ corresponding formals.
+ (Make_Initialize_Protection): Correct logic of protection initialization
+ when there is a protected type that implements a limited interface.
+ (Parameter_Block_Pack): Populate a wrapped parameter block with the
+ values of actual parameters.
+ (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
+ block and assign them to the original actual parameters.
+
+ * exp_ch9.ads (Subprogram_Protection_Mode): New type.
+ (Build_Protected_Sub_Specification): Change the type and name of the
+ last formal to account for the increased variety of protection modes.
+
+ * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
+ entities. Used to save the value of the Is_Hidden attribute when the
+ limited-view is installed.
+ (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
+ the attribute of procedures classified as entry wrappers.
+ (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
+ entity of a primitive wrapper.
+ (Write_Entity_Flags): Output the name and value of the
+ Is_Primitive_Wrapper attribute.
+ (Write_Field27_Name): Output the name and entity of the field Wrapped_
+ Entity.
+ (Underlying_Type): If we have an incomplete entity that comes from
+ the limited view then we return the Underlying_Type of its non-limited
+ view if it is already available.
+ (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
+ including operators.
+ (Write_Field26_Name): Add entry for Overridden_Operation
+ (Overridden_Operation): New attribute of functions and procedures.
+
+ * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
+ predefined position in the dispatch table for the primitive operations
+ used in dispatching selects.
+ (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
+ predefined primitive operations and replace it with
+ Default_Prim_Op_Count.
+ (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+ Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
+ the names of the generated primitive operations used in dispatching
+ selects.
+ (Init_Predefined_Interface_Primitives): No need to inherit primitives in
+ case of abstract interface types. They will be inherit by the objects
+ implementing the interface.
+ (Make_DT): There is no need to inherit the dispatch table of the
+ ancestor interface for the elaboration of abstract interface types.
+ The dispatch table will be inherited by the object implementing the
+ interface.
+ (Copy_Secondary_DTs): Add documentation.
+ (Validate_Position): Improve this static check in case of
+ aliased subprograms because aliased subprograms must have
+ the same position.
+ (Init_Predefined_Interface_Primitives): New subprogram that initializes
+ the entries associated with predefined primitives of all the secondary
+ dispatch tables.
+ (Build_Anonymous_Access_Type): Removed.
+ (Expand_Interface_Actuals): With the previous cleanup there is no need
+ to build an anonymous access type. This allows further cleanup in the
+ code generated by the expander.
+ (Expand_Interface_Conversion): If the actual is an access type then
+ build an internal function to handle the displacement. If the actual
+ is null this function returns null because no displacement is
+ required; otherwise performs a type conversion that will be
+ expanded in the code that returns the value of the displaced actual.
+ (Expand_Interface_Actuals): Avoid the generation of unnecessary type
+ conversions that have no effect in the generated code because no
+ displacement is required. Code cleanup; use local variables to
+ avoid repeated calls to the subprogram directly_designated_type().
+
+ * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+ Classify the primitive operations used in dispatching selects as
+ predefined.
+ (Implements_Limited_Interface): Determine whether some type either
+ directly implements a limited interface or extends a type that
+ implements a limited interface.
+ (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
+ (Expand_Subtype_From_Expr): Do not build actual subtype if the
+ expression is limited.
+ (Find_Interface_Tag): Add code to handle class-wide types and
+ entities from the limited-view.
+
+ * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
+ Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
+ POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
+ POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
+ Set_Prim_Op_Kind.
+
+ * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
+ of procedure name or prefix that appears as a trigger in a triggering
+ alternative.
+
+ * uintp.ads: Introduce constants Uint_11 and Uint_13.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tataat.adb, a-tasatt.adb:
+ Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
+
+ * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
+ these procedures to body, and renamed Abort_Defer, Abort_Undefer.
+ (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
+ longer used.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-vxworks.adb:
+ Move with clauses outside Warnings Off now that dependent units are
+ Preelaborate.
+ (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
+ initialization of this unit.
+ (Specific): Add new procedures Initialize and Delete so that this
+ package can be used for VxWorks 5.x and 6.x
+ (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
+ differences between VxWorks 5.x and 6.x
+ Minor reformatting.
+ (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
+ caller.
+ Use only Preelaborate-compatible constructs.
+
+ * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
+ Primitives.Operations.
+ (Delete, Initialize): New procedures.
+
+ * s-osinte-vxworks.adb: Body used to handle differences between
+ VxWorks 5.x and 6.x
+ (kill, Set_Time_Slice, VX_FP_TASK): New functions.
+
+ * s-osinte-vxworks.ads: Minor reformatting.
+ Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
+ (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
+ and 6.
+ (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
+ between Vxworks 5 and 6.
+ (taskLock, taskUnlock): Removeed, no longer used.
+
+ * adaint.c: The wait.h header is not located in the sys directory on
+ VxWorks when using RTPs.
+ (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
+ using RTPs.
+ (__gnat_dup): dup is available on Vxworks when using RTPs.
+ (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
+
+ * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
+
+ * expect.c: The wait.h header is not located in the sys directory on
+ VxWorks when using RTPs.
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
+
+ * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
+
+ * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+ g-soccon-freebsd.ads: Add new constants:
+ IP_MULTICAST_IF
+ SO_RCVTIMEO/SO_SNDTIMEO
+ IOV_MAX
+
+ * gen-soccon.c:
+ Move all target-specific file inclusions and macro definitions to
+ gsocket.h, in order to ensure that any C code in socket.c will see a
+ set of constants that is consistent with the contents of g-soccon.ads.
+
+ * gsocket.h: Code imported from gen-soccon.c:
+ Move all target-specific file inclusions and macro definitions to
+ gsocket.h, in order to ensure that any C code in socket.c will see a set
+ of constants that is consistent with the contents of g-soccon.ads.
+ This change also makes gen-soccon self-contained (removing dependencies
+ upon GCC internal headers).
+
+ * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
+ iovecs at a time.
+ (To_Inet_Addr): Now a procedure instead of a function, more efficient.
+
+ * socket.c: Minor reformatting.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * fname-sf.adb, mlib-tgt.ads,
+ back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
+ g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
+ osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
+ prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
+ prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
+ prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
+ sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
+ makegpr.adb: Remove redundant use_clauses.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
+ s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
+ s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
+ s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
+ s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
+ s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
+ s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
+ table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
+ s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
+ a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
+ a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
+ a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
+ a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
+ system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+ system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+ s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+ s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
+ s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
+ system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
+ s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
+ system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
+ s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
+ a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
+ a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
+ a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
+ a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
+ a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
+ a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
+ a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
+ a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
+ a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
+ a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
+ csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
+ g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
+ a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
+ a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
+ a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
+ a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
+ g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
+ i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
+ interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
+ i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
+ s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
+ s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
+ s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
+ s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
+ s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
+ s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
+ s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
+ s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
+ s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
+ s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
+ s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
+ s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
+ s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
+ s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
+ s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
+ s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
+ s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
+ s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
+ s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
+ s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
+ s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
+ and always use the no parameter form for consistency.
+
+ * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * binde.adb: Minor reformatting
+ (Find_Elab_Order): Output warning if -p used with static elab order
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Check_Needed): New procedure, deals with removing checks
+ based on analysis of short-circuited forms. Also generates warnings for
+ improper use of non-short-circuited forms.
+ Code clean ups.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
+ with 'Valid tests.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
+ spec.
+ Implement new insertion char < (conditional warning)
+ * errutil.adb, erroutc.adb: Implement new insertion char <
+ (conditional warning).
+ * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
+ (Error_Msg_Warn): New variable for < insertion char.
+ * prj-nmsc.adb: Implement new errout insertion char < (conditional
+ warning).
+ (Check_For_Source): Change value of Source_Id only after the current
+ source has been dealt with.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+
+ * exp_attr.adb: Handle vax fpt for 'Valid attribute
+ * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
+ * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
+ (Valid_D, Valid_F, Valid_G): New functions
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
+ from object notation, the original node is unanalyzed and carries no
+ semantic information, so that accessiblity checks must be performed on
+ the type of the actual itself.
+ (Expand_N_Subprogram_Declaration): Change last actual parameter for
+ compatibility with Build_Protected_Sub_Specification.
+ (Check_Overriding_Inherited_Interfaces): Add suport to handle
+ overloaded primitives.
+ (Register_Interface_DT_Entry): Use the new name of the formal
+ the the calls to Expand_Interface_Thunk
+
+ * exp_dbug.ads: Augment comments on encoding of protected types to
+ include the generation of dispatching subprograms when the type
+ implements at least one interface.
+
+ * lib.ads: Extend information in Load_Stack to include whether a given
+ load comes from a Limited_With_Clause.
+
+ * lib-load.adb (From_Limited_With_Chain): New predicate to determine
+ whether a potential circularity is harmless, because it includes units
+ loaded through a limited_with clause. Extends previous treatment which
+ did not handle properly arbitrary combinations of limited and
+ non-limited clauses.
+
+2005-09-01 Nicolas Setton <setton@adacore.com>
+
+ * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
+ to be encoded as typ___XBLU_lowerbound__upperbound instead of
+ typ___XB_lowerbound__upperbound.
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
+ dummy access formal for RACW/RAS TypeCode TSS.
+ (Build_TypeCode_Call): Do not generate dummy null access actual for
+ calls to the TypeCode TSS.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
+ fully qualified name, to distinguish instances with the same local name.
+
+ * g-souinf.ads (Enclosing_Entity): Document that entity name is now
+ fully qualified.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
+ packed arrays.
+
+2005-09-01 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
+ (Free): New deallocation procedure for filter elements
+ (Close): Deallocate any existing filter for the concerned connection
+
+2005-09-01 Laurent Pautet <pautet@adacore.com>
+
+ * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
+ position set is provided, we compute one in order to reduce the maximum
+ length of the keys. This computation first selects a character
+ position between 1 and the minimum length of the keys in order to
+ avoid reducing one of the keys to an empty string.
+ (Initialize, Compute): When the ratio V to K is too low, the algorithm
+ does not converge. The initialization procedure now comes with a
+ maximum number of iterations such that when exceeded, an exception is
+ raised in Compute. The user can initialize this ratio to another value
+ and try again
+ Reformating and updated headers.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+
+ * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
+ that given an entity T creates and returns an Itype that duplicates the
+ contents of T. The returned Itype has the null-exclusion
+ attribute set to True, and its Etype attribute references T
+ to keep the association between the two entities.
+ Update copyright notice
+
+ * sem_aggr.adb (Check_Can_Never_Be_Null,
+ Aggregate_Constraint_Checks, Resolve_Aggregate,
+ Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
+
+ * sem_ch5.adb (Analyze_Assignment): Code cleanup.
+
+2005-09-01 Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
+ Result_Definition.
+
+ * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
+ function specs.
+ Call Set_Result_Definition instead of Set_Subtype_Mark.
+ (P_Subprogram_Specification): Add parsing of anonymous access result
+ plus null exclusions. Call Set_Result_Definition instead of
+ Set_Subtype_Mark.
+
+ * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
+ (P_Access_Type_Definition): Add parsing for an anonymous access result
+ subtype, plus parsing for null exclusions. Call Set_Result_Definition
+ instead of Set_Subtype_Mark.
+
+ * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
+ (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
+ (Result_Definition): New function for N_Function_Specifications.
+ (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
+ N_Function_Specification.
+ (Set_Null_Exclusion_Present): Allow this flag for
+ N_Function_Specification.
+ (Set_Result_Definition): New procedure for N_Function_Specifications.
+ (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
+ and N_Function_Specification.
+
+ * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
+ Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
+ Add support for LIMITED NEW for Ada 2005 AI-419
+ Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
+ syntax for anonymous access results.
+ Replace Subtype_Mark field by Result_Definition in
+ N_Function_Specification and N_Access_Definition specs.
+ Add Null_Exclusion_Present to spec of N_Function_Specification.
+ (Result_Definition): New function for N_Function_Specification and
+ N_Access_Function_Definition.
+ (Set_Result_Definition): New procedure for N_Function_Specification and
+ N_Access_Function_Definition.
+
+ * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
+ Result_Definition for cases of N_Access_Function_Definition and
+ N_Function_Specification.
+ Print "not null" if Null_Exclusion_Present on N_Function_Specification.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * lib-writ.adb: Update Copyright notice
+ (Write_With_Lines): On platforms where file names are case-insensitive,
+ record the file names in lower case.
+ (Write_ALI): For D lines, on platforms where file names are
+ case-insensitive, record the file names in lower case.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+
+ * lib-xref.adb (Output_Overridden_Op): Display information on
+ overridden operation.
+
+ * lib-xref.ads: Add documentation on overridden operations.
+
+ * ali.ads (Xref_Entity_Record): Add support for storing the overriding
+ information.
+
+ * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
+ overriding entity information.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
+ including those that are inherited.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
+
+ * par-prag.adb: Implement new pragma Debug_Policy
+
+ * sem_prag.adb Implement new pragma Debug_Policy
+ (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
+ Component_Size attribute specification. Give warning for ignored pragma
+ Pack.
+
+ * snames.h, snames.ads, snames.adb: Introduce entries in
+ Preset_Names for Name_Disp_Asynchronous_Select,
+ Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
+ Name_Disp_Timed_Select.
+ New pragma Debug_Policy
+
+ * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
+ explicitly.
+ Switch -gnata also sets Debug_Pragmas_Enabled
+
+ * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
+ handle an explicit -gnata when compiling predefined files.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
+ directories of projects that have no Ada sources.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
+ (makes a difference for wide characters)
+
+ * widechar.adb, widechar.ads:
+ Add Wide_Char_Byte_Count feature to count chars vs bytes
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
+ 'Address attribute reference with an overloaded prefix, use the
+ location of the prefix (not the location of the attribute reference) as
+ the error location.
+ (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
+ a function renaming thereof, is a valid prefix for 'Size (where it is
+ intepreted as a function call).
+ (Statically_Denotes_Entity): New predicate to determine whether the
+ prefix of an array attribute can be considered static.
+
+ PR ada/9087
+ (Eval_Attr): Fix failure to evaluate Component_Size for
+ unconstrained arrays (resulted in wrong value in packed case, since
+ back end cannot handle this case)
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
+ error msgs for most common cases.
+ Use new errout insertion char < (conditional warning)
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
+ become local to the whole package.
+ (Install_Limited_Withed_Unit): Instead of unchaining real entities if
+ the package was already analyzed the new algorithm "replaces" the
+ real entities by the shadow ones. This is required to ensure that
+ the order of these entities in the homonym chains does not change;
+ otherwise we can have undefined references at linking time because
+ in case of conflicts the external name of the entities will have
+ a suffix that depends on the order of the entities in the chain.
+ (Remove_Limited_With_Clause): Complementary code that completes the
+ new algorithm and replaces the shadow entities by the real ones.
+ (Install_Limited_Withed_Unit): When unchaining entities before the
+ installation of the shadow entities, only regular entities of the
+ public part must be taken into account. This is required to
+ keep this routine in synch with the work done by Remove_Limited_
+ With_Clause
+ (Install_Limited_With_Clause): Introduce implicit limited_with_clause
+ even if unit is analyzed, because the analysis of the unit is
+ idempotent in any case, and the limited view of the unit may have to
+ be installed for proper visibility.
+ (Expand_Limited_With_Clause): Even if the unit in the implicit
+ with_clause has been analyzed already, a limited view of the package
+ must be built for the current context, if it does not exist yet.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
+ defining entity for the instance body, make a new defining identifier
+ rather than copying the entity of the spec, to prevent accidental
+ sharing of the entity list.
+ (Check_Private_View): When exchanging views of private types, build the
+ list of exchanged views as a stack, to ensure that on exit the exchanges
+ are undone in the proper order.
+ (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
+ Restore the compilation environment in case of instantiation_error.
+ (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
+ for an anonymous access result.
+ (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
+ (Formal_Entity): Handle properly the case of a formal package that
+ denotes a generic package renaming.
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
+ clause if the array aggregate is surrounded by parentheses.
+
+2005-09-01 Cyrille Comar <comar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
+ underlying type
+ to check if a type is Constrained in cases related to code generation
+ (rather than semantic checking) since otherwise we do not generate
+ similar code for mutable private types depending if their
+ discriminants are visible or not.
+ (Check_Abstract_Overriding): Do not complain about failure to override
+ the primitive operations used in dispatching selects since they will
+ always be overriden at the freeze point of the type.
+ (Access_Definition): Separate out handling for resetting the scope
+ of an anonymous access function result type. Retrieve the scope
+ of the associated function rather than using Current_Scope, which
+ does not have a consistent value (depends on whether we're in the
+ middle of analyzing formal parameters). Add ??? comment about
+ finding a cleaner way to handle the special cases of scope setting.
+ (Process_Incomplete_Dependents): A protected operation is never a
+ dispatching operation (only its wrapper may be).
+ (Build_Derived_Record_Type): In case of tagged private types that
+ implement interfaces add derivation of predefined primitive
+ operations.
+ (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
+ by two parameters that are used in case of derivation from abstract
+ interface types: No_Predefined_Prims is used to avoid the derivation
+ of predefined primitives from the interface, and Predefined
+ Prims_Only is used to complete the derivation predefined primitives
+ in case of private tagged types implementing interfaces.
+ Fix typo in comments
+ (Find_Interface_In_Descendant): Protect the frontend against
+ wrong code with large circularity chains.
+ (Is_Private_Overriding): Add support for entities overriding interface
+ subprograms. The test failed because Entities associated with overriden
+ interface subprograms are always marked as hidden (and used to build
+ the secondary dispatch table); in this case the overriden entity is
+ available through the field abstract_interface_alias (cf. override_
+ dispatching_operation)
+ (Access_Definition): Set the scope of the type to Current_Scope for the
+ case of a function with an anonymous access result type.
+ (Access_Subprogram_Declaration): Handle creation of the type entity for
+ an access-to-function type with an anonymous access result.
+ (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
+ in handling for N_Access_Function_Definition.
+ (Analyze_Subtype_Declaration): Modify the text of error message.
+ (Derived_Type_Declaration): Modify the text of error message.
+ (Process_Subtype): Modify the text of error message plus cleanup
+ of one redundant error message.
+ (Analyze_Component_Declaration): Code cleanup.
+ (Analyze_Object_Declaration): Code cleanup.
+ (Analyze_Subtype_Declaration): Propagate the null-exclusion
+ attribute in case of access types. Code cleanup.
+ (Array_Type_Declaration): Code cleanup.
+ (Process_Discriminants): Create the new null-excluding itype
+ if required. Code cleanup.
+ (Process_Subtype): Create the new null-excluding itype if
+ required. Code cleanup.
+ (Build_Derived_Record_Type): Code cleanup to avoid calling
+ twice the subprogram derive_subprograms in case of private
+ types that implement interfaces. In this particular case the
+ subprogram Complete_Subprograms_Derivation already does the
+ job associated with the second call.
+
+ * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
+ conversion to the full view when generating an operation for a
+ discriminant whose type may currently be private.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Transform_Object_Operation): In a context off the form
+ V (Obj.F), the rewriting does not involve the indexed component, but
+ only the selected component itself.
+ Do not apply the transformation if the analyzed node is an actual of a
+ call to another subprogram.
+ (Complete_Object_Operation): Retain the entity of the
+ dispatching operation in the selector of the rewritten node. The
+ entity will be used in the expansion of dispatching selects.
+ (Analyze_One_Call): Improve location of the error message associated
+ with interface.
+ (Analyze_Selected_Component): No need to resolve prefix when it is a
+ function call, resolution is done when parent node is resolved, as
+ usual.
+ (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
+ when attempting to resolve a call transformed from its object notation.
+ (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
+ of the argument list for each interpretation of the operation.
+ (Try_Object_Operation): The designated type of an access parameter may
+ be an incomplete type obtained through a limited_with clause, in which
+ case the primitive operations of the type are retrieved from its full
+ view.
+ (Analyze_Call): If this is an indirect call, and the return type of the
+ access_to_subprogram is incomplete, use its full view if available.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
+ access types the null-exclusion and access-to-constant attributes must
+ also match.
+ (Analyze_Return_Statement): When the result type is an anonymous access
+ type, apply a conversion of the return expression to the access type
+ to ensure that appropriate accessibility checks are performed.
+ (Analyze_Return_Type): For the case of an anonymous access result type,
+ generate the Itype and set Is_Local_Anonymous_Access on the type.
+ Add ??? placeholder for check to disallow returning a limited object
+ in Ada 2005 unless it's an aggregate or a result of a function call.
+ Change calls from Subtype_Mark to Result_Definition.
+ (Analyze_Subprogram_Body): Change formal Subtype_Mark to
+ Result_Definition in call to Make_Function_Specification.
+ (Build_Body_To_Inline): Change Set_Subtype_Mark to
+ Set_Result_Definition.
+ (Make_Inequality_Operator): Change formal Subtype_Mark to
+ Result_Definition in call to Make_Function_Specification.
+ (Process_Formals): Create the new null-excluding itype if required.
+ (New_Overloaded_Entity): For an entity overriding an interface primitive
+ check if the entity also covers other abstract subprograms in the same
+ scope. This is required to handle the general case, that is, overriding
+ other interface primitives and overriding abstract subprograms inherited
+ from some abstract ancestor type.
+ (New_Overloaded_Entity): For an overriding entity that comes from
+ source, note the operation that it overrides.
+ (Check_Conformance, Type_Conformant): Addition of one new formal
+ to skip controlling formals in the analysis. This is used to
+ handle overloading of abstract interfaces.
+ (Base_Types_Match): Add missing case for types imported from
+ limited-with clauses
+ (New_Overloaded_Entity): Add barrier to protect the use of
+ the "alias" attribute.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
+ verify that the procedure and the entry are mode conformant.
+ (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
+ as a different operator, which is often a cut-and-paste error.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
+ used in controlling parameters exclude null because it is necessary to
+ read the tag to dispatch, and null has no tag.
+ (Override_Dispatching_Operation): If the previous operation is inherited
+ from an interface, it becomes hidden and does not participate in later
+ name resolution.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb (Resolve_Membership_Op): In case of the membership test
+ "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
+ the expander will generate the corresponding run-time check to evaluate
+ the expression.
+ (Resolve_Call): Check for legal type of procedure name or prefix that
+ appears as a trigger in a triggering alternative.
+ (Valid_Conversion): If expression is ambiguous and the context involves
+ an extension of System, remove System.Address interpretations.
+ (Resolve_Qualified_Expression): Reject the case of a specific-type
+ qualification applied to a class-wide argument. Enhance comment
+ to explain checking of Original_Node.
+ (Resolve_Type_Conversion): The location of the error message was not
+ general enough to handle the general case and hence it has been removed.
+ In addition, this patch improves the text of the message.
+ (Resolve_Type_Conversion): Add missing support for access to interface
+ types.
+ (Resolve_Type_Conversion): If the target is a class-wide interface type,
+ do not expand if the expression is the actual in a call, because proper
+ expansion will take place when the call itself is expanded.
+ (Resolve_Allocator): If the context is an unchecked conversion, the
+ allocator inherits its storage pool, if any, from the target type of
+ the conversion.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Add_One_Interp): If a candidate operation is an
+ inherited interface operation that has an implementation, use the
+ implementation to avoid spurious ambiguities.
+ (Interface_Present_In_Ancestor): In case of concurrent types we can't
+ use the Corresponding_Record_Typ attribute to look for the interface
+ because it is set by the expander (and hence it is not always
+ available). For this reason we traverse the list of interfaces
+ (available in the parent of the concurrent type).
+ (Interface_Present_In_Ancestor): Handle entities from the limited view
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
+ from the list of required components.
+ (Is_Controlling_Limited_Procedure): Determine whether an entity is a
+ primitive procedure of a limited interface with a controlling first
+ parameter.
+ (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
+ of an entry.
+ (Safe_To_Capture_Value): A value (such as non_null) is not safe to
+ capture if it is generated in the second operand of a short-circuit
+ operation.
+ Do not capture values for variables with address clauses.
+ (Is_Object_Reference): Treat a function call as an object reference only
+ if its type is not Standard_Void_Type.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
+ to a variable that is statically known to be constant.
+
+2005-09-01 Geert Bosch <bosch@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
+ (VAXGF_Safe_First): Idem.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * g-dirope.ads: Minor reformatting
+ Document that bounds of result of Base_Name match the input index
+ positions.
+ Add documentation on environment variable syntax for Expand_Path
+
+ * gnat_ugn.texi: Update documentation to include mention of -m switches
+ Document new treatment of wide characters in max line length
+ style check.
+ Remove -gnatL/-gnatZ switches, no longer used.
+ Add note on pragmas Assertion_Policy and Debug_Policy in discussion
+ of -gnata switch.
+
+ * gnat_rm.texi: Add doc for two argument form of pragma
+ Float_Representation.
+ Add documentation for pragma No_Strict_Aliasing
+ Add note that explicit component clause overrides pragma Pack.
+ Add documentation of pragma Debug_Policy
+
+2005-09-01 Matthew Heaney <heaney@adacore.com>
+
+ * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
+ a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
+ a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
+ a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
+ draft (Draft 13, August 2005) of Ada Amendment 1.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
+ Note that the platform-specific version of g-soccon.ads for VMS is now
+ named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
+ really is a package spec).
+ Replace s-taspri-linux.ads by s-taspri-posix.ads
+ Remove references to s-mastop-x86.adb
+
+ * system-vxworks-xscale.ads: Removed, no longer used.
+ * s-vxwork-xscale.ads: Removed, no longer used.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
+ g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
+ g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
+ exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
+ g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
+ g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
+ g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
+ g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
+ g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
+ sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
+ a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
+ a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
+ a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
+ a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
+ g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
+ g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
+ g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
+ i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
+ a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23187
+ * adaint.c
+ (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+
+ * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
+ when needed.
+ (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
+ this code in the GNAT run-time.
+
+ * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
+
+ PR ada/21053
+ * init.c (__gnat_error_handler [many]): Mark "msg" as const
+ (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
+
+ (__gnat_inside_elab_final_code): Moved here from
+ Standard_Library and only defined for the compiler.
+ __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
+ (__gnat_inum_to_ivec): Do not define this function on VxWorks when
+ using RTPs because directly vectored Interrupt routines are not
+ supported on this configuration.
+ (getpid): Do not redefine this function on VxWorks when using RTPs
+ because this primitive is well supported by the RTP libraries.
+ (copy_msg): Correct the code that checks for buffer overflow.
+ Discovered during code reading.
+
+2005-08-29 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
+ a library level mutable variable with an initializer, tell
+ build_allocator to ignore the initializer's size. It may not be large
+ enough for all the values that might be assigned to the variable later
+ on.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c: Protect < in error msg with quote
+ Replace GCC_ZCX by Back_End_Exceptions.
+ (addressable_p) <COMPONENT_REF>: Also return 1 if the field
+ has been sufficiently aligned in the record.
+
+2005-08-15 James E. Wilson <wilson@specifix.com>
+
+ * system-linux-alpha.ads: Change ia64 to alpha.
+
+2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+
+2005-07-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, init.c, initialize.c: Fix comment typos.
+
+2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
+
+ Make CONSTRUCTOR use VEC to store initializers.
+ * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
+ CONSTRUCTOR_ELTS.
+ * trans.c (extract_values): Likewise.
+ * utils.c (convert, remove_conversions): Likewise.
+ * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
+ gnat_build_constructor): Likewise.
+
+2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * decl.c (components_to_record): Use DECL_FCONTEXT instead of
+ DECL_SECTION_NAME.
+ (compare_field_bitpos): Likewise.
+
+2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * utils.c (create_var_decl): Only set DECL_COMMON on
+ VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
+ VAR_OR_FUNCTION_DECL_P.
+
+2005-07-08 Daniel Berlin <dberlin@dberlin.org>
+
+ * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
+ removed.
+
+2005-07-07 Pascal Obry <obry@adacore.com>
+
+ * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
+ returned type on Windows.
+
+ * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
+ routine.
+
+ * g-socket.adb (Inet_Addr): Check for empty Image and raises an
+ exception in this case.
+ Simplify the code as "Image (Image'Range)" = "Image".
+
+2005-07-07 Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
+ the destructor/constructor attributes for <lib>final/<lib>init.
+
+ * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
+
+2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
+ type if the parameter is not passed by copy but reference by default.
+
+2005-07-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
+ Reimplementation of the support for abstract interface types in order
+ to leave the code more clear and easy to maintain.
+
+ * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
+ abstract interface types in order to leave the code clearer and easier
+ to maintain.
+
+ * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
+ is now implemented by the new subprogram Fill_Secondary_DT_Entry.
+ (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
+ appropriate entry of the secondary dispatch table.
+ (Make_DT): Add code to inherit the secondary dispatch tables of
+ the ancestors.
+
+ * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
+ implementing both functionalities by means of a common routine, each
+ routine has its own code.
+
+2005-07-07 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
+
+ * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
+ types:
+ --
+ type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+ --
+
+ * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
+ use of tag incomplete types.
+
+ * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
+ give support to tagged incomplete types.
+
+ * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
+ expression is a discriminant reference and its type is private, as can
+ happen within a stream operation for a mutable record, use the full
+ view of the type to resolve the case alternatives.
+ (Analyze_Assignment): Check wrong dereference of incomplete types.
+
+ * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
+ types.
+
+ * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
+ incomplete types.
+
+ * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
+ N_Incomplete_Type_Declaration nodes.
+
+ * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
+ Tag_Present to give support to tagged incomplete types:
+ --
+ type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+ --
+
+2005-07-07 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/22301
+ * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
+ definitions for the Unwind wrappers in the compiler case.
+
+2005-07-07 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-load.adb (Load): If a child unit is loaded through a limited_with
+ clause, each parent must be loaded as a limited unit as well.
+
+ * sem_ch10.adb (Previous_Withed_Unit): Better name for
+ Check_Withed_Unit. Return true if there is a previous with_clause for
+ this unit, whether limited or not.
+ (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
+ the current unit.
+ (Is_Visible_Through_Renamings): New local subprogram of install_limited
+ _withed_unit that checks if some package installed through normal with
+ clauses has a renaming declaration of package whose limited-view is
+ ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
+ of the current Draft document for Ada 2005.
+ (Analyze_Context): Complete the list of compilation units that
+ are allowed to contain limited-with clauses. It also contains
+ checks that were previously done by Install_Limited_Context_Clauses.
+ This makes the code more clear and easy to maintain.
+ (Expand_Limited_With_Clause) It is now a local subprogram of
+ Install_Limited_Context_Clauses, and contains the code that adds
+ the implicit limited-with clauses for parents of child units.
+ This functionality was prevously done by Analyze_Context.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
+ incomplete type.
+
+ * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
+ been erroneously named in a limited-with clause of its own context.
+ In this case the error has been previously notified by Analyze_Context.
+
+2005-07-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
+ generic package that contains local declarations with the same name.
+ (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
+
+2005-07-07 Bernard Banner <banner@adacore.com>
+
+ * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
+ ia64 platform only on platforms that you the GCC unwind library
+ rather than the system unwind library.
+
+2005-07-07 Thomas Quinot <quinot@adacore.com>
+
+ * expect.c: Minor reformatting
+
+2005-07-07 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for new gnatpp switch
+ --no-separate-is
+
+ * gnat_ugn.texi: Add description for new gnatpp option
+ (--no-separate-is)
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * g-expect-vms.adb, g-expect.ads, g-expect.adb
+ (Get_Command_Output): New subprogram to launch a process and get its
+ standard output as a string.
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
+ fetch a code-range descriptor associated with the machine state. On
+ failure set the machine state's PC to 0; on success, pass the
+ descriptor to exc_virtual_unwind.
+
+ * init.c (Tru64 section): New function __gnat_set_code_loc.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * 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-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
+ Remove all auto-initialization code, as this is now done through the
+ constructor mechanism.
+
+ * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
+ __gnat_sals_init_using_constructors): New functions.
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
+ Linker_Constructor and Linker_Destructor when switch -a is used.
+
+ * bindusg.adb: Add line for new switch -a
+
+ * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
+ (Gnatbind): When switch -a is used, check if it is allowed
+
+ * switch-b.adb (Scan_Binder_Switches): Process new switch -a
+
+2005-07-04 Joel Brobecker <brobecker@adacore.com>
+
+ * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+ (Prims_Ptr): Likewise.
+
+2005-07-04 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): In the case of
+ N_Object_Declaration, only perform the checks if the Object_Definition
+ is not an Access_Definition.
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
+ where the parent of an the access definition is an N_Object_Declaration
+ when determining the Associated_Node_For_Itype and scope of an
+ anonymous access-to-subprogram type.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
+ Corresponding_Spec on the body created for a null procedure. Add ???
+ comment. Remove New_Copy_Tree call on body argument to
+ Set_Body_To_Inline.
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
+ discriminants, use the type of the actual as well, because the
+ discriminants may be read by the called subprogram.
+
+ * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
+ access type we do not need to handle non-limited views.
+ (Build_Derived_Record_Type): Additional check to check that in case of
+ private types, interfaces are only allowed in private extensions.
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
+ <Pragma_Linker_Destructor>: Likewise.
+
+ * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
+ Pragma_Linker_Destructor.
+
+ * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
+ ATTR_LINK_DESTRUCTOR.
+ (static_ctors, static_dtors): New variables.
+
+ * misc.c (gnat_expand_body): Output current function as constructor
+ and destructor if requested.
+
+ * par-prag.adb: Add processing for pragma Linker_Constructor and
+ Linker_Destructor.
+
+ * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
+ extracted from Check_Interrupt_Or_Attach_Handler.
+ (Check_Interrupt_Or_Attach_Handler): Invoke it.
+ Implement pragma Linker_Constructor and Linker_Destructor with the
+ help of Find_Unique_Parameterless_Procedure.
+ Replace Name_Alias with Name_Target for pragma Linker_Alias.
+
+ * snames.h, snames.ads, snames.adb:
+ Add Name_Linker_Constructor and Name_Linker_Destructor.
+ Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
+ * snames.adb: Remove Name_Alias.
+
+ * trans.c: Include cgraph.h.
+ (build_global_cdtor): New function.
+ (Compilation_Unit_to_gnu): Build global constructor and destructor if
+ needed.
+ (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
+ of objects too.
+ (addressable_p) <COMPONENT_REF>: Unconditionally test
+ DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
+
+ * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
+ variable if it is external.
+
+ (static_ctors, static_dtors): New global variables.
+ (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
+ <ATTR_LINK_DESTRUCTOR>: Likewise.
+ (end_subprog_body): Chain function as constructor and destructor
+ if requested.
+
+ * exp_util.adb (Force_Evaluation): Unconditionally invoke
+ Remove_Side_Effects with Variable_Ref set to true.
+ (Remove_Side_Effects): Handle scalar types first. Use a renaming
+ for non-scalar types even if Variable_Ref is true and for class-wide
+ expressions.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Mod): Evaluate condition expression with checks off,
+ to prevent spurious warnings.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
+ Itypes. Itypes are really unexpected there.
+ (Build_TypeCode_Function): Generalise special processing for Itypes to
+ handle the case of numeric implicit base types as well as enumerated
+ ones.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
+ controlled, indicate the expected type of the dereference that is
+ created for the call to Deep_Finalize, to prevent spurious errors when
+ the designated type is private and completed with a derivation from
+ another private type.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Change_To_Object_Directory): When unable to change the
+ current dir to the object directory, output the full path of the
+ directory.
+
+2005-07-04 Matthew Gingell <gingell@adacore.com>
+
+ * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
+
+ * indepsw-linux.adb: Replace by...
+
+ * indepsw-gnu.adb: ...this new file
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Auto_Initialize): New constant String
+ (SALs_Use_Constructors): New Boolean function
+ (Build_Library): Call gnatbind with Auto_Initialize switch when
+ SALs_Use_Constructors returns True.
+
+ * mlib-tgt.ads: Minor reformatting
+
+ * mlib-utl.ads: Minor reformatting
+
+ * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
+ single protected declarations can have an interface list.
+ (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
+ with seriously malformed entry declarations, and lead to compilation
+ abandoned messages.
+
+2005-07-04 Javier Miranda <miranda@adacore.com>
+
+ * par-load.adb: Load the context items in two rounds.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: Do not consider Mod used as an attribute to be a keyword
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb (Build_Limited_Views): A type declared with a private
+ type extension needs a limited view.
+ Remove previous restriction on private types available through the
+ limited-view (only tagged private types were previously allowed).
+ (Install_Withed_Unit): In the code that implements the
+ legality rule given in AI-377, exclude a child unit with the name
+ Standard, because it is a homonym of the Standard environment package.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
+ overloaded function call, carry interpretations from the original tree
+ to the copy.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Conforming_Types): If the types are anonymous access
+ types check whether some designated type is a limited view, and use
+ the non-limited view if available.
+
+2005-07-04 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
+ constraint of full view of a private view T1 if present, when T2 is a
+ discriminated full view.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
+ actual that is a view conversion of a bit packed array reference.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
+ present before checking whether an interface type covers a synchronized
+ type.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): An indexed or selected component
+ whose prefix is an implicit dereference is an object reference. Removes
+ spurious errors when compiling with -gnatc.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ PR ada/22039
+ * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
+
+2005-07-04 Matthew Gingell <gingell@adacore.com>
+
+ * tracebak.c: Enable tracebacks on ia64 platforms
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
+ the GNAT BIND command, as gnatbind accepts multiples ALI files with
+ the -L or -n switches.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
+ correctly computed and the main project data is not modified while
+ doing so.
+ (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
+ (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
+ c++linker as this does not work on some platforms.
+
+2005-07-04 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
+ was changed.
+ * a-coinve.adb: Perform constraint checks explicitly.
+
+2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Thomas Quinot <quinot@adacore.com>
+
+ * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
+ new target gen-soccon.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads (Check_Selector): Minor rewording of comment.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
+
+2005-07-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description of --eol gnatpp option
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
+ if the user wants all calls of a subprogram to be flagged,
+ independently of whether they are made from within the same unit or
+ another unit.
+ Mention restriction for pragma Linker_Alias on some platforms.
+ Document pragma Linker_Constructor and Linker_Destructor.
+ Rewrite documentation of Weak_External, Linker_Section and
+ Linker_Alias pragmas.
+
+2005-07-04 Arnaud Charlet <charlet@adacore.com>
+
+ * s-stausa.ads, s-stausa.adb: New files.
+
+2005-06-30 Kelley Cook
+
+ * all files: Update FSF address in copyright headers.
+ * gen-soccon.co (main): Output new FSF address in generated files.
+
+2005-06-28 Paul Brook <paul@codesourcery.com>
+
+ * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
+
+2005-06-14 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
+ exc_unwind, now that we are generating proper .debug_frame output for
+ that target.
+
+ * tracebak.c: Remove the mips-irix section, as we are now using the
+ s-mastop based unwinder again.
+ Under SPARC/Solaris, take into account the stack bias to compute the
+ frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
+ ABI.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+
+ * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
+
+ * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
+ a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
+ a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
+ package name).
+
+ * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
+ a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
+ a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
+ a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+ a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
+ a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
+ a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
+ s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
+ s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
+ s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
+ s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
+ s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
+ s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
+ s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
+ s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
+ s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
+ s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
+ s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
+ s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
+ s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
+ s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
+ s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
+ s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
+ s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
+ s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+ s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
+ s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
+ s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
+ s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
+ a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
+ a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
+ a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
+ a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
+ a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
+ a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
+ a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
+ a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
+ a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
+ a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
+ a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
+ a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+ a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
+ a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
+ a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
+ a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+ a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
+ a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
+ a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
+ a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+ a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
+ dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
+ g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+ g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
+ g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
+ g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+ g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
+ gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
+ g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
+ i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
+ s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
+ s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
+ s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
+ s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+ s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
+ s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
+ s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
+ s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
+ s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+ s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
+ s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
+ s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
+ s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
+ s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
+ s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
+ s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
+ s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
+ s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
+ s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
+ s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
+ s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
+ s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
+ s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
+ s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
+ s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
+ s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
+ s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
+ s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
+ s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
+ s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
+ s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
+ s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
+ s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
+ s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
+ s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
+ s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
+ s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
+ s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
+ s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
+ s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
+ s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
+ s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
+ s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
+ s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
+ a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
+ a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
+ a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
+ a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
+ a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
+ a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
+ a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
+ a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
+ a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
+ "GNU Ada" to GNAT, use proper casing for RUN-TIME.
+
+2005-06-14 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
+ longer protected objects. They have been replaced by lower-level
+ suspension objects made up by a mutex and a condition variable (or
+ their equivalent given a particular OS) plus some internal data to
+ reflect the state of the suspension object.
+ (Initialize, Finalize): Add this initialization procedure for
+ Suspension_Object, which is a controlled type.
+ (Finalize): Add the finalization procedure for Suspension_Object,
+ which is a controlled type.
+
+ * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
+ Ada.Synchronous_Task_Control because there is no longer a need for a
+ VxWorks specific version of this package. Target dependencies
+ has been moved to System.Task_Primitives.Operations.
+
+ * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
+ longer needed.
+ (InitializeCriticalSection, EnterCriticalSection,
+ LeaveCriticalSection, DeleteCriticalSection): Replace the type
+ pCriticalSection by an anonymous access type so that we avoid problems
+ of accessibility to local objects.
+
+ * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
+ s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+ s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
+ s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
+ set the environment task mask here.
+ (Current_State): Add this function that returns the state of the
+ suspension object.
+ (Set_False): Add this procedure that sets the state of the suspension
+ object to False.
+ (Set_True): Add this procedure that sets the state of the suspension
+ object to True, releasing the task that was suspended, if any.
+ (Suspend_Until_True): Add this procedure that blocks the calling task
+ until the state of the object is True. Program_Error is raised if
+ another task is already waiting on that suspension object.
+ (Initialize): Add this procedure for initializing the suspension
+ object. It initializes the mutex and the condition variable which are
+ used for synchronization and queuing, and it sets the internal state
+ to False.
+ (Finalize): Add this procedure for finalizing the suspension object,
+ destroying the mutex and the condition variable.
+
+ * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+ s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
+ s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
+ s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
+ which provides a low-level abstraction (using operating system
+ primitives) for Ada.Synchronous_Task_Control.
+ This object is made up by a mutex (for ensuring mutual exclusion), a
+ condition variable (for queuing threads until the condition is
+ signaled), a Boolean (State) indicating whether the object is open,
+ and a Boolean (Waiting) reflecting whether there is a task already
+ suspended on this object.
+
+ * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
+ s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
+ s-intman-vms.ads, s-intman-mingw.adb,
+ (Initialize_Interrupts): Removed, no longer used.
+
+ * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
+ (Setup_Interrupt_Mask): New procedure.
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
+
+ * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
+
+ * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
+ this is no longer done in the body of s-taprop
+ (Server_Task): Explicitely test for Pending_Action in case
+ System.Parameters.No_Abort is True.
+
+ * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
+ is no longer done in the body of s-taprop
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * system-unixware.ads, 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-vxworks-xscale.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-vxworks-mips.ads,
+ system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
+ system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
+ system-linux-hppa.ads, system-vms_64.ads,
+ system-vxworks-alpha.ads: Minor comment update for
+ AI-362 (unit is Pure).
+
+ * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
+ Add pragma Pure_05 for AI-362
+ Make remaining conversion functions obsolescent in Ada 95
+
+ * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+ Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
+ Add entries for a-wichun and a-zchuni
+ Add a-widcha a-zchara for AI-395
+ Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
+
+ * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+ Add entries for a-wichun.o and a-zchuni.o
+ Entries for a-widcha.o and a-zchara.o
+ Add entry for a-chacon.o
+
+ * a-ztenau.adb: Add with of Ada.Characters.Conversions
+
+ * a-chacon.ads, a-chacon.adb: New files.
+
+ * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
+ categorization violations.
+
+ * a-strmap.ads: Add pragma Pure_05 for AI-362
+ * a-strmap.ads: Add note on implicit categorization for AI-362
+
+ * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
+
+ * par-prag.adb: Dummy entry for pragma Persistent_BSS
+ Set Ada_Version_Explicit, for implementation of AI-362
+ Add processing for pragma Pure_05 and Preelaborate_05
+ Add entry for Assertion_Policy pragma
+
+ * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
+ when needed for proper processing of categorization stuff
+
+ * sem_cat.adb:
+ For several cases, make errors in preealborate units warnings,
+ instead of errors, if GNAT_Mode is set. For AI-362.
+
+ * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
+ preelaborate unit is now warning if in GNAT mode
+
+ * s-stoele.ads: Document AI-362 for pragma preelaborate
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+
+ * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
+ s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
+ Default_Exception_Msg_Max_Length: new parameter.
+
+ * a-except.ads: (Exception_Msg_Max_Length): Set to
+ System.Parameters.Default_Exception_Msg_Max_Length
+ Add pragma Preelaborate_05 for AI-362
+ Add warnings off to allow categorization violations for AI-362
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Adapt to modification of package Symbols: procedure
+ Process is now in package Processing.
+
+ * symbols.ads, symbols.adb:
+ (Processing): New package, containing procedure Process
+
+ * symbols-vms-alpha.adb:
+ Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
+
+ * symbols-vms.adb, symbols-processing-vms-alpha.adb,
+ symbols-processing-vms-ia64.adb: New files.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
+ implementation. This new version generates the proper DllMain routine
+ to initialize the SAL. The DllMain is generated in Ada and compiled
+ before being added as option to the library build command.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
+ call to decc$translate_vms.
+ (__gnat_locate_regular_file): Check if the path_val contains quotes. We
+ need to remove those quotes before catenating the filename.
+ (__gnat_locate_exec_on_path): improvements to the Win32 section:
+ * avoid allocating the memory twice for better efficiency;
+ * allocate 32K buffer for environment expansion as suggested by MSDN;
+ * prepend ".;" to the path so that current directory is searched too.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-except.adb (Exception_Identity): return Null_Id for null occurrence
+ instead of raising CE (AI-241)
+ Add warnings off to allow categorization violations for AI-362
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb, gnatbind.adb: Remove references to
+ Force_RM_Elaboration_Order.
+
+ * switch-b.adb: Remove recognition of -f switch
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
+ implementation which is slightly more efficient.
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
+ allocator's designated type is a class-wide type, and compiling for
+ Ada 2005, emit a run-time check that the accessibility level of the
+ type given in the allocator's expression is not deeper than the level
+ of the allocator's access type.
+
+ (Tagged_Membership): Modified to gives support to abstract interface
+ types.
+
+ * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
+ Access_Level.
+ (Descendant_Tag): New predefined function
+ (Is_Descendant_At_Same_Level): New predefined function
+ (Get_Access_Level): New private function
+ (Set_Access_Level): New private procedure
+ (IW_Membership): New function. Given the tag of an object and the tag
+ associated with an interface, evaluate if the object implements the
+ interface.
+ (Register_Interface_Tag): New procedure used to initialize the table of
+ interfaces used by the IW_Membership function.
+ (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
+ of the dispatch table.
+ (Inherit_TSD): Modified to copy the table of ancestor tags plus the
+ table of interfaces of the parent.
+ (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
+ (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
+ (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
+ and raise Tag_Error if the passed tag equalis No_Tag, to conform with
+ Ada 2005 semantics for the new predefined function.
+
+ * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
+ call to Descendant_Tag rather than Internal_Tag.
+ (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
+ the accessibility level of the attribute's Item parameter is not deeper
+ than the level of the attribute's prefix type. Tag_Error is raised if
+ the check fails. The check is only emitted for Ada_05.
+ (Find_Stream_Subprogram): If a TSS exists on the type itself for the
+ requested stream attribute, use it.
+ (Expand_N_Attribute_Reference): If the designated type is an interface
+ then rewrite the referenced object as a conversion to force the
+ displacement of the pointer to the secondary dispatch table.
+ (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
+ is a dereference of an object with a constrained partial view.
+
+ * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
+ type is a class-wide type, emit a run-time check that the accessibility
+ level of the returned object is not deeper than the level of the
+ function's master (only when compiling for Ada 2005).
+
+ * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
+ Action_Nb_Arg): Add entries for new Get_Access_Level and
+ Set_Access_Level routines in these tables.
+ (Make_DT): Generate a call to set the accessibility level of the
+ tagged type in its TSD.
+ (Make_DT): Code cleanup. The functionality of generating all the
+ secondary dispatch tables has been moved to freeze_record_type.
+ (Make_Abstract_Interface_DT): Minor code cleanup.
+ (Set_All_DT_Position): Code cleanup. As part of the code cleanup
+ this subprogram implements a new algorithm that provides the
+ same functionality and it is more clear in case of primitives
+ associated with abstract interfaces.
+ (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
+ clean up, the functionality of this subprogram is now provided
+ by Set_All_DT_Position.
+ (Write_DT): New subprogram: a debugging procedure designed to be called
+ within gdb to display the dispatch tables associated with a tagged
+ type.
+ (Collect_All_Interfaces): New subprogram that collects the whole list
+ of interfaces that are directly or indirectly implemented by a tagged
+ type.
+ (Default_Prim_Op_Position): New subprogram that returns the fixed
+ position in the dispatch table of the default primitive operations.
+ (Expand_Interface_Actuals): New subprogram to generate code that
+ displaces all the actuals corresponding to class-wide interfaces to
+ reference the interface tag of the actual object.
+ (Expand_Interface_Conversion): New subprogram. Reference the base of
+ the object to give access to the interface tag associated with the
+ secondary dispatch table.
+ (Expand_Interface_Thunk): New subprogram that generates the code of the
+ thunk. This is required for compatibility with the C+ ABI.
+ (Make_Abstract_Interface_DT): New subprogram that generate the
+ declarations for the secondary dispatch tables associated with an
+ abstract interface.
+ (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
+ attribute for each primitive operation covering interface subprograms
+ (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
+ These subprograms were upgraded to give support to abstract interfaces
+
+ * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
+ RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
+ RE_Set_Access_Level.
+ (RE_Unit_Table): Add entries for new Ada.Tags operations.
+ Add support to call the followig new run-time subprograms:
+ IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
+
+ * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
+ match its full declaration when both have an access definition with
+ statically matching designated subtypes.
+ (Analyze_Component_Declaration): Delete commented out code that was
+ incorrectly setting the scope of an anonymous access component's type.
+ (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
+ an access discriminant when the containing type is nonlimited.
+ (Make_Incomplete_Type_Declaration): Create an incomplete type
+ declaration for a record type that includes self-referential access
+ components.
+ (Check_Anonymous_Access_Types): Before full analysis of a record type
+ declaration, create anonymous access types for each self-referential
+ access component.
+ (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
+ an access component in this context is a Local_Anonymous_Access, for
+ proper accessibility checks.
+ (Access_Definition): Set properly the scope of the anonymous access type
+ created for a stand-alone access object.
+ (Find_Type_Of_Object): An object declaration may be given with an access
+ definition.
+ (Complete_Subprograms_Derivation): New subprogram used to complete
+ type derivation of private tagged types implementing interfaces.
+ In this case some interface primitives may have been overriden
+ with the partial-view and, instead of re-calculating them, they
+ are included in the list of primitive operations of the full-view.
+ (Build_Derived_Record_Type): Modified to give support to private
+ types implemening interfaces.
+ (Access_Definition): Reject ALL on anonymous access types.
+ (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
+ type derivation to occur at a deeper accessibility level than the
+ parent type.
+ For the case of derivation within a generic body however, disallow the
+ derivation if the derived type has an ancestor that is a formal type
+ declared in the formal part of an enclosing generic.
+ (Analyze_Object_Declaration): For protected objects, remove the check
+ that they cannot contain interrupt handlers if not declared at library
+ level.
+ (Add_Interface_Tag_Components): New subprogram to add the tag components
+ corresponding to all the abstract interface types implemented by a
+ record type or a derived record type.
+ (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+ Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+ Process_Full_View, Record_Type_Declaration): Modified to give
+ support to abstract interface types
+ (Collect_Interfaces): New subprogram that collects the list of
+ interfaces that are not already implemented by the ancestors
+ (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
+ when partial view has no discriminants and full view has defaults.
+ (Constrain_Access): Reject a constraint on a general access type
+ if the discriminants of the designated type have defaults.
+ (Access_Subprogram_Declaration): Associate the Itype node with the inner
+ full-type declaration or subprogram spec. This is required to handle
+ nested anonymous declarations.
+ (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+ Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+ Process_Full_View, Record_Type_Declaration): Modified to give
+ support to abstract interface types
+ (Derive_Subprograms): Addition of a new formal to indicate if
+ we are in the case of an abstact-interface derivation
+ (Find_Type_Of_Subtype_Indic): Moved from the body of the package
+ to the specification because it is requied to analyze all the
+ identifiers found in a list of interfaces
+
+ * debug.adb: Complete documentation of flag "-gnatdZ"
+
+ * exp_ch3.adb: Implement config version of persistent_bss pragma
+ (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
+ testing for TSS presence to properly enforce visibility rules.
+ (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
+ Make_Abstract_Interfaces_DT to generate the secondary tables
+ associated with abstract interfaces.
+ (Build_Init_Procedure): Modified to initialize all the tags
+ corresponding.
+ (Component_Needs_Simple_Initialization): Similar to other tags,
+ interface tags do not need initialization.
+ (Freeze_Record_Type): Modified to give support to abstract interface
+ types.
+ (Expand_N_Object_Declaration): Do not generate an initialization for
+ a scalar temporary marked as internal.
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
+ in-out parameter that is a component in an initialization procedure,
+ whose constraint might depend on discriminants, and that may be
+ misaligned because of packing or representation clauses.
+ (Is_Legal_Copy): New predicate to determine whether a possibly
+ misaligned in-out actual can actually be passed by copy/return. This
+ is an error in case the type is by_reference, and a warning if this is
+ the consequence of a DEC import pragma on the subprogram.
+ (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
+ interface types
+ (Expand_Inlined_Call): Mark temporary generated for the return value as
+ internal, so that no useless scalar normalization is generated for it.
+ (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
+ null procedure can always be inlined.
+ (Expand_N_Subprogram_Declaration): If this is the declaration of a null
+ procedure, generate an explicit empty body for it.
+
+ * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
+ Given a type implementing an interface, returns the corresponding
+ access_disp_table value.
+ (Find_Interface_Tag): New subprogram. Given a type implementing an
+ interface, returns the record component containing the tag of the
+ interface.
+ (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
+ previous ones that return the corresponding tag and access_disp_table
+ entities.
+ (Is_Predefined_Dispatching_Operation): Determines if a subprogram
+ is a predefined primitive operation.
+ (Expand_Subtype_From_Expr): If the expression is a selected component
+ within an initialization procedure, compute its actual subtype, because
+ the component may depend on the discriminants of the enclosing record.
+
+ * i-cpp.ads, i-cpp.adb:
+ This package has been left available for compatibility with previous
+ versions of the frontend. As part of the new layout this is now a
+ dummy package that uses declarations available at a-tags.ads
+
+ * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
+ "constant access" and "aliased [constant] access" when not compiling
+ with -gnat05.
+ Suppress Ada 2005 keyword warning if -gnatwY used
+ (P_Identifier_Declarations): Add support for object declarations with
+ access definitions.
+ (Private_Extension_Declaration): Complete the documentation
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
+ attribute in case of private extension declaration
+ (P_Type_Declaration): Mark as "abstract" the type declarations
+ corresponding with protected, synchronized and task interfaces
+ (P_Declarative_Items): "not" and "overriding" are overriding indicators
+ for a subprogram or instance declaration.
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
+ instantiation that is a dispatching operation has controlling access
+ parameters that are null excluding.
+ Save and restore Ada_Version_Explicit, for implementation of AI-362
+ (Validate_Derived_Type_Instance): Add check for abstract interface
+ types.
+ (Analyze_Formal_Package): Establish Instantiation source for the copy of
+ the generic that is created to represent the formal package.
+ (Analyze_Package_Instantiation): Instantiate body immediately if the
+ package is a predefined unit that contains inlined subprograms, and
+ we are compiling for a Configurable_Run_Time.
+ (Instantiate_Formal_Subprogram): Indicate that null default subprogram
+ If the program has a null default, generate an empty body for it.
+
+ * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
+ error message condition, null procedures are correctly detected now.
+ (New_Overloaded_Entity): Bypass trivial overriding indicator check
+ for subprograms in the context of protected types. Instead, the
+ indicator is examined in Sem_Ch9 while analysing the subprogram
+ declaration.
+ (Check_Overriding_Indicator): Check consistency of overriding indicator
+ on subprogram stubs as well.
+ (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
+ the library level.
+ (Analize_Subprogram_Specification): When analyzing a subprogram in which
+ the type of the first formal is a concurrent type, replace this type
+ by the corresponding record type.
+ (Analyze_Subprogram_Body): Undo the previous work.
+ (Analyze_Procedure_Call): If the call has the form Object.Op, the
+ analysis of the prefix ends up analyzing the call itself, after which
+ we are done.
+ (Has_Interface_Formals): New subprogram subsidiary to analyze
+ subprogram_specification that returns true if some non
+ class-wide interface subprogram is found
+ (New_Overloaded_Entity): Modified to give support to abstract
+ interface types
+ (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
+ access to subprograms must be recursive.
+ (Is_Unchecked_Conversion): Improve the test that recognizes
+ instantiations of Unchecked_Conversion, and allows them in bodies that
+ are to be inlined by the front-end. When the body comes from an
+ instantiation, a reference to Unchecked_Conversion will be an
+ Expanded_Name, even though the body has not been analyzed yet.
+ Replace Is_Overriding and Not_Overriding in subprogram_indication with
+ Must_Override and Must_Not_Override, to better express intent of AI.
+ (Analyze_Subprogram_Body): If an overriding indicator is given, check
+ that it is consistent with the overrinding status of the subprogram
+ at this point.
+ (Analyze_Subprogram_Declaration): Indicate that a null procedure is
+ always inlined.
+ If the subprogram is a null procedure, indicate that it does not need
+ a completion.
+
+ * sem_disp.adb (Check_Controlling_Type): Give support to entities
+ available through limited-with clauses.
+ (Check_Dispatching_Operation): A stub acts like a body, and therefore is
+ allowed as the last primitive of a tagged type if it has no previous
+ spec.
+ (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
+ to give support to abstract interface types
+
+ * sem_res.adb (Valid_Conversion): Perform an accessibility level check
+ in the case where the target type is an anonymous access type of an
+ object or component (that is, when Is_Local_Anonymous_Access is true).
+ Prevent the special checks for conversions of access discriminants in
+ the case where the discriminant belongs to a nonlimited type, since
+ such discriminants have their accessibility level defined in the same
+ way as a normal component of an anonymous access type.
+ (Resolve_Allocator): When an allocator's designated type is a class-wide
+ type, check that the accessibility level of type given in the
+ allocator's expression or subtype indication is not statically deeper
+ than the level of the allocator's access type.
+ (Check_Discriminant_Use): Diagnose discriminant given by an expanded
+ name in a discriminant constraint of a record component.
+ (Resolve_Explicit_Dereference): Do not check whether the type is
+ incomplete when the dereference is a use of an access discriminant in
+ an initialization procedure.
+ (Resolve_Type_Conversion): Handle conversions to abstract interface
+ types.
+ (Valid_Tagged_Conversion): The conversion of a tagged type to an
+ abstract interface type is always valid.
+ (Valid_Conversion): Modified to give support to abstract interface types
+ (Resolve_Actuals): Enable full error reporting on view conversions
+ between unrelated by_reference array types.
+ The rule for view conversions of arrays with aliased components is
+ weakened in Ada 2005.
+ Call to obsolescent subprogram is now considered to be a violation of
+ pragma Restrictions (No_Obsolescent_Features).
+ (Check_Direct_Boolean_Operator): If the boolean operation has been
+ constant-folded, there is nothing to check.
+ (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
+ check on possible violation of restriction No_Direct_Boolean_Operators
+ until after expansion of operands, to prevent spurious errors when
+ operation is constant-folded.
+
+ * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
+ Has_Compatible_Type): Modified to give support to abstract interface
+ types.
+ (Interface_Present_In_Ancestor): New function to theck if some ancestor
+ of a given type implements a given interface
+
+ * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
+ prefix is a parameterless function that returns an access_to_procedure.
+ (Transform_Object_Operation): Handle properly function calls of the
+ form Obj.Op (X), which prior to analysis appear as indexed components.
+ (Analyze_One_Call): Complete the error notification to help new Ada
+ 2005 users.
+ (Analyze_Allocator): For an allocator without an initial value, where
+ the designated type has a constrained partial view, a discriminant
+ constraint is illegal.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
+ do with treatment of Set_Col when positioned at end of line character.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: (Elist*): Protect against uninitialized field
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Install_Null_Excluding_Check): Do not generate checks
+ for an attribute reference that returns an access type.
+ (Apply_Discriminant_Check): No need for check if (designated) type has
+ constrained partial view.
+
+ (Apply_Float_Conversion_Check): Generate a short-circuit expression for
+ both bound checks, rather than a conjunction.
+ (Insert_Valid_Check): If the expression is an actual that is an indexed
+ component of a bit-packed array, force expansion of the packed element
+ reference, because it is specifically inhibited elsewhere.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Clean_Project): Correctly delete executable specified as
+ absolute path names.
+
+ * make.adb (Gnatmake): Allow relative executable path names with
+ directory information even when project files are used.
+ (Change_To_Object_Directory): Fail gracefully when unable to change
+ current working directory to object directory of a project.
+ (Gnatmake): Remove exception handler that could no longer be exercized
+ (Compile_Sources.Compile): Use deep copies of arguments, as some of them
+ may be deallocated by Normalize_Arguments.
+ (Collect_Arguments): Eliminate empty arguments
+
+ * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
+ and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
+ (Check_Project): Return False when Project is No_Project. Return True
+ when All_Projects is True.
+ (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
+ All_Projects to True.
+ Minor reformatting
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
+ anonymous access types, to indicate that the accessibility level of
+ the type is determined by that of the enclosing declaration.
+ (Has_Persistent_BSS): New flag
+ (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
+ of this attribute with functions.
+ (Is_Primitive_Wrapper): Remove the barrier.
+ (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
+ Has_Specified_Stream_Read, Has_Specified_Stream_Write):
+ New subprograms.
+ (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
+ Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
+ New subprograms.
+ (Is_Pure_Unit_Access_Type): New flag
+ (Abstract_Interfaces): Complete the assertion to cover all usages.
+ (Set_Is_Interface): Complete the assertion to cover all usages.
+ (Is_Primitive_Wrapper): New attribute.
+ (Is_Obsolescent): Now applies to all entities (though it is only set
+ for subprograms currently)
+ New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
+ which solves various problems concerning access subtypes.
+ (Has_Persistent_BSS): New flag
+ (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
+ Remove these subprograms because this attribute is currently
+ not used.
+ New entity flags:
+ Has_Specified_Stream_Input (Flag190)
+ Has_Specified_Stream_Output (Flag191)
+ Has_Specified_Stream_Read (Flag192)
+ Has_Specified_Stream_Write (Flag193)
+ Present in all type and subtype entities. Set for a given view if the
+ corresponding stream-oriented attribute has been defined by an
+ attribute definition clause. When such a clause occurs, a TSS is set
+ on the underlying full view; the flags are used to track visibility of
+ the attribute definition clause for partial or incomplete views.
+ (Is_Pure_Unit_Access_Type): New flag
+ Clarify use of Is_Internal.
+ (Is_Primitive_Wrapper): New attribute present in primitive subprograms
+ internally generated to wrap the invocation of tasks and protected
+ types that implement interfaces.
+ (Implementation_Base_Type): Documentation correction
+ (Is_Obsolescent): Now applies to all entities (though it is only set
+ for subprograms currently)
+ New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
+ which solves various problems concerning access subtypes.
+
+ * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
+ for examined parameters. Identify unequal parameter list lengths as
+ non-conformant parameters.
+ (Overriding_Possible): Do not check for "All" qualifier in declaration
+ of controlling access parameter, following prescription of AI-404.
+ (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
+ that build the procedure body that wraps an entry invocation
+ (Build_Corresponding_Record, Build_Protected_Sub_Specification,
+ Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+ Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
+ give support to abstract interface types
+
+ * freeze.adb (Freeze_Entity): Issue error message if
+ Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
+ type has no storage pool (Ada 2005) AI-366.
+ Also modified to give support to abstract interface types
+ (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
+ Inline_Always pragma.
+
+ * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
+ now begin an entry declaration.
+ (P_Entry_Or_Subprogram_With_Indicator): New procedure in
+ P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
+ a subprogram declaration preceded by an overriding indicator.
+ (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
+ declarations or subprogram declarations preceded by reserved words
+ "not" or "overriding".
+ (P_Entry_Declaration): Update comment. Parse and check overriding
+ indicator, set semantic flags of entry declarations.
+ (P_Task): New error message in case of private applied
+ to a task type declaration.
+ (P_Protected): New error message in case of private applied
+ to a task type declaration.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
+ in which the full view of a type implementing an interface is a
+ concurrent type.
+ (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
+ Declare_Inherited_Private_Subprograms): If an explicit operation
+ overrides an operation that is inherited in the private part, mark the
+ explicit one as overriding, to enable overriding indicator checks.
+ (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
+ full view to partial view, to simplify handling in back-end.
+
+ * sprint.adb: Print interface lists where needed: derived types,
+ protected types, task types.
+ output "is null" for null procedures. Part of implementation of
+
+ * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
+ relaxation of rules for access types in pure, shared passive partitions.
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
+ first read discriminants into temporary objects, performing checks on
+ the read values, then possibly performing discriminant checks on the
+ actual (if it is constrained), and only finally reading the components
+ into a constrained temporary object.
+ (Build_Elementary_Input_Call): Adjust the specific circuitry for the
+ case of reading discriminants of a mutable record type to recognize
+ the new form of the code generated by
+ Build_Mutable_Record_Read_Procedure.
+
+ * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
+ of a simple call to Make_TSS_Name.
+ (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
+ buffer, in order for Is_TSS to work correctly on local TSS names.
+
+ * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
+ Is_Local_Anonymous_Access to check legaliy of attributes in the
+ context of access components and stand-alone access objects.
+ (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
+ treated as available for a limited private type if there is an
+ attribute_definition_clause that applies to its full view, but not in
+ other cases where the attribute is available for the full view
+ (specifically, the sole fact that the full view is non-limited does not
+ make the attribute available for the partial view).
+ (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
+ non-overloaded intrinsic subprogram.
+ (Check_Stream_Attribute): Reject an attribute reference for an
+ unavailable stream attribute even if the prefix is not a limited type
+ (case of a 'Input attribute reference for an abstract, non-classwide
+ type)
+ (Stream_Attribute_Available): New function to determine whether a stream
+ attribute is available at a place.
+ (Check_Attribute): Use Stream_Attribute_Available instead of just
+ testing for TSS presence on the implementation base type.
+ (Analyze_Attribute): Modified to give support to task interfaces.
+ (Analyze_Access_Attribute): Add error check for use of an Access (or
+ Unrestricted_Access) attribute with a subprogram marked as
+ Inline_Always.
+ (Analyze_Attribute, case Attribute_Address): Add error check for use of
+ an Address attribute with a subprogram marked as Inline_Always.
+ Update Eval_Attribute to handle new value of Width from AI-395
+
+ * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
+ (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
+ Factor common code across the stream-oriented attribute circcuits into
+ a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
+ processing is functionally identical to the previous duplicated one,
+ except that an expression that denotes an abstract subprogram will now
+ be rejected, as mandated by AI-195 item 5.
+
+ * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
+ Is_Local_Anonymous_Access to apply accessibility checks to access
+ components and stand-alone access objects.
+ (Has_Discriminant_Dependent_Constraint): Moved to spec for use
+ elsewhere.
+ (Is_Potentially_Persistent_Type): New function
+ (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
+ a heap-object whose type has a constrained partial view, the object is
+ unconstrained and the component may depend on a discriminant, making its
+ renaming illegal.
+
+ * sinfo.ads, sinfo.adb
+ (Must_Not_Override): Flag applicable to N_Entry_Declaration.
+ (Must_Override): Flag applicable to N_Entry_Declaration.
+ Indicate that interface_list can appear in single task and single
+ protected declarations.
+ Replace Is_Overriding and Not_Overriding with Must_Override and
+ Must_Not_Override, to better express intent of AI.
+ Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
+ of an overriding indicator in a subprogram or instance.
+ Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
+ Add the overriding indicator [[not] overriding] construct to the
+ following grammar productions:
+ ENTRY_DECLARATION
+ GENERIC_INSTANTIATION
+ SUBPROGRAM_SPECIFICATION
+
+ * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
+ can start with an overriding indicator.
+
+ * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
+ flags accordingly on subrogram specifications or instances.
+
+ * sem_ch8.adb:
+ (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
+ overriding_indicator, if present, is consistent with status of spec.
+ Improve error message for null-excluding checks on controlling access
+ parameters.
+ (Check_In_Previous_With_Clause): Protect the frontend against
+ previously reported critical errors in the context clauses.
+ Save and restore Ada_Version_Explicit, for implementation of AI-362
+ (Analyze_Subprogram_Renaming): If the new entity is a dispatching
+ operation verify that controlling formals of the renamed entity that
+ are access parameters are explicitly non-null.
+ (Find_Expanded_Name): Improve error message when prefix is an illegal
+ reference to a private child unit.
+
+ * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
+ s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
+ Rewrite to correspond to new wide character names in AI-395
+
+ * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
+ default procedures.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
+ code, not on the bodies of predefined operations, to cut down on
+ spurious noise.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
+ be expanded in place. The size computation does not require a
+ subtraction, which would raise an exception on a compiler built with
+ assertions when the upper bound is Integer'first.
+ (Flatten): For an array of composite components, take into account the
+ size of the components to determine whether it is safe to expand the
+ array into a purely positional representation.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
+ denoting a formal parameter into account.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
+ the entry_call alternative of a conditional entry call, wrap the
+ conditional entry call itself.
+
+2005-06-14 Nicolas Setton <setton@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
+ the "simple_choice" member in a variant record, in accordance with the
+ description in the package spec: the information output for a constant
+ should be "S number", not "SS number".
+ (Get_Encoded_Name): Return at once if not generating code. Avoids name
+ overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
+ RACW without any primitives, do not generate the if statement for
+ dispatching by name in the PolyORB/DSA case, as it would be malformed
+ (it would have an Elsif_Parts list that is not No_List, but with a
+ length of 0).
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb, par-ch5.adb: Minor fix to error message text
+
+2005-06-14 Jose Ruiz <ruiz@adacore.com>
+
+ * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
+ can determine whether pragma Suppress_Exception_Locations is in effect.
+
+ * utils2.c (build_call_raise): Do not pass the file name to the
+ exception handler if pragma Suppress_Exception_Locations is in effect.
+ (build_allocator): Add and process arg IGNORE_INIT_TYPE.
+
+2005-06-14 Emmanuel Briot <briot@adacore.com>
+
+ * g-debpoo.adb (Deallocate, Dereference): Improve output.
+
+2005-06-14 Nicolas Roche <roche@adacore.com>
+
+ * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
+ to ""
+ (Next_Level): Fix minor bug in handling of ../dir case
+ (Read): Add dir separator to Directory name so that "" is understood as
+ "/"
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
+ releasing the items.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
+ with output file descriptor and with output file name.
+ (Dup, Dup2): Now global procedures as they are used by two subprograms
+ (Copy): Allocate the 200K buffer on the heap rather than on the stack.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/6717
+ * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
+ broadcast address.
+ (Create_Selector): Bind listening socket used to create the signalling
+ socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
+ Set listen backlog to 1 to ensure that we detect socket theft by a
+ failure of our own connect(2) call.
+ (Check_Selector): Improve documentation of the selector mechanism.
+ (Broadcast_Inet_Addr): New constant.
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
+ type which turns out to be an incomplete and incorrect fix.
+ (Layout_Array_Type): Use Underlying_Type when checking whether the scope
+ of the type is declared in a record (for determination of insertion
+ type).
+ (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
+ a private type and ensure that the primary entity is used for the type
+ of the newly created function's V formal by taking the Etype of the
+ view.
+
+2005-06-14 Javier Miranda <miranda@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
+ that indicates if we are parsing a compilation unit found in a
+ limited-with clause.
+ It is use to avoid the circularity check.
+
+ * par.ads, par.adb (Par): Addition of a new parameter to indicate if
+ we are parsing a compilation unit found in a limited-with clause. This
+ is use to avoid the circularity check.
+
+ * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
+ unit as a consequence of parsing a limited-with clause. This is used
+ to avoid the circularity check.
+
+ * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
+ (Analyze_Context): Limited-with clauses are now allowed
+ in more compilation units.
+ (Analyze_Subunit_Context, Check_Parent): Protect the frontend
+ againts previously reported critical errors in context clauses
+ (Install_Limited_Withed_Unit): Code cleanup plus static detection
+ of two further errors: renamed subprograms and renamed packages
+ are not allowed in limited with clauses.
+ (Install_Siblings): Do not install private_with_clauses on the package
+ declaration for a non-private child unit.
+ (Re_Install_Parents): When a parent of the subunit is reinstalled,
+ reset visibility of child units properly.
+ (Install_Withed_Unit): When a child unit appears in a with_clause of its
+ parent, it is immediately visible.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+
+ * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
+ declared within an inlined body as referenced, to prevent spurious
+ warnings.
+ (Output_One_Ref): If an entity renames an array component, indicate in
+ the ALI file that this aliases (renames) the array. Capture as well
+ function renamings that rename predefined operations.
+ Add information about generic parent for package and subprogram
+ instances.
+ (Get_Type_Reference): For a subtype that is the renaming of an actual in
+ an instantiation, use the first_subtype to ensure that we don't generate
+ cross-reference information for internal types.
+ For objects and parameters of a generic private type, retain the '*'
+ indicator to distinguish such an entity from its type.
+
+ * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
+ to store information about instantiated entities.
+
+ * ali.adb (Scan_ALI): Add support for parsing the reference to the
+ generic parent
+
+ * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
+ (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
+ information.
+
+2005-06-10 Doug Rupp <rupp@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * Make-lang.in: Add initialize.o when needed.
+ Remove obsolete references to RT_FLAGS.
+ Add missing dependencies for sdefault.o
+
+ * initialize.c: New file.
+
+ * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
+ [VMS] cond_signal_table: Fix problem in declaration.
+ [VMS] __gnat_error_handler: rewrite.
+ Move all __gnat_initialize() routines to initialize.c
+ Specialize the former "hpux" section to "hppa hpux", as this is what the
+ section really is here for and we now have other hpux ports that need
+ different contents.
+ (__gnat_adjust_context_for_raise) i386-linux: First version of this
+ function for this target. Adjust PC by one in the machine context. This
+ adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
+ it is more reliable to do that in the signal handler itself.
+ (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
+ flags, so that the handler is passed the context structure to adjust
+ prior to the raise.
+ (__gnat_error_handler) i386-linux: Adjust the signature to match what a
+ SA_SIGINFO sigaction should look like. Call
+ __gnat_adjust_context_for_raise before actually raising. Cleanup unused
+ Machine_State_Operations stuff.
+ Add conditional code so that the x86_64 is also supported.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
+ the library name.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, opt.adb: New flags for persistent_bss mode
+ Add Ada_Version_Explicit, for implementation of AI-362
+ Add Assertions_Enabled_Config and associated handling
+ Needed since setting can be changed with Assertion_Policy pragma
+ Add new flag Warn_On_Ada_2005_Compatibility
+
+ * switch-c.adb: Recognize -gnatwy/Y
+ Set Ada_Version_Explicit, for implementation of AI-362
+ The -gnatg switch now includes -gnatyu
+
+ * usage.adb: Add -gnatwy/Y
+ Remove wrong asterisk on -gnatwX line
+ Add line for -gnatyu switch
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * osint.adb (Add_Default_Search_Dirs): Put source and object
+ directories of project files before directories coming from
+ ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ PR ada/15613
+ * par-ch2.adb (Scan_Pragma_Argument): New procedure
+ (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prep.adb (Preprocess): Ignore error when scanning the first token of
+ a line.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
+ (Check_Stand_Alone_Library): If the specified reference symbol file does
+ not exist, only issue a warning when the symbol policy is not
+ Controlled. And, when symbol policy is Compliant, set the symbol
+ policy to Autonomous.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
+ when the project file in a with clause is not the last one, that is the
+ project file name is followed by a comma.
+ * prj-pp.adb: (First_With_In_List): New Boolean global variable
+ (Print): Issue list of project files separated by commas in with clauses
+ according to the values returned by Is_Not_Last_In_List.
+ * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
+ (Set_Is_Not_Last_In_List): New procedure
+
+2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: Add call to new Check_EOF routine
+ (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
+ Add some comments regarding wide character handling
+
+ * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
+
+ * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
+
+ * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
+ characters are now considered graphic characters and hence yield false
+ in this call.
+
+ * nmake.adt: Modify header so that xnmake does not generate output
+ files with multiple blank lines.
+
+ * treeprs.adt: Remove a blank line so that output from xtreeprs does
+ not have an extra blank line
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
+ expression when the component type is an anonymous access type to
+ ensure that appropriate accessibility checks are done.
+
+ * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
+ expression of an assignment when the target object is of an anonymous
+ access type. This ensures that required accessibility checks are done.
+ (One_Bound): Move the check for type Universal_Integer to
+ Process_Bounds.
+ (Process_Bounds): Check whether the type of the preanalyzed range is
+ Universal_Integer, and in that case set Typ to Integer_Type prior
+ to setting the type of the original range and the calls to One_Bound.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Expand_Others_Choice): Improve warning.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
+ constraint of full view if present, when other type is discriminated.
+ (Eval_Relational_Op): Recognize tests of pointer values against Null,
+ when the pointer is known to be non-null, and emit appropriate warning.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/10671
+ * sem_prag.adb: Implement pragma Persistent_BSS
+ Remove obsolete pragma Persistent_Data, Persistent_Object
+ Set Ada_Version_Explicit, for implementation of AI-362
+ Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
+ Add processing for pragma Pure_05 and Preelaborate_05
+ Add processing for Assertion_Policy pragma
+ Add pragma identifiers for Assert
+ (Analyze_Pragma, case Assert): Check number of arguments
+ (Process_Inline): Additional guard against an illegal program, where the
+ argument of the pragma is undefined, and warnings on redundant
+ constructs are enabled.
+ (Analyze_Pragma, case Obsolescent): Allow an optional second argument
+ Ada_05 to this pragma, specifying that the pragma is only active in
+ Ada_05 mode.
+ (Check_Arg_Order): New procedure
+ Add appropriate calls to this procedure throughout
+ Also throughout, check entity name before doing any other checks
+
+ * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
+ Remove obsolete pragma Persistent_Data, Persistent_Object
+ Add entries for pragma Pure_05 and Preelaborate_05
+ Add entries for Assertion_Policy pragma and associated names
+ Add some names for pragma argument processing
+
+ * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
+ appears within a negation (either from source or as a rewriting of
+ inequality) adjust text of warning accordingly.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * s-strxdr.adb: Follow AI95-00132
+
+2005-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
+
+2005-06-14 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-tposen.adb, s-tpobop.adb
+ (Exceptional_Complete_Rendezvous): Save the occurrence and not only
+ the exception id.
+ (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
+ there is no violation of the Max_Entry_Queue_Length restriction (if it
+ has been set); Program_Error is raised otherwise.
+ (Requeue_Call): Before requeuing the task on the target entry queue we
+ check that there is no violation of the Max_Entry_Queue_Length
+ restriction (if it has been set); Program_Error is raised otherwise.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb: Fix several remaining problems in -gnatyu switch
+ Blank line count not reset at start
+ Scanning outside source buffer in some cases
+ Confusing message for blanks at end of file
+ Non-empty blank lines not recognized
+
+ * nmake.adt: Modify header so that xnmake does not generate output
+ files with multiple blank lines.
+
+ * treeprs.adt: Remove a blank line so that output from xtreeprs does
+ not have an extra blank line
+
+2005-06-14 Sergey Rybin <rybin@adacore.com>
+
+ * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * vms_conv.ads, vms_conv.adb: Remove "Library" command.
+ Update copyright.
+
+ * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+ Remove "Library" command.
+ Change keyword for style check -gnatyd from NOCRLF to
+ DOS_LINE_ENDINGS.
+ Remove useless second style check keyword NONE
+ Remove help documentation for inexistent style check keyword
+ RM_COLUMN_LAYOUT.
+ Add help documentation for style check keywords DOS_LINE_ENDINGS,
+ UNNECESSARY_BLANK_LINES and XTRA_PARENS
+ Add UNNECESSARY_BLANK_LINES for -gnatyu
+ Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
+
+ * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
+ gprmake was invoked with -d.
+ (Compile_Sources): If -d was used, output the "completed ..." message
+ for each compilation.
+ (Scan_Arg): Recognize new switch -d
+ When -c and at least one main is specified, set
+ Unique_Compile to True to guarantee that no other sources will be
+ compiled.
+
+2005-06-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
+ * a-swuwha.ads, a-swuwha.adb: New files
+
+ * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
+ * a-szuzha.ads, a-szuzha.adb: New files.
+
+ * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+ a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
+ a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
+ a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+ a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
+ a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
+ a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
+ a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
+ a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
+ Ada 2005 RM.
+
+2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Pascal Obry <obry@adacore.com>
+
+ * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
+
+ * trans.c (call_to_gnu): Issue a warning for users of Starlet when
+ making a temporary around a procedure call because of non-addressable
+ actual parameter.
+ (process_freeze_entity): If entity is a private type, capture size
+ information that may have been computed for the full view.
+ (tree_transform, case N_Allocator): If have initializing expression,
+ check type for Has_Constrained_Partial_View and pass that to
+ build_allocator.
+ (tree_transform, case N_Return_Statement): Pass extra arg to
+ build_allocator.
+
+ * decl.c (annotate_value): Remove early return if -gnatR is not
+ specified.
+ (gnat_to_gnu_field): Don't make a packable type for a component clause
+ if the position is byte aligned, the field is aliased, and the clause
+ size isn't a multiple of the packable alignment. It serves no useful
+ purpose packing-wise and would be rejected later on.
+ (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
+
+ PR ada/20515
+ (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
+ context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
+ instead.
+ (create_concat_name): Idem.
+
+2005-06-10 Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragma Persistent_BSS
+ Document second argument (Ada_05) of pragma Obsolescent
+ Add note that call to subprogram marked with pragma Obsolescent
+ is now considered to be a violation of program Restrictions
+ (No_Obsolescent_Features).
+ (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
+ that only machine-dependent attributes are supported.
+
+ * gnat_ugn.texi:
+ Commented out menu lines and empty section for gnatclean examples
+ Document -gnatwy/Y
+ Fix some over long lines
+ Clarify and enhance documentation of ADA_PROJECT_PATH.
+ Rework section 2.11.2(3) about linking with a non-GNU compiler.
+ Mention new switch -fcallgraph-info.
+ Mention new switch -fstack-usage.
+ For gnatpp, replace '-notab' with '-N' and add this option to Index
+ Corrected VMS example.
+ VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
+ Minor reformatting
+ Add documentation for -gnatyu switch (unnecessary blank lines)
+ Document new switch -U for GNAT PRETTY and GNAT METRIC
+ Add note about Stdcall being handled as C convention on non Windows OS.
+ Remove some junk typo in description of gnatbind -S switch
+ Remove reference to Extensions_Allowed pragma
+ Document the new order of the directories to be searched (source and
+ object directories of project files before directories in ADA_*_PATH
+ environment variables.
+
+ * g-trasym.ads: Document that IRIX is supported
+
+2005-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Add initialize.o when needed.
+ Adapt to new VMS package body Symbols and subunits
+ No specialized version of a-sytaco is needed for VxWorks.
+
+ * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
+ * a-zchara.ads, a-widcha.ads: New files.
+
+ * system-hpux-ia64.ads: New file.
+
+ * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
+ is imported from the VxWorks kernel.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
+ fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
+ a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
+ s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
+ a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
+ g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
+ i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
+ namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
+ sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
+ s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
+ xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * xeinfo.adb: Fix typo in comment
+
+2005-06-14 Javier Miranda <miranda@adacore.com>
+
+ * repinfo.ads: Fix typo in comment
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * s-finimp.adb (Parent_Tag): Delete this imported function (function
+ Parent_Tag is now in the visible part of Ada.Tags).
+ (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
+ using imported function.
+
+2005-06-14 Bernard Banner <banner@adacore.com>
+
+ * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
+ also apply for handling support for VxSim 653.
+
+2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * xsnames.adb: Add automatic generation of snames.h.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Add IP_MULTICAST_IF constant
+ Minor reformatting and adjustments to prevent warnings.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * seh_init.c: Do not include <sys/stat.h>. This is not needed.
+
+2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * trans.c (gnat_gimplify_expr): Call
+ recompute_tree_invarant_for_addr_expr when we change
+ the operand of the ADDR_EXPR.
+
+2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c: Don't include errors.h.
+
+2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * raise.c (db): Add ATTRIBUTE_PRINTF_2.
+
+2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
+ comment typos.
+ * gnat_rm.texi, gnat_ugn.texi: Fix typos.
+
+2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/20270
+ * Makefile.in: Make TGT_LIB behave correctly.
+
+2005-04-23 DJ Delorie <dj@redhat.com>
+
+ * misc.c: Adjust warning() callers.
+
+2005-04-16 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/18847
+ * a-nudira.adb (Value): Check for valid string.
+ * a-nuflra.adb (Value): Likewise.
+
+2005-04-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * lang.opt: Refer to the GCC internals documentation instead of c.opt.
+
+2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * adaint.c, init.c, tracebak.c: Fix comment typos.
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
+
+2005-04-07 Laurent GUERBY <laurent@guerby.net>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * Makefile.in: Add make ifeq define for hppa linux tasking support.
+ * system-hpux.ads: Define Signed_Zeros to be True.
+ * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
+ raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
+ typos.
+
+2005-03-30 Tom Tromey <tromey@redhat.com>
+
+ * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
+
+2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Real_Literal): Generate warning if static
+ fixed-point expression has value that is not a multiple of the Small
+ value.
+
+ * opt.ads (Warn_On_Bad_Fixed_Value): New flag
+
+ * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
+ nanoseconds.
+
+ * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
+ (Build_Dynamic_Library.Version_String): Return the empty string when
+ Lib_Version is empty or when the symbol policy is not Autonomous.
+
+ * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
+ a symbol is not in the reference symbol file, increase the Major ID
+ and set the Minor ID to 0.
+ Use gsmatch=lequal instead of gsmatch=equal
+
+2005-03-29 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
+ name and translate.
+
+2005-03-29 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
+ (Inherit_DT): The first formal has been redefined as a Tag.
+ This allows us the removal of the subprogram Get_TSD.
+ (TSD): Replace the call to Get_TSD by the actual code.
+
+ * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
+ (Make_DT): Upgrade the call to Inherit_TSD according to the
+ new interface: the first formal is now a Tag.
+
+ * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
+ redefined as a Tag.
+ This change allows us to remove the subprogram Get_TSD.
+ (CPP_Get_TSD): Subprogram removed.
+ (TSD): Replace the call to CPP_Get_TSD by the actual code.
+
+ * rtsfind.ads: Remove support to call the run-time
+ subprogram Get_TSD
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * errutil.adb, errout.adb:
+ Minor comment updates on Line_Terminator references
+
+ * par-ch10.adb: Add ??? comment about line terminator
+
+ * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
+ (check dos line terminator).
+ (Check_Line_Max_Length): New procedure, split off from the existing
+ Check_Line_Terminator routine. Separating this out allows -gnatyf to
+ be properly recognized.
+
+ * styleg.adb: Add ??? comment for line terminator reference
+
+ * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
+ (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
+
+ * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
+ (check dos line terminator).
+ (Check_Line_Max_Length): New procedure, split off from the existing
+ Check_Line_Terminator routine. Separating this out allows -gnatyf to
+ be properly recognized.
+
+ * stylesw.ads, stylesw.adb:
+ Add handling for new -gnatyd switch (check dos line terminator)
+
+ * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
+ Recognize -gnatwb/-gnatwB switches
+ Include Warn_On_Bad_Fixed_Value for -gnatg
+
+ * usage.adb:
+ Add line for new -gnatyd switch (check dos line terminator)
+
+ * usage.adb: Add lines for -gnatwb/-gnatwB
+
+ * vms_data.ads: Add entry for NOCRLF (-gnatyd)
+
+ * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
+
+ * gnat_ugn.texi: Fix overlong lines
+ Document new -gnatyd switch
+ Document new -gnatwb/-gnatwB switches
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
+ order to retrieve the component list of the type, before examining
+ individual components.
+
+ * sem_type.adb (Covers): Types are compatible if one is the base type
+ of the other, even though their base types might differ when private
+ views are involved.
+
+2005-03-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
+ To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
+ of using Set_Renaming_TSS. This ensures that the TSS bodies are not
+ analyzed if expansion is disabled (which could otherwise cause spurious
+ error messages if expansion has been disabled due to previous
+ (unrelated) errors).
+
+ * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
+ is disabled, the entity denoted by the argument is the access type
+ itself, not an underlying record type, so there is no need to go back
+ to the Corresponding_Remote_Type.
+
+2005-03-29 Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
+ expand a call to an instance of
+ Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
+ Constructor actual of the instance. A class-wide membership
+ check is also generated, to ensure that the tag passed to the instance
+ denotes a type in the class.
+ (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
+ of Name_Generic_Dispatching_Constructor.
+
+ * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
+ 05 unit for AI-260-02).
+
+ * a-tgdico.ads: New file.
+
+ * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
+ predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
+
+ * snames.ads, snames.adb (Preset_Names): Add entry for
+ Generic_Dispatching_Constructor.
+
+ PR ada/20300
+ * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
+ character type cases.
+ (Analyze_Subprogram_Renaming): Add special handling for
+ the case of renaming of stream attributes when the renaming denotes a
+ generic formal subprogram association for an abstract formal subprogram.
+ Check that the attribute is a primitive stream attribute (and not
+ a class-wide stream attribute) and then rewrite the attribute name
+ as the name of the appropriate compiler-generated stream primitive.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
+ recursive calls.
+ (Is_Possibly_Unaligned_Object): Correct typo that
+ resulted in inaccurate result for unaligned scalars within records.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): If the type of the component is an
+ itype whose parent is controlled and not yet frozen, do not create a
+ freeze node for the itype if expansion is disabled.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Don't fail if the main project file is declared
+ as having no Ada sources. Do not display message "no sources to
+ compile" in quiet output.
+
+2005-03-29 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
+ extra tools.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch12.adb (P_Generic): Give better msg for illegal private generic
+ child.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
+ missing TYPE Improve the error message generated when compiling a
+ limited interface in Ada83 or Ada95 mode.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
+ rather than proceed ahead using a junk attribute name.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
+
+ * prj-part.adb (Parse_Single_Project): Set the location of a project
+ on its defining identifier, rather than on the reserved word "project".
+
+ * prj-proc.adb (Expression): Adapt to the fact that default of external
+ references may be string expressions, not always literal strings.
+ (Recursive_Process): Set Display_Name equal to Name
+ when Location is No_Location, that is when there is no actual file.
+ Get the Display_Name of the project from the source, when it is not a
+ virtual project.
+ (Process): Use the Display_Name in error messages
+
+ * prj-strt.adb (External_Reference): Allow default to be string
+ expressions, not only literal strings.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
+ file and the reference symbol file to be the same file.
+
+2005-03-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
+ forbid conversion of a local access-to-subprogram type to a remote one.
+
+ * sem_util.adb (Wrong_Type): For a record type that is the expanded
+ equivalent type for a remote access-to-subprogram type, go back to the
+ original RAS entity when displaying an error message, so the casing is
+ the original source casing.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
+ on param update.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
+ subtype if code is being pre-analyzed, to prevent un-expanded
+ references to protected formals, among others.
+ (Analyze_Explicit_Dereference): If the overloaded prefix includes some
+ interpretation that can be a call, include the result of the call as a
+ possible interpretation of the dereference.
+
+ * sem_ch5.adb (Process_Bounds): Determine type of range by
+ pre-analyzing a copy of the original range, and then analyze the range
+ with the expected type.
+
+ * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
+ with an overloaded prefix where not all interpretations yield an
+ access to subprogram, do not rewrite node as a call.
+ (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
+ the node as a call once the context identifies the interpretation of
+ the prefix whose call yields the context type.
+ (Valid_Conversion): For the case of a conversion between
+ local access-to-subprogram types, check subtype conformance using
+ Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
+ detailed error message.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
+ indicator, indicate that the formal can never be null.
+ (Process_Formals): If a formal has a non_null indicator, insert the
+ resulting subtype immediately before the enclosing subprogram decl,
+ and not at the beginning of the corresponding declarative part, to
+ prevent access before elaboration (Ada2005).
+
+2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/19956
+ * utils.c (finish_record_type): Use variable_size when setting sizes.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
+ guarantee Unix style line terminators for the output files, even when
+ running on windows.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
+ buffer if an exception is raised.
+
+2005-03-29 Ed Falis <falis@adacore.com>
+
+ * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
+ VxWorks 653 1.4
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads: Minor reformatting
+ * gnat_rm.texi: Minor editing.
+
+2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
+ * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
+
+2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (__gnat_portable_spawn): Adjust cast.
+
+2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
+
+ * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+
+2005-03-17 Pascal Obry <obry@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
+ used.
+
+ * expect.c (__gnat_waitpid): Moved here from adaint.c.
+ Reimplement under Win32 using Win32 API.
+
+ (__gnat_kill) [Win32]: Properly close the process handle before leaving
+ this routine.
+
+2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
+ (DECL_RENAMED_OBJECT): New accessor macro.
+ (SET_DECL_RENAMED_OBJECT): New setter macro.
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
+ object in all cases. Attach the renamed object to the VAR_DECL.
+ (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
+ field is not prescribed.
+
+ * misc.c (gnat_handle_option): Handle -gnatO separately.
+ (gnat_print_decl) <VAR_DECL>: New case.
+ Print the DECL_RENAMED_OBJECT node.
+
+ * lang.opt: Declare separate -gnatO option.
+
+ * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
+ pointer, replace it with the renamed object.
+ <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
+ pointer type if the source is not a fat pointer type whose underlying
+ array has the same non-zero alias set as that of the destination array.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
+ (Get_Inheritance_Depth): Removed.
+ (Set_Inheritance_Depth): Removed.
+
+ * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
+ subprogram Get_Expanded_Name because it is not referenced by the
+ frontend.
+
+ * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
+ (CPP_Get_Inheritance_Depth): Removed.
+ (CPP_Set_Inheritance_Depth): Removed.
+
+ * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
+ 3, since we now expect GCC 3 to do all the work.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
+ of one barrier to avoid wrong usage of this attribute.
+
+ * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
+ First_Private_Entity.
+
+ * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
+ the subprogram against wrong usage.
+ Adapt the code to traverse the entities in the
+ scope of a record_type because in addition to its usage regarding
+ packages, this subprogram is also called by Expand_N_Freeze_Entity
+ to install the visible declarations of the enclosing scope of a
+ record_type_with_private to establish the proper visibility before
+ freezing the entity and related subprograms.
+
+2005-03-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
+ entry formals.
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb (Check_Attr): New subprogram.
+ (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
+ into a new Check_Attr subprogram, in order to provide a more
+ explanatory error message (including the name of the missing attribute).
+ (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
+ subprogram determines whether a default implementation exists for a
+ given stream attribute.
+ (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
+ Determine whether to generate a default implementation for each stream
+ attribute separately, as this depends on the specific attribute.
+
+ * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
+ limited extension where a stream attribute is missing for a limited
+ component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
+ generate a bogus reference to the missing attribute to prevent
+ cascaded errors. Instead, generate a null statement.
+
+ * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
+ available for a limited type if it has been specified for an ancestor
+ of the type.
+
+2005-03-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
+ entity is an operator.
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+ spec, to make this predicate available to other units.
+
+ * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
+ reimplementing it.
+
+ * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
+ when no distribution runtime library is available.
+
+ * sem_res.adb, sem_dist.adb: Disable expansion of remote
+ access-to-subprogram types when no distribution runtime library is
+ available.
+ (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
+ predicate available to other units.
+
+ * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+ spec, to make this predicate available to other units.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Insert_Project_Sources): Make sure the Q is always
+ initialized.
+
+ * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
+ the default for the tree, not the global default naming.
+
+ * prj-proc.adb (Recursive_Process): No need to put the default naming
+ in the project data, it's already there.
+
+2005-03-17 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
+
+ * 5xcrtl.ads: Renamed to...
+ * s-crtl-vms64.ads: ...this new file
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ PR ada/19519
+ * namet.adb (Copy_One_Character): Set proper wide character encoding
+ for upper half character if we have upper half encoding.
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * par.adb (Par): Improved msg for attempt to recompile predefined unit
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
+ tagged limited type, the TSS is a newly built renaming declaration:
+ insert it using Set_TSS, not Copy_TSS.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
+ Try_Object_Operation): Analyze the object that is accessible
+ through the prefix of the subprogram call before we apply
+ the transformation of the object-operation notation.
+
+2005-03-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprob.adb (Initialize_Protection): Initialize the protected
+ object's owner to Null_Task.
+ (Lock): If pragma Detect_Blocking is in effect and the caller of this
+ procedure is already the protected object's owner then Program_Error
+ is raised. In addition the protected object's owner is updated.
+ (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
+ of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ In addition the protected object's owner is updated.
+ (Unlock): Remove the ownership of the protected object.
+
+ * s-taprob.ads (Protection): Add the field Owner, used to store the
+ protected object's owner.
+ This component is needed for detecting one type of potentially blocking
+ operations (external calls on a protected subprogram with the same
+ target object as that of the protected action). Document the rest of
+ the components.
+
+ * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
+ Initialize the protected object's owner to Null_Task.
+ (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
+ caller of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ Do not raise Program_Error when this procedure is called from a
+ protected action.
+ (Unlock_Entries): Remove the ownership of the protected object.
+ (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
+ of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ Do not raise Program_Error when this procedure is called from
+ a protected action.
+
+ * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
+ used to store the protected object's owner.
+
+ * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
+ effect and this procedure (a potentially blocking operation) is called
+ from whithin a protected action, Program_Error is raised.
+ (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
+ and this procedure (a potentially blocking operation) is called from
+ whithin a protected action, Program_Error is raised.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
+ switch, not supported by the linker on Darwin. Add '_' before
+ <library>init, as this character is added unconditionally by the
+ compiler.
+ (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
+ correct one ".dylib". This fixes detection of the archive files when
+ building library projects.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+ -gnat83, -gnat95 and -gnat05.
+
+2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Document gnatmem restriction
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
+ cleanup
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
+ a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
+ s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
+
+ * casing.adb: Comment improvements
+
+2005-03-17 Pascal Obry <obry@adacore.com>
+
+ * g-expect.adb: Minor reformatting.
+
+2005-03-15 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
+ (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
+ to dependencies.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
+ Add new parameter In_Tree to specify the project tree: needed
+ by the project manager. Adapt to changes in project manager
+ using new parameter In_Tree.
+
+2005-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
+ ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
+ ada/bldtools to avoid make -jN failures.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
+ to NULL_TREE on entry.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * system-unixware.ads, 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-vxworks-xscale.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-os2.ads,
+ system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
+ system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
+ system-linux-s390.ads, system-linux-s390x.ads: Add line defining
+ Compiler_System_Version to be False.
+
+ * opt.ads: Add new flag Opt.Address_Is_Private
+
+ * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
+ Add new parameter Compiler_System_Version to avoid checking for
+ completeness of parameters when compiler is compiling itself.
+ Allows old versions of GNAT to be compiled with new compiler.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
+ (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
+ calling thread.
+ (Stack_Base_Available): New flag.
+ (Get_Page_Size): New overloaded functions imported from C.
+ (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
+ PROT_ON, PROT_OFF): New constants.
+ (mprotect): New function imported from C.
+ (pthread_teb_t): New record type.
+
+ * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
+ (Create_Task): Account for the Yellow Zone and the guard page.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * 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, mlib-tgt-lynxos.adb (Library_Exist_For,
+ Library_File_Name_For): Add new parameter In_Tree
+ to specify the project tree: needed by the project manager.
+ Adapt to changes in project manager using new parameter In_Tree.
+ Remove local imports, use functions in System.CRTL.
+
+ * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
+ to use the project manager.
+
+ * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
+ In_Tree to designate the project tree. Adapt to changes in the project
+ manager, using In_Tree.
+
+ * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
+ Copy_Interface_Sources): Add new parameter In_Tree to specify the
+ project tree: needed by the project manager.
+ (Build_Library): Check that Arg'Length >= 6 before checking if it
+ contains "--RTS=...".
+
+ * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
+ Library_File_Name_For): Add new parameter In_Tree to specify the
+ project tree: needed by the project manager.
+
+ * prj.ads, prj.adb: Major modifications to allow several project trees
+ in memory at the same time.
+ Change tables to dynamic tables and hash tables to dynamic hash
+ tables. Move tables and hash tables from Prj.Com (in the visible part)
+ and Prj.Env (in the private part). Move some constants from the visible
+ part to the private part. Make other constants deferred.
+ (Project_Empty): Make it a variable, not a function
+ (Empty_Project): Add parameter Tree. Returns the data with the default
+ naming data of the project tree Tree.
+ (Initialize): After updating Std_Naming_Data, copy its value to the
+ component Naming of Project Empty.
+ (Register_Default_Naming_Scheme): Use and update the default naming
+ component of the project tree, instead of the global variable
+ Std_Naming_Data.
+ (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
+ Tree is not defaulted, return the default naming data of the Tree.
+ (Initial_Buffer_Size): Constant moved from private part
+ (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
+ variables initialized in procedure Initialize.
+ (Add_To_Buffer): Add two in out parameters to replace global variables
+ Buffer and Buffer_Last.
+ (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
+ functions.
+ Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
+ hash tables.
+ (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+ for the project tree.
+ (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
+ constant at the beginning of the package spec, so that they cane be used
+ in subprograms before their full declarations.
+ (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
+ (Empty_Project): Add parameter of type Project_Node_Ref
+ (Private_Project_Tree_Data): Add component Default_Naming of type
+ Naming_Data.
+ (Buffer, Buffer_Last): remove global variables
+ (Add_To_Buffer): Add two in out parameters to replace global variables
+ Buffer and Buffer_Last.
+ (Current_Packages_To_Check): Remove global variable
+ (Empty_Name): Move to private part
+ (No-Symbols): Make it a constant
+ (Private_Project_Tree_Data): New type for the private part of the
+ project tree data.
+ (Project_Tree_Data): New type for the data of a project tree
+ (Project_Tree_Ref): New type to designate a project tree
+ (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+ for the project tree.
+
+ * prj-attr.ads: Add with Table; needed, as package Prj no longer
+ imports package Table.
+
+ * prj-com.adb: Remove empty, no longer needed body
+
+ * prj-com.ads: Move most of the content of this package to package Prj.
+
+ * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
+ designate the project node tree and Packages_To_Check to replace
+ global variable Current_Packages_To_Check.
+ Add new parameters In_Tree and Packages_To_Check to local subprograms,
+ when needed. Adapt to changes in project manager with project node tree
+ In_Tree.
+
+ * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
+ project tree to most subprograms. Move tables and hash tables to
+ private part of package Prj.
+ Adapt to changes in project manager using project tree In_Tree.
+
+ * prj-makr.adb (Tree): New constant to designate the project node tree
+ Adapt to change in project manager using project node tree Tree
+
+ * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
+ display the Library_Src_Dir and the Library_Dir.
+ Add new parameter In_Tree to designate the project node tree to most
+ subprograms. Adapt to changes in the project manager, using project tree
+ In_Tree.
+ (Check_Naming_Scheme): Do not alter the casing on platforms where
+ the casing of file names is not significant.
+ (Check): Add new parameter In_Tree to designate the
+
+ * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
+ designate the project tree.
+ Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
+
+ * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
+ to replace those that were in the private part of package Prj.
+ Add new parameter In__Tree to designate the project node tree to most
+ subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+ (Post_Parse_Context_Clause): When specifying the project node of a with
+ clause, indicate that it is a limited with only if there is "limited"
+ in the with clause, not necessarily when In_Limited is True.
+ (Parse): Add new parameter In_Tree to designate the project node tree
+
+ * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
+ designate the project node tree. Adapt to change in Prj.Tree with
+ project node tree In_Tree.
+
+ * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
+ tree In_Tree in the call to function Empty_Process to give its initial
+ value to the project data Processed_Data.
+ Add new parameters In_Tree to designate the project tree and
+ From_Project_Node_Tree to designate the project node tree to several
+ subprograms. Adapt to change in project manager with project tree
+ In_Tree and project node tree From_Project_Node_Tree.
+
+ * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
+ to replace those that were in the private part of package Prj.
+ Add new parameter In_Tree to designate the project node tree to most
+ subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+
+ * prj-tree.ads, prj-tree.adb: Add new parameter of type
+ Project_Node_Tree_Ref to most subprograms.
+ Use this new parameter to store project nodes in the designated project
+ node tree.
+ (Project_Node_Tree_Ref): New type to designate a project node tree
+ (Tree_Private_Part): Change table to dynamic table and hash tables to
+ dynamic hash tables.
+
+ * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
+ the project tree to most subprograms. Adapt to changes in project
+ manager using project tree In_Tree.
+
+ * makegpr.adb (Project_Tree): New constant needed to use project
+ manager.
+
+2005-03-15 Olivier Hainque <hainque@adacore.com>
+
+ * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
+ for sigactions with SA_SIGINFO set. Call
+ __gnat_adjust_context_for_raise before raising, to perform the
+ potentially required adjustments to the machine context for the GCC
+ unwinder.
+
+ * raise.h (__gnat_adjust_context_for_raise): New prototype.
+
+ * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
+ Adjust PC by one in the provided machine context.
+ (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
+ so that the handler is passed the context structure to adjust prior to
+ the raise.
+ (__gnat_error_handler) HPUX: Adjust the signature to match what an
+ SA_SIGINFO sigaction should look like. Call
+ __gnat_adjust_context_for_raise before actually raising.
+ (__gnat_adjust_context_for_raise): Default noop to help PC
+ adjustments before raise from signal handlers.
+ (__gnat_error_handler): Indirectly call a predicate function to
+ determine if a condition should be resignaled or not.
+ (__gnat_set_resignal_predicate): User interface to modify the predicate.
+ (__gnat_default_resignal_p): Default GNAT predicate.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c: Prefix #include of VMS system header files with vms/
+ [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
+ Do not define a dummy function "convert_addresses" under Darwin,
+ not needed.
+
+ * tb-alvms.c, expect.c: Prefix #include of VMS system header files
+ with vms/
+
+2005-03-15 Nicolas Setton <setton@adacore.com>
+
+ * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
+ PPC/AIX.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
+ AI-386.
+
+ * a-retide.ads: Minor comment changes
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
+ a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
+ Realloc_For_Chunk to private part of package.
+ New subprograms for AI-301
+
+ * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
+ Get_Line procedure.
+ Avoid unnecessary use of Get/Set_Wide_String
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ PR ada/13470
+ * a-stunau.ads, a-stunau.adb:
+ Change interface to allow efficient (and correct) implementation
+ The previous changes to allow extra space in unbounded strings had
+ left this interface a bit broken.
+
+ * a-suteio.adb: Avoid unnecessary use of Get/Set_String
+
+ * g-spipat.ads, g-spipat.adb: New interface for Get_String
+ Minor reformatting (function specs)
+
+ * g-spitbo.adb: New interface for Get_String
+
+ * g-spitbo.ads: Minor reformatting
+
+ * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
+
+ * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
+
+2005-03-15 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * atree.ads, atree.adb: Add support for Elist24 field
+
+ * atree.h: Fix wrong definition of Field27
+ Add support for Elist16 field
+ Add support for Elist24 field
+
+ * einfo.ads, einfo.adb (Abstract_Interfaces,
+ Set_Abstract_Interfaces): New subprograms.
+ (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
+ subprograms.
+ (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
+ entities rather than a single node.
+ (Is_Interface, Set_Is_Interface): New subprogram
+ (First_Tag_Component): New syntesized attribute
+ (Next_Tag_Component): New synthesized attribute
+ (Write_Entity_Flags): Upgraded to write Is_Interface
+ (Write_Field24_Name): Upgraded to write Abstract_Interfaces
+ (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
+ (Task_Body_Procedure): New subprogram to read this attribute.
+ (Set_Task_Body_Procedure): New subprogram to set this attribute.
+ (Has_Controlled_Component): Now applies to all entities.
+ This is only a documentation change, since it always worked to apply
+ this to other than composite types (yielding false), but now this is
+ official.
+ Update documentation on Must_Be_Byte_Aligned for new spec
+
+ * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
+ exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
+ uses of the Access_Disp_Table attribute to reference the first dispatch
+ table associated with a tagged type. As
+ part of the implementation of abstract interface types,
+ Access_Disp_Table has been redefined to contain a list of dispatch
+ tables (rather than a single dispatch table).
+ Similarly, upgrade all the references to Tag_Component by the
+ new attribute First_Tag_Component.
+ (Find_Inherited_TSS): Moved to exp_tss.
+ Clean up test in Expand_N_Object_Declaration for cases
+ where we need to do a separate assignment of the initial value.
+ (Expand_N_Object_Declaration): If the expression in the
+ declaration of a tagged type is an aggregate, no need to generate an
+ additional tag assignment.
+ (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
+ is to be deleted.
+ Bit packed array ops are only called if operands are known to be
+ aligned.
+ (Component_Equality): When returning an N_Raise_Program_Error statement,
+ ensure that its Etype is set to Empty to avoid confusing GIGI (which
+ expects that only expressions have a bona fide type).
+ (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
+ determine the amount of data to be copied.
+
+ * par.adb (P_Interface_Type_Definition): New subprogram that parses the
+ new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
+ INTERFACE_TYPE_DEFINITION ::=
+ [limited | task | protected | synchronized] interface
+ [AND interface_list]
+
+ * par-ch3.adb (P_Type_Declaration): Modified to give support to
+ interfaces.
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
+ interfaces.
+ (P_Interface_Type_Definition): New subprogram that parses the new
+ syntax rule of Ada 2005 interfaces
+ (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
+ messages by the correct RENAMES (quotes removed).
+
+ * sem_prag.adb: Upgrade all the references to Tag_Component by the new
+ attribute First_Tag_Component.
+
+ * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
+ (Interface_List, Set_Interface_List): New subprograms.
+ (Interface_Present, Set_Interface_Present): New subprograms.
+ (Limited_Present, Set_Limited_Present): Available also in derived
+ type definition nodes.
+ (Protected_Present, Set_Protected_Present): Available also in
+ record type definition and
+ derived type definition nodes.
+ (Synchronized_Present, Set_Synchronized_Present): New subprograms.
+ (Task_Present, Set_Task_Present): New subprogram.
+ (Task_Body_Procedure): Removed.
+ (Set_Task_Body_Procedure): Removed.
+ These subprogram have been removed because the attribute
+ Task_Body_Procedure has been moved to the corresponding task type
+ or task subtype entity to leave a field free to store the list
+ of interfaces implemented by a task (for AI-345)
+ Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
+ (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
+ expression flag Do_Range_Check
+ (Exception_Junk): Change to Flag7 to accomodate above change
+ (Box_Present, Default_Name, Specification, Set_Box_Present,
+ Set_Default_Name, Set_Specification): Expand the expression
+ "X in N_Formal_Subprogram_Declaration" into the corresponding
+ two comparisons. Required to use the csinfo tool.
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
+ "with string" given.
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
+ expression given.
+
+ * par-ch11.adb (P_Raise_Statement): Recognize with string expression
+ in 2005 mode
+
+ * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
+ attribute Task_Body_Procedure rather than the old semantic field that
+ was available in the task_type_declaration node.
+
+ * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
+ interface type definitions.
+ (P_Formal_Derived_Type_Definition): Modified to handle the list of
+ interfaces.
+
+ * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
+ task type declaration.
+ (P_Protected): Modified to handle the list of interfaces in a
+ protected type declaration.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
+ (Gen_Output_File_C): Likewise.
+ (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
+
+2005-03-15 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
+ is an N_Raise_Constraint_Error node, create a new copy of it without
+ going through a call to Duplicate_Subexpr.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Nicolas Setton <setton@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/19900
+ PR ada/19408
+ PR ada/19140
+ PR ada/20255
+ * decl.c (gnat_to_gnu_field): Reject aliased components with a
+ representation clause that prescribes a size not equal to the rounded
+ size of their types.
+ (gnat_to_gnu_entity, case E_Component): Always look at
+ Original_Record_Component if Present and not the entity.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
+ of tagged extension types by not making field for components that are
+ inside the parent.
+ (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
+ (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
+ expression to the type of the object when the object is constant.
+ Reverse defer_debug_incomplete_list before traversing it, so that trees
+ are processed in the order at which they were added to the list. This
+ order is important when using the stabs debug format.
+ If we are deferring the output of debug information, also defer this
+ output for a function return type.
+ When adding fields to a record, prevent emitting debug information
+ for incomplete records, emit the information only when the record is
+ complete.
+ (components_to_record): New parameter defer_debug.
+ (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
+ (gnat_to_gnu_field_decl): New function.
+ (substitution_list, annotate_rep): Call it.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
+ (gnat_to_gnu_entity, case E_Record_Type): Likewise.
+ No longer update discriminants to not be a COMPONENT_REF.
+ (copy_alias_set): Strip padding from input type; also handle
+ unconstrained arrays properly.
+
+ * gigi.h (write_record_type_debug_info): New function.
+ Convert to use ANSI-style prototypes. Remove unused
+ declarations for emit_stack_check, elab_all_gnat and
+ set_second_error_entity.
+ (gnat_to_gnu_field_decl): New decl.
+
+ * utils.c (write_record_type_debug_info): New function.
+ (finish_record_type): Delegate generation of debug information to
+ write_record_type_debug_info.
+ (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
+ (update_pointer_to): Fix pasto.
+ (convert) <UNION_TYPE>: Accept slight type variations when
+ converting to an unchecked union type.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
+ replace the N_Freeze_Entity with a null statement.
+
+ * freeze.adb (Freeze_Expression): If the freeze nodes are generated
+ within a constrained subcomponent of an enclosing record, place the
+ freeze nodes in the scope stack entry for the enclosing record.
+ (Undelay_Type): New Subprogram.
+ (Set_Small_Size): Pass T, the type to modify; all callers changed.
+ (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
+ within records; allow them to have freeze nodes if their base types
+ aren't frozen yet.
+
+ * exp_util.adb (Remove_Side_Effects): Properly test for
+ Expansion_Delayed and handle case when it's inside an
+ N_Qualified_Expression.
+
+ * sem_ch3.adb (Derived_Type_Declaration): New predicate
+ Comes_From_Generic, to recognize accurately that the parent type in a
+ derived type declaration can be traced back to a formal type, because
+ it is one or is derived from one, or because its completion is derived
+ from one.
+ (Constrain_Component_Type): If component comes from source and has no
+ explicit constraint, no need to constrain in in a subtype of the
+ enclosing record.
+ (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
+ Minor change to propagate Is_Ada_2005 flag
+
+ * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
+ Expansion_Delayed is False.
+ (assoc_to_constructor): Ignore fields that have a
+ Corresponding_Discriminant.
+ (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
+ function returns "by target", dereference the target pointer using the
+ type of the actual return value.
+ <all>: Be prepared for a null gnu_result.
+ (processed_inline_subprograms): Check flag_really_no_inline
+ instead of flag_no_inline.
+ (set_second_error_entity): Remove unused function.
+ (gnat_to_gnu, case N_Selected_Component): Call
+ gnat_to_gnu_field_decl.
+ (assoc_to_constructor): Likewise.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Do not set
+ Must_Be_Byte_Aligned for cases where we do not need to use a
+ System.Pack_nn unit.
+
+ * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
+ as procedures.
+ Needed now that we do some processing for IN parameters as well. This
+ may well fix some unrelated errors.
+ (Expand_Call): Handle case of unaligned objects (in particular those
+ that come from packed arrays).
+ (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
+ renamed entity is an inherited operation, re-expand the call using the
+ original operation, which is the one to call.
+ Detect attempt to inline parameterless recursive subprogram.
+ (Represented_As_Scalar): Fix to work properly with private types
+ (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
+ accurate estimate. Yields True in far fewer cases than before,
+ improving the quality of code that depends on this test.
+
+ * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
+ over both visible and private declarations to remove them from tree,
+ and mark subprograms declared in package as eliminated, to prevent
+ spurious use in subsequent compilation of generic units in the context.
+
+ * exp_util.ads: Minor cleanup in variable names
+
+ * sem_eval.ads, sem_eval.adb: Minor reformatting
+ (Compile_Time_Known_Bounds): New function
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Convert_View): Use base types of underlying types when
+ determining whether an unchecked conversion is needed for the argument
+ of an initialization call.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
+ that appears in the instantiation rather than the internal subtype
+ generated in the wrapper package, to avoid anomalies in gigi when the
+ target is derived from a private type whose full view is an access type.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
+ not needed.
+ Add documentation to replace the use of this flag
+ Fix kludge for Maximum_Alignment on x86 so that it does not apply to
+ the x86_64.
+
+2005-03-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
+ here from exp_attr so it can be shared between exp_attr and exp_dist.
+ (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
+ all TSS names, not a subset thereof, and the previous name introduced
+ an unnecessarily confusion that a distinction might exist between
+ "OK" TSS names and some "not OK" TSS names.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
+ Command_Name.
+
+2005-03-15 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/20226
+ PR ada/20344
+ * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
+ when IN_RTS. This is to work around a bootstrap path problem.
+
+ * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
+ table and pass it to __gnat_install_SEH_handler().
+ (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
+
+ * lang.opt: Fix specification of -fRTS=.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+ Bernard Banner <banner@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/6852
+ This change works fine when gnatlib is built from the gcc directory,
+ but does not work when using the libada Makefile, since GCC_FOR_TARGET
+ is not passed to ada/Makefile.in, so more work is needed by a
+ Makefile/configure expert.
+
+ * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
+ set GMEM_LIB on ia64 linux to add optional support for gnatmem.
+ Setup gnatlink switch -M for x86_64 linux, as it is already setup
+ for Linux x86.
+ (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
+ Run ranlib on libgccprefix.a
+ Define PREFIX_OBJS for Darwin, to build libgccprefix.
+ (ADA_INCLUDE_SRCS): Split Ada packages.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
+
+ * impunit.adb: Add GNAT.UTF_32
+
+ * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
+
+ * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
+ now uses GNAT.UTF_32).
+
+ * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
+ capabilities for categorizing characters using Unicode categories
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
+ instantiation that has been rewritten as a package body, retrieve spec
+ to generate proper name for implicit_with_clause.
+ (Install_Parents): Recognize a parent that is an instantiation but has
+ been rewritten as a package declaration during analysis.
+
+2005-03-15 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
+ parameter reported some error we immediately return. This improves the
+ behaviour of the frontend in case of errors.
+ (Install_Parent, Remove_Parent): Introduce new flag
+ Parent_Unit_Visible, to preserve the proper visibility of the ultimate
+ ancestor of a generic child unit, when the child is being instantiated.
+ (Inline_Instance_Body): If we are compiling the private
+ part or the body of a child unit, restore the proper visibility of the
+ parents after compiling the instance body.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ PR ada/15608
+ * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
+ of a private type, in which case it is underlying_type that denotes
+ the proper task. Also modified to use the new entity attribute
+ that is directly available in the task type and task subtype entities
+ (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
+ arrays when other dimensions than the first are constrained by
+ discriminants of an enclosing record.
+ (Insert_Explicit_Dereference): If the prefix is an indexed component or
+ a combination of indexed and selected components, find ultimate entity
+ and generate the appropriate reference for it, to suppress spurious
+ warnings.
+ (Note_Possible_Modification): If an entity name has no entity, return.
+ (Is_Variable): A function call never denotes a variable.
+ (Requires_Transient_Scope): For record types, recurse only on
+ components, not on internal subtypes that may have been generated for
+ constrained components.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
+ Eliminated as candidates for resolution. Both efficient, and avoids
+ anomalies with operators declared in deleted code.
+ (Process_Implicit_Dereference_Prefix): Use this procedure whenever
+ expansion is disabled (as when compiling a generic) to prevent spurious
+ warnings on prefixes of selected components.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
+ attached to a list before checking whether it appears in the private
+ declarations of the current package.
+ (Make_Inequality_Operator): Insert declaration in proper declarative
+ list rather than just setting the Parent field, so that
+ Is_Private_Declaration can handle it properly.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
+ a renaming a body, check that the renamed subprogram in not intrinsic.
+ (Find_Direct_Name): If several use_visible entities hide
+ each other, and the context is a predefined file compiled through
+ rtsfind, keep only the entity that comes from a predefined file.
+
+2005-03-15 Geert Bosch <bosch@adacore.com>
+
+ * s-fatgen.adb (Valid): Extend special exceptions to account for long
+ long float padding to also cover AMD64 and IA64.
+
+2005-03-15 Gary Dismukes <dismukes@adacore.com>
+
+ * s-imgwch.adb: Add with and use of Interfaces.
+ (Img_Wide_Character): Change type of Val to Unsigned_16.
+ (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
+
+2005-03-15 Matthew Gingell <gingell@adacore.com>
+
+ * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
+
+ * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
+
+ * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * s-bitops.adb, s-bitops.ads,
+ s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
+ s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
+ tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
+ s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
+ s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
+ s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
+ s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
+ s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
+ reformatting.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_binary_op): Fix typo.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * s-crtl.ads (popen,pclose): New imports.
+
+2005-03-15 Cyrille Comar <comar@adacore.com>
+
+ * comperr.adb (Compiler_Abort): remove references to obsolete
+ procedures in the bug boxes for various GNAT builds.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
+
+2005-03-15 Geert Bosch <bosch@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Remove extended inline assembly example, as it was far
+ too specific and long-winded to be appropriate for the GNAT User's
+ Guide.
+ Warn about use of GCC switches not documented in the GNAT User's Guide,
+ as these may cause generated code to not conform to Ada semantics.
+ Remove mention of -gdwarf-2 for sparc64, since this is now the default.
+ Add documentation for -gnat95 and -gnat05 switches
+ Remove paragraph documenting obsolete way to refer to third party
+ libraries.
+ Add a few references to Ada_05 that were missing.
+ Update documentation on -gnatZ/-gnatL.
+ Document limitation when using -m64 under Solaris.
+ Change the "Name Casing" subsection of the pretty-printer section
+ according to the changes in the dictionary processing.
+
+ * gnat_rm.texi: Document the Ada_05 pragma.
+ Section on record representation clauses describes the new more
+ relaxed rules about placement of large packed bit array components.
+ Add documentation of GNAT.UTF_32
+
+2005-03-12 Daniel Berlin <dberlin@dberlin.org>
+
+ * misc.c (gnat_post_options): Turn off structural
+ aliasing for now.
+
+2005-03-08 Laurent Guerby <laurent@guerby.net>
+
+ * system-linux-sparc.ads: Fix typo in previous commit.
+
+2005-03-07 James A. Morrison <phython@gcc.gnu.org>
+ Laurent Guerby <laurent@guerby.net>
+
+ PR ada/20035
+ * system-linux-sparc.ads: New.
+ * Makefile.in: Add sparc linux entry.
+
+2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
+ parameters as unused.
+
+2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
+ Partial merge from libada-gnattools-branch:
+
+ 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
+ * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
+ into code in gnattools/Makefile.in. Remove direct dependencies on
+ stamp-tools by tools clauses.
+ 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
+ * config-lang.in: Add gnattools to $lang_dirs.
+
+2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/19942
+ * utils.c (gnat_type_for_mode): Return null instead of ICE because
+ we asked for an unknown mode.
+
+2005-02-12 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
+ validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
+
+2005-02-10 Andreas Jaeger <aj@suse.de>
+
+ * init.c (__gnat_initialize): Mark parameter as unused.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
+ * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatchop.adb (dup, dup2),
+ g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
+
+ * gnatlbr.adb (mkdir),
+ mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
+
+ * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Pascal Obry <obry@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * g-zstspl.ads: New file.
+
+ * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
+
+ * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
+ Ada 95 mode
+ Add definition of Wide_Wide_Space for AI-285
+
+ * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
+ interface (to support Ada 95 and Ada 2005 units).
+ Add Unbounded_IO files
+ Add entries for Wide_Wide packages for AI-285
+ Add list of containers packages to Ada 2005 unit list
+
+ * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
+ support new Unbounded_IO package cleanly.
+
+ * g-utf_32.ads, g-utf_32.adb: New files.
+
+ * Makefile.rtl: Add entry for g-utf_32
+ Add new files for Unbounded_IO
+ Adjust make file for new AI-285 wide wide packages
+ Add AI-302 containers to the run time.
+
+ * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
+ a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
+ subprograms for AI-301.
+
+ * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
+
+ * a-stunau.ads: Minor comment correction
+
+ * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
+ etc.
+ Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
+ (Check_RPC): Update to match changes in expanded code.
+ Clean up unused entity.
+
+ * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
+ was not taken into account.
+ This includes proper initialization with Normalize_Scalars.
+ (Get_Simple_Init_Val): Major rewrite for initialize scalars and
+ normalize scalars cases (particularly the latter) to do a better job
+ of finding invalid representations.
+
+ * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
+
+ * s-strops.ads, s-strops.adb: Remove string normalize routines, never
+ used
+
+ * exp_dist.adb: Add support for wide wide character type
+ (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
+ private part, generate stub bodies at the end of the private part,
+ not the visible part.
+ (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
+ PolyORB support.
+ (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
+ generic wrapper to execute final processing after completing the
+ expansion of the RPC receiver for an RACW.
+
+ * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
+ packages and attributes.
+ (Preset_Names): Addition of the new reserved words of Ada 2005,
+ that is interface, overriding and synchronized.
+ (Get_Pragma_Id): Give support to the use of the new reserved word
+ "interface" as a pragma name.
+ (Is_Pragma_Name): Give support to the use of the new reserved word
+ "interface" as a pragma name.
+ (Preset_Names): Add stream_size string for the Stream_Size Ada2005
+ attribute implementation.
+
+ * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
+ checks to entities that are output parameters of Asm operations.
+ Handle the Stream_Size attribute.
+ Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
+
+ * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
+
+ * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
+ for second parameter being 0.0.
+ Add support for wide wide character type.
+ (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
+
+ * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
+ s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
+ s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
+ s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
+ for wide wide character cases.
+
+ * cstand.adb: Create entities for Wide_Wide_Character and
+ Wide_Wide_String.
+
+ * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
+ accordance with AI-258.
+ Add new declarations for 16/32 bit C character types (Part of AI285)
+
+ * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
+ (Obsolescent_Warning): New field
+ (Rep_Clause): New local subprogram used to share code. Returns the rep
+ clause for which the name is given in parameter.
+ (Has_Stream_Size_Clause): New routine.
+ (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
+ (Address_Clause): Implementation is now using Rep_Clause.
+ (Alignment_Clause): Idem.
+ (Size_Clause): Idem.
+
+ * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
+ entity in non-Ada 2005 mode and generate warning.
+
+ * par-prag.adb: Add handling of one argument form for pragma Ada_05.
+ (Prag): Code cleanup. Remove old gnat pragma "overriding"
+
+ * sem_prag.adb: Add handling of one argument form for pragma Ada_05
+ (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
+ on the named unit if the pragma is not in the current compilation unit,
+ so that elaboration calls in the current unit can set up an elaboration
+ dependency on the named unit, as needed.
+ (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
+ subprogram as well as for subprograms declared within a package.
+ (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
+ pragma overriding.
+
+ * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
+ to z) to avoid some instances of duplication for Wide_Wide packages.
+
+ * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
+ characters.
+
+ * scn.adb: Char_Literal_Value field is now a Uint
+
+ * scng.adb: Significant rewrite to handle new Ada 2005 features
+ allowing wide and wide wide characters in program text, e.g. for
+ identifiers, as described in AI-285.
+ (Set_Reserved): New procedure, makes setting up keywords cleaner.
+ (Initialize_Scanner): Register the new reserved words of Ada 2005.
+ (Scan): Give support to the new reserved words.
+
+ * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
+ warning notifying that interface, overriding, and synchronized are
+ new reserved words.
+ (P_Pragma): Allow the use of the new reserved word "interface" as
+ a pragma name.
+
+ * gnatls.adb, gnatbind.adb,
+ ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
+ identifiers named "interface" to "SAL_Interface".
+
+ * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
+ (Structured Exception handling).
+ (Gen_Main_C): Idem.
+
+ * bindgen.adb:
+ (Gen_Main_Ada): Set the default exit code if specified.
+ (Gen_Main_C): Likewise.
+ Part of *DC20-006.
+ (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
+ Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
+
+ * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
+ new -Xnnn switch.
+
+ * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
+ has a collision with the new Ada 2005 "interface" reserved word.
+
+ * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
+ generate a warning notifying that interface, overriding, and
+ synchronized are new reserved words.
+
+ * scans.ads (Token_Type): Addition of the tokens corresponding to the
+ new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
+ and Tok_Synchronized.
+
+ * sem_res.adb (Resolve_Actuals): Change error messages to refer to
+ "dispatching" rather than "primitive" operations, since dispatching
+ calls are now allowed to abstract formal subprograms (which are not
+ primitive).
+ Char_Literal_Value field is now a Uint
+ (Resolve_Slice): If the prefix is an access to an unconstrained array,
+ compute the actual subtype of the designated object to impose the proper
+ index constraints.
+ (Resolve_Selected_Component): Do not insert an access check if the
+ prefix is an access type: such a node is expanded into an explicit
+ dereference, on which the access check is performed anyway. Removes
+ expensive duplicate checks.
+ (Resolve_Call): Use new flag Is_Obsolescent and field
+ Obsolescent_Warning so that pragma Obsolescent works on library
+ subprograms.
+ Add support for wide wide character type
+ (Resolve_Allocator): Replace the error message on wrong null-exclusion
+ value by a warning message.
+ (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
+ as fixed-point, and one of the operands is non-static and universal, it
+ can only be an illegal exponentiation operation, in which case there is
+ no real value to retrieve.
+
+ * exp_strm.adb: Add support for wide wide character type
+ (Build_Elementary_Input_Call): Compute the size of the stream element by
+ querying the rep chain to find the Stream_Attribute attribute value.
+ (Build_Elementary_Write_Call): Ditto.
+
+ * sem_aggr.adb: Char_Literal_Value field is now a Uint
+ Add support for wide wide character type
+ Replace the error messages on wrong null-exclusion value by warnings
+ as described in Ada 2005.
+ (Resolve_Extension_Aggregate): Document the fact that the error
+ message on class-wide expressions in extensions aggregates.
+
+ * sem_case.adb: Add support for wide wide character type
+
+ * sem_ch13.adb: Add support for wide wide character type
+ (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
+
+ * sem_ch3.adb: Add support for wide wide character type
+ (Process_Subtype): If constraint is illegal for the type, set Ekind of
+ now-useless Itype, to prevent cascaded errors on a compiler built
+ without -gnatp.
+
+ * sem_ch8.adb: Add with and use of Sem_Disp.
+ (Analyze_Subprogram_Renaming): Replace unclean uses of
+ Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
+ of Corresponding_Spec to Empty).
+ (Attribute_Renaming): Replace use of Corresponding_Spec with
+ Corresponding_ Formal_Spec and simplify condition.
+ (Use_One_Package): Check that scope of homonym of identifier is defined,
+ before checking whether it is a wrapper package.
+ Add support for wide wide character type
+
+ * sem_eval.adb: Add support for wide wide character type.
+ (Eval_Arithmetic_Op): Check for compile time known signed integer
+ overflow in the non-static case.
+ (Subtypes_Statically_Match): A formal scalar type and its base type do
+ not statically match.
+
+ * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
+ "not in" for test of N_Formal_Subprogram_Declaration (which is now a
+ subtype).
+ (Unit_Declaration_Node): Ditto.
+ (Is_Variable_Prefix): For the case of an indexed component whose prefix
+ has a packed array type, the prefix has been rewritten into a type
+ conversion. Determine variable-ness from the converted expression.
+ Handle wide wide character cases.
+
+ * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
+
+ * stringt.ads, stringt.adb: Handle full UTF-32 range.
+ Remove ["0A"] from comment, since it can look like a line terminator.
+ Currently we don't permit this, but this is under discussion by the
+ ARG, and it is easy enough to use a different example.
+
+ * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
+ handling UTF-32 encoding for wide wide character.
+ Implement new brackets coding ["hhhhhhhh"]
+ Add UTF-8 encodings for full UTF-32 range
+
+ * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
+
+ * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
+ bit range Add full UTF-32 support.
+ (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
+ notify that constraint error will be raised at run-time
+ because a null value is assigned to a null-excluding object.
+ Remove some obsolete declarations and make Char_Code
+ unsigned.
+
+ * a-except.adb (Rcheck_30): New subprogram. Addition of the message
+ corresponding to CE_Null_Not_Allowed, and adjust the output of all the
+ Rcheck subprograms.
+
+ * checks.adb (Check_Null_Not_Allowed): Replace the error message on
+ wrong null-exclusion value by a warning message.
+ (Enable_Range_Check): Do range check if the prefix is an
+ explicit dereference whose designated object is an unconstrained array.
+ Current algorithm for removing duplicate checks is over-eager in this
+ case.
+
+ * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
+ null-exclusion value by a warning message
+
+ * atree.h, atree.ads, atree.adb: Remove Char_Code field support
+ completely. Add support for Uint2 field
+
+ sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
+ exp_prag.adb: Char_Literal_Value field is now a Uint.
+
+ * exp_util.adb (Insert_Actions): Replace
+ N_Formal_Subprogram_Declaration by
+ N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
+ Char_Literal_Value field is now a Uint.
+
+ * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
+ defined for subprogram renaming declarations. When set, the field
+ indicates the defining entity of a corresponding formal subprogram
+ when the renaming corresponds to a formal subprogram association in an
+ instantiation.
+ (Set_Corresponding_Formal_Spec): New procedure to return
+ Corresponding_Formal_Spec field.
+ Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
+ (which is now a subtype).
+ Char_Literal_Value field is now a Uint
+
+ * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
+ pointer to the base of the dispatch table.
+ Minor changes to comments.
+ (Controlling_Type): New function for determining the tagged type
+ associated with a tagged primitive subprogram.
+ (Expand_Dispatching_Call): Add support for a controlling actual that is
+ directly a value of type Ada.Tag rather than a tagged object.
+
+ * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
+ describing the new layout.
+ (Dispatch_Table): The expander computes the actual array size, allocates
+ the Dispatch_Table record accordingly, and generates code that displaces
+ the base of the record after the Typeinfo_Ptr component. The access to
+ these components is done by means of local functions.
+ (Offset_To_Top): New function.
+ (Typeinfo_Ptr): New function.
+ (Get_TSD): Modified to access the new position of the TSD.
+ (Set_TSD): Modified to save the TSD in its new position.
+
+ * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
+ case of formal abstract subprograms. Add check and message for -gnat05.
+ Update comments.
+
+ * sem_ch12.adb: Add with and use for Sem_Disp.
+ (Analyze_Associations): Minor change from "=" to "in" for use of
+ N_Formal_Subtype_Declaration (which is now a subtype).
+ (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
+ N_Formal_Subtype_Declaration (which is now a subtype).
+ (Analyze_Formal_Subprogram): Add handling for
+ N_Formal_Abstract_Subprogram, marking the formal as abstract and
+ dispatching, setting the controlling status of the formal parameters
+ and result, and issuing an error if there is no controlling type for
+ the formal subprogram.
+ (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
+ which is an unclean use of that field, we set the new field
+ Corresponding_Formal_Spec to make the formal subprogram available to
+ processing in Analyze_Subprogram_Declaration.
+ (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
+ Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
+ Constrained, so that it is is does not statically match its anonymous
+ base type.
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
+ abstract formal subprograms in error check for functions returning
+ abstract types. Set scope of new designator for
+ a parameterless subprogram, so that it is available when checking the
+ body for nested subprograms, before full analysis of said body.
+ (Analyze_Subprogram_Body): Warn on inlining bodies with nested
+ subprogram only if inner one comes from source.
+ (Analyze_Function_Call): If the call is given in object notation, the
+ analysis of the name rewrites the node and analyzes it with the proper
+ argument list. After analyzing the name, if the call has been rewritten
+ and the result type is set, no further analysis is needed.
+ (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
+ mark in function specification, in a context where the formals are
+ visible and hide outer homographs.
+
+ * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
+ as the tagged type for the cases of abstract formal subprograms and
+ renamings of those. Clean up spec comments.
+ (Check_Dispatching_Context): Add error message to indicate "abstract
+ procedure", covering the case of a call to a formal abstract procedure
+ that has statically tagged operands.
+ (Check_Dispatching_Call): Check for the case of an actual given by
+ a tag-indeterminate function call whose type is an ancestor of the
+ containing call's associated tagged type. This situation can occur
+ for inherited primitives with function defaults. In this case we
+ use the tagged type's tag directly as the controlling argument for
+ the calls.
+ (Expand_Call): Name change on call to Expand_Dispatch_Call.
+
+ * sprint.adb (Sprint_Node_Actual): Split
+ N_Formal_Subprogram_Declaration into two alternatives for the new
+ cases N_Formal_Abstract_Subprogram_Declaration and
+ N_Formal_Concrete_Subprogram_Declaration.
+ Char_Literal_Value field is now a Uint.
+
+ * trans.c: Get rid of junk Uint2 reference.
+ Char_Literal_Value field is now a Uint.
+ (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
+ (gigi): Correct third arg to gimplify_body.
+
+ * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
+ (TYPE_LANG_FLAG_0): Check for record or union.
+
+ * treepr.adb: Char_Literal_Value field is now a Uint
+
+ * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
+ UI_From_CC.
+
+ * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
+ Add full UTF-32 support
+ Char_Code is now 32 bits
+
+ * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
+ wide character UTF_32 line terminators.
+ Initialize Main_Source_File to avoid error when no main
+ source is loaded.
+
+ * errout.adb (Finalize): Do not check Num_SRef_Pragmas
+ (Main_Source_File) when no main source has been loaded, to avoid
+ potential crash.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
+ Fix name of Set routine
+
+ * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
+ fixed packages.
+
+ * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
+ a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
+ fixed packages
+
+ * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
+ forms of Get_Line subprograms for AI-301.
+
+ * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+ a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
+ a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
+ a-stwima.ads: Minor reformatting.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c, adaint.h
+ [VMS] (to_ptr32): New function.
+ (MAYBE_TO_PTR32): New macro.
+ (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
+ for pointer size.
+ [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
+ [VMS] (#define fork()): Remove since unneccessary.
+ (__gnat_set_close_on_exec): New routine to support
+ GNAT.OS_Lib.Set_Close_On_Exec.
+
+ * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
+ the parent side as close-on-exec so that they are not inherited by the
+ child.
+
+ * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
+ set or clear the FD_CLOEXEC flag on a file descriptor.
+
+2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/19386
+ * decl.c:
+ (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
+ on the field if Pragma Component_Alignment (Storage_Unit).
+ (gnat_to_gnu_entity, case object): Do not treat a renaming that has
+ side-effects as if it were a constant; also make SAVE_EXPR to protect
+ side-effects.
+ (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
+ UNION_TYPE.
+ (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
+ (components_to_record): Test it.
+ Fix improper usage of REFERENCE_CLASS_P.
+
+ * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
+ RECORD_TYPE.
+
+ * utils2.c: Minor reformatting.
+
+ * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
+ handle other cases like RECORD_TYPE.
+
+ * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
+ component of an array of arrays in an assignment context, and the
+ aggregate has component associations that require sliding on
+ assignment, force reanalysis of the aggregate to generate a temporary
+ before the assignment.
+ (Must_Slide): Make global to the package, for use in Gen_Assign.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): If a component is an
+ unchecked union with no inferable discriminants, return a
+ Raise_Program_Error node, rather than inserting it at the point the
+ type is frozen.
+ (Expand_Record_Equality, Component_Equality): Handle properly the case
+ where some subcomponent is an unchecked union whose generated equality
+ code raises program error.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
+ [VMS] (#define exit hack): Remove.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * init.c (__gnat_initialize): Add a new parameter eh which contains the
+ address of the exception registration. The Win32 version of this
+ routine calls __gnat_install_SEH_handler() to initialize the SEH
+ (Structured Exception Handling) handler.
+ (__gnat_error_handler) [Win32]: Removed. Not needed as we use
+ SEH (Structured Exception Handling) now.
+ (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
+ (__gnat_initialize for ppc-vxworks): Adjust comments and the
+ preprocessor condition protecting the call to the extra eh setup
+ subprogram, which is only available for the ppc target.
+ (__gnat_clear_exception_count): replaced reference to
+ variable taskIdCurrent by call to taskIdSelf(), cleaner.
+
+ * seh_init.c: New file.
+
+ * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
+ (GNATBIND_OBJS): Idem.
+
+ * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
+ routine takes a new parameter (a pointer to the exception registration
+ for the SEH (Structured Exception Handling) support.
+
+ * raise.h: (__gnat_install_SEH_handler): New prototype.
+ Update copyright notice.
+
+ * s-tassta.adb (Task_Wrapper): Declare the exception registration
+ record and initialize it by calling __gnat_install_SEH_handler.
+
+2005-02-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Do not fail when the main project has no object
+ directory.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in [VMS] (LN,LN_S): Define as cp -p
+ Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
+ [VMS]: Add translations for g-enblsp.adb.
+
+ * s-asthan-vms.adb: Removed.
+ * s-asthan-vms-alpha.adb: Added.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
+ (LIBGNAT_OBJS): Add seh_init.o.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16592
+ * Makefile.in: Link all gnat tools with -static-libgcc, since
+ -shared-libgcc is now used by default on some systems (e.g. linux with
+ recent binutils).
+ Remove references to Makefile.prolog/generic, no longer used.
+
+2005-02-09 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Process_Directory): Put file name in canonical case
+ before matching against the patterns.
+ If gnatname has been invoked as <prefix>-gnatname
+ then invoke the compiler as <prefix>-gcc, not just "gcc".
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
+ with expansion disabled. The actual subtype is needed among other
+ places when the selected component appears in the context of a loop
+ bound, and denotes a packed array.
+ (Operator_Check): Always use the first subtype in the
+ error message, to avoid the appearance of internal base types.
+ (Transform_Object_Operation): Copy each actual in full
+ to the parameter associations of the constructed call, rather than
+ using the shallow copy mechanism of New_Copy_List. This ensures that
+ the chaining of named associations is done properly.
+ (Complete_Object_Operation): Rewrite node, rather than
+ replacing it, so that we can trace back to the original selected
+ component.
+
+ * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
+ and calls that use object notation, if the called function is not
+ declared in a withed unit, place the elaboration constraint on the
+ unit in the context that makes the function accessible.
+ (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
+ imposes an elaboration constraint between two packages.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
+ views of a private type after handling its private dependents, to
+ maintain proper stack discipline between entry and exit from the
+ package.
+
+2005-02-09 Cyrille Comar <comar@adacore.com>
+
+ * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
+ Minor reformatting.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
+ fields for foreign threads.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
+ recursion warnings when compiled with -gnatdm.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
+ Slight fix to documentation of -gnaty with no parameters
+
+ * xr_tabls.ads: Add ??? comment for missing overall comment
+
+ * xsinfo.adb: Make default file name be sinfo.h, since this is what
+ we now use by default.
+
+ * xsnames.adb: Adjust end of file test to look for five space followed
+ by '#' instead of six spaces. The format of xsnames.adb was modified
+ in the last update.
+
+ * a-numeri.ads: Add reference to AI-388 for greek letter pi
+ identifier.
+
+ * clean.adb: Minor reformatting.
+
+ * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
+ gnatname.adb: Minor reformatting
+ Add 2005 to copyright output when utility is run
+
+ * csets.adb: Eliminate obsolete comment
+
+ * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
+ Update comments.
+
+ * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
+
+2005-02-09 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
+ the difference between compact and incompact layout and add the record
+ representation clause to the example illustrating different layouts.
+ Add the description of '-A5' gnatpp option ("align 'AT' keywords in
+ component clauses").
+
+2005-02-09 Florian Villoing <villoing@adacore.com>
+
+ * gnat_ugn.texi: Fix typos.
+ Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
+ @file.
+ Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
+ in the generated documentation.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
+ longer supported.
+ Update linker wrapper when linking with non GNU C++.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi:
+ Document the procedure to debug the DllMain routine on Windows.
+ Add note about -funwind-tables and mixed Ada and C/C++ programming in
+ ZCX mode.
+ Document new BIND qualifer /RETURN_CODES=VMS.
+
+2005-02-09 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+ Edited gnatmetric chapter
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi:
+ Changes to document new wide wide character support
+ For AI-285
+ Update documentation on Normalize_Scalars and Initialize_Scalars
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
+
+2005-02-09 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
+ from the VxWorks kernel) that is needed for getting the active
+ priority of the different tasks.
+
+ * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
+ Use a pragma Elaborate_Body in the spec file instead.
+ Noticed by code reading.
+
+2005-02-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.ads: Minor correction in comment.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
+ since this procedure is now too complex to be worth inlining.
+
+2005-02-09 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_define_builtin): Remove.
+ (gnat_install_builtins): Use build_common_builtin_nodes.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+ a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
+ a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
+ a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
+ a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
+ a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
+ a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
+ a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
+ a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
+ a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
+ a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
+ a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
+ a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
+ a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
+ a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
+ a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+ a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
+ a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
+ a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
+ a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
+ a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
+ a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
+ a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
+ a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
+ a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
+ a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+ a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
+ a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
+ a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
+ a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+ a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
+ a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
+ a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
+ library.
+
+2005-01-27 Laurent GUERBY <laurent@guerby.net>
+
+ * Makefile.in: Fix a-intnam.ads from previous commit,
+ add 2005 to copyright.
+ * a-intman-rtems.ads: Renamed to...
+ * a-intnam-rtems.ads:
+
+2005-01-27 Laurent GUERBY <laurent@guerby.net>
+
+ * Makefile.in: Rename GNAT RTEMS specific files.
+ * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
+ 5rosinte.ads, 5rparame.adb: Replaced by files below.
+ * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
+ s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
+
+2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+ Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/19488
+ * 5rosinte.ads: Add No_Key constant.
+ * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
+ * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
+
+2005-01-26 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/19414
+ * i-cobol.adb (Valid_Numeric): Handle zero length case.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
+ a-intnam-linux.ads and system-linux-alpha.ads.
+ * a-intnam-linux-alpha.ads: Remove file.
+ * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
+ * system-linux-alpha.ads: New file.
+
+2005-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR ada/13470
+ * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
+ set to the new string.
+
+2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
+ to True.
+
+2005-01-18 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
+ THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
+ for alpha-linux.
+ * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
+
+2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
+ (GCC_ZCX_Support): Likewise.
+
+2005-01-11 Bastian Blank <waldi@debian.org>
+
+ * system-linux-s390.ads: Define Preallocated_Stacks.
+ * system-linux-s390x.ads: Likewise.
+
+2005-01-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Fix texi errors with null variables.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: New utility program to generate g-soccon.ads
+ automatically.
+
+ * socket.c, gsocket.h: Split inclusion of system header files into a
+ gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
+
+ * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
+ g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
+ should not be edited by hand anymore, but should be regenerated using
+ gen-soccon.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
+ on/off, since this is an obsolescent feature, for which we now generate
+ a warning.
+
+ * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
+ warning mode is set and obsolescent usage of this attribute occurs.
+ (Resolve_Access, case 'Access): Note that GNAT uses the context type to
+ disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
+ predates, and partly motivates, the adoption of the AI.
+ Implement new Ada 2005 attribute Mod
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
+ attribute Mod.
+
+ * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
+
+ * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
+ pragma restrictions.
+ New entry for Ada 2005 attribute Mod.
+
+ * par-prag.adb:
+ Add recognition of new pragma Restrictions No_Dependence
+ Recognize restriction No_Obsolescent_Features at parse time
+
+ * bcheck.adb: Add circuitry for checking for consistency of
+ No_Dependence restrictions.
+
+ * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
+ restrictions.
+
+ * restrict.ads, restrict.adb: Add subprograms to deal with
+ No_Dependence restrictions.
+
+ * rtsfind.adb: Check that implicit with's do not violate No_Dependence
+ restrictions.
+
+ * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
+ sem_attr.adb: Add check for new restriction No_Obsolescent_Features
+
+ * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
+ dummy parameter to scng instantiation.
+ Needed for new restriction No_Obsolescent_Features
+
+ * scn.adb: (Obsolescent_Check): New procedure
+ Needed for new restriction No_Obsolescent_Features
+
+ * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
+ specified by AI-285, needed for implementation of AI-388 (adding greek
+ pi to Ada.Numerics).
+ Add new generic formal to scng, needed for new restriction
+ No_Obsolescent_Features.
+
+ * s-rident.ads: Add new restriction No_Obsolescent_Features.
+
+ * ali.ads, ali.adb: Adjustments for reading new No_Dependence
+ restrictions lines.
+ (Scan_ALI): When finding an unexpected character on an R line, raise
+ exception Bad_R_Line, instead of calling Fatal_Error, so that, when
+ Ignore_Errors is True, default restrictions are set and scanning of the
+ ALI file continues with the next line. Also, when Bad_R_Line is raised
+ and Ignore_Errors is True, skip to the end of le line.
+
+ * sem_ch10.adb: Check that explicit with's do not violate
+ No_Dependence restrictions.
+ (Install_Withed_Unit): Add code to implement AI-377 and diagnose
+ illegal context clauses containing child units of instance.
+
+ * sem_prag.adb: Processing and checking for new No_Dependence
+ restrictions.
+ (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
+ analyze and check the External argument.
+
+ * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * atree.ads: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * einfo.ads, einfo.adb: Document new fields and new flags now available
+ Add routines for printing new fields
+
+ * treepr.adb: Call routines to print out additional fields if present
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
+ gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
+
+ * Makefile.in: Add support to build shared Ada libraries on solaris x86
+ Remove gpr2make, replaced by gprmake.
+ Remove references to gnatmem and libaddr2line.
+ Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
+ (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
+ Add support for specialized version of Ada.Numerics.Aux for Darwin: use
+ a-numaux-darwin.ads and a-numaux-darwin.adb
+ Enable mlib-tgt-lynxos.adb on lynxos.
+
+ * Make-lang.in: Remove rules for gpr2make.
+ When generating sdefault.adb, do not call Relocate_Path
+ on S3 for function Target_Name, as it is not a path.
+ Remove references to gnatmem and libaddr2line.
+
+ * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
+ files.
+
+2005-01-03 Samuel Tardieu <tardieu@adacore.com>
+
+ * checks.adb (Apply_Alignment_Check): Generate a warning if an object
+ address is incompatible with its base type alignment constraints when
+ this can be decided statically.
+
+2005-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (compatible_signatures_p): New function. The intended purpose
+ is to check if two function signatures for a call-site and a callee are
+ compatible enough for the call to be valid. The underlying purpose is
+ to check if a call to a mapped builtin is using the right interface.
+ The current code actually does not check antyhing - this a placeholder
+ for future refinements.
+ (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
+ builtin calls for convention Intrinsic.
+
+ * gigi.h (builtin_decl_for): Declare (new function).
+
+ * utils.c (gnat_install_builtins): Install the target specific builtins.
+ (builtin_decl_for): New function, provide a dummy body for now.
+
+2005-01-03 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
+ (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+ (Pred): Implement in terms of Succ.
+
+ * trans.c (convert_with_check): Reimplement conversion of float to
+ integer.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
+ bounds can be negative, and must be declared Int, not Nat.
+
+ * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
+ array is checked after using the index in the array.
+
+ * makegpr.adb (Add_Switches): Check if there is a package for the
+ processor. If there is no package, do not look for switches.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
+ generation of predefined stream operations (specs and bodies) should
+ proceed. Under various restrictions these subprograms must not be
+ generated.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb:
+ Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
+ amount of PCS-specific code in RACW stubs generation.
+ (Copy_Specification): Set Etype on copied formal parameter entities, as
+ this information is needed for PolyORB stubs generation.
+ (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
+ variable Dynamic_Async.
+ (Build_Subprogram_Receiving_Stubs): Make PCS-specific
+ (Build_RPC_Receiver_Specification): Make generic again, as recent
+ changes have allowed RPC receivers to have the same profile for both
+ variants of the PCS.
+ Reorganise RPC receiver generation to reduce differences between the
+ structure of GARLIC and PolyORB RPC receivers.
+ (Add_Receiving_Stubs_To_Declarations): Make this subprogram
+ PCS-specific.
+ Simplify elaboration code for RCI packages.
+
+ * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
+ generation to reduce differences between the structure of GARLIC and
+ PolyORB RPC receivers.
+
+ * s-stratt.adb: Fix typo in comment.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
+ copied from Make_Init_Call).
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
+ reads and assignments on a temporary variable declared with appropriate
+ discriminants.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb (To_C): Raise CE if string is null and Append_Null
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.adb (Update): Do not append a null in form called with a
+ String. This avoids unintended behavior.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/17527
+ * init.c: Fix warnings on Free BSD section.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16949
+ * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
+ xsinfo.adb).
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
+ libraries when Unique_Compile is True (-u switch).
+ (Gnatmake): ditto.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
+ upper case letter or underscore after W, as allowed by spec.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
+ darwin port by using proper type definitions from header files.
+ Use SIGTERM instead of SIGABRT for SIGADAABORT.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * par.adb: Enhance error message handling for configuration file
+ pragmas.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * s-arit64.adb (Double_Divide): Put back changes that got accidentally
+ removed during the previous update (test properly for case of dividing
+ largest negative number by -1, which generates overflow).
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
+ to use as the defining identifier for a formal package.
+ (Remove_Parent): If the instance takes place within (an instance of)
+ a sibling, preserve private declarations of common parent.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
+ to determine whether one of the operands is a fixed-point type for
+ which a user-defined multiplication or division operation might be
+ defined.
+
+ * sem_res.adb (Valid_Conversion): The legality rules for conversions
+ of access types are symmetric in Ada 2005: either designated type can
+ be unconstrained.
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.adb (Temp_File_Record): Change length of string component
+ Name from L_tmpnam + 1 to max_path_len + 1.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
+ Self_Id.Deferral_Level = 0.
+ (Do_Pending_Action): Move this function to the spec.
+
+ * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
+ Do_Pending_Action explicitely when needed, in case we're using
+ No_Abort restrictions.
+
+ * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
+ deferral level since it will not get changed by the generated code.
+ Keeping a default value of 1 would prevent some operations (e.g.
+ select or delay) to proceed successfully.
+
+2005-01-03 Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
+ porting guide chapter (vms version).
+ Revised doc title (removed "for native platforms") and subtitle.
+ Add discussion on warning flag for obsolescent features. First we
+ note that it applies to obsolete GNAT features, which was previously
+ omitted. Second we contrast the behavior with that of the new
+ Ada 2005 AI-368 restriction No_Obsolescent_Features.
+ Preliminary rewriting of GNAT & libraries chapter in order to take
+ into account default project locations & new project manager
+ capabilities.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb (Create_Operators): Clean up format and documentation of
+ unary and binary operator result tables. No change in code, just
+ reformatting and addition of comments.
+
+ * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
+ sem_ch2.adb: Minor reformatting
+
+ * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
+ sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
+ comments for Tree_Read and Tree_Write.
+
+2005-01-03 Pascal Obry <obry@adacore.com>
+
+ * exp_attr.ads: Minor reformatting.
+
+2005-01-03 Romain Berrendonner <berrendo@adacore.com>
+
+ * comperr.adb (Compiler_Abort): Add specialized message for GAP
+ versions.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
+ whether the ancestor type is private, as may be the case with nested
+ instantiations.
+
+2004-12-30 Sohail Somani <sohail@sohailsomani.com>
+
+ PR ada/19128
+ * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
+
+2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
+ * utils2.c (build_unary_op): Likewise.
+
+2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
+
+2004-12-19 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gigi): Update gimplify_body call.
+
+2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
+
+2004-12-07 Ed Falis <falis@adacore.com>
+
+ * s-intman-vxworks.adb (Notify_Exception): removed useless check for
+ current task being suspended.
+
+ * init.c (__gnat_clear_exception): added to reset VxWorks exception
+ count.
+ (__gnat_map_signal): removed test for current task being suspended.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
+ from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
+ targets (such as AAMP).
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.adb (Visit_Itype): Create a new name for the generated itype,
+ because the back-end may otherwise treat it as a redefinition of the
+ old symbol.
+
+2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back_end.adb (Scan_Back_End_Switches): Accept --param.
+
+ * lang-specs.h: Accept --param.
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
+ package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix).
+ Take into account Externally_Built attribute.
+
+ * clean.adb (In_Extension_Chain): Always return False when one of the
+ parameter is No_Project.
+ (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
+ Ada_Language_Index).
+ (Gnatclean): Adapt to change in package Prj.Pars (no parameter
+ Process_Languages for procedure Parse).
+
+ * gnatcmd.adb (Carg_Switches): New table.
+ (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
+ Adapt to name changes in package Prj (Current_Spec_Suffix =>
+ Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
+
+ * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
+ Header_Num and function Hash are now declared in package Prj,
+ not Prj.Com.
+
+ * prj.adb (Suffix_Of): New function.
+ (Set (Suffix)): New procedure.
+ (Hash): One function moved from Prj.Com
+ (Is_Present, Language_Processing_Data_Of): New functions
+ (Set): Two new procedures
+ (Add_Language_Name, Display_Language_Name): New procedures
+
+ * prj.ads: (Suffix_Of): New function
+ (Set (Suffix)): New procedure
+ Add several types and tables for multi-language support.
+ (Header_Num): Type moved from Prj.Com
+ (Hash): Two functions moved from Prj.Com
+ (Is_Present, Language_Processing_Data_Of): New functions
+ (Set): Two new procedures
+ (Add_Language_Name, Display_Language_Name): New procedures
+ (Naming): Component name changes:
+ Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix. Add new components:
+ Impl_Suffixes, Supp_Suffixes.
+ (Project_Data): New components: Externally_Built, Supp_Languages,
+ First_Language_Processing, Supp_Language_Processing, Default_Linker,
+ Default_Linker_Path.
+
+ * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
+ new package Language_Processing with its attributes (Compiler_Driver,
+ Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
+ Binder_Driver, Default_Linker).
+
+ * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
+ (Header_Num): Type moved to package Prj
+
+ * prj-env.adb: Adapt to name changes in package Prj
+ (Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix).
+
+ * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
+ default to the project path, except the "-" is one of the directories
+ in env var ADA_PROJECT_PATH.
+ (Current_Project_Path): Global variable, replacing Project_Path
+ that was in the body of Prj.Part.
+ (Project_Path): New function
+ (Set_Project_Path): New procedure
+ Initialize Current_Project_Path during elaboration of the package
+ Remove dependency on Prj.Com, no longer needed
+
+ * prj-ext.ads (Project_Path): New function
+ (Set_Project_Path): New procedure
+
+ * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
+ suffix is defined for language <lang>.
+ (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
+ accessing directly the components of Naming.
+ (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
+ Reorganise of this package.
+ Break procedure Check in several procedures.
+
+ * prj-nmsc.ads: Replace all procedures (Ada_Check,
+ Other_Languages_Check and Language_Independent_Check) with a single
+ procedure Check.
+
+ * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
+ Process_Languages, no longer needed.
+
+ * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
+ Current_Project_Path.
+ Remove elaboration code, moved to the body of Prj.Ext
+ Use new function Prj.Ext.Project_Path instead of old variable
+ Project_Path.
+ (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
+ When comparing with project paths on the stack, first put the resolved
+ path in canonical case.
+ (Parse_Single_Project): Set the path name of the project file in the
+ tree to the normalized path.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
+ parameter Process_Languages, no longer needed.
+ (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
+ Other_Languages_Check.
+
+ * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
+ to store the resolved canonical path of the project file.
+ Remove dependency to Prj.Com, no longer needed
+
+ * prj-util.adb: Adapt to name changes in package Prj
+ (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
+ Ada_Body_Suffix).
+
+ * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
+ Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
+ Externally_Built, Include_Option, Language_Processing.
+
+ * makegpr.adb: Numerous changes due to changes in packages
+ Prj and Prj.Nmsc.
+
+ * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
+ default to the project path, except whe "-" is one of the directories
+ in env var ADA_PROJECT_PATH.
+ (Gnatls): In verbose mode, add the new section "Project Search Path:"
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Document that -gnatdA automatically sets -gnatR3m
+
+ * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
+ set -gnatR3m mode.
+
+ * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
+ flag. No longer needed now that we handle this in gnat1drv.adb.
+
+ * repinfo.ads: Minor reformatting
+
+2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
+ TYPE_SIZE_UNIT of result type if SIZE is not specified.
+ (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
+ of a bitfield, which we know is useless and causes trouble because of
+ alignment implications.
+
+ * utils.c (create_var_decl): Set DECL_COMMON again on targets without
+ BSS sections.
+ (process_attributes): Clear DECL_COMMON again when a section attribute
+ is present.
+ (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
+ SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
+ (create_field_decl): Special case ADDRESSABLE negative to mean
+ "no bitfield creation", to be used by make_aligning_type. Don't
+ restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
+ fields claimed addressable still have to be bitfields. Use
+ value_factor_p instead of a raw binop construction to check for the
+ position's alignment.
+
+2004-12-07 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb: Revert previous change.
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
+ with an implicit dereference as its prefix, use
+ Insert_Explicit_Dereference instead of merely rewriting the prefix into
+ an explicit dereference. This ensures that a reference to the original
+ prefix is generated, if appropriate.
+
+ * sem_util.adb (Insert_Explicit_Dereference): When an implicit
+ dereference is rewritten to an explicit one, generate a reference to
+ the entity denoted by its prefix using the original prefix node, so
+ the dereference can be properly recorded as a read of the denoted
+ access value, if appropriate.
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
+ emitting 'assigned but never read' warning on a variable on the basis
+ that it has an access type.
+ (Check_References): Emit unreferenced warning when the scope is a
+ subprogram body.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Add comment on handling of back end
+ intrinsic
+
+ * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
+ leaving call unchanged.
+ This deals with the case where the pragma Import specified
+ an external name, to be handled by the back end.
+
+ * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
+ subprogram which is Imported with convention Intrinsic if an
+ External_Name argument is specified.
+ (Process_Import_Or_Interface): Properly diagnose link name argument.
+ (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
+ with Sem_Ch6.Cannot_Inline.
+ (Process_Inline): Provide separate warning for inapplicable inline
+ pragma.
+ (Cannot_Inline): Reject subprograms that have an at_end handler, so that
+ treatment is uniform on different targets.
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
+ construct is rewritten, preserve end label to permit source navigation.
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Specific_Build_General_Calling_Stubs,
+ Specific_Build_Stub_Target): New subprograms.
+ (Build_Subprogram_Calling_Stubs): Make this procedure independent from
+ the PCS implementation used, using the above PCS-customized subprograms.
+ Minor reformatting.
+ (PolyORB_Support.Helpers): New subunit containing supporting subprograms
+ for generation of DSA code targeted to the PolyORB PCS.
+ (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
+ implementation of the partition communication subsystem in ancillary
+ subprograms.
+ (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
+ PolyORB_Support.Build_Stub_Type): New subrograms containing the
+ PCS-specific part of Add_Stub_Type.
+ (Insert_Partition_Check): Use runtime library function to perform
+ E.4(19) check.
+
+ * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
+ (RE_Same_Partition): New entity, from s-parint.
+
+ * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
+ Output the copyright message on a separate line from the version
+ message.
+
+2004-12-07 Joel Brobecker <brobecker@adacore.com>
+
+ * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
+ compile-time warning.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * g-regpat.adb: (Match): Change a misuse of or to or else
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb:
+ (Generate_Reference): Handle properly a reference to an entry formal,
+ when an accept statement has a pragma Unreferenced for it.
+
+ * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
+ and the Has_Pragma_Unreferenced flag for each formal before analyzing
+ the body, to ensure that warnings are properly emitted for each accept
+ statement of a given task entry.
+
+2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * Makefile.in: Add support for foreign threads on VMS.
+
+2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
+ Remove.
+ (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
+
+ * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
+
+ * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
+ exception.
+ (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * nlists.adb (Prepend_Debug): Remove parameters and nest within
+ Prepend.
+ (Remove_Next_Debug): Same fix
+
+ * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
+ maintain back pointers now, though we did not used to, and comments
+ were out of date).
+ (Prepend): Remove pragma Inline.
+ (Remove_Next): Same cleanup
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
+ used to record an implicit dereference as a read operation on its
+ prefix when operating under -gnatc. Necessary to avoid spurious
+ 'variable assigned but never read' warnings in that mode.
+ (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
+ is a non-overloaded implicit dereference, call the above subprogram to
+ ensure proper recording of references.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
+ to be resolved later as part of Analyze_Iteration_Scheme's call to
+ Make_Index.
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
+ prefix is not a scalar type, place error message on prefix, not on
+ type entity.
+
+2004-12-07 Bernard Banner <banner@adacore.com>
+
+ * vxaddr2line.adb: Add support for x86 vxworks
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
+ documentation of the behaviour of these functions when passed an IP
+ address that has no record in the system hosts database and no reverse
+ record in the DNS.
+
+ * cstand.adb, a-tags.ads: Fix typos in comment.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
+ exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
+ sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
+ s-poosiz.ads: Minor reformatting
+
+ * make.adb: Minor reformatting
+ Add some ??? comments asking for more comments
+
+ * s-poosiz.adb: Minor reformatting
+ Add comments on alignment requirement
+
+ * sinfo.ads: Remove obsolete comment and fix typo.
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update the section "The GNAT Driver and Project
+ Files" with the new tool and package names.
+ Reformatting to suppress most of the warnings for line too long
+ Document the new section "Project Search Path:" in the output of
+ gnatls -v.
+ Add gnatmetric section
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
+ -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
+ and -eit to -ept. Added qualifier
+ /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
+
+2004-11-27 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
+
+2004-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
+ internal implementation unit GNAT.Sockets.Thin,
+ as their usage for sockets is non-portable (using the read and write
+ functions from the system runtime library is fine on UNIX but won't
+ work under Windows).
+
+ * mingw32.h: Update copyright notice.
+
+2004-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * ada-tree.h: Minor reformatting of previous change to avoid lines
+ longer than 79 characters.
+
+2004-11-25 Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c: GCC infrastructure based implementation of
+ __gnat_backtrace.
+
+2004-11-24 Steven Bosscher <stevenb@suse.de>
+
+ * misc.c (gnat_post_options): Don't clear
+ flag_inline_functions.
+
+2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/17986
+ * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
+ tree.
+
+2004-11-21 Andreas Jaeger <aj@suse.de>
+
+ * stylesw.adb: Change Style_Check_Subprogram_Order to
+ Style_Check_Order_Subprograms.
+
+2004-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c
+ (__gnat_portable_spawn): Fix cast of spawnvp third parameter
+ to avoid warnings.
+ Add also a cast to kill another warning.
+ (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
+ parameter with the priority class of the parent process instead of
+ always using the NORMAL_PRIORITY_CLASS.
+ (__gnat_dup): New function.
+ (__gnat_dup2): New function.
+ (__gnat_is_symbolic_link): Enable the effective body of this
+ function when __APPLE__ is defined.
+
+ * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
+ Update comments.
+
+2004-11-18 Olivier Hainque <hainque@adacore.com>
+
+ * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
+ address of which may be used to represent "others" and "all others"
+ choices in exception tables, instead of the current harcoded
+ (void *)0 and (void *)1.
+ (Setup_Exception): Do nothing in the GNAT SJLJ case.
+
+ * gigi.h (others_decl, all_others_decl): New decls representing the
+ new Others_Value and All_Others_Value objects.
+ (struct attrib): Rename "arg" component as "args", since GCC expects a
+ list of arguments in there.
+
+ * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
+ corresponding objects exported by a-exexpr, instead of hardcoded dummy
+ addresses.
+
+ * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
+ others_decl and all_others_decl instead of hardcoded dummy addresses
+ to represent "others" and "all others" choices, which is cleaner and
+ more flexible with respect to the possible eh pointer encoding policies.
+
+ * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
+ (process_attributes): Account for the naming change of the "args"
+ attribute list entry component.
+
+ * decl.c (build_attr_list): Rename into prepend_attributes to allow
+ cumulating attributes for different entities into a single list.
+ (gnat_to_gnu_entity): Use prepend_attributes to build the list of
+ attributes for the current entity and propagate first subtype
+ attributes to other subtypes.
+ <E_Procedure>: Attribute arguments are attr->args and not
+ attr->arg any more.
+ (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
+ argument provided, as this is what GCC expects. Use NULL_TREE instead
+ of 0 for trees.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+
+ * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
+ Minor reformatting througout (including new function specs)
+ Add ??? comments asking for clarification.
+
+2004-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
+ incomplete duplicate implementation of this subprogram from butil.
+
+2004-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
+ procedures factors the common processing for building an RPC receiver
+ for an RCI package or an RACW type.
+ Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
+ Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
+ (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
+ in use.
+ (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
+ Add_RACW_Features.
+ (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
+ Add_RAST_Features.
+ (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
+ distribution subprogram identifiers that are either subprogram numbers
+ or strings.
+ (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
+ string distribution identifiers assigned to a given subprogram.
+ (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
+ (Add_RAS_Dereference_TSS): Add comments.
+ (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
+ is not referenced yet because it will be used by the PolyORB DSA
+ implementation.
+ (Insert_Partition_Check): Remove fossile code.
+ (First_RCI_Subprogram_Id): Document this constant.
+ (Add_RAS_Access_TSS): Correct the setting of the Etype of the
+ RAS_Access TSS.
+ (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
+ replaced with calls to Get_Library_Unit_Name_String. Previously there
+ were several instances of the same code in different locations in the
+ compiler; this checkin completes the replacement of all of these
+ instances with calls to a common subprogram.
+ Minor reformatting.
+
+ * sem_dist.adb: Remove comment noting that RPC receiver generation
+ should be disabled for RACWs that implement RASs.
+ (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
+
+ * sem_util.ads, sem_util.adb (Has_Stream): New function
+ (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
+ qualified name of a library unit into the name buffer.
+ (Note_Possible_Modification): Generate a reference only
+ if the context comes from source.
+
+ * snames.ads (PCS_Names): New subtype corresponding to names of
+ supported implementations of the Partition Communication Subsystem
+ (PCS) (i.e. the runtime library support modules for the distributed
+ systems annex).
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
+ (Has_Rep_Pragma): New function
+ (Has_Attribute_Definition_Clause): New function
+ (Record_Rep_Pragma): Moved here from sem_ch13.adb
+ (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
+
+ * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
+
+ * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
+ (Expand_Pragma_Psect_Object): New procedure
+ These procedures contain the revised and cleaned up processing for
+ these two pragmas. This processing was formerly in Sem_Prag, but
+ is more appropriately moved here. The cleanup involves making sure
+ that the pragmas are properly attached to the tree, and that no
+ nodes are improperly shared.
+
+ * sem_prag.adb: Move expansion of Common_Object and Psect_Object
+ pragmas to Exp_Prag, which is more appropriate.
+ Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
+ check for duplicates Remove use of Is_Psected flag, no longer needed.
+ Use new Make_String_Literal function with string.
+
+ * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
+ that are functions return universal values, that have to be converted
+ to the context type.
+ Use new Make_String_Literal function with string.
+ (Get_Stream_Convert_Pragma): New function, replaces the use of
+ Get_Rep_Pragma, which had to be kludged to work in this case.
+
+ * freeze.adb: Use new Has_Rep_Pragma function
+
+ * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
+ function with string.
+ Use new Has_Rep_Pragma function.
+
+ * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
+ string argument.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb: (First_Sloc): New function
+
+ * par-ch5.adb (P_Condition): Check for redundant parens is now a style
+ check (-gnatyx) instead of being included as a redundant construct
+ warning.
+
+ * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
+ Style_Check_Order_Subprograms.
+
+ * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
+ stylesw.adb: Add Style_Check_Xtra_Parens
+
+ * usage.adb: Add line for -gnatyx (check extra parens)
+
+ * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
+ discriminant of a constrained subtype, analyze the copy of the
+ corresponding constraint, because in some cases it may be only
+ partially analyzed.
+ Removes long-lived ??? comments.
+
+ * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
+ handled controlled or secondary-stack expressions within the
+ iteration_scheme of a loop.
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
+ bounds that may contain functions calls, to prevent memory leaks when
+ the bound contains a call to a function that uses the secondary stack.
+ (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
+ generate temporaries for loop bounds that might contain function calls
+ that require secondary stack and/or finalization actions.
+
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
+ selected component and the selector is overloadable (not just a
+ function) treat as function call, Analyze_Call will disambiguate if
+ necessary.
+ (Analyze_Selected_Component): Do not generate an actual subtype for the
+ selected component if expansion is disabled. The actual subtype is only
+ needed for constraint checks.
+ (Analyze_Allocator): If restriction No_Streams is set, then do
+ not permit objects to be declared of a stream type, or of a
+ composite type containing a stream.
+
+ * restrict.ads: Remove the a-stream entry from Unit_Array, since
+ No_Streams no longer prohibits with'ing this package.
+
+ * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
+ discriminants, but the parent base has unknown discriminants, there is
+ no discriminant constraint to inherit. Such a discrepancy can arise
+ when the actual for a formal type with unknown discriminants is a
+ similar private type whose full view has discriminants.
+ (Analyze_Object_Declaration): If restriction No_Streams is set, then
+ do not permit objects to be declared of a stream type, or of a
+ composite type containing a stream.
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads: Update documentation to reflect simpler encoding for
+ protected operations.
+
+ * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
+ generated name, it complicates decoding in gdb and hinders debugging
+ of protected operations.
+ (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
+ flag for the protected entry barrier function.
+ (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
+ flag for the protected entry function.
+
+2004-11-18 Nicolas Setton <setton@adacore.com>
+
+ * expect.c: Define __unix__ when __APPLE__ is defined.
+
+ * Makefile.in: Inform the value of the variable GMEM_LIB in the
+ Darwin-specific section.
+
+ * lang-specs.h: Change the placement of the %1 marker.
+ Works around the fact that gcc adds -fPIC by default under Darwin.
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
+ type of the object with the packed array type, set the Analyzed flag
+ on the object if it is an entity or simple indexed component, to avoid
+ spurious type errors.
+
+2004-11-18 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
+ gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
+ separate line from the version message.
+
+2004-11-18 Ed Falis <falis@adacore.com>
+
+ * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
+ vthreads.
+ (init_float): Eliminate initialization of floating point status for
+ AE653. The instructions have no effect for vThreads.
+
+2004-11-18 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
+ gnatbind is invoked with -shared.
+
+2004-11-18 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
+ for Detect_Blocking which is redundant with the check done within the
+ procedure Protected_Single_Entry_Call.
+ (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
+ Detect_Blocking which is redundant with the check done within the
+ procedure Protected_Single_Entry_Call.
+
+2004-11-18 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Compile): Put the compiling switches (in package
+ Compiler and on the command line) immediately after "-c", instead of
+ at the end of the command line invocation of the compiler, when
+ compiling a non-Ada file.
+ (Build_Global_Archive): When there is no need to rebuild the archive,
+ set Global_Archive_Exists, so that the archive is passed to the linker
+ if one is needed.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi:
+ Remove extra paren check from list of checks for redundant constructs
+ Add documentation of new -gnatyx style check (check extra parens)
+ Remove paragraph about gnatelim debug options.
+
+ * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
+ objects rather than forbidding dependencies on the package Ada.Streams.
+
+ * sinfo.ads: Add ??? note that we should document pragmas passed to
+ back end.
+
+ * g-expect.ads: Fix a few typos in the comments.
+
+2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * misc.c (gnat_handle_option): Use %< and %> for quoting in
+ warning message.
+
+2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * a-numaux-x86.adb (Tan): Fix fdivp syntax.
+
+2004-11-07 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (install-gnatlib): Remove spurious hyphen.
+
+2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/18228
+ * Makefile.in (darwin): Set soext to .dylib.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+ Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
+ (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
+ there is no use of GNAT.Sockets.Constants.
+ Remove remaining pragma Import for C_Write
+ Remove C_Read and C_Write from internal implementation unit
+ GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
+ the read and write functions from the system runtime library is fine
+ on UNIX but won't work under Windows).
+
+ * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
+ (Check_Selector): Use C_Recv instead of C_Read.
+ Selectors are the GNAT.Sockets abstraction to perform a select()
+ call on a set of descriptors. To allow abortion of an ongoing
+ select operation, some data is written to a dedicated socket that
+ is always monitored.
+ Under Windows, the write and read library functions cannot operate
+ on sockets, so we need to use send and recv instead, which is portable
+ across all supported platforms.
+
+ * g-socthi.ads: Remove C_Read and C_Write from internal implementation
+ unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
+ (using the read and write functions from the system runtime library is
+ fine on UNIX but won't work under Windows).
+
+2004-10-26 Nicolas Setton <setton@act-europe.fr>
+
+ * mlib-tgt-darwin.adb: New file.
+
+ * 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 (Archive_Indexer_Options): New
+ subprogram body.
+
+ * Makefile.in: Add support for building shared libraries under Darwin.
+ (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
+ the low level EH init subprogram to be called from __gnat_initialize.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
+ indicates which options to pass to the archive indexer.
+
+ * mlib-utl.adb: Add support for calling ranlib with additional
+ options. This is needed for instance under Mac OS X.
+ (Ranlib_Options): New global variable, used to store the potential
+ options to pass to ranlib.
+ (Ar): Use Ranlib_Options when spawning ranlib.
+ (Initialize): Set the value of ranlib option.
+
+2004-10-26 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
+ instead of 8K, to reflect the real potential needs for stack-checking
+ in the ZCX case.
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
+
+ * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
+ Windows only the initial thread stack size can be set so it is good to
+ start we a low stack size.
+ The OS will adjust the size as needed.
+
+2004-10-26 Olivier Hainque <hainque@act-europe.fr>
+ Nicolas Setton <setton@act-europe.fr>
+
+ * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
+ "__unix__" instead of "unix".
+ The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
+ sections were just mistakenly ignored. The former is
+ implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
+ Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
+ of hpux. This prevents an unwanted definition of the symbol
+ convert_addresses in adaint.o.
+
+2004-10-26 Gary Dismukes <dismukes@gnat.com>
+
+ * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
+ compatibility with type Unwind_Word on 16-bit targets such as AAMP.
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+
+ * a-filico.ads, a-filico.adb: fix incorrect header.
+
+2004-10-26 Javier Miranda <miranda@gnat.com>
+
+ * a-ststio.ads: Fix typo in identifier
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Expr_Known_Valid): If floating-point validity checks are
+ enabled, check the result of unary and binary operations when the
+ expression is the right-hand side of an assignment.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * clean.adb (Delete): Do not output warnings when in quiet output and
+ not in verbose mode.
+ (Force_Deletions): New Boolean flag, defaulted to False
+ (Delete): Only delete a file if it is writable, and when
+ Force_Deletions is True.
+ (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
+ (Usage): Line for new switch -f
+ (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
+ own.
+
+2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
+ JM type only if its size matches that of the wrapper. When a size is
+ prescribed and the field is not aliased, remove the wrapper of a JM
+ type only if the size is not greater than that of the packed array.
+ (gnat_to_gnu_entity): Change the extension of packed array wrappers
+ from LJM to JM.
+
+2004-10-26 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
+ (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+ (Pred): Implement in terms of Succ.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Safe_Component): An aggregate component that is an
+ unchecked conversion is safe for in-place use if the expression of the
+ conversion is safe.
+ (Expand_Array_Aggregate): An aggregate that initializes an allocator may
+ be expandable in place even if the aggregate does not come from source.
+ (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
+ designated object of an allocator in place, rather than building it
+ first on the stack. The previous scheme forces a full copy of the array,
+ and may be altogether unsusable if the size of the array is too large
+ for stack allocation.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
+ compares if the component is atomic.
+
+ * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
+ array assignment if the component type is atomic.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+ Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
+ is aliased and is a by_reference type, do not pass by copy.
+ (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
+ detect whether the call is in the right side of an assignment or
+ the expression of an object declaration. Recurse on component
+ association within aggregates.
+ Call it in the condition that determines whether the temporary is
+ necessary for correct stack-checking.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
+ RACW_Type, used in the PolyORB version.
+ Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
+ version and the GARLIC version.
+
+ * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
+ Rename RCI_Info to RCI_Locator for better consistency between the
+ GARLIC and PolyORB versions of the distributed systems annex.
+ (DSA_Implementation_Name): This enumeration lists the possible
+ implementations of the Partition Communication Subsystem for the
+ Distributed Systems Annex (DSA). The three available implementations
+ are the dummy stub implementation (No_DSA), and two versions based on
+ two different distribution runtime libraries: GARLIC and PolyORB. Both
+ the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
+ technology.
+ Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
+ that organization.
+
+ * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
+ between the GARLIC and PolyORB versions of the distributed systems
+ annex.
+ Remove RE_Unbounded_Reclaim_Pool since it is unused.
+
+2004-10-26 Gary Dismukes <dismukes@gnat.com>
+
+ * gnat1drv.adb: Suppress calling the back end when
+ Frontend_Layout_On_Target is true.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
+ Set_Read_Only): New subprograms.
+ These new routines allow the user to set or unset the Owner execute
+ and Owner write permission flags on a file.
+
+ * makegpr.adb, mlib.adb, mlib-prj.adb: Use
+ GNAT.OS_Lib.Set_Executable instead of rolling our own.
+
+2004-10-26 Matthew Gingell <gingell@gnat.com>
+
+ * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
+ memory before the faulting page we properly test the process read
+ access for this address using appropriate Win32 routine.
+ (HPUX sections): guard with "__hpux__" instead of "hpux".
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Generate_Reference): Don't complain about reference to
+ entry parameter if pragma Unreferenced set, since we do not properly
+ handle the case of multiple parameters.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * prj-env.adb: (Contains_ALI_Files): New Boolean function
+ (Ada_Objects_Path.Add): For a library project, add to the object path
+ the library directory only if there is no object directory or if the
+ library directory contains ALI files.
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
+ extension of library projects.
+
+ * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
+ path defaults to ".:<prefix>/lib/gnat".
+ (Parse): For an extending all project, allow direct import of a project
+ that is virtually extended.
+
+ * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
+ the specified name is directly imported, return its ID. Otherwise, if
+ an extension of this project is imported, return the ID of the
+ extension.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-arit64.adb: (Le3): New function, used by Scaled_Divide
+ (Sub3): New procedure, used by Scaled_Divide
+ (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
+ correct more than one instance of failure to propagate carries
+ correctly.
+ (Double_Divide): Handle overflow case of largest negative number
+ divided by minus one.
+
+ * s-arit64.ads (Double_Divide): Document that overflow can occur in
+ the case of a quotient value out of range.
+ Fix comments.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-bitops.adb (Bit_Eq): Remove redundant check.
+
+ * s-bitops.ads: Minor comment updates
+ Change some occurrences of Address to System.Address
+
+ * s-carsi8.ads: Fix minor cut-and-paste error in comments
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
+ accessibility check to prefix that is a protected operation.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
+ empty, post message on stub.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+ Javier Miranda <miranda@gnat.com>
+
+ * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
+ current instance appears within a unit that is directly in the context
+ of the main unit.
+ Used to determine whether the body of the instance should be analyzed
+ immediately after its spec, to make its subprogram bodies available
+ for front-end inlining.
+ (Analyze_Formal_Array_Type): Cleanup condition that checks that range
+ constraint is not allowed on the component type (AARM 12.5.3(3))
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ 'Storage_Pool): enhance, document & limit detection of non-sharable
+ internal pools.
+
+ * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
+
+ * s-pooglo.ads: Add more documentation now that this pool is properly
+ documented.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
+ or protected type with discriminants, do not constrain the
+ corresponding record type if the subtype declaration has no
+ discriminant constraints. This can be the case in source code, or in
+ the subtype declaration created to rename an actual type within an
+ instantiation.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
+ different kind of stub (possibly wrong name for file), do not check
+ for conformance.
+ (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
+ includes call to some function that returns an unconstrained type, do
+ not inline.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
+ appear in the code for the main unit. Dependencies among units in the
+ context of the main unit are established when those other units are
+ compiled. Otherwise spurious elaboration constraints can generate
+ incorrect elaboration circularities.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+ Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Is_Aliased_View): Defend against the case where this
+ subprogram is called with a parameter that is not an object name. This
+ situation arises for some cases of illegal code, which is diagnosed
+ later, and in this case it is wrong to call Is_Aliased, as that might
+ cause a compiler crash.
+ (Explain_Limited_Type): Refine previous fix to include
+ inherited components of derived types, to provide complete information.
+
+ * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
+ is the prival for a protected object.
+ It is necessary to mark this entity as a variable, in addition to
+ flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
+ modified to avoid checking the Aliased flag on entities that are not
+ objects. (Checking that flag for non-objects is erroneous and could
+ lead to a compiler crash).
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
+ X_Frac = 0.5, then we know that the number X must be positive.
+ (Succ): Remove the same redundant test, and also fix the primary test
+ to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
+ Minor reformatting
+ (Decompose): Add fuller comments to spec
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
+ validity (process must have read access). Set to 0 in all other cases.
+ (STOP_FRAME): Now check for ptr validity to avoid a segmentation
+ violation on Win32.
+ (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
+ segmentation violation.
+
+2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
+ whose type is a constructed subtype of an aliased object with an
+ unconstrained nominal subtype, convert the actual to the constructed
+ subtype before taking its address.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
+ (Is_Path_Name_Case_Sensitive): New function
+
+ * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
+ (Base_Name, Simple_Name, Current_Directory, Compose,
+ Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
+ the result.
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+ Vasiliy Fofanov <fofanov@act-europe.fr>
+ Vincent Celier <celier@gnat.com>
+
+ * gnat_ugn.texi: Generalize "finding memory problems" section into a
+ "memory management issues" section and document some of the useful
+ memory pools provided as part of the GNAT library.
+ Remove "virtual" from declaration of A::method2 in
+ the simple example of Ada/C++ mixed system.
+ Library Projects may be virtually extended: their virtual extensions
+ are not Library Projects.
+ Added section on extending project hierarchies.
+
+2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (__gnat_get_libraries_from_registry): Cast value
+ to LPBYTE.
+ (__gnat_portable_spawn): Remove const.
+
+ * mingw32.h (MAXPATHLEN): Check for previous definition.
+
+2004-10-17 Matthias Klose <doko@debian.org>
+
+ * gnatvsn.ads: Set gnat library version to 4.0.
+
+2004-10-05 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
+
+2004-10-04 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/15156
+ * Makefile.in: Define and use RANLIB_FLAGS.
+
+2004-10-04 Pascal Obry <obry@gnat.com>
+
+ * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
+ other x86 platforms).
+
+2004-10-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
+ in general and triggers stack alignment adjustment for thread entry
+ points on targets where this is necessary.
+
+2004-10-04 Bernard Banner <banner@gnat.com>
+
+ PR ada/13897
+ * Makefile.in: Add section for powerpc linux
+ Add variant i-vxwork-x86.ads
+
+ * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
+
+2004-10-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_initialize): Call an Ada subprogram to perform the
+ table registration calls when need be. Ensures no reference to the crt
+ ctors symbol are issued in the SJLJ case, which avoids possible
+ undefined symbol errors in the case of modules to be statically linked
+ with the kernel.
+
+2004-10-04 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
+ in-line the code corresponding to subprogram Analyze_Actuals. In
+ addition, analyze the actuals only in case of subprogram call.
+
+2004-10-04 Ed Falis <falis@gnat.com>
+
+ * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
+
+2004-10-04 Sergey Rybin <rybin@act-europe.fr>
+
+ * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
+ in the documentation.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
+ IF and CASE.
+ (Analyze_Block_Statement): Add circuitry to detect following dead code
+ (Check_Unreachable_Code): Handle case of block exit
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
+ (XMatchD): Avoid warning for Logic_Error call
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
+ consider expressions buried within a procedure actual to be an actual.
+ This caused some blowups with uses of packed slices within a procedure
+ actual.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
+ longer need to be initialized to zero.
+ (Get_Simple_Init_Val): Modular packed arrays no longer need to be
+ initialized to zero.
+
+ * checks.adb (Expr_Known_Valid): Packed arrays are now always
+ considered valid, even if the representation is modular. That's correct
+ now that we no longer initialize packed modular arrays to zero.
+
+ * exp_dbug.ads: Clarify documentation on handling of PAD and JM
+ suffixes. These are now documented as the only cases in which the
+ debugger ignores outer records.
+ Previously, the spec allowed arbitrary suffixes for this purpose.
+ Change name of LJM to JM for packed array pad records
+ Create separate section on packed array handling, and add a whole new
+ set of comments to this section describing the situation with packed
+ modular types and justification requirements depending on endianness.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb: Add a comment for last change
+
+ * einfo.ads: Minor spelling correction in comment
+
+ * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
+
+ * sem_ch11.adb: Fix a case of using | instead of \ for continuation
+ messages.
+
+ * sem_util.ads: Minor comment update
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
+ Inline_Always when in Configurable_Run_Time mode.
+
+ * sem_prag.adb (Process_Convention): If entity is an inherited
+ subprogram, apply convention to parent subprogram if in same scope.
+ (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
+ when in Configurable_Run_Time mode.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
+ class_wide type after component list has been inherited.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): New predicate
+ Denotes_Previous_Actual, to handle properly the case of a private
+ actual that is also the component type of a subsequent array actual.
+ The visibility status of the first actual is not affected when the
+ second is installed.
+ (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
+ make fully recursive the treatment of formals of packages declared
+ with a box.
+ (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
+ the above on exit from an instantiation.
+ (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
+ current instantiation which is now complete.
+ (Analyze_Package_Instantiation): No instantiated body is needed if the
+ main unit is generic. Efficient, and avoid anomalies when a instance
+ appears in a package accessed through rtsfind.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
+ do not generate a declaration for a temporary if the call is part of a
+ library-level instantiation.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Explain_Limited_Type): Ignore internal components when
+ searching for a limited component to flag.
+
+ * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
+ expansion of Input, to account for the fact that the implicit call
+ generated by the attribute reference must freeze the user-defined
+ stream subprogram. This is only relevant to 'Input, because it can
+ appear in an object declaration, prior to the body of the subprogram.
+
+ * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
+ expansion can proceed and further errors uncovered.
+ (Minor clean up): Fix cases of using | instead of \ for continuation
+ messages.
+
+2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
+
+ * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
+ (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
+ Use gcc_assert and gcc_unreachable.
+
+ * decl.c (gnat_to_gnu_entity, case object): Check and process a
+ specified alignment before validating size.
+ (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
+ stripped-down declaration for the type of the inner field when making
+ a JM type.
+
+ * utils.c (finish_record_type): Do not compute the size in units
+ incrementally. Instead compute it once for the rep clause case.
+ Use gcc_assert and gcc_unreachable.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
+ in file name.
+ (Is_Valid_Path_Name): Take '/' as a directory separator.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
+ (Extended_Project) only if Extended_Project is defined, to avoid
+ assertion error.
+ (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
+ resolved path.
+ (Parse_Single_Project): Ditto.
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
+ Add_To_Project_Path for virtual projects.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * 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, mlib-tgt.adb (Build_Dynamic_Library): New
+ parameter Options_2.
+
+ * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
+ Build_Dynamic_Library with an empty Options_2.
+
+ * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
+ default anymore.
+
+ * makegpr.adb (Get_Imported_Directories.add): Remove trailing
+ directory separator, if any.
+ (Gprmake): Do not allow mains on the command line for library projects.
+ Do not attempt to link when the project is a library project.
+ (Library_Opts): New table to store Library_Options.
+ (Build_Library): If Library_Options is specified, pass these options
+ when building a shared library.
+
+2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-tposen.adb (Service_Entry): The object must be always unlocked at
+ the end of this procedure now that the unlock operation was inserted
+ by the expander.
+
+2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
+ corresponding to the Preallocated_Stacks flags in System.
+ (Get_Target_Parameters): Including the processing for
+ Preallocated_Stacks.
+
+ * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
+ system-vms_64.ads, system-unixware.ads, 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-vxworks-xscale.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-os2.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
+ used to signal whether the compiler creates the required stacks and
+ descriptors for the different tasks (when True) or it is done by the
+ underlying operating system at run time (when False).
+ It is initially set to False in all targets.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
+ if it is supported by the target.
+ (Make_Task_Create_Call): Pass the stack address if it has been
+ previously created. Otherwise pass a Null_Address.
+
+ * snames.adb: Add _stack.
+
+ * snames.ads: Add Name_uStack. Required to allow the expander to
+ statically allocated task stacks.
+
+ * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
+ Stack_Address argument.
+ Check that its value is equal to Null_Address because this target does
+ not support the static stack allocation.
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * usage.adb: Change "pragma inline" to "pragma Inline" in information
+ and error messages
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_dist.adb: Split declaration of asynchronous flag out of
+ Add_RACW_Read_Attribute.
+ Minor reformatting for better alignment with PolyORB version.
+ Store the entity for the asynchronous flag of an RACW, rather than the
+ expression, in the asynchronous flags table. This will allow this flag
+ to be used in other subprograms beside Add_RACW_Read_Attribute.
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
+ g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
+ g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
+ sockets constant MSG_NOSIGNAL (Linux-specific).
+ Add new sockets constant MSG_Forced_Flags, list of flags to be set on
+ all Send operations.
+ For Linux, set MSG_NOSIGNAL on all send operations to prevent them
+ from trigerring SIGPIPE.
+ Rename components to avoid clash with Ada 2005 possible reserved
+ word 'interface'.
+ (Check_Selector): When the select system call returns with an error
+ condition, propagate Socket_Error to the caller.
+
+2004-10-01 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
+
+2004-09-23 Robert Dewar <dewar@gnat.com>
+
+ PR ada/17540
+ * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
+ instead do this at freeze time (we won't do it if there is an address
+ clause).
+ Change "pragma inline" to "pragma Inline" in information and error
+ messages.
+ Minor reformatting.
+
+ * freeze.adb (Check_Address_Clause): Remove previous change, not the
+ right way of doing things after all.
+ (Freeze_Entity): For object, set Is_Public for imported entities
+ unless there is an address clause present.
+
+2004-09-21 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
+ dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
+ ensures proper handling of types with rep clauses, which might have
+ their TYPE_SIZE set already.
+
+2004-09-21 Robert Dewar <dewar@gnat.com>
+
+ * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
+ packed array types in both little- and big-endian cases. This change
+ ensures that we no longer count on the unused bits being initialized
+ for such types (and in particular ensures that equality testing will
+ only read the relevant bits).
+ Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+ These changes mean that we no longer need to initialize small packed
+ arrays.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
+ optimization to an LJM field as to its parent field.
+
+ * ada-tree.h, trans.c, utils.c, utils2.c:
+ Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+
+2004-09-20 Jan Hubicka <jh@suse.cz>
+
+ * utils.c (gnat_finalize): Remove.
+ (end_subprog_body): Directly call cgraph_finalize_function;
+ do not lower the nested functions.
+
+2004-09-20 Robert Dewar <dewar@gnat.com>
+
+ PR ada/17540
+ * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
+ if an address clause is present, since that means that the Import
+ should be ignored.
+
+2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5tsystem.ads: Removed, no longer used.
+
+2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * ada-tree.def: Use tree_code_class enumeration constants
+ instead of code letters.
+ * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
+ Update for new tree-class enumeration constants.
+
+2004-09-17 Vincent Celier <celier@gnat.com>
+
+ * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
+ capabilities of the general project manager.
+
+2004-09-09 Vincent Celier <celier@gnat.com>
+
+ * a-direct.ads: Add pragma Ada_05
+ (Directory_Entry_Type): Give default value to component Kind to avoid
+ not initialized warnings.
+
+ * a-direct.adb (Current_Directory): Remove directory separator at the
+ end.
+ (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
+ an existing directory.
+ (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
+ (Size (String)): Function C_Size returns Long_Integer, not File_Size.
+ Convert the result to File_Size.
+
+ * prj.ads: (Project_Error): New exception
+
+ * prj-attr.adb: Except in procedure Initialize, Fail comes from
+ Prj.Com, not from Osint.
+ (Attrs, Package_Attributes): Tables moved to private part of spec
+ (Add_Attribute, Add_Unknown_Package): Moved to new child package
+ Prj.Attr.PM.
+ (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
+ Prj.Project_Error after call to Fail.
+ (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
+ Fail. Check that package name is not already in use.
+
+ * prj-attr.ads: Comment updates to indicate that all subprograms may be
+ used by tools, not only by the project manager, and to indicate that
+ exception Prj.Prj_Error may be raised in case of problem.
+ (Add_Unknown_Package, Add_Attribute): Moved to new child package
+ Prj.Attr.PM.
+ (Attrs, Package_Attributes): Table instantiations moved from the body to
+ the private part to be accessible from Prj.Attr.PM body.
+
+ * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
+ from new package Prj.Attr.PM.
+ (Parse_Attribute_Declaration): Call Add_Attribute from new package
+ Prj.Attr.PM.
+
+ * Makefile.in: Add prj-attr-pm.o to gnatmake object list
+
+ * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
+ instead of Elaboration_Checks).
+
+ * a-calend.adb: Minor reformatting
+
+2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gigi.h (maybe_pad_type): New declaration.
+ (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
+
+ * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
+
+ * cuintp.c: Convert to use buildN.
+
+ * decl.c (maybe_pad_type): No longer static.
+ (gnat_to_gnu_entity, case E_Function): Handle case of returning by
+ target pointer.
+ Convert to use buildN.
+
+ * trans.c (call_to_gnu): Add arg GNU_TARGET; support
+ TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
+ (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
+ RHS.
+ (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
+ (gnat_gimplify_expr, case ADDR_EXPR): New case.
+ Convert to use buildN.
+
+ * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
+ TREE_READONLY for const.
+ Convert to use buildN.
+
+ * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
+ (create_var_decl): Refine when TREE_STATIC is set.
+ Convert to use buildN.
+
+2004-09-09 Gary Dismukes <dismukes@gnat.com>
+
+ * gnat_ugn.texi: Delete text relating to checking of ali and object
+ consistency.
+
+ * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
+ routines.
+
+2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
+ pragmas recognized by GNAT.
+
+ * gnat_rm.texi: Document pragma Detect_Blocking.
+
+ * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+
+ * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
+ the protected action nesting level.
+ (Lock_Read_Only): When pragma Detect_Blocking is active increase the
+ protected action nesting level.
+ (Unlock): When pragma Detect_Blocking is active decrease the protected
+ action nesting level.
+
+ * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
+ Protected_Action_Nesting.
+
+ * s-taskin.ads: Adding the field Protected_Action_Nesting to the
+ Common_ATCB record. It contains the dynamic level of protected action
+ nesting for each task. It is needed for checking whether potentially
+ blocking operations are called from protected operations.
+ (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
+ Detect_Blocking is active or not in the partition.
+
+ * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+ (Task_Entry_Call): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation.
+ (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation.
+
+ * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+
+ * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation, and increase
+ the protected action nesting level.
+ (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation, and increase the
+ protected action nesting level.
+ (Unlock_Entries): When pragma Detect_Blocking is active decrease the
+ protected action nesting level.
+
+ * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation, and increase
+ the protected action nesting level.
+ (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation, and increase the
+ protected action nesting level.
+ (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+ (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
+ active, raise Program_Error if called from a protected operation.
+ (Unlock_Entry): When pragma Detect_Blocking is active decrease the
+ protected action nesting level.
+
+ * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
+ insertion of the statement raising Program_Error. The run time
+ contains the required machinery for handling that.
+
+ * sem_util.ads: Change comment associated to procedure
+ Check_Potentially_Blocking_Operation.
+ This procedure does not insert a call for raising the exception because
+ that is currently done by the run time.
+
+ * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
+
+ * init.c: Add the global variable __gl_detect_blocking that indicates
+ whether pragma Detect_Blocking is active (1) or not (0). Needed for
+ making the pragma available at run time.
+ (__gnat_set_globals): Pass and update the detect_blocking parameter.
+
+ * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
+ pragma Detect_Blocking is active.
+
+ * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
+
+ * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
+ DB is found in the ali file. Any unit compiled with pragma
+ Detect_Blocking active forces its effect in the whole partition.
+
+ * a-retide.adb (Delay_Until): Raise Program_Error if pragma
+ Detect_Blocking is active and delay is called from a protected
+ operation.
+
+ * bindgen.adb (Gen_Adainit_Ada): When generating the call to
+ __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
+ Detect_Blocking is active (0 otherwise).
+ (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
+ as Detect_Blocking parameter if pragma Detect_Blocking is active (0
+ otherwise).
+
+2004-09-09 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
+ GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
+ package.
+
+ * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
+ (Register_Receiving_Stub): Add Subp_Info formal parameter.
+ Update API in placeholder implemetation of s-parint to reflect changes
+ in distribution runtime library.
+
+ * sem_ch3.adb (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+
+ * sem_disp.adb (Check_Controlling_Formals): Improve error message for
+ primitive operations of potentially distributed object types that have
+ non-controlling anonymous access formals.
+
+ * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
+ subprogram.
+ New implementation of expansion for remote access-to-subprogram types,
+ based on the RACW infrastructure.
+ This version of sem_dist is compatible with PolyORB/DSA as well as
+ GLADE.
+
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
+ Asynchrronous that applies to a remote access-to-subprogram type, mark
+ the underlying RACW type as asynchronous.
+
+ * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
+ __gnat_using_gnu_linker to 1.
+
+ * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
+ g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
+ GNAT.Perfect_Hash_Generators, and remove the empty
+ GNAT.Perfect_Hash package.
+
+ * atree.adb: Minor reformatting
+
+ * exp_ch3.adb (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+ (Build_Record_Init_Proc.Build_Assignment): The default expression in
+ a component declaration must remain attached at that point in the
+ tree so New_Copy_Tree copies it if the enclosing record type is derived.
+ It is therefore necessary to take a copy of the expression when building
+ the corresponding assignment statement in the init proc.
+ As a side effect, in the case of a derived record type, we now see the
+ original expression, without any rewriting that could have occurred
+ during expansion of the ancestor type's init proc, and we do not need
+ to go back to Original_Node.
+
+ * exp_ch3.ads (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+
+ * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
+ Returns the RACW type used to implement a remote access-to-subprogram
+ type.
+ (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
+ New subprograms. Used to create a proxy tagged object for a remote
+ subprogram. The proxy object is used as the designated object
+ for RAS values on the same partition (unless All_Calls_Remote applies).
+ (Build_Get_Unique_RP_Call): New subprogram. Build a call to
+ System.Partition_Interface.Get_Unique_Remote_Pointer.
+ (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
+ Renamed from Add_RAS_*_Attribute.
+ (Add_Receiving_Stubs_To_Declarations): Generate a table of local
+ subprograms.
+ New implementation of expansion for remote access-to-subprogram types,
+ based on the RACW infrastructure.
+
+ * exp_dist.ads (Copy_Specification): Update comment to note that this
+ function can copy the specification from either a subprogram
+ specification or an access-to-subprogram type definition.
+
+2004-09-09 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
+ in an instance, between an explicit subprogram an one inherited from a
+ type derived from an actual.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
+ add a polling call if the subprogram is to be inlined by the back-end,
+ to avoid repeated calls with multiple inlinings.
+
+ * checks.adb (Apply_Alignment_Check): If the expression in the address
+ clause is a call whose name is not a static entity (e.g. a dispatching
+ call), treat as dynamic.
+
+2004-09-09 Robert Dewar <dewar@gnat.com>
+
+ * g-trasym.ads: Minor reformatting
+
+ * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
+ packed arrays, since unused bits are expected to be zero for a
+ comparison.
+
+2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
+ comment.
+
+2004-09-09 Pascal Obry <obry@gnat.com>
+
+ * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
+ enable map file generation. Add the right option to generate the map
+ file if Map_File is set to True.
+
+ * gnatdll.adb (Gen_Map_File): New variable.
+ (Syntax): Add info about new -m (Map_File) option.
+ (Parse_Command_Line): Add support for -m option.
+ (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
+ Minor reformatting.
+
+2004-09-09 Laurent Pautet <pautet@act-europe.fr>
+
+ * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
+ new gnatdist implementation.
+ Define a subpackage isolating the output routines specific to this
+ verbose mode.
+
+2004-09-09 Joel Brobecker <brobecker@gnat.com>
+
+ * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
+
+ * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
+
+2004-09-09 Cyrille Comar <comar@act-europe.fr>
+
+ * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
+ internal unit.
+
+ * opt.ads: Add Ada_Version_Runtime constant used to decide which
+ version of the language is used to compile the run time.
+
+2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sem_util.adb (Requires_Transient_Scope): Re-enable handling
+ of variable length temporaries for function return now that the
+ back-end and gigi support it.
+
+2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
+
+ * trans.c (struct stmt_group): Delete field GLOBAL.
+ (gnat_init_stmt_group): Do not initialize it.
+ (call_to_gnu): Use save_expr, not protect_multiple_eval.
+ (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
+ (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
+ (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
+ (start_stmt_group): Likewise.
+ (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
+
+ * utils2.c (ggc.h): Include.
+ (build_call_raise): Call build_int_cst, not build_int_2.
+
+ * utils.c (gnat_init_decl_processing): Fix arg to
+ build_common_tree_nodes.
+ (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
+ (gnat_define_builtin): Set built_in_decls.
+ (init_gigi_decls): Call build_int_cst, not build_int_2.
+
+ * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
+ (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
+ (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
+ (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
+ SET_TYPE_MODULE): Use them.
+ (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
+ (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
+ (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
+ SET_TYPE_ADA_SIZE): Likewise.
+ (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
+ (DECL_CONST_CORRESPONDING_VAR,
+ SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
+ (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
+ (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
+ (TYPE_RM_SIZE_NUM): New macro.
+ (TYPE_RM_SIZE): Modified to use above.
+
+ * cuintp.c: (build_cst_from_int): New function.
+ (UI_To_gnu): Use it.
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
+ (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
+ (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
+ MIN_EXPR for the size, copy it into new.
+
+2004-09-01 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Properly handle validity checks for
+ packed indexed component where array is an IN OUT formal. This
+ generated garbage code previously.
+
+ * gnat_ugn.texi: Document -fverbose-asm
+
+ * gnat-style.texi: Minor updates (note that boolean constants and
+ variables are joined with AND/OR rather than short circuit forms).
+
+2004-09-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
+ it is an upward conversion of an untagged type with no representation
+ change.
+
+2004-09-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
+ System.Partition_Interface.
+
+ * checks.adb (Apply_Access_Checks): Do not generate checks when
+ expander is not active (but check for unset reference to prefix of
+ dereference).
+
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
+ pragma Debug as an if statement with a constant condition, for
+ consistent treatment of entity references contained within the
+ enclosed procedure call.
+
+2004-09-01 Vincent Celier <celier@gnat.com>
+
+ * bindgen.adb: (Set_EA_Last): New procedure
+ (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
+ Set_EA_Last.
+ (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
+ (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
+ linked without errors.
+ (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
+ ST and EA.
+ (Gen_Exception_Table_C): Correct same bugs
+
+ * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
+
+ * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
+ on Windows, make sure that the drive letter is in upper case.
+
+ * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
+ Windows, when the drive letter is added and Case_Sensitive is True, the
+ drive letter is forced to upper case.
+
+ * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
+ to Options_2 for the call to MLib.Utl.Gcc.
+
+ * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
+ directory separator when defining BASE_DIR.
+
+2004-09-01 Pascal Obry <obry@gnat.com>
+
+ * gprcmd.adb (Extend): Do not output trailing directory separator. This
+ is not needed and it confuses Windows GNU/make which does not report
+ directory terminated by a slash as a directory.
+ (gprcmd): Idem for "pwd" internal command.
+
+ * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
+ target names rewrite to fix regressions with recent version of
+ GNU/make. Starting with GNU/make 3.80 the pipe character was not
+ handled properly anymore.
+
+2004-09-01 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
+ * raise.c [!IN_RTS]: Undef abort.
+
+2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use ssize_int.
+
+ * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
+
+2004-08-27 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
+ * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+ * utils.c (init_gigi_decls): Likewise.
+ * utils2.c (build_call_raise, build_allocator): Likewise.
+
+2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (gnat_init_decl_processing): Adjust
+ build_common_tree_nodes call.
+
+2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use build_int_cst for negative
+ size types.
+
+2004-08-18 Richard Henderson <rth@redhat.com>
+
+ * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
+
+2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
+ call.s
+ * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
+ (gnat_to_gnu): Likewise.
+
+2004-08-16 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
+ backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
+ option and not mdll anymore. Update comment.
+
+2004-08-16 Pascal Obry <obry@gnat.com>
+
+ * bld.adb (Put_Include_Project): Properly handle directory separators
+ on Windows.
+
+2004-08-16 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
+ decreasing the number of allocated junk nodes while searching for the
+ appropriate subprogram.
+
+2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Use build_int_cst..
+ * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+ * utils.c (init_gigi_decls): Likewise.
+ * utils2.c (build_call_raise): Likewise.
+
+2004-08-13 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
+ for a global aliased object with a variable size and an unconstrained
+ nominal subtype, pretend there is no initializer if the one we have is
+ incomplete, and avoid referencing an inexistant component in there. The
+ part we have will be rebuilt anyway and the reference may confuse
+ further operations.
+
+2004-08-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * einfo.ads: Minor reformatting
+
+ * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
+ restrictions in the ALI if we only want to warn about violations.
+
+2004-08-13 Vincent Celier <celier@gnat.com>
+
+ * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
+ when creating a new Unit_Record in table Units.
+
+ * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
+ that are violated, if any.
+
+ * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
+ add directory separator if path already ends with a directory separator.
+
+2004-08-13 Ed Schonberg <schonberg@gnat.com>
+
+ * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
+ unit, this is an attempt to inline a construct that is not available in
+ the current restricted mode, so abort rather than trying to continue.
+
+ * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
+ discriminants that rename those of the parent, recover names of
+ original discriminants for the constraint on the full view of the
+ parent.
+ (Complete_Private_Subtype): Do not create a subtype declaration if the
+ subtype is an itype.
+
+ * gnat_rm.texi: Added section on implementation of discriminated
+ records with default values for discriminants.
+
+2004-08-13 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15601
+ * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
+ the second operand is overloaded.
+
+2004-08-10 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
+ add __builtin_alloca.
+
+2004-08-10 Richard Henderson <rth@redhat.com>
+
+ * config-lang.in (boot_language): Yes.
+
+2004-08-09 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
+ from complaining on potential uninitialized reference.
+ Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
+ new specification and test explicitly for non-zero return value.
+
+ * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
+ returning C.int, to avoid using a derived boolean type.
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
+ Duplicate_Subexpr_No_Checks in preference to direct use of
+ Remove_Side_Effects and New_Copy_Tree.
+ Clear Comes_From_Source on prefix of 'Size attribute reference.
+
+ * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
+ g-socthi-vxworks.adb: Change calls to
+ GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
+ and test explicitly for non-zero return value.
+
+ * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
+ (Is_Socket_In_Set): Declare imported function as returning C.int, to
+ avoid using a derived boolean type.
+
+2004-08-09 Albert Lee <lee@gnat.com>
+
+ * system-irix-n32.ads: Refine tasking priority constants for IRIX.
+
+2004-08-09 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Document new way to build DLLs on Windows using
+ GCC's -shared option.
+
+ * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
+ Options_2 parameter (options put after object files).
+
+2004-08-09 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
+ ignore overflows on low and high bounds of an index to also account for
+ differences in signedness between sizetype and gnu_index_subtype.
+ These are as legitimate as the ones caused by a lower TYPE_PRECISION
+ on sizetype.
+
+2004-08-09 Robert Dewar <dewar@gnat.com>
+
+ * s-solita.ads, s-solita.adb: Minor reformatting
+
+ * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
+ Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
+ obsolescent section
+ Add note that No_Implicit_Conditionals does not suppress
+ run time constraint checks.
+
+ * vms_conv.ads: Minor reformatting
+
+ * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
+ and necessary for following change).
+ (Mark): Return new format Mark_Id containing sec stack address
+ (Release): Use sec stack address from Mark_Id avoiding Self call
+
+ * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
+ pointer (cleanup and necessary for following change).
+ Define Mark_Id as record containing address of secondary stack, that way
+ Release does not need to find the stack again, decreasing the number of
+ calls to Self and improving efficiency.
+
+ * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
+
+ * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
+ case variable into the individual case branches when possible.
+
+ * sem_ch11.adb: Minor reformatting
+
+ * prj.ads: Correct spelling of suffixs
+
+ * prj-nmsc.adb: Minor reformatting
+ Correct spelling suffixs throughout (also in identifiers)
+
+ * freeze.adb: Minor spelling correction
+
+ * exp_ch2.adb: Cleanups to handling of Current_Value
+ (no functional effect).
+
+ * bld.adb: Correct spelling of suffixs
+
+ * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
+
+2004-08-09 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15408
+ * sem_ch7.adb (Install_Private_Declarations): In the body of the
+ package or of a child, private entities are both immediately_visible
+ and not hidden.
+
+2004-08-09 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
+ there are no range checks on the value of the literal.
+
+ * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
+ wrapped is the triggering alternative of an asynchronous select, action
+ statements mustbe inserted before the select itself.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
+ case where the prefix is a protected function call.
+ (Resolve_Attribute, case 'Access): The attribute reference on a
+ subprogram is legal in a generic body if the subprogram is declared
+ elsewhere.
+
+2004-08-09 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
+ languages, otherwise building the library may fail with unresolved
+ symbols.
+ (Compile_Sources): Do not build libraries if -c switch is used
+
+ * gnatlink.adb (Process_Args): New switches -M and -Mmap
+ (Write_Usage): If map file creation is supported, output new switches
+ -M and -Mmap.
+ (Gnatlink): When -M is specified, add the necessary switch(es) to the
+ gcc call, when supported.
+
+ * Makefile.in: Added indepsw.o to the object list for gnatlink
+ Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
+
+ * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
+ indepsw.adb, indepsw.ads: New files.
+
+2004-08-09 Bernard Banner <banner@gnat.com>
+
+ * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
+
+ * Makefile.in: add section for vxworks x86
+
+2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
+ per-object constrained components where the discriminant is of an
+ Access type.
+ (Build_Record_Init_Proc): Add condition to prevent the inheritance of
+ the parent initialization procedure for derived Unchecked_Unions.
+ Instead, derived Unchecked_Unions build their own initialization
+ procedure.
+ (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
+ Check the body of the subprogram for details.
+ (Freeze_Record_Type): Prevent the inheritance of discriminant checking
+ functions for derived Unchecked_Union types by introducing a condition.
+ Allow the creation of TSS equality functions for Unchecked_Unions.
+ (Make_Eq_Case): Rename formal parameter Node to E in function signature.
+ Add formal parameter Discr to function signature. Discr is used to
+ control the generated case statement for Unchecked_Union types.
+ (Make_Eq_If): Rename formal parameter Node to E in function signature.
+
+ * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
+ Unchecked_Unions.
+ Check the body of the subprogram for details.
+ (Expand_Composite_Equality): Augment composite type equality to include
+ correct handling of Unchecked_Union components.
+ (Expand_N_In): Add condition to detect illegal membership tests when the
+ subtype mark is a constrained Unchecked_Union and the expression lacks
+ inferable discriminants, and build a Raise_Program_Error node.
+ (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
+ to detect types that contain components of unconstrained Unchecked_Union
+ subtype. Add condition to detect equality between types that have an
+ unconstrained Unchecked_Union component, and build a Raise_Program_Error
+ node. Add condition to detect equality between Unchecked_Union types
+ that lack inferable discriminants, and build a Raise_Program_Error node.
+ Otherwise build a TSS equality function call.
+ (Expand_N_Type_Conversion): Add condition to detect illegal conversions
+ from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
+ with the operand lacking inferable discriminants, and build a Raise_
+ Program_Error node.
+ (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
+ composite equality.
+ (Has_Inferable_Discriminants): Implement new predicate for objects and
+ expressions of Unchecked_Union type. Check the body of subprogram for
+ details.
+ (Has_Unconstrained_UU_Components): Add function
+ Component_Is_Unconstrained_UU. It is used to detect whether a single
+ component is of an unconstrained Unchecked_Union subtype. Add function
+ Variant_Is_Unconstrained_UU. It is used to detect whether a single
+ component inside a variant is of an unconstrained Unchecked_Union type.
+
+ * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
+ inferred discriminant values. Add condition to generate a case
+ statement with an inferred discriminant as the switch.
+ (Make_Component_List_Assign): Introduce a Boolean flag that determines
+ the behaviour of the subprogram in the presence of an Unchecked_Union.
+ Add condition to trigger the usage of the inferred discriminant value
+ as the generated case statement switch.
+ (Make_Field_Assign): Introduce a Boolean flag that determines the
+ behaviour of the subprogram in the presence of an Unchecked_Union. Add
+ condition to trigger the usage of the inferred discriminant value as
+ the right-hand side of the generated assignment.
+
+ * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
+ parameter generation when dealing with Unchecked_Unions.
+
+ * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
+ checks for Unchecked_Unions.
+
+ * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Produce
+ Raise_Program_Error nodes for the execution of Read and Write
+ attributes of Unchecked_Union types and the execution of Input and
+ Output attributes of Unchecked_Union types that lack default
+ discriminant values.
+
+ * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
+ Unchecked_Union. Add procedure Check_Component. It is used to inspect
+ per-object constrained components of Unchecked_Unions for being
+ Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
+ check individual components withing a variant.
+
+ * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
+ comparison of Unchecked_Unions.
+ (Resolve_Equality_OP): Remove guard that prevents equality between
+ Unchecked_Unions.
+
+ * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
+ of component subtypes for Unchecked_Union components.
+ (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
+ since it is the actual subtype.
+
+ * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
+ pass of Unchecked_Union subtypes as generic actuals to formal types
+ that lack known_discriminant_parts or that are derived Unchecked_Union
+ types, and do nothing. In any other case, produce an error message.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Add function
+ Contains_POC. It determines whether a constraint uses the discriminant
+ of an enclosing record type.
+ Add condition to detect per-object constrained component and set the
+ appropriate flag.
+ (Derived_Type_Declaration): Remove guard that prevents derivation from
+ Unchecked_Union types.
+ (Process_Subtype): Remove quard that prevents the creation of Unchecked_
+ Union subtypes.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
+ references to Unchecked_Union discriminants.
+
+ * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
+ formal generation when dealing with Unchecked_Unions.
+ (Set_Actual_Subtypes): Add condition to prevent generation of actual
+ subtypes for Unchecked_Unions.
+
+ * sem_ch7.adb (Analyze_Package_Specification): Add procedure
+ Inspect_Unchecked_Union_Completion. It is used to detect incorrect
+ completions of discriminated partial views by Unchecked_Unions and
+ produce an error message.
+
+2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (struct stmt_group): New field, GLOBAL.
+ (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
+ (struct elab_info): New struct.
+ (elab_info_list, gnu_elab_proc_stack): New variables.
+ (Compilation_Unit_to_gnu): New procedure.
+ (gigi): Call it and also handle elaboration procs we've saved.
+ (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
+ global field from parent.
+ (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
+ (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
+ (start_stmt_group): Initialize global field from parent.
+ (add_decl_expr): Set to global for current statement group.
+ (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
+ post.
+
+ * utils.c (global_bindings_p): True when no current_function_decl; no
+ longer check current_binding_level.
+
+2004-08-09 Ben Brosgol <brosgol@gnat.com>
+
+ * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
+ choice.
+
+ * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
+
+2004-08-06 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (gnat_define_builtin): Remove second parameter of
+ make_decl_rtl.
+ (begin_subprog_body): Likewise.
+
+2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sem_util.adb (Requires_Transient_Scope): Temporarily disable
+ optimization, not supported by the tree-ssa back-end.
+
+2004-07-26 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-mastop-irix.adb: Update comments.
+
+ * a-except.adb (Exception_Information): Raise Constraint_Error if
+ exception Id is Null_Id.
+ This is required behavior, which is more reliably and clearly checked
+ at the top level interface level.
+
+2004-07-26 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
+ call if a component has no default_expression and the box is used.
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
+ default_expression and you use box, it behaves as if you had declared a
+ stand-alone object.
+ (Resolve_Record_Aggregate): If a component has no default_expression and
+ you use box, it behaves as if you had declared a stand-alone object.
+
+ * sem_ch10.adb (Install_Siblings): Do not make visible the private
+ entities of private-with siblings.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
+ for a component of an itype, set the parent pointer for analysis,
+ there is no list in which to insert it.
+
+ * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
+ bona-fide renamings, not for inherited operations.
+
+ * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
+ actual for a formal that is an access parameter, create local
+ finalization list even if the expression is not an aggregate.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/16213
+ * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
+ Diagnose properly illegal subprogram renamings that are library units.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15588
+ * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
+ conversion rewritten as an unchecked conversion, check that original
+ expression is a variable.
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
+ unchecked_conversion, create new node rather than rewriting in place,
+ to preserve original construct.
+
+2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gigi.h (gnat_expand_body): Deleted.
+
+ * Make-lang.in: (trans.o): Depends on function.h.
+
+ * misc.c: (gnat_expand_body): Moved to here.
+
+ * trans.c (gnat_expand_body_1): Deleted.
+ (gnat_expand_body): Moved from here.
+ (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
+ (add_stmt): Check for marked visited with global_bindings_p.
+ (gnat_gimplify_expr, case COMPONENT_REF): New case.
+ (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
+
+ * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
+ VIEW_CONVERT_EXPR if not operation type.
+
+ * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
+ fat pointer.
+
+ * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
+ changes: reformatting of negation operators, removing unneeded
+ inequality comparison with zero, converting equality comparisons with
+ zero to negations, changing int/0/1 to bool/false/true, replace calls
+ to gigi_abort with abort, and various other similar changes.
+
+2004-07-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add processing for new built-in command
+ "setup".
+
+ * make.adb (Gnatmake): Fail when a library is not present and there is
+ no object directory.
+
+ * mlib-prj.adb (Check_Library): No need to check if the library needs
+ to be rebuilt if there is no object directory, hence no object files
+ to build the library.
+
+ * opt.ads (Setup_Projects): New Boolean flag.
+
+ * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
+ Location.
+ Create directory when Kind /= "" and in "gnat setup". Report error if
+ directory cannot be created.
+ (Ada_Check): Create library interface copy dir if it does not exist
+ and we are in "gnat setup".
+ (Find_Sources): No error if in "gnat setup" and no Ada sources were
+ found.
+ (Language_Independent_Check): Create object directory, exec directory
+ and/or library directory if they do not exist and we are in
+ "gnat setup".
+
+ * vms_conv.ads: (Command_Type): New command Setup.
+
+ * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
+
+ * vms_data.ads: Add qualifiers/switches for new built-in command
+ "setup".
+
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
+ DECL_IGNORED_P on RESULT_DECL.
+
+2004-07-20 Olivier Hainque <hainque@act-europe.fr>
+
+ * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
+ allocation and potentially overflowing update with
+ Tailored_Exception_Information. Use the sec-stack free procedural
+ interface to output Exception_Information instead.
+
+ * a-except.adb (To_Stderr): New subprogram for character, and string
+ version moved from a-exextr to be visible from other separate units.
+ (Tailored_Exception_Information): Remove the procedural version,
+ previously used by the default Last_Chance_Handler and not any more.
+ Adjust various comments.
+
+ * a-exexda.adb: Generalize the exception information procedural
+ interface, to minimize the use of secondary stack and the need for
+ local buffers when the info is to be output to stderr:
+ (Address_Image): Removed.
+ (Append_Info_Character): New subprogram, checking for overflows and
+ outputing to stderr if buffer to fill is of length 0.
+ (Append_Info_String): Output to stderr if buffer to fill is of length 0.
+ (Append_Info_Address, Append_Info_Exception_Name,
+ Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
+ Append_Info_Basic_Exception_Traceback,
+ Append_Info_Exception_Information): New subprograms.
+ (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
+ (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
+ Exception_Info_Maxlength, Exception_Name_Length,
+ Exception_Message_Length): New subprograms.
+ (Exception_Information): Use Append_Info_Exception_Information.
+ (Tailored_Exception_Information): Use
+ Append_Info_Basic_Exception_Information.
+ Export services for the default Last_Chance_Handler.
+
+ * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
+ other separate units.
+
+2004-07-20 Vincent Celier <celier@gnat.com>
+
+ * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
+ emit itype references for the designated types of component types that
+ are declared outside of the full record declaration, and that may
+ denote a partial view of that record type.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15607
+ * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
+ which is the designated type in an access component declaration, to the
+ list of incomplete dependents of the parent type, to avoid elaboration
+ issues with out-of-scope subtypes.
+ (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
+ full view of the parent.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15610
+ * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
+ entities that are hidden, such as references to generic actuals
+ outside an instance.
+
+2004-07-20 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
+ support to the new notation.
+ (Analyze_Selected_Component): Add call to Try_Object_Operation.
+
+2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-taprob.adb: Adding the elaboration code required for initializing
+ the tasking soft links that are common to the full and the restricted
+ run times.
+
+ * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
+ restricted run time has been moved to the package
+ System.Soft_Links.Tasking.
+
+ * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
+ restricted run time has been moved to the package
+ System.Soft_Links.Tasking.
+
+ * Makefile.rtl: Add entry for s-solita.o in run-time library list.
+
+ * s-solita.ads, s-solita.adb: New files.
+
+2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
+ Case_Statement_to_gnu): Split off from gnat_to_gnu.
+ (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
+ Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
+ Exception_Handler_to_gnu_zcx): Likewise.
+
+2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gigi.h (builtin_function): Declare.
+
+2004-07-15 Robert Dewar <dewar@gnat.com>
+
+ * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
+ reformatting
+
+ * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
+ access values as an example of a warning.
+
+ * gnat_rm.texi: Document new attribute Has_Access_Values
+
+ * gnat-style.texi: Document that box comments belong on nested
+ subprograms
+
+ * sem_util.ads (Has_Access_Values): Improved documentation
+
+ * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
+
+ * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
+ (Process_Interface_Name): Call to this new procedure
+ (Set_Extended_Import_Export_External_Name): Call to this new procedure
+
+ * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
+
+ * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
+
+ * einfo.ads: Minor comment typo fixed
+
+2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
+
+ * snames.adb: Add _atcb.
+
+ * snames.ads: Add Name_uATCB.
+
+ * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
+ (in the expanded code) when using the restricted run time.
+
+ * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
+ a in parameter in order to allow ATCBs to be preallocated (in the
+ expanded code).
+
+ * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
+ order to allow ATCBs to be preallocated. In case of error, the ATCB is
+ deallocated in System.Tasking.Stages.
+
+ * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
+ order to allow ATCBs to be preallocated.
+
+ * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
+ here. It was previously done in Initialize_ATCB.
+
+ * rtsfind.ads: Make the Ada_Task_Control_Block visible.
+
+ * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
+ Restricted run time.
+
+ * exp_ch3.adb: When using the Restricted run time, pass the
+ preallocated Ada_Task_Control_Block when creating a task.
+
+2004-07-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Normalize_Actuals): If there are no actuals on a
+ function call that is itself an actual in an enclosing call, diagnose
+ problem here rather than assuming that resolution will catch it.
+
+ * sem_ch7.adb (Analyze_Package_Specification): If the specification is
+ the local copy of a generic unit for a formal package, and the generic
+ is a child unit, install private part of ancestors before compiling
+ private part of spec.
+
+ * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
+ use scope entities rather than tree structures, to handle properly
+ parent units that are instances rewritten as bodies for inlining
+ purposes.
+
+ * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
+ Remove_Parents): Handle properly a parent unit that is an
+ instantiation, when the unit has been rewritten as a body for inlining
+ purposes.
+
+ * par.adb (Goto_List): Global variable to collect goto statements in a
+ given unit, for use in detecting natural loops.
+
+ * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
+ use in detecting natural loops.
+
+ * par-labl.adb (Find_Natural_Loops): Recognize loops create by
+ backwards goto's, and rewrite as a infinite loop, to improve locality
+ of temporaries.
+
+ * exp_util.adb (Force_Evaluation): Recognize a left-hand side
+ subcomponent that includes an indexed reference, to prevent the
+ generation of copies that would miscompile the desired assignment
+ statement.
+ (Build_Task_Image_Decls): Add a numeric suffix to
+ generated name for string variable, to avoid spurious conflicts with
+ the name of the type of a single protected object.
+
+ * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
+ loop with an explicit exit statement, to avoid generating an
+ out-of-range value with 'Succ leading to spurious constraint_errors
+ when compiling with -gnatVo.
+
+2004-07-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
+ might not be analyzed yet, even if its Etype is already set (case of an
+ unchecked conversion built using Unchecked_Convert_To, for example).
+ If the prefix has already been analyzed, this will be a nop anyway.
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
+ controller type, or an assignment of a record type with controlled
+ components, copy only user data, and leave the finalization chain
+ pointers untouched.
+
+2004-07-15 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Collect_Arguments): Improve error message when attempting
+ to compile a source not part of any project, when -x is not used.
+
+ * prj.ads: (Defined_Variable_Kind): New subtype
+
+ * prj-attr.adb (Register_New_Package): Two new procedures to register
+ a package with or without its attributes.
+ (Register_New_Attribute): Mew procedure to register a new attribute in a
+ package.
+ New attribute oriented subprograms: Attribute_Node_Id_Of,
+ Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+ Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+ Next_Attribute.
+ New package oriented subprograms: Package_Node_Id_Of,
+ Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+ * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
+ type.
+ (Package_Node_Id): Now a private, self initialized type
+ (Register_New_Package): New procedure to register a package with its
+ attributes.
+ New attribute oriented subprograms: Attribute_Node_Id_Of,
+ Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+ Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+ Next_Attribute.
+ New package oriented subprograms: Package_Node_Id_Of,
+ Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+ * prj-dect.adb (Parse_Attribute_Declaration,
+ Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
+
+ * prj-makr.adb (Make): Parse existing project file before creating
+ other files. Fail if there was an error during parsing.
+
+ * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
+ new spec of Prj.Attr.
+
+ * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
+ to new spec of Prj.Attr.
+
+2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils2.c: Fix typo in comment.
+
+2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
+ * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
+
+2004-07-14 Andreas Schwab <schwab@suse.de>
+
+ * trans.c (gnat_init_stmt_group): Remove duplicate definition.
+
+2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
+ object type.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
+ TYPE_STUB_DECL.
+
+ * misc.c (gnat_types_compatible_p): New function.
+ (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
+ (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
+
+ * trans.c (gigi): Move processing of main N_Compilation_Unit here.
+ (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
+ (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
+ (mark_visited): Don't mark dummy type.
+ (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
+ parameter, we must remove any LJM building from GNU_NAME.
+ (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
+ (pos_to_constructor): Use int_const_binop.
+ (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
+ PARM_DECL.
+
+ * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
+ (gnat_pushlevel): Set TREE_USE on BLOCK node.
+ (gnat_install_builtins): Add __builtin_memset.
+
+2004-07-13 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
+ for a renaming, stabilize the initialization expression if we are at a
+ local level. At the local level, uses of the renaming may be performed
+ by a direct dereference of the initializing expression, and we don't
+ want possible variables there to be evaluated for every use.
+
+ * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
+ Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
+ them on the way. Account for the fact that we may introduce side
+ effects in the process.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * misc.c (default_pass_by_ref): Use pass_by_reference.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+ LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+
+2004-07-08 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
+ commentary.
+
+2004-07-06 Vincent Celier <celier@gnat.com>
+
+ * vms_conv.ads: Minor reformatting.
+ Alphabetical order for enumerated values of type Command_Type, to have
+ the command in alphabetical order for the usage.
+
+ * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
+ the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
+
+ * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
+
+ * makegpr.adb (Global_Archive_Exists): New global Boolean variable
+ (Add_Archive_Path): Only add the global archive if there is one.
+ (Build_Global_Archive): Set Global_Archive_Exists depending if there is
+ or not any object file to put in the global archive, and don't build
+ a global archive if there is none.
+ (X_Switches): New table
+ (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
+ in the X_Switches table, if any.
+ (Initialize): Make sure the X_Switches table is empty
+ (Scan_Arg): Record -X switches in table X_Switches
+
+ * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
+
+ * make.adb: Minor comment fix
+
+ * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+ * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+ * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
+ when Keep_Temporary_Files is False.
+ (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
+ directory information, add the directory in front of the path.
+ When not on VMS, handle new switch -dn before the command to set
+ Keep_Temporary_Files to True.
+ (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
+ everywhere.
+
+ * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+2004-07-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * snames.ads, snames.adb (Name_Stub): New name for the distributed
+ systems annex.
+
+ * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
+ New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
+
+ * g-socket.adb (To_Timeval): Fix incorrect conversion of
+ Selector_Duration to Timeval for the case of 0.0.
+
+ * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
+ documentation from Evolve_And_Then.
+
+2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-taprop-tru64.adb, s-taprop-os2.adb,
+ s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
+
+2004-07-06 Robert Dewar <dewar@gnat.com>
+
+ * s-osinte-hpux.ads, s-osinte-freebsd.ads,
+ s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
+ s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
+ s-interr-sigaction.adb, s-taprop-irix-athread.adb,
+ s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+ s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
+ s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
+ a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
+ a-tags.ads, bindgen.ads, checks.adb, checks.adb,
+ csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
+ exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
+ g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
+ i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
+ sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
+ s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
+ s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
+ s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
+ vms_data.ads: Minor reformatting,
+ Fix bad box comment format.
+
+ * gnat_rm.texi: Fix minor grammatical error
+
+ * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
+
+ * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
+ more cases of discriminated records to be recognized as not needing a
+ secondary stack.
+ (Has_Access_Values): New function.
+
+ * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
+
+ * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
+ Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
+ with LRM terminology).
+ Change terminology in comments primitive type => elementary type.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15602
+ * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
+ parameters do not impose any requirements on the presence of a body.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15593
+ * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
+ compilation unit and is in an open scope at the point of instantiation,
+ assume that a body may be present later.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
+ Improve error message when specified size is not supported.
+
+ * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
+ is never a primitive operation.
+
+2004-07-05 Andreas Schwab <schwab@suse.de>
+
+ * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
+ RECORD_OR_UNION_CHECK.
+ (TYPE_CONTAINS_TEMPLATE_P): Likewise.
+
+2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
+ dependency on xgnatugn, instead build it via a submake.
+ (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
+
+2004-07-04 Richard Henderson <rth@redhat.com>
+
+ * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
+
+2004-07-01 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
+ * utils.c (max_size): Likewise.
+
+2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
+ and rest_of_type_compilation; add arg to create_*_decl.
+ (annotate_decl_with_node): Deleted.
+ (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
+ * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
+ (get_current_block_context, gnat_pushdecl): New declarations.
+ (gnat_init_stmt_group): Likewise.
+ (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
+ * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
+ (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
+ (gnat_init): Call gnat_init_stmt_group.
+ * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
+ (gnu_pending_elaboration_list): Deleted.
+ (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
+ (gigi): Rearrange initialization calls and move some to last above.
+ (gnat_to_gnu): If statement and not in procedure, go into elab proc.
+ Delete calls to add_decl_expr; add arg to create_*_decl.
+ (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
+ (gnat_to_gnu, case N_Subprogram_Body): Move some code to
+ begin_subprog_body and call it.
+ Don't push and pop ggc context.
+ (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
+ (add_stmt): Remove handling of DECL_EXPR from here.
+ If not in function, mark visited.
+ (add_decl_expr): Put global at top level.
+ Check for cases of DECL_INITIAL we have to handle here.
+ (process_type): Add extra arg to create_type_decl.
+ (build_unit_elab): Rework to just gimplify.
+ * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
+ (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
+ (get_pending_elaborations, pending_elaborations_p): Likewise.
+ (push_pending_elaborations, pop_pending_elaborations): Likewise.
+ (get_elaboration_location, insert_elaboration_list): Likewise.
+ (gnat_binding_level): Renamed from ada_binding_level.
+ (init_gnat_to_gnu): Don't clear pending_elaborations.
+ (global_bindings_p): Treat as global if no current_binding_level.
+ (set_current_block_context): New function.
+ (gnat_pushdecl): Renamed from pushdecl; major rework.
+ All callers changed.
+ (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
+ (finish_record_type): Call call pushdecl for stub decl.
+ (function_nesting_depth): Deleted.
+ (begin_subprog_body): Delete obsolete code.
+ * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
+
+2004-06-28 Robert Dewar <dewar@gnat.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
+
+ * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
+ deal with problem of inefficient slices on machines with strict
+ alignment, when the slice is a component of a composite.
+
+ * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
+ machines, we need the check there as well.
+
+2004-06-28 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
+ determine safe copying direction for overlapping slice assignments
+ when component is controlled.
+
+ * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
+ formal derived type in the actual for a formal package are visible in
+ the enclosing instance.
+
+2004-06-28 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15600
+ * sem_util.adb (Trace_Components): Diagnose properly an illegal
+ circularity involving a private type whose completion includes a
+ self-referential component.
+ (Enter_Name): Use Is_Inherited_Operation to distinguish a source
+ renaming or an instantiation from an implicit derived operation.
+
+2004-06-28 Pascal Obry <obry@gnat.com>
+
+ * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
+ DLL.
+ (Library_File_Name_For): Idem.
+
+2004-06-28 Matthew Gingell <gingell@gnat.com>
+
+ * g-traceb.ads: Add explanatory note on the format of addresses
+ expected by addr2line.
+
+2004-06-28 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Force debugging information on s-tasdeb.adb,
+ a-except.adb and s-assert.adb needed by the debugger.
+
+2004-06-28 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
+ Need_To_Build_Lib.
+ (Gnatmake): Ditto.
+
+ * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
+
+ * prj.adb: Minor reformatting
+ (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
+
+ * prj.ads: Comment updates
+ Minor reformatting
+ (Project_Data): Change Flag1 to Need_To_Build_Lib.
+ Remove Flag2: not used.
+
+ * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
+ declaration.
+
+ * gnat_ugn.texi: Put a "null;" declaration in one project file example
+
+ * gnat_rm.texi: Document Empty declarations "null;".
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
+ front of the linker options.
+ (Link_Foreign): Put the global archives and the libraries in front of
+ the linker options.
+
+2004-06-28 Javier Miranda <miranda@gnat.com>
+
+ * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
+ (RTU_Loaded): Code cleanup
+ (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
+ withed predefined units.
+
+ * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
+ explicitly withed predefined units.
+ Fix typo in comment
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
+ explicitly withed predefined units.
+
+2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (DECL_STMT): Deleted.
+ * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
+ (DECL_STMT_VAR): Deleted.
+ * decl.c: add_decl_stmt now add_decl_expr.
+ * gigi.h: Likewise.
+ * trans.c: Likewise.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+ (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
+ (add_stmt): Only handle padded type here.
+ (add_stmt_with_node): Allow gnat_node to not be present.
+ (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
+ (gnat_gimplify_stmt, case DECL_STMT): Deleted.
+ (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
+ make a SAVE_EXPR for the entire fat pointer.
+ * utils.c (pushdecl): Walk a DECL_EXPR in global case.
+ (create_index_type): Make a DECL_EXPR.
+ (end_subprog_body): Don't call allocate_struct_function here but
+ do clear cfun.
+
+2004-06-25 Pascal Obry <obry@gnat.com>
+
+ * makegpr.adb (Build_Library): Remove parameter Lib_Address and
+ Relocatable from Build_Dynamic_Library call.
+
+ * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
+ Relocatable are now synonym.
+
+ * Makefile.in: Use s-parame-mingw.adb on MingW platform.
+
+ * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
+ Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
+ call.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
+ Lib_Address and Relocatable.
+ (Default_DLL_Address): Removed.
+
+ * 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-vxworks.adb:
+ (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
+ (Default_DLL_Address): Removed.
+
+ * mlib-tgt-mingw.adb: Ditto.
+ (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
+
+ * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
+ the initial thread stack size.
+
+ * a-strmap.ads: Move package L to private part as it is not used in
+ the spec. Found while reading code.
+
+2004-06-25 Olivier Hainque <hainque@act-europe.fr>
+
+ * tracebak.c: Introduce support for a GCC infrastructure based
+ implementation of __gnat_backtrace.
+
+ * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
+ any more. Use accessors instead. This eases maintenance and relaxes
+ some alignment constraints.
+ (_GNAT_Exception structure): Remove the Ada specific fields
+ (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
+ a-exexpr.adb.
+ (is_handled_by, __gnat_eh_personality): Replace component references to
+ exception structure by use of the new accessors.
+
+ * init.c (__gnat_initialize): Adjust comments to match the just
+ reverted meaning of the -static link-time option.
+
+ * adaint.c (convert_addresses): Arrange not to define a stub for
+ mips-irix any more, as we now want to rely on a real version from a
+ recent libaddr2line.
+
+ * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
+ the personality routine can use them and not have to rely on a C
+ counterpart of the record anymore. This simplifies maintenance and
+ relaxes the constraint of having Standard'Maximum_Alignment match
+ BIGGEST_ALIGNMENT.
+ Update comments, and add a section on the common header alignment issue.
+
+2004-06-25 Geert Bosch <bosch@gnat.com>
+
+ * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
+ polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
+
+2004-06-25 Robert Dewar <dewar@gnat.com>
+
+ * gnat_rm.texi: Fix section on component clauses to indicate that the
+ restriction on byte boundary placement still applies for bit packed
+ arrays.
+ Add comment on stack usage from Initialize_Scalars
+
+ * gnat_ugn.texi: Add documentation for -gnatyLnnn
+
+ * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
+ limiting nesting level.
+
+ * usage.adb: Add line for -gnatyLnnn switch
+
+ * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
+ sem_ch13.adb, exp_aggr.adb: Minor reformatting
+
+ * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
+ type as well as on the subtype. This corrects a problem in freeze in
+ setting alignments of atomic types.
+
+ * sem_eval.ads: Minor comment typo fixed
+
+ * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
+ level. Minor reformatting.
+
+ * fname.adb (Is_Predefined_File_Name): Require a letter after the
+ minus sign. This means that file names like a--b.adb will not be
+ considered predefined.
+
+ * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
+ record Test new flag and give diagnostic for bad component clause.
+ (Freeze_Entity): Set alignment of array from component alignment in
+ cases where this is safe to do.
+
+ * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
+ arrays.
+
+ * cstand.adb: (Create_Standard): Set alignment of String to 1
+
+ * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
+
+ * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
+ code in the common constrained array cases.
+
+ * a-storio.adb: Change implementation to avoid possible alignment
+ problems on machines requiring strict alignment (data should be moved
+ as type Buffer, not type Elmt).
+
+ * checks.adb (Apply_Array_Size_Check): Improve these checks by
+ killing the overflow checks which we really do not need (64-bits is
+ enough).
+
+2004-06-25 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
+ (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
+ inconditionally for the main project.
+ (Recursive_Add_Archives.Add_Archive_Path): New procedure
+ (Link_Executables.Check_Time_Stamps): New procedure
+ (Link_Executables.Link_Foreign): New procedure
+ Changes made to reduce nesting level of this package
+ (Check): New procedure
+ (Add_Switches): When not in quiet output, check that a switch is not
+ the concatenation of several valid switches. If it is, issue a warning.
+ (Build_Global_Archive): If the global archive is rebuilt, linking need
+ to be done.
+ (Compile_Sources): Rebuilding a library archive does not imply
+ rebuilding the global archive.
+ (Build_Global_Archive): New procedure
+ (Build_Library): New name for Build_Archive, now only for library
+ project
+ (Check_Archive_Builder): New procedure
+ (Create_Global_Archive_Dependency_File): New procedure
+ (Gprmake): Call Build_Global_Archive before linking
+ * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
+ throughout.
+ (Scan_Arg): Display the Copyright notice when -v is used
+
+ * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
+ for gnatls.
+
+ * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
+ COMPILE.
+ Add new GNAT LIST qualifier /FILES=
+ Added qualifier /DIRECTORY= to GNAT METRIC
+ Added qualifier /FILES= to GNAT METRIC
+ Added qualifier /FILES to GNAT PRETTY
+
+ * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
+ to take into account both versions of the switch.
+
+ * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
+ always be the last switch to the gcc driver. Disable switch storing so
+ that switches automatically added by the gcc driver are not put in the
+ ALI file.
+
+ * prj.adb (Project_Empty): Take into account changes in components of
+ Project_Data.
+
+ * prj.ads (Languages_Processed): New enumaration value All_Languages.
+
+ * prj.ads (Project_Data): Remove component Lib_Elaboration: never
+ used. Split Boolean component Ada_Sources_Present in two Boolean
+ components Ada_Sources_Present and Other_Sources_Present.
+ Minor reformatting
+
+ * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
+ instead of Sources_Present.
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+ * prj-nmsc.adb: Minor reformatting
+ (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
+ (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
+ Check_Ada_Naming_Scheme.
+ Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
+ throughout.
+
+ * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
+ In_Limited.
+ Make sure that all cycles where there is at least one "limited with"
+ are detected.
+ (Parse_Single_Project): New Boolean parameter In_Limited
+
+ * prj-proc.adb (Recursive_Check): When Process_Languages is
+ All_Languages, call first Prj.Nmsc.Ada_Check, then
+ Prj.Nmsc.Other_Languages_Check.
+
+ * prj-proc.adb (Process): Use Ada_Sources_Present or
+ Other_Sources_Present (instead of Sources_Present) depending on
+ Process_Languages.
+
+ * lang-specs.h: Keep -g and -m switches in the same order, and as the
+ last switches.
+
+ * lib.adb (Switch_Storing_Enabled): New global Boolean flag
+ (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
+ False.
+ (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
+ False.
+
+ * lib.ads (Disable_Switch_Storing): New procedure.
+
+ * make.adb: Modifications to reduce nesting level of this package.
+ (Check_Standard_Library): New procedure
+ (Gnatmake.Check_Mains): New procedure
+ (Gnatmake.Create_Binder_Mapping_File): New procedure
+ (Compile_Sources.Compile): Add switch -gnatez as the last option
+ (Display): Never display -gnatez
+
+ * Makefile.generic:
+ When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
+
+ * gnatcmd.adb (Check_Project): New function
+ (Process_Link): New procedure to reduce nesting depth
+ (Check_Files): New procedure to reduce the nesting depth.
+ For GNAT METRIC, include the inherited sources in extending projects.
+ (GNATCmd): When GNAT LS is invoked with a project file and no files,
+ add the list of files from the sources of the project file. If this list
+ is too long, put it in a temp text files and use switch -files=
+ (Delete_Temp_Config_Files): Delete the temp text file that contains
+ a list of source for gnatpp or gnatmetric, if one has been created.
+ (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
+ in the project file is too large, create a temporary text file that
+ list them and pass it to the tool with "-files=<temp text file>".
+ (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
+
+ * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
+ generated file is in not in Ada.
+
+ * gnatls.adb: Remove all parameters And_Save that are no longer used.
+ (Scan_Ls_Arg): Add processing for -files=
+ (Usage): Add line for -files=
+
+ * g-os_lib.adb (On_Windows): New global constant Boolean flag
+ (Normalize_Pathname): When on Windows and the path starts with a
+ directory separator, make sure that the resulting path will start with
+ a drive letter.
+
+ * clean.adb (Clean_Archive): New procedure
+ (Clean_Project): When there is non-Ada code, delete the global archive,
+ the archive dependency files, the object files and their dependency
+ files, if they exist.
+ (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
+
+2004-06-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sinfo.ads: Fix typo in comment.
+
+ * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
+ the TSS for remote access-to-subprogram types, since these TSS are
+ always present once the type has been analyzed.
+ (RAS_E_Dereference): Same.
+
+ * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
+ reference raises Bad_Attribute, mark the reference as analyzed so the
+ node (and any children resulting from rewrites that could have occurred
+ during the analysis that ultimately failed) is not analyzed again.
+
+ * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
+
+ * exp_dist.adb: Minor comment fix.
+
+ * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
+ type is an anonymous access type, no unchecked deallocation of the
+ allocated object can occur. If the object is controlled, attach it with
+ a count of 1. This allows attachment to the Global_Final_List, if
+ no other relevant list is available.
+ (Get_Allocator_Final_List): For an anonymous access type that is
+ the type of a discriminant or record component, the corresponding
+ finalisation list is the one of the scope of the type.
+
+2004-06-25 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Replace_Type): When computing the signature of an
+ inherited subprogram, use the first subtype if the derived type
+ declaration has no constraint.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
+ before applying previous optimization. Minor code cleanup.
+
+ * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
+ placed at the beginning of an unpacked record without explicit
+ alignment, a slice of it will be aligned and does not need a copy when
+ used as an actual.
+
+2004-06-25 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15591
+ PR ada/15592
+ * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
+ reference is written with expressions mimicking parameters.
+
+2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
+
+ PR ada/15589
+ * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
+ STEP 2a. The constraints of a full type declaration of a derived record
+ type are checked for conformance with those declared in the
+ corresponding private extension declaration. The message
+ "not conformant with previous declaration" is emitted if an error is
+ detected.
+
+2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * g-traceb.ads: Document the need for -E binder switch in the spec.
+
+ * g-trasym.ads: Document the need for -E binder switch in the spec.
+
+2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * sem_prag.adb: Add handling of pragma Detect_Blocking.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ Detect_Blocking.
+
+ * s-rident.ads: Change reference to pragma Detect_Blocking.
+
+ * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
+ system.ads.
+
+ * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
+ to indicate whether pragma Detect_Blocking is active.
+
+ * par-prag.adb: Add entry for pragma Detect_Blocking.
+
+ * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
+ of not handling WITH.
+ Note that this replaces the previous update which was incorrect.
+
+2004-06-25 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
+ use-clauses to have a clean environment.
+
+ * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
+ the installation of the use-clauses to stablish a clean environment in
+ case of compilation of a separate unit; otherwise the call to
+ use_one_package is protected by the barrier Applicable_Use.
+
+ * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
+ the installation of the use-clauses to stablish a clean environment in
+ case of compilation of a separate unit.
+ (End_Use_Clauses): Minor comment cleanup.
+
+2004-06-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Add description of the gnatpp 'files' switch
+
+2004-06-23 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
+
+2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (elaborate_expression, elaborate_expression_1): Arguments
+ now bool instead of int.
+ (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
+ * trans.c (gnu_switch_label_stack): New function.
+ (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
+ elaboration of renamed entity returns.
+ (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
+ (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
+ (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
+ (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
+ DECL_SIZE_UNIT and simplify variable-sized case.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+ Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
+ (gnat_stabilize_reference): Add arg to COMPONENT_REF.
+ (build_unit_elab): Disable for now.
+ * utils.c (mark_visited): New function.
+ (pushdecl): Walk tree to call it for global decl.
+ (update_pointer_to): Update all variants of pointer and ref types.
+ Add arg to COMPONENT_REF.
+ (convert): Likewise.
+ Move check for converting between variants lower down.
+ * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
+ (build_allocator): Don't force type of MODIFY_EXPR.
+ (gnat_mark_addressable, case VAR_DECL): Unconditionally call
+ put_var_into_stack.
+
+2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
+ * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
+ * decl.c (gnat_to_gnu_entity): Also set force_global for imported
+ subprograms.
+ * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
+ all callers changed.
+ (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
+ the way that EXIT_STMT finds the loop label.
+ (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
+ (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
+ (add_stmt): Use annotate_with_locus insted of setting directly.
+ (pos_to_construct): Set TREE_PURPOSE of each entry to index.
+ (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
+ * utils.c (gnat_install_builtins): Install __builtin_memcmp.
+ (build_vms_descriptor): Add extra args to ARRAY_REF.
+ (convert): Use VIEW_CONVERT_EXPR between aggregate types.
+ * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
+ New cases.
+ (build_binary_op): Don't make explicit CONVERT_EXPR.
+ Add extra rgs to ARRAY_REF.
+
+2004-06-14 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
+ Windows. Fix minor typo.
+
+ * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
+ which is now supported on Windows. With this implementation using the
+ Library Project feature is no different on Windows than on UNIX.
+
+2004-06-14 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Compile_Sources): Nothing to do when there are no
+ non-Ada sources.
+
+ * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
+
+ * prj-part.adb (Parse_Single_Project): When a duplicate project name is
+ found, show the project name and the path of the previously parsed
+ project file.
+
+2004-06-14 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
+ array, avoid copying the actual before the call.
+
+2004-06-14 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
+ Instead, allocate memory on worst-case alignment assumptions, and then
+ return an aligned address within the allocated zone.
+
+2004-06-14 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
+ elab entities in predefined units in No_Run_Time_Mode.
+ (Gen_Adainit_C): Same fix
+ (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
+ units in No_Run_Time_Mode
+ (Gen_Elab_Calls_C): Same fix
+
+ * symbols-vms-alpha.adb: Minor reformatting
+
+ * g-debpoo.ads: Minor reformatting
+
+ * lib.adb (In_Same_Extended_Unit): Version working on node id's
+
+ * lib.ads (In_Same_Extended_Unit): Version working on node id's
+
+ * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
+ working on nodes.
+
+ * make.adb: Minor reformatting
+
+ * par-ch12.adb: Minor reformatting
+
+ * par-prag.adb: Add dummy entry for pragma Profile_Warnings
+
+ * prj-strt.adb: Minor reformatting
+
+ * restrict.ads, restrict.adb: Redo handling of profile restrictions to
+ be more general.
+
+ * sem_attr.adb: Minor reformatting
+
+ * sem_ch7.adb: Minor reformatting
+
+ * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
+ for type in the same unit as the object declaration.
+
+ * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
+ static string expressions and not just string literals.
+ Minor reformatting
+ (Set_Warning): Reset restriction warning flag for restriction pragma
+ Implement pragma Profile_Warnings
+ Implement pragma Profile (Restricted)
+ Give obolescent messages for old restrictions and pragmas
+
+ * snames.h, snames.ads, snames.adb: Add new entry for pragma
+ Profile_Warnings.
+
+ * s-rident.ads: Add declarations for restrictions required by profile
+ Restricted and profile Ravenscar.
+
+ * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
+
+ * gnat_ugn.texi: Correct some missing entries in the list of GNAT
+ configuration pragmas.
+
+2004-06-11 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
+ gnatsym, when symbol policy is Restricted.
+
+ * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
+ gnatsym, when symbol policy is Restricted.
+
+ * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
+ read the symbol file.
+ (Finalize): Fail in symbol policy Restricted if a symbol in the original
+ symbol file is not in the object files. Do not create a new symbol file
+ when symbol policy is Restricted.
+
+ * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
+ in Scng.
+
+ * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
+ Restricted.
+ (Usage): Line for new switch -R
+
+ * make.adb (Initialize): When the platform is not VMS, add the
+ directory where gnatmake is invoked in the front of the path, if
+ gnatmake is invoked with directory information. Change the Scan_Args
+ while loop to a for loop.
+ (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
+ if Depth is equal or greater than the proposed depth, there is nothing
+ to do.
+ (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
+ instead of 0.
+
+ * prj.ads: Add new symbol policy Restricted.
+
+ * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
+ with the new parameters Check_All_Labels and Case_Location.
+
+ * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
+ (Library_Symbol_File needs to be defined).
+
+ * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
+ and Case_Location If Check_All_Labels is True, check that all values of
+ the string type are used, and output warning(s) if they are not.
+
+ * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
+ and Case_Location.
+
+ * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
+
+ * gnat_ugn.texi: Update documentation about the library directory in
+ Library Projects.
+
+ * makegpr.adb (Display_Command): In verbose mode, also display the
+ value of the CPATH env var, when the compiler is gcc.
+ (Initialize): Change the Scan_Args while loop to a for loop
+ (Compile_Individual_Sources): Change directory to object directory
+ before compilations.
+
+ * symbols.ads: New symbol policy Restricted.
+
+2004-06-11 Olivier Hainque <hainque@act-europe.fr>
+
+ * a-except.adb (Raise_After_Setup family): Remove. The responsibility
+ is now taken care of internally in the Exception_Propagation package
+ and does not require clients assistance any more.
+
+ * a-exexpr.adb (Is_Setup_And_Not_Propagated,
+ Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
+ functions. Helpers to maintain a predicate required in the handling of
+ occurrence transfer between tasks.
+ This is now handled internally and does not require clients assistance
+ for the setup/propagate separation anymore.
+ (Setup_Exception, Propagate_Exception): Simplify the Private_Data
+ allocation strategy, handle the Setup_And_Not_Propagated predicate and
+ document.
+
+ * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
+ raise_after_setup, now that everything is handled internally within the
+ setup/propagation engine.
+
+2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
+ Add additional conditions for the case of an actual being a simple
+ name or literal. Improve inlining by preventing the generation
+ of temporaries with a short lifetime (one use).
+
+2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
+
+ PR ada/15587
+ * einfo.ads: Minor comment updates for Has_Completion and
+ E_Constant list of flags.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
+ and constant redeclarations now set the Has_Completion flag of their
+ defining identifiers.
+
+ * sem_ch7.adb (Analyze_Package_Spec): Add procedure
+ Inspect_Deferred_Constant_Completion.
+ Used to detect private deferred constants that have not been completed
+ either by a constant redeclaration or pragma Import. Emits error message
+ "constant declaration requires initialization expression".
+
+ * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
+ completes a deferred constant.
+
+2004-06-11 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
+
+ * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
+ calculating exponent for scaling denormal numbers.
+ (Leading_Part): Properly raise Constraint_Error for zero or negative
+ Adjustment.
+ (Remainder): Properly raise Constraint_Error for zero divisor.
+
+2004-06-11 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb: Minor reformatting.
+
+ * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
+ dereference when accessing the entry parameter record.
+ (Check_Array_Type): Always check for possible implicit dereference.
+ (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+ Abort if a pointer is still present (denoting that an implicit
+ dereference was left in the tree by the front-end).
+
+ * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
+ dereference when accessing the entry parameter record.
+ (Check_Array_Type): Always check for possible implicit dereference.
+ (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+ Abort if a pointer is still present (denoting that an implicit
+ dereference was left in the tree by the front-end).
+
+2004-06-11 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
+ message, like the compiler itself does. Easier to parse the output.
+
+ * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
+
+ * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
+ be base names, and not includes directories.
+
+2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
+ so that dependencies are properly taken into account by make.
+
+2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/15622
+ * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
+ exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
+
+2004-06-11 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (install-gnatlib): install target-specific run-time files.
+
+ * Make-lang.in: Remove obsolete targets.
+
+2004-06-11 Ed Schonberg <schonberg@gnat.com>
+
+ * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
+ specification, to catch misuses of program unit names.
+
+ * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
+ superfluous conversions in an instance.
+
+2004-06-11 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15403
+ * sem_ch12.adb (Save_References): If operator node has been folded to
+ enumeration literal, associated_node must be discarded.
+
+2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-stchop-vxworks.adb: Add required pragma Convention to
+ Task_Descriptor because it is updated by a C function.
+
+2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/15568
+ * Makefile.in: Remove target specific SO_OPT on IRIX
+
+2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
+ (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
+ (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
+ (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
+ (STMT_STMT, USE_STMT): New statement codes.
+ (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
+ * ada-tree.h: Reflect above changes.
+ (struct tree_loop_id): Deleted.
+ (union lang_tree_node, struct lang_decl, struct lang_type):
+ Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
+ and DECL_LANGUAGE_SPECIFIC to reflect these changes.
+ (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
+ (IS_ADA_STMT): New macro.
+ * decl.c (annotate_decl_with_node): New function.
+ (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
+ (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
+ Call add_stmt_with_node to do needed assignments.
+ Add call to update setjmp buffer directly, not via EXPR_STMT.
+ (maybe_variable): Argment GNAT_NODE deleted.
+ * gigi.h (maybe_variable): Likewise.
+ (make_transform, add_stmt_with_node, set_block_for_group): New.
+ (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
+ (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
+ (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
+ (set_lineno, set_lineno_from_sloc): Likewise.
+ (record_code_position, insert_code_for): Likewise.
+ (gnat_poplevel): Now returns void.
+ (end_subprog_body): Now takes argument.
+ * misc.c (cgraph.h, tree-inline.h): New includes.
+ (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
+ (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
+ (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
+ (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
+ (gnat_parse_file): Don't set immediate_size_expand.
+ Call cgraph functions.
+ (gnat_expand_expr): Remove most cases.
+ (record_code_position, insert_code_for): Remove from here.
+ * trans.c (toplev.h, tree-gimple.h): Now included.
+ (discard_file_names): Deleted.
+ (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
+ (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
+ (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
+ (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
+ (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
+ (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
+ (set_block_for_group, add_stmt_list): Likewise.
+ (start_stmt_group): Renamed from start_block_stmt.
+ (end_stmt_group): Likewise, from end_block_stmt.
+ (build_stmt_group): Likewise, from build_block_stmt, also add arg.
+ (gigi): Don't set discard_file_names or call set_lineno.
+ Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
+ (tree_transform): Deleted, now renamed to be gnat_to_gnu.
+ Numerous changes throughout to reflect new names and complete
+ function-at-a-time implementation.
+ (gnat_expand_stmt): Delete or comment out all cases.
+ (process_inlined_subprograms): Use add_stmt.
+ (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
+ call set_lineno; also remove unneeded block handling.
+ (process_type): Remove unneeded block handling.
+ (build_unit_elab): Remove calls to deleted functions.
+ * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
+ (tree-dump.h): Likewise.
+ (struct ada_binding_level): Add field jmpbuf_decl.
+ (gnat_define_builtin, gnat_install_builtins): New.
+ (gnat_gimplify_function, gnat_finalize): Likewise.
+ (gnat_poplevel): No longer return BLOCK, set it instead.
+ Remove code dealing with nested functions.
+ (gnat_init_decl_processing): Also set size_type_node.
+ Call gnat_install_builtins.
+ (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
+ (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
+ Remove special-case for "main".
+ (end_subprog_body): Add arg and rework for tree-ssa.
+ (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
+ Add case for BOOLEAN_TYPE.
+ * utils2.c (rtl.h): Now include.
+ (build_call_raise): Test Debug_Flag_NN directly.
+ (build_call_alloc_dealloc): Don't use local stack allocation for now.
+ (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
+ (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
+
+2004-06-07 Robert Dewar <dewar@gnat.com>
+
+ * a-direct.ads, einfo.ads: Minor comment updates
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+ s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
+
+ * s-interr-sigaction.adb: Remove unreferenced variable
+ (Attached_Interrupts). Minor reformatting.
+ Avoid use of variable I (replace by J).
+
+ * par-ch10.adb: Fix text of one error message
+
+ * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
+ exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
+ exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
+ opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
+ par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
+ par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
+ sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
+ snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
+ 2005 support.
+
+2004-06-07 Doug Rupp <rupp@gnat.com>
+
+ * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
+
+ * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
+
+ * mlib-tgt-vms-ia64.adb: New file.
+
+ * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
+ Add mlib-tgt-vms-ia64.adb
+ Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
+ Move to alpha specific ifeq section.
+ Add VMS specific versions of symbols.adb
+ Renaming of 5q vms files.
+
+ * 5qsystem.ads renamed to system-vms_64.ads.
+
+2004-06-07 Vincent Celier <celier@gnat.com>
+
+ * a-calend.ads: Add a GNAT Note comment after function Time_Of to
+ explain that when a time of day corresponding to the non existing hour
+ on the day switching to DST is specified, Split may return a different
+ value for Seconds.
+
+ * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
+ to GNAT PRETTY.
+
+ * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
+ (Normalize_Pathname): Only resolve VMS logical names when on VMS.
+
+ * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
+ to False.
+ If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
+ the linking options.
+ (Build_Library.Check_Libs): On VMS, if there is a dependency on
+ g-trasym.ads, set Gtrasymobj_Needed to True.
+
+ * prj-attr.adb: Add new package Metrics for gnatmetric
+
+ * prj-nmsc.adb (Record_Other_Sources): Put source file names in
+ canonical case to take into account files with upper case characters on
+ Windows.
+ (Ada_Check): Load the reference symbol file name in the name buffer to
+ check it, not the symbol file name.
+
+ * snames.ads, snames.adb: Add standard name Metrics (name of project
+ file package for gnatmetric).
+
+ * vms_conv.ads: Add Metric to Comment_Type
+
+ * vms_conv.adb (Initialize): Add component dor Metric in Command_List
+
+ * vms_data.ads: Add qualifiers for GNAT METRIC
+
+ * makegpr.adb (Link_Executables): Take into account the switches
+ specified in package Linker of the main project.
+
+2004-06-07 Thomas Quinot <quinot@act-europe.fr>
+
+ * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
+ the index of the last element is Units.Last, not Units.Table'Last
+ (which is usually not a valid index within the actually allocated
+ storage for the table).
+
+ * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
+ determines whether to generate a call to a checked storage pool
+ Dereference action.
+ Generate such a call only for a dereference that either comes from
+ source, or is the result of rewriting a dereference that comes from
+ source.
+
+2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
+
+ * bindgen.adb (Gen_Output_File): Add support for GAP builds.
+
+2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
+ file level, elaborate the stride for inner dimensions in alignment
+ units, not bytes.
+
+ * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
+ in a comment.
+
+2004-06-07 Javier Miranda <miranda@gnat.com>
+
+ * exp_ch6.adb: Correct wrong modification in previous patch
+
+2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * g-trasym.ads: Corrected comment to properly reflect level of support
+ on VMS.
+
+2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
+ includes case of a variable referenced on the left hand side of an
+ assignment, therefore remove redundant code. Variables and prefixes of
+ indexed or selected components are now marked as referenced on left
+ hand side. Warnings are now properly emitted when variables or prefixes
+ are assigned but not read.
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
+ left hand side referenced variables. Private access types do not
+ produce the warning "variable ... is assigned but never read".
+ Add also additional checks to left hand side referenced variables.
+ Aliased, renamed objects and access types do not produce the warning
+ "variable ... is assigned but never read" since other entities may read
+ the memory location.
+
+2004-06-07 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: In the powerpc/vxworks-specific section, restore
+ EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
+ by mistake).
+
+2004-06-07 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
+ predefined operators.
+ Removes spurious type errors from g-trasym-vms.adb.
+
+ * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
+ distinct from the operator appearing in the source, call appropriate
+ routine to insert conversions when needed, and complete resolution of
+ node.
+ (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
+ interpretations for rewritten right operand.
+ (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
+ the other operand is overloaded and the context is a type conversion.
+
+2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (BLOCK_STMT): Now has two operands.
+ (BREAK_STMT): New.
+
+ * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
+
+ * gigi.h: (gnat_poplevel): Now returns a tree.
+
+ * trans.c (end_block_stmt): Add arg; all callers changed.
+ (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
+ (start_block_stmt): Clear BLOCK_STMT_BLOCK.
+ (add_stmt): Set TREE_TYPE.
+ (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
+ (gnat_expand_stmt, case BREAK_STMT): New case.
+
+ * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
+
+2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
+ procedure Set_Stack_Size that is not needed.
+
+2004-06-07 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
+ used for gnatpp input file and for the files upon which it depends
+
+2004-06-07 Ben Brosgol <brosgol@gnat.com>
+
+ * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+
+2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads: Bump version numbers appropriately.
+ Add new build type.
+
+2004-06-07 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Improve comments about imported names and link names
+ on Windows. Add a note about the requirement to use -k gnatdll's option
+ when working with a DLL which has stripped stdcall symbols (no @nn
+ suffix).
+
+2004-05-27 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
+ COMMENTS_LAYOUT=UNTOUCHED
+
+ * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
+ symbols-vms-alpha.adb
+
+2004-05-27 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem.ads: Clarify documentation on checks suppression.
+
+ * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
+
+2004-05-27 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
+ the case of multiple derivations.
+ (Is_Object_Reference): For a selected component, verify that the prefix
+ is itself an object and not a value.
+
+ * sem_ch12.adb (Same_Instantiated_Constant): New name for
+ Same_Instantiated_Entity.
+ (Same_Instantiated_Variable): Subsidiary to
+ Check_Formal_Package_Instance, to recognize actuals for in-out generic
+ formals that are obtained from a previous formal package.
+ (Instantiate_Subprogram_Body): Emit proper error when
+ generating code and the proper body of a stub is missing.
+
+ * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
+ has a universal interpretation, do the disambiguation here.
+
+ * exp_ch4.adb (Expand_N_Type_Conversion,
+ Expand_N_Unchecked_Type_Conversion): Special handling when target type
+ is Address, to avoid typing anomalies when Address is a visible integer
+ type.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
+ to determine whether a subprogram should not be marked Pure, even when
+ declared in a pure package.
+
+2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
+
+ * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
+ Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
+ Update the documentation about the Ravenscar profile, following the
+ definition found in AI-249.
+
+ * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
+ setting the Profile (Ravenscar). This must be done in addition to
+ setting the required restrictions.
+
+ * rtsfind.ads: Add the set of operations defined in package
+ Ada.Interrupts.
+
+ * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
+ restriction.
+
+2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Always require -c or -S and always redirect to /dev/null
+ if -gnatc or -gnats is passed.
+
+2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
+ a significant reference. Warnings are now properly emitted when a
+ discriminated type is not referenced.
+
+ * lib-xref.adb (Generate_Reference): A deferred constant completion,
+ record representation clause or record type discriminant does not
+ produce a reference to its corresponding entity. Warnings are now
+ properly emitted when deferred constants and record types are not
+ referenced.
+
+2004-05-27 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
+ Fixes ACATS Annex G tests.
+
+2004-05-27 Robert Dewar <dewar@gnat.com>
+
+ * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
+ handling WITH
+
+2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-interr.adb (Server_Task): Take into account case of early return
+ from sigwait under e.g. linux.
+
+2004-05-27 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Add description for the new gnatpp options:
+ -rnb - replace the original source without creating its backup copy
+ -c0 - do not format comments
+
+2004-05-24 Geert Bosch <bosch@gnat.com>
+
+ * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
+ with 192 bits of precision, sufficient to reduce a double-extended
+ arguments X with a maximum relative error of T'Machine_Epsilon, for X
+ in -2.0**32 .. 2.0**32.
+ (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
+ reduction by the processor, which only uses a 68-bit approximation of
+ Pi.
+ (Tan): Always reduce arguments and compute function either using
+ the processor's fptan instruction, or by dividing sin and cos as needed.
+
+2004-05-24 Doug Rupp <rupp@gnat.com>
+
+ * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
+ gcc error on 32/64 bit VMS.
+
+2004-05-24 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
+ since this is what we get for stack overflows although not documented
+ as such.
+ Document the issues which may require adjustments to our signal
+ handlers.
+
+2004-05-24 Ed Schonberg <schonberg@gnat.com>
+
+ * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
+ enclosing dynamic scope if the instantiation is within a generic unit.
+
+2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * exp_dbug.ads: Fix typo.
+
+ * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
+ Rename it to its proper name: system-linux-ia64.ads
+ (stamp-gnatlib1): Remove extra target specific run time files when
+ setting up the rts directory.
+
+2004-05-24 Javier Miranda <miranda@gnat.com>
+
+ * einfo.ads, einfo.adb (Limited_Views): Removed.
+ (Limited_View): New attribute that replaces the previous one. It is
+ now a bona fide package with the limited-view list through the
+ first_entity and first_private attributes.
+
+ * sem_ch10.adb (Install_Private_With_Clauses): Give support to
+ limited-private-with clause.
+ (Install_Limited_Withed_Unit): Install the private declarations of a
+ limited-private-withed package. Update the installation of the shadow
+ entities according to the new structure (see Build_Limited_Views)
+ (Build_Limited_Views): Replace the previous implementation of the
+ limited view by a package entity that references the first shadow
+ entity plus the first shadow private entity (required for limited-
+ private-with clause)
+ (New_Internal_Shadow_Entity): Code cleanup.
+ (Remove_Limited_With_Clause): Update the implementation to undo the
+ new work carried out by Build_Limited_Views.
+ (Build_Chain): Complete documentation.
+ Replace Ada0Y by Ada 0Y in comments
+ Minor reformating
+
+ * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
+ types the level of accessibility depends on the enclosing type
+ declaration.
+
+ * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
+ entities. Complete documentation of previous change.
+
+2004-05-24 Robert Dewar <dewar@gnat.com>
+
+ * namet.adb: Minor reformatting
+ Avoid use of name I (replace by J)
+ Minor code restructuring
+
+ * sem_ch6.adb: Minor reformatting
+
+ * lib-writ.adb: Do not set restriction as active if this is a
+ Restriction_Warning case.
+
+ * sem_prag.adb: Reset restriction warning flag if real pragma
+ restriction encountered.
+
+ * s-htable.adb: Minor reformatting
+ Change rotate count to 3 in Hash (improves hash for small strings)
+
+ * 5qsystem.ads: Add comments for type Address (no literals allowed).
+
+ * gnat_ugn.texi: Add new section of documentation "Code Generation
+ Control", which describes the use of -m switches.
+
+2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ trans.c (tree_transform) <N_Identifier>: Do the dereference directly
+ through the DECL_INITIAL for renamed variables.
+
+2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
+
+2004-05-19 Joel Brobecker <brobecker@gnat.com>
+
+ * exp_dbug.ads: Correct comments concerning handling of overloading,
+ since we no longer use $ anymore.
+
+2004-05-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
+ ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
+ with illegal subunits.
+
+2004-05-19 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
+ body with front-end inlining enabled, check whether an inline pragma
+ appears immediately after the body and applies to it.
+
+ * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
+ enabled and the pragma appears after the body of the subprogram.
+
+2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ Part of function-at-a-time conversion
+
+ * misc.c (adjust_decl_rtl): Deleted.
+ (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+ Define.
+
+ * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
+ (add_decl_stmt, add_stmt, block_has_vars): New functions.
+ (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
+
+ * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
+ when making a decl.
+ (gnat_to_gnu_entity): Likewise.
+ Use add_stmt to update setjmp buffer.
+ Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
+ flush_addressof.
+ No longer call adjust_decl_rtl.
+ (DECL_INIT_BY_ASSIGN_P): New macro.
+ (DECL_STMT_VAR): Likewise.
+
+ * trans.c (gigi): Call start_block_stmt to make the outermost
+ BLOCK_STMT.
+ (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
+ Call start_block_stmt and end_block_stmt temporarily.
+ Use gnat_expand_stmt instead of expand_expr_stmt.
+ (add_decl_stmt): New function.
+ (tree_transform): Call it.
+ (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
+ (end_block_stmt): Set type and NULL_STMT.
+ (gnat_expand_stmt): Make recursize call instead of calling
+ expand_expr_stmt.
+ (gnat_expand_stmt, case DECL_STMT): New case.
+ (set_lineno_from_sloc): Do nothing if global.
+ (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
+ (start_block_stmt, add_stmt, end_block_stmt): New functions.
+ (build_block_stmt): Call them.
+ (gnat_to_code): Don't expand NULL_STMT.
+ (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
+ args.
+ (tree_transform): Likewise.
+ (tree_transform, case N_Null_Statement): Return NULL_STMT.
+ (gnat_expand_stmt, case NULL_STMT): New case.
+ (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
+ IF_STMT_TRUE.
+
+ * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
+ TREE_ADDRESSABLE.
+
+ * utils.c (create_var_decl): Do not call expand_decl or
+ expand_decl_init.
+ Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
+ Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
+ here.
+ (struct e_stack): Add chain_next to GTY.
+ (struct binding_level): Deleted.
+ (struct ada_binding_level): New struct.
+ (free_block_chain): New.
+ (global_binding_level, clear_binding_level): Deleted.
+ (global_bindings_p): Rework to see if no chain.
+ (kept_level_p, set_block): Deleted.
+ (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
+ new data structure and work directly on BLOCK node.
+ (gnat_poplevel): Similarly.
+ (get_decls): Look at BLOCK_VARS.
+ (insert_block): Work directly on BLOCK node.
+ (block_has_var): New function.
+ (pushdecl): Rework for new binding structures.
+ (gnat_init_decl_processing): Rename and rework calls to pushlevel and
+ poplevel.
+ (build_subprog_body): Likewise.
+ (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
+
+ * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
+
+ * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
+ (DECL_STMT_VAR): Likewise.
+
+2004-05-17 Robert Dewar <dewar@gnat.com>
+
+ * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
+ procedure
+
+ * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
+ of restriction synonyums by using
+ Restrict.Process_Restriction_Synonyms.
+
+ * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
+
+ * s-restri.ads (Tasking_Allowed): Correct missing comment
+
+ * s-rident.ads: Add entries for restriction synonyms
+
+ * ali.adb: Fix some problems with badly formatted ALI files that can
+ result in infinite loops.
+
+ * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
+ s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
+ s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
+ s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
+ s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
+ s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
+ s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
+ s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
+ a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
+ exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
+ s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
+ s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+ s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+ s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
+ s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
+ to Task_Id (minor cleanup).
+
+2004-05-17 Vincent Celier <celier@gnat.com>
+
+ * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
+ directory separator.
+
+ * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
+ project being extended, if Languages is not declared in extending
+ project.
+
+2004-05-17 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
+ limited view of a visible sibling.
+
+2004-05-14 Robert Dewar <dewar@gnat.com>
+
+ * gnat_ugn.texi: Minor change to -gnatS documentation
+
+ * sprint.adb: Remove some instances of Assert (False) and for this
+ purpose replace them by output of a ??? string.
+
+ * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
+ Assert (False).
+
+ * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
+ flag processing. This was suppressing required dependencies in
+ No_Run_Time mode and is not needed since the binder does not generate
+ references for things in libgnat anyway.
+
+ * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
+ warning.
+
+2004-05-14 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnat_ugn.texi: Document AIX-specific issue with initialization of
+ resolver library.
+
+ * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
+ action for the case of an actual parameter in an init proc call.
+
+2004-05-14 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
+ subtype, check visible entities in base type.
+
+ * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
+ actions if the object is a renaming.
+
+ * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
+ Check_Formal_Package_Instance, to determine more precisely when the
+ formal and the actual denote the same entity.
+
+2004-05-14 Javier Miranda <miranda@gnat.com>
+
+ * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
+
+ * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
+ corresponding to a private_with must be removed from visibility; it
+ will be made visible later, just before we analyze the private part of
+ the package.
+ (Check_Private_Child_Unit): Allow private_with clauses in public
+ siblings.
+ (Install_Siblings): Make visible the private entities of private-withed
+ siblings.
+ (Install_Withed_Unit): Do not install the private withed unit if we
+ are compiling a package declaration and the Private_With_OK flag was
+ not set by the caller. These declarations will be installed later,
+ just before we analyze the private part of the package.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
+ during the evaluation of the expression that initializes the object,
+ decorate it with the expected type to avoid cascade errors.
+ Code cleanup.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
+ subprogram we have to install the private_with clauses after its
+ specification has been analyzed (as documented in AI-262.TXT).
+
+ * sem_ch8.adb (Has_Private_With): New function. Determines if the
+ current compilation unit has a private with on a given entity.
+ (Find_Direct_Name): Detect the Beaujolais problem described in
+ AI-262.TXT
+
+ * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
+ provides the functionality of the function Is_Ancestor that was
+ previously available in sem_ch10. It has been renamed to avoid
+ overloading.
+
+ * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
+
+2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (build_vms_descriptor): Use SImode pointers.
+
+2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
+
+2004-05-14 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
+
+ Renaming of target specific files for clarity
+
+ * Makefile.in: Rename GNAT target specific files.
+
+ * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
+ 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
+ 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
+ 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
+ 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
+ 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
+ 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
+ 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
+ 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
+ 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
+ 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
+ 51osinte.adb, 51osinte.ads, 51system.ads,
+ 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
+ 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
+ 56tpopsp.adb, 57system.ads, 58system.ads,
+ 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
+ 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+ 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
+ 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
+ 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
+ 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+ 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
+ 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
+ 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
+ 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
+ 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
+ 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
+ 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+ 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+ 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
+ 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
+ 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
+ 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
+ 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
+ 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+ 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
+ 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
+ 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+ 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
+ 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+ 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
+ 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
+ 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
+ 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
+ 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
+ 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
+ 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
+ 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
+ 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
+ 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
+
+ * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
+ a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
+ a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
+ a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
+ a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
+ a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
+ a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
+ a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
+ a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
+ a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
+ g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
+ g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
+ g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
+ g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
+ g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+ g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
+ g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
+ interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+ mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
+ s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
+ s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
+ s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
+ s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
+ s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
+ s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
+ s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
+ s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
+ s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
+ s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
+ s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
+ s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
+ s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
+ s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
+ s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
+ s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
+ s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
+ s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
+ s-osinte-vms.ads, s-osinte-vxworks.adb,
+ s-osinte-vxworks.ads, s-osprim-mingw.adb,
+ s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
+ s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+ s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
+ s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
+ s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
+ s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+ s-stchop-vxworks.adb, s-taprop-dummy.adb,
+ s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+ s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+ s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
+ s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
+ s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+ s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
+ s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
+ s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
+ s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
+ s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
+ s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
+ s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
+ s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
+ s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
+ s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
+ s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+ s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
+ symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
+ system-hpux.ads, system-interix.ads, system-irix-n32.ads,
+ system-irix-o32.ads, system-linux-x86_64.ads,
+ system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+ system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
+ system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
+ system-vxworks-alpha.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-ppc.ads,
+ system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
+ above.
+
+2004-05-13 Zack Weinberg <zack@codesourcery.com>
+
+ * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+
+2004-05-13 Diego Novillo <dnovillo@redhat.com>
+
+ Merge from tree-ssa-20020619-branch.
+
+ * config-lang.in (boot_language, build_by_default): Set
+ to no.
+ * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
+ (max_size): Add static chain op for call_expr.
+
+2004-05-12 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/15331
+ * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
+
+2004-05-11 Roger Sayle <roger@eyesopen.com>
+
+ * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
+ COND_EXPR.
+
+2004-05-10 Doug Rupp <rupp@gnat.com>
+
+ * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
+ system.aux_dec.
+
+ * s-auxdec.ads: Add Short_Address subtype (moved here from System).
+
+ * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
+
+ * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
+ Fixes undefined symbols in IA64 gnatlib.
+
+ * 5vinmaop.adb: Reference s-auxdec for Short_Address.
+
+ * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
+ Short_Address). This will be moved to system.auxdec.
+
+2004-05-10 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb: Replace test for presence of a node that is always
+ present with a call to Discard_Node.
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
+ Analyze on the library unit node after generation of distribution stub
+ constructs. The call was a no-op because Unit_Node has already been
+ Analyzed, and the tree fragments for the distribution stubs are
+ analyzed as they are inserted in Exp_Dist.
+ Update comment regarding to distribution stubs to reflect that we
+ do not generate stub in separate files anymore.
+
+ * einfo.ads: Clarify the fact that a tagged private type has the
+ E_Record_Type_With_Private Ekind.
+
+ * erroutc.adb: Minor reformatting
+
+ * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
+ values if line length is increased using -gnatyM (noticed during code
+ reading).
+
+ * eval_fat.adb: Minor reformatting
+ Put spaces around exponentiation operator
+
+2004-05-10 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15005
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
+ has been rewritten as an explicit dereference, retrieve type of
+ original node to check for possibly unconstrained record type.
+
+2004-05-10 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
+ overriding, use the operation of the parent unconditionally.
+
+ * sem_ch4.adb (Remove_Address_Interpretations): Remove address
+ operation when either operand is a literal, to avoid further
+ ambiguities.
+
+ * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
+ overridden by a previous explicit declaration, mark the previous entity
+ as overriding.
+
+ * sem_disp.adb (Check_Dispatching_Operation): New predicate
+ Is_Visibly_Controlled, to determine whether a declaration of a
+ primitive control operation for a derived type overrides an inherited
+ one. Add warning if the explicit declaration does not override.
+
+2004-05-10 Vincent Celier <celier@gnat.com>
+
+ * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
+ some cases when the sources are no longer present.
+
+ * make.adb (Collect_Arguments): Fail if an external source, not part
+ of any project need to be compiled, when switch -x has not been
+ specified.
+
+ * makeusg.adb: Document new switch -x
+
+ * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
+ defaulted to False.
+
+ * switch-m.adb (Scan_Make_Switches): New switch -x
+
+ * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
+ gnatmake switch -x.
+
+ * gnat_ugn.texi: Document new gnatmake switch -x
+
+2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
+
+ * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
+ (process_attributes): Likewise.
+
+2004-05-10 Joel Brobecker <brobecker@gnat.com>
+
+ * s-inmaop.ads: Fix spelling mistake in one of the comments.
+
+2004-05-10 Robert Dewar <dewar@gnat.com>
+
+ * gnat_ugn.texi: Document that for config pragma files, the maximum
+ line length is always 32767.
+
+ * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
+ literals is now allowed.
+
+ * gnat-style.texi: Remove statement about splitting long lines before
+ an operator rather than after, since we do not follow this rule at all.
+ Clarify rule (really lack of rule) for spaces around exponentiation
+
+ * sem_elim.adb: Allow concatenation of string literals as well as a
+ single string literal for pragma arguments.
+
+ * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
+
+ * a-textio.adb (Terminate_Line): Do not add line feed if nothing
+ written for append case.
+
+ * frontend.adb: Changes to avoid checking max line length in config
+ pragma files.
+
+ * g-os_lib.ads: Minor reformatting
+
+ * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
+ wrong in any case. Instead use standard value. Noticed during code
+ reading.
+
+ * opt.ads (Max_Line_Length): New field, used to implement removal of
+ limitation on length of lines when scanning config pragma files.
+
+ * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
+ makeutl.ads, makeutl.adb: Minor reformatting
+
+ * scn.adb: Do not check line length while scanning config pragma files
+ Do not check line length while scanning out license information
+
+ * scng.adb: Changes to avoid line length checks while parsing config
+ pragma files.
+
+2004-05-10 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * osint.adb (Find_Program_Name): Fix handling of VMS version
+ number.
+
+2004-05-05 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-os_lib.ads (Invalid_Time): New constant
+
+ * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
+ return OS_Time instead of time_t to match what is imported by Ada.
+ Now return -1 if the file doesn't exist, instead of a random value
+
+2004-05-05 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Add line for -gnatR?s switch
+
+ * sem_ch13.adb, exp_ch2.adb: Minor reformatting
+
+ * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
+ and for Match (Data_First, Data_last)
+
+ * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
+ written when we are dealing with multi-unit files.
+
+2004-05-05 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Remove unused targets and variables.
+
+2004-05-05 Vincent Celier <celier@gnat.com>
+
+ * switch-m.adb: New gnatmake switch -eI
+
+ * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
+ of new gnatmake switch -eInnn.
+
+ * makegpr.adb: Take into account new parameters Index and Src_Index in
+ Prj.Util.
+
+ * clean.adb: Implement support for multi-unit sources, including new
+ switch -i.
+
+ * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
+ Src_Index.
+
+ * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
+ (Extract_From_Q): New out parameter Index
+ (Mark, Is_Marked): Subprograms moved to Makeutl
+ (Switches_Of): New parameter Source_Index
+ (Add_Switch): New parameter Index
+ (Check): New parameter Source_Index
+ (Collect_Arguments): New parameter Source_Index
+ (Collect_Arguments_And_Compile): New parameter Source_Index
+ (Compile): New parameter Source_Index
+ Put subprograms in alphabetical order
+ Add support for multi-source sources, including in project files.
+
+ * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
+ (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
+ Make.
+
+ * makeusg.adb: New gnatmake switch -eInnn
+
+ * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
+ Prj.Util.Value_Of.
+
+ * opt.ads (Main_Index): New variable, defaulted to 0.
+
+ * osint.ads, osinte.adb (Add_File): New parameter Index
+ (Current_Source_Index): New function
+
+ * prj.adb: Take into account new components Index and Src_Index
+
+ * prj.ads (String_Element): New component Index
+ (Variable_Value): New component Index
+ (Array_Element): New component Src_Index
+
+ * prj-attr.adb: Indicate that optional index may be specified for
+ attributes Main, Executable, Spec, Body and some of Switches.
+
+ * prj-attr.ads (Attribute_Kind): New values for optional indexes
+ (Attribute_Record): New component Optional_Index
+
+ * prj-com.ads (File_Name_Data): New component Index
+
+ * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
+
+ * prj-env.adb (Put): Output optional index
+
+ * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
+ attributes Spec and Body.
+
+ * prj-nmsc.adb: Process optional indexes
+
+ * prj-pp.adb: Ouput "at" for optional indexes
+
+ * prj-proc.adb: Take into account optional indexes
+
+ * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
+ Optional_Index. For string literal,
+ process optional index when Optional_Index is True.
+ (Parse_Expresion): New Boolean parameter Optional_Index
+
+ * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
+ (Set_Source_Index_Of): New procedure
+
+ * prj-util.adb (Executable_Of, Value_Of): Take into account optional
+ index.
+
+ * prj-util.ads (Executable_Of): New parameter Index
+ (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
+ New parameter Src_Index, defaulted to 0.
+
+2004-05-05 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15257
+ * sem_ch3.adb (Access_Definition): If this is an access parameter
+ whose designated type is imported through a limited_with clause, do
+ not add the enclosing subprogram to the list of private dependents of
+ the type.
+
+2004-05-05 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15258
+ * sem_ch6.adb (Base_Types_Match): True if one type is imported through
+ a limited_with clause, and the other is its non-limited view.
+
+2004-05-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
+
+ * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
+ exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
+ Stand.Boolean_Literals to produce references to entities
+ Standard_False and Standard_True from compile-time computed boolean
+ values.
+
+ * stand.ads (Boolean_Literals): New variable, provides the entity
+ values for False and True, for use by the expander.
+
+2004-05-05 Doug Rupp <rupp@gnat.com>
+
+ * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
+ 5vinmaop.adb: Unchecked convert Short_Address vice Address
+
+ * adaint.c, raise.c: Caste CRTL function return value
+ to avoid gcc error on 32/64 bit IVMS.
+
+ * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
+ target = IA64/VMS.
+
+ * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
+
+ * 5qsystem.ads (Address): Declare as Long_Integer
+ (Short_Address): Declare as 32 bit subtype of Address
+ Declare abstract address operations to avoid gratuitous ambiguities.
+
+2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
+ instead of the old Boolean_Entry_Barriers.
+ Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
+
+2004-05-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
+
+2004-05-03 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/15152
+ * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
+ alone. Replacing object references by literals is inappropriate in a
+ so low level context.
+
+2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * a-exexpr.adb: Add comments
+
+2004-05-03 Joel Brobecker <brobecker@gnat.com>
+
+ * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
+ declare the Ancestor_Tags array in Type_Specific_Data with a small size
+ without risking a bounds check error when accessing one of its
+ components.
+ (Type_Specific_Data): Define Ancestor_Tags as a small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+
+ * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
+ small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+
+2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Remove -gnatz* from specs.
+
+2004-05-03 Vincent Celier <celier@gnat.com>
+
+ * gprmake.adb, makegpr.ads, makegpr.adb: New files.
+
+ * Make-lang.in, Makefile.in: Add gprmake
+
+2004-05-03 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_aggr.adb: Fix typo in comment.
+
+2004-05-03 Robert Dewar <dewar@gnat.com>
+
+ * make.adb: Minor reformatting
+
+ * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
+
+ * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
+ so that it works when address is not a private type.
+
+ * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
+ properly with rewritten unchecked conversions. This prevents
+ order-of-elaboration issues that can otherwise arise.
+ (Minimum_Size): Don't check size of access types under VMS
+
+ * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
+ interpretations of integer literals as type System.Address.
+
+ * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
+ (Is_Descendent_Of): New function
+
+2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
+
+ * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+ Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
+ No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
+
+ * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
+ of the old Max_Entry_Queue_Depth.
+
+ * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+ Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
+ No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
+
+ * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
+ New entry for proper handling of Max_Entry_Queue_Depth.
+ New entry for proper handling of No_Dynamic_Interrupts.
+
+ * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
+ supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+ Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
+ the GNAT specific restriction Max_Entry_Queue_Depth.
+ Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
+ the GNAT specific restriction No_Dynamic_Interrupts.
+
+ * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
+ instead of the old Boolean_Entry_Barriers.
+ Use the new restriction No_Dynamic_Attachment instead of the old
+ No_Dynamic_Interrupts.
+
+ * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
+ supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+
+ * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
+ of the old Max_Entry_Queue_Depth.
+
+2004-05-03 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-04-29 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Enable_Range_Check): If the prefix of an index component
+ is an access to an unconstrained array, perform check unconditionally.
+
+2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_field): Also call make_packable_type if
+ Component_Clause.
+
+2004-04-29 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler, __gnat_error_handler): Remove
+ alternate stack setting. There was no support for the tasking cases
+ and the changes eventually caused a number of side-effect failures in
+ the non-tasking case too.
+
+2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
+ -gnats is passed.
+
+2004-04-29 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Gnatmake): Increase max size of argument array for
+ gnatbind for the potential addition of -F.
+ If there are Stand-Alone Library projects, invoke gnatbind with -F to
+ be sure that elaboration flags will be checked.
+
+ * switch-c.adb: Correct call to Scan_Pos for -gnateI
+
+2004-04-29 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_warn.adb (Check_References): Move '<access-variable> may be
+ null' warning out of under Warn_On_No_Value_Assigned.
+
+2004-04-29 Ed Falis <falis@gnat.com>
+
+ * gnat_ugn.texi: Fixed texi error
+
+2004-04-29 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
+ abstract operations if they come from predefined files.
+
+ * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
+ Dynamic, not RM).
+
+ * s-addope.adb: Correct obvious error in mod function
+
+2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
+
+ * Makefile.in: Add target pairs for powerpc darwin*
+ tasking support.
+
+ * a-intnam-darwin.ads, s-osinte-darwin.adb,
+ s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
+
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Makefile.in: Add target macro definitions for s390*-linux*.
+ * system-linux-s390.ads: New file.
+ * system-linux-s390x.ads: New file.
+
+2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_ugn.texi: Correct argument to @setfilename.
+
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * a-exexpr.adb (Unwind_Word): New data type.
+ (Unwind_Exception): Use it as type of Private1 and Private2.
+
+ * raise.c (db_action_for): Fix debug printf.
+
+2004-04-27 Ed Schonberg <schonberg@gnat.com>
+
+ * a-wtmoio.ads: Formal type must be a modular type, not a signed
+ integer type.
+
+2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Call
+ __builtin_update_setjmp_buf.
+
+ * gigi.h (update_setjmp_buf): Deleted.
+ (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
+
+ * misc.c: (update_setjmp_buf): Deleted.
+
+ * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
+ around block of RTL.
+
+ * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
+
+2004-04-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
+ subprogram for which no pragma All_Calls_Remote applies, store the
+ address of the real subprogram in the underlying record type, so local
+ dereferences do not go through the PCS.
+
+2004-04-26 Robert Dewar <dewar@gnat.com>
+
+ * i-c.ads: Add some type qualifications to avoid ambiguities when
+ compiling with s-auxdec.ads and a non-private address type.
+
+2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.rtl: Fix error in previous check-in:
+ Add s-addope.o to non tasking object list (rather than tasking object
+ list).
+
+2004-04-26 Javier Miranda <miranda@gnat.com>
+
+ * sem_aggr.adb: Fix typo in comments
+ (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
+ Required to check the null-exclusion attribute.
+
+ * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
+ case of anonymous access types in record and array components. For a
+ component definition the level is the same of the enclosing composite
+ type.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): In case of components
+ that are anonymous access types the level of accessibility depends on
+ the enclosing type declaration. In order to have this information, set
+ the scope of the anonymous access type to the enclosing record type
+ declaration.
+ (Array_Type_Declaration): In case of components that are anonymous
+ access types the level of accessibility depends on the enclosing type
+ declaration. In order to have this information, set the scope of the
+ anonymous access type to the enclosing array type declaration.
+
+ * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
+ access type.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
+ renaming of anonymous access-to-constant types allowed if and only if
+ the renamed object is access-to-constant.
+
+ * sem_util.adb (Type_Access_Level): In case of anonymous access types
+ that are component_definition or discriminants of a nonlimited type,
+ the level is the same as that of the enclosing component type.
+
+2004-04-26 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_elim.adb: Some minor code reorganization from code reading. Fix
+ misprint in the function name (File_Name_Match).
+
+2004-04-23 Laurent GUERBY <laurent@guerby.net>
+
+ * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
+ install.
+
+2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
+
+2004-04-23 Emmanuel Briot <briot@act-europe.fr>
+
+ * adaint.c (__gnat_try_lock): No longer requires that the parent
+ directory be writable, the directory itself is enough.
+ (gnat_is_absolute_path): Change profile, so that the call from
+ GNAT.OS_Lib can be made more efficient.
+
+ * adaint.h (gnat_is_absolute_path): Change profile, so that the call
+ from GNAT.OS_Lib can be made more efficient.
+
+ * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
+ one copy of the file name. Found by code reading.
+
+2004-04-23 Vincent Celier <celier@gnat.com>
+
+ * gnat_ugn.texi: Add documentation for gnatmake switch -eL
+ Correct documentation on gnatmake switches transmitted to the compiler
+
+ * ali.ads: Minor comment fix
+
+2004-04-23 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch6.adb: (Confirming Types): Code cleanup
+
+ * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
+ subprogram types: E_Anonymous_Access_Subprogram_Type and
+ E_Anonymous_Access_Protected_Subprogram_Type.
+
+2004-04-23 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+ whether a pragma All_Calls_Remote applies to the subprogram on which
+ 'Access is taken.
+ No functional change is introduced by this revision; the new parameter
+ will be used to allow calls to local RCI subprograms to be optimized
+ to not use the PCS in the case where no pragma All_Calls_Remote applies,
+ as is already done in the PolyORB implementation of the DSA.
+
+ * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+ whether a pragma All_Calls_Remote applies to the subprogram on which
+ 'Access is taken.
+ No functional change is introduced by this revision; the new parameter
+ will be used to allow calls to local RCI subprograms to be optimized
+ to not use the PCS in the case where no pragma All_Calls_Remote applies,
+ as is already done in the PolyORB implementation of the DSA.
+
+2004-04-23 Robert Dewar <dewar@gnat.com>
+
+ * Makefile.rtl: Add entry for s-addope.o in run time library list
+ * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
+ * s-addope.ads, s-addope.adb: New files.
+
+ * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+ s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+ s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
+ System.Address to be non-private and signed.
+
+ * sem_elim.adb: Minor reformatting (fairly extensive)
+ Some minor code reorganization from code reading
+ Add a couple of ??? comments
+
+2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
+ (tree_transform, case N_If_Statement): Remove non-determinism.
+
+ * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
+
+2004-04-23 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_rm.texi: Small fixes in the changes made in the 'pragma
+ Eliminate' section.
+
+ * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
+ no longer used as a parameter name for Eliminate pragma).
+
+2004-04-22 Laurent GUERBY <laurent@guerby.net>
+
+ PR optimization/14984
+ PR optimization/14985
+ * trans.c (gigi): Fix non determinism leading to bootstrap
+ comparison failures.
+
+2004-04-21 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
+ passed to spawnvp() to properly handle program pathname with spaces on
+ Win32.
+
+2004-04-21 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
+ (Allocate, Deallocate, Free_Physically): Make sure the tasks are
+ unlocked in case of exceptions.
+
+2004-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
+ This function does not exist anymore.
+
+2004-04-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
+
+ * link.c: Move variables to the __gnat name space.
+
+ * Makefile.in: list link.o explicitly when needed.
+
+ * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
+
+2004-04-21 Javier Miranda <miranda@gnat.com>
+
+ * einfo.adb (Original_Access_Type): New subprogram
+ (Set_Original_Access_Type): New subprogram
+ (Write_Field21_Name): Write the name of the new field
+
+ * einfo.ads (Original_Access_Type): New field present in access to
+ subprogram types.
+ Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
+ E_Anonymous_Access_Protected_Subprogram_Type.
+
+ * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
+ subprogram types.
+
+ * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
+ to anonymous access to subprogram types.
+
+ * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
+ to subprogram types.
+
+ * sem_ch3.adb (Access_Definition): Complete decoration of entities
+ corresponding to anonymous access to subprogram types.
+ (Analyze_Component_Declaration): Add new actual to the call to
+ subprogram replace_anonymous_access_to_protected_subprogram.
+ (Array_Type_Declaration): Add new actual to the call to subprogram
+ replace_anonymous_access_to_protected_subprogram.
+ (Process_Discriminants): Add new actual to the call to subprogram
+ replace_anonymous_access_to_protected_subprogram.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
+
+ * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ formal.
+
+ * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
+ access to subprogram types.
+
+ * sem_util.adb (Has_Declarations): Addition of package_specification
+ nodes.
+
+2004-04-21 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
+ inlined flags to renamed entity only if in current unit.
+
+2004-04-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-parint.ads: Add DSA implementation marker.
+
+ * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
+ value of System.Partition_Interface.DSA_Implementation to determine
+ what version of the distributed systems annex is available (no
+ implementation, GLADE, or PolyORB).
+
+2004-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
+
+2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
+ with new type if alias sets differ.
+ Fixes ACATS c41103b.
+
+2004-04-21 Vincent Celier <celier@gnat.com>
+
+ * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
+ Add array Lang_Args for the language specific compiling argument
+ switches.
+
+ * gnat_ugn.texi: Explain in more details when a library is rebuilt.
+
+2004-04-21 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_rm.texi: Update the descripton of the Eliminate pragma
+ according to the recent changes in the format of the parameters of the
+ pragma (replacing Homonym_Number with Source_Location).
+
+2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5isystem.ads: Removed, unused.
+
+ * gnat_rm.texi: Redo 1.13 change.
+
+2004-04-19 Robert Dewar <dewar@gnat.com>
+
+ * s-stoele.ads: Clean up definition of Storage_Offset (the new
+ definition is cleaner, avoids the kludge of explicit Standard operator
+ references, and also is consistent with a visible System.Address with
+ no visible operations.
+
+ * s-geveop.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations
+ are made abstract).
+
+ * sem_eval.adb: Minor reformatting
+
+ * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
+ s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
+ reformatting (new function spec format).
+
+ * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+ s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
+ s-caun64.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations are made
+ abstract).
+
+ * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
+
+ * exp_intr.adb: Minor comment update
+
+ * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
+
+ * 5omastop.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations
+ are made abstract).
+
+2004-04-19 Vincent Celier <celier@gnat.com>
+
+ * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
+
+ * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
+ defaulted to Ada.
+
+ * prj-proc.adb (Process): New Boolean parameter Process_Languages,
+ defaulted to Ada.
+ Call Check with Process_Languages.
+ (Check): New Boolean parameter Process_Languages. Call Recursive_Check
+ with Process_Languages.
+ (Recursive_Check): New Boolean parameter Process_Languages. Call
+ Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
+ Process_Languages.
+
+ * prj-proc.ads (Process): New Boolean parameter Process_Languages,
+
+ * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
+ parameter Ada_Main, defaulted to True.
+ Check for Ada specific characteristics only when Ada_Main is True.
+
+ * opt.ads: (Follow_Links): New Boolean flag for gnatmake
+
+ * prj.adb: (Project_Empty): Add new Project_Data components.
+
+ * prj.ads: New types and tables for non Ada languages.
+ (Project_Data): New components Languages, Impl_Suffixes,
+ First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
+ Include_Path, Include_Data_Set.
+
+ * prj-env.ads, prj-env.adb: Minor reformatting
+
+ * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
+ Put subprograms in alphabetical order
+
+ * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
+ defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
+ Opt.Follow_Links.
+
+ * mlib-prj.adb: Back out modification in last version, as they are
+ incorrect.
+ (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
+
+ * make.adb: (Mains): Moved to package Makeutl
+ (Linker_Opts): Moved to package Makeutl
+ (Is_External_Assignment): Moved to package Makeutl
+ (Test_If_Relative_Path): Moved to package Makeutl
+ (Gnatmake): Move sorting of linker options to function
+ Makeutl.Linker_Options_Switches.
+
+ * makeutl.ads, makeutl.adb: New files.
+
+ * Makefile.in: Add makeutl.o to the object files for gnatmake
+
+ * makeusg.adb: Add line for new switch -eL.
+
+ * gnatls.adb (Image): New function.
+ (Output_Unit): If in verbose mode, output the list of restrictions
+ specified by pragmas Restrictions.
+
+ * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
+ Text_IO.
+
+ * a-calend.adb (Split): Shift the date by multiple of 56 years, if
+ needed, to put it in the range 1970 (included) - 2026 (excluded).
+ (Time_Of): Do not shift Unix_Min_Year (1970).
+ Shift the date by multiple of 56 years, if needed, to put it in the
+ range 1970 (included) - 2026 (excluded).
+
+ * adaint.h, adaint.c (__gnat_set_executable): New function.
+
+2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
+ and pop GC context.
+ (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
+ (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
+ (tree_transform, case N_Procedure_Call_Statement): Build a tree.
+ (tree_transform, case N_Code_Statement): Likewise.
+ (gnat_expand_stmt, case LABEL_STMT): Don't look at
+ LABEL_STMT_FIRST_IN_EH.
+ (gnat_expand_stmt, case ASM_STMT): New case.
+
+ * utils2.c (build_unary_op): Properly set TREE_READONLY of
+ UNCONSTRAINED_ARRAY_REF.
+
+ * utils.c (poplevel): Temporarily push/pop GC context around inline
+ function expansion.
+
+ * decl.c (maybe_variable): Properly set TREE_READONLY of
+ UNCONSTRAINED_ARRAY_REF.
+ (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
+
+ * ada-tree.def: (ASM_STMT): New.
+
+ * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
+ (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
+ ASM_STMT_INPUT): New.
+ (ASM_STMT_CLOBBER): Likewise.
+
+2004-04-19 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
+ general rcheck mechanism to raise Program_Error for E.4(18), instead
+ of a custom raiser in System.Partition_Interface.
+ Part of general cleanup work before PolyORB integration.
+
+ * snames.ads, snames.adb: Add new runtime library entities and names
+ for PolyORB DSA.
+
+ * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+ exp_dist.
+ (Build_Subprogram_Id): New subprogram provided by exp_dist
+ Code reorganisation in preparation for PolyORB integration.
+
+ * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+ exp_dist.
+ (Build_Subprogram_Id): New subprogram provided by exp_dist
+
+ * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
+ actual parameter types for call to dereference of an
+ access-to-subprogram type.
+
+ * rtsfind.ads: Add new runtime library entities and names for PolyORB
+ DSA.
+
+ * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
+ instead, which has the same behaviour here since we never pass it a
+ NULL pointer.
+
+ * link.c (run_path_option, Solaris case): Use -Wl, as for other
+ platforms.
+
+ * Makefile.in: adjust object file lists for gnatlink and gnatmake
+ to account for new dependency upon Interfaces.C.Strings + link.o
+ For x86 FreeBSD, use 86numaux.
+
+ * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
+ from Mlib.Tgt to Mlib.
+
+ * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
+ target-independent.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
+ target-specific versions of this subprogram, now implemented as a
+ target-independent function in Mlib.
+
+ * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
+ (Linker_Library_Path_Option): Remove target-specific versions of this
+ subprogram, now implemented as a target-independent function in Mlib.
+
+ * atree.adb: (Allocate_Initialize_Node): New subprogram.
+ Factors out node table slots allocation.
+ (Fix_Parents): New subprogram.
+ Encapsulate the pattern of fixing up parent pointers for syntactic
+ children of a rewritten node.
+ (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
+ (Rewrite): Use New_Copy when creating saved copy of original node.
+ (Replace): Use Copy_Node to copy nodes.
+
+2004-04-19 Javier Miranda <miranda@gnat.com>
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new
+ Access_To_Subprogram node available in Access_Definition nodes. In
+ addition, give support to the AI-231 node fields: null-exclusion,
+ all-present, constant-present.
+
+ * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
+
+ * sinfo.ads, sinfo.adb:
+ New field Access_To_Subprogram_Definition in Access_Definition nodes
+
+ * sem_ch6.adb (Process_Formals): Move here the code that creates and
+ decorates internal subtype declaration corresponding to the
+ null-excluding formal. This code was previously in Set_Actual_Subtypes.
+ In addition, carry out some code cleanup on this code. In case of
+ access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+ (Set_Actual_Subtypes): Code cleanup.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
+ Find_Type in case of anonymous access renamings. Add warning in case of
+ null-excluding attribute used in anonymous access renaming.
+
+ * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ subprogram
+
+ * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ subprogram.
+ (Access_Definition): In case of anonymous access to subprograms call
+ the corresponding semantic routine to decorate the node.
+ (Access_Subprogram_Declaration): Addition of some comments indicating
+ some code that probably should be added here. Detected by comparison
+ with the access_definition subprogram.
+ (Analyze_Component_Declaration): In case of access to protected
+ subprogram call Replace_Anonymous_Access_To_Protected.
+ (Array_Type_Declaration): In case of access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+ (Process_Discriminants): In case of access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+
+ * par.adb (P_Access_Definition): New formal that indicates if the
+ null-exclusion part was present.
+ (P_Access_Type_Definition): New formal that indicates if the caller has
+ already parsed the null-excluding part.
+
+ * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
+ (P_Identifier_Declarations): Code cleanup and give support to renamings
+ of anonymous access to subprogram types.
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
+ (P_Array_Type_Definition): Give support to AI-254.
+ (P_Component_Items): Give support to AI-254.
+ (P_Access_Definition): New formal that indicates if the header was
+ already parsed by the caller.
+ (P_Access_Type_Definition): New formal that indicates if the caller has
+ already parsed the null-excluding part.
+
+ * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
+ call to P_Access_Definition.
+
+2004-04-19 Geert Bosch <bosch@gnat.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
+ the delicate semantics of floating-point to integer conversion.
+ (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
+
+ * eval_fat.adb (Machine_Mantissa): Moved to spec.
+ (Machine_Radix): New function.
+
+ * eval_fat.ads (Machine_Mantissa): Moved from body for use in
+ conversion checks.
+ (Machine_Radix): New function also for use in conversion checks.
+
+2004-04-19 Ed Schonberg <schonberg@gnat.com>
+
+ * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
+
+ * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
+ to decorate the access-to-protected subprogram and the equivalent type.
+
+ * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
+ to anonymous access to subprogram types.
+
+ * exp_ch4.adb (Expand_N_In): Preserve Static flag before
+ constant-folding, for legality checks in contexts that require an RM
+ static expression.
+
+ * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
+ temporary but stack checking is not enabled, increment serial number
+ to so that symbol generation is consistent with and without stack
+ checking.
+
+ * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
+ independent on whether stack checking is enabled, caller must check
+ the corresponding flag.
+
+ * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
+ range checks.
+ (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
+ parent if it has discriminants.
+ (Build_Derived_Private_Type): Constructed full view does
+ not come from source.
+ (Process_Discriminants): Default discriminants on a tagged type are
+ legal if this is the internal completion of a private untagged
+ derivation.
+
+ * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
+ no constraint checks, because it corresponds to an existing object.
+
+ * sem_prag.adb (Process_Convention): Pragma applies
+ only to subprograms in the same declarative part, i.e. the same unit,
+ not the same scope.
+
+ * sem_res.adb (Valid_Conversion): In an instance or inlined body,
+ ignore type mismatch on a numeric conversion if expression comes from
+ expansion.
+
+2004-04-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
+ Homonym_Number parameter, add processing for Source_Location parameter
+ corresponding.
+ (Check_Eliminated): Remove the check for homonym numbers, add the check
+ for source location traces.
+
+ * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
+ with Arg_Source_Location corresponding to the changes in the format of
+ the pragma.
+
+ * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
+ Eliminate pragma corresponding to the changes in the format of the
+ pragma: Homonym_Number is replaced with Source_Location, two ways of
+ distinguishing homonyms are mutially-exclusive.
+
+2004-04-19 Joel Brobecker <brobecker@gnat.com>
+
+ * get_targ.ads (Get_No_Dollar_In_Label): Remove.
+
+ * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
+ No_Dollar_In_Label, no longer necessary, as it is always True.
+ (Strip_Suffixes): Likewise.
+
+2004-04-19 Gary Dismukes <dismukes@gnat.com>
+
+ * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
+ modulus for compatibility with size clause on targets with 16-bit
+ Integer.
+
+ * layout.adb (Discrimify): In the case of private types, set Vtyp to
+ full type to fix type mismatches on calls to size functions for
+ discriminant-dependent array components.
+
+2004-04-19 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
+ lib.
+
+2004-04-19 Pascal Obry <obry@gnat.com>
+
+ * mdll-utl.adb (Locate): New version is idempotent.
+
+2004-04-17 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/14988 (partial)
+ * impunit.adb: Fix typo.
+
+2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
+ and install-rts-cert targets. Remove all gnatlib and gnattools
+ targets and all other rts-* targets (moved to libada). Remove (now)
+ unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
+ TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
+
+2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform): Shortcut returning error_mark_node for
+ statements in annotate_only_mode.
+ (tree_transform, case N_Label, case N_Return_Statement,
+ N_Goto_Statement): Make statement tree instead of generating code.
+ (tree_transform, case N_Assignment_Statement): No longer check
+ type_annotate_only.
+ (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
+ RETURN_STMT): New.
+ (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
+ New fcns.
+ (gnat_to_gnu): Collect any RTL generated and deal with it.
+ (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
+ (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
+ (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
+
+ * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
+
+ * ada-tree.def (EXPR_STMT): Fix typo in name.
+ (BLOCK_STMT, IF_STMT): New nodes.
+
+ * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
+ LABEL_STMT_FIRST_IN_EH): New macros.
+ (RETURN_STMT_EXPR): Likewise.
+
+ * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
+ IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
+
+2004-04-08 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.ads: Correct documentation on extended nodes.
+
+ * link.c: Set run_path_option for FreeBSD.
+
+2004-04-08 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
+ one of the ALI file, do not link with DEC lib.
+
+ * par.adb Remove the last two characters ("%s" or "%b") when checking
+ if a language defined unit may be recompiled.
+
+2004-04-08 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
+ removal of abstract operation leaves no possible interpretation for
+ expression.
+
+ * sem_eval.adb (Eval_Qualified_Expression): Use
+ Set_Raises_Constraint_Error on node when needed, so that it does not
+ get optimized away by subsequent optimizations.
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
+ operands even when they are not wrapped in a type conversion.
+
+2004-04-08 Olivier Hainque <hainque@act-europe.fr>
+
+ * sem_prag.adb (Set_Exported): Warn about making static as result of
+ export only when the export is coming from source. This may be not
+ be true e.g. on VMS where we expand export pragmas for exception codes
+ together with imported or exported exceptions, and we don't want the
+ user to be warned about something he didn't write.
+
+2004-04-08 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
+ duplication between normal entities and those declared as renamings.
+ No functional change.
+
+ * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
+ inline functions returning an unconstrained result.
+
+2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
+ conform to what other front-ends do.
+
+2004-04-08 Doug Rupp <rupp@gnat.com>
+
+ * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
+ libraries.
+
+2004-04-06 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
+
+ * osint.adb (Program_Name): Do not look past a directory separator.
+
+2004-04-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
+
+ * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
+ requirement for preserving a copy of the original assignment node.
+
+ * sinfo.ads: Update comment (Original_Tree -> Original_Node).
+
+2004-04-06 Olivier Hainque <hainque@act-europe.fr>
+
+ (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
+ when supported.
+
+2004-04-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
+ operator calls in functional notation, and apply
+ Universal_Interpretation to operands, not to their type.
+
+2004-04-06 Robert Dewar <dewar@gnat.com>
+
+ * 5wdirval.adb: Minor reformatting
+
+2004-04-06 Ed Falis <falis@gnat.com>
+
+ * gnat_rm.texi: Improve a reference to the GCC manual
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ * adaint.h, adaint.c: Add function __gnat_named_file_length
+
+ * impunit.adb: Add Ada.Directories to the list
+
+ * Makefile.in: Add VMS and Windows versions of
+ Ada.Directories.Validity package body.
+
+ * Makefile.rtl: Add a-direct and a-dirval
+
+ * mlib-tgt.ads: Minor comment update.
+
+ * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
+ a-direct.ads, a-direct.adb: New files.
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ PR ada/13620
+ * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
+ just to the compiler.
+
+2004-04-05 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb (Exception_Name_Simple): Make sure lower bound of
+ returned string is 1.
+
+ * ali-util.adb: Use proper specific form for Warnings (Off, entity)
+
+ * eval_fat.ads: Minor reformatting
+
+ * g-curexc.ads: Document that lower bound of returned string values
+ is always one.
+
+ * gnatlink.adb: Add ??? comment for previous change
+ (need to document why this is VMS specific)
+
+ * s-stoele.ads: Minor reformatting
+
+ * tbuild.ads: Minor reformatting throughout (new function specs)
+
+ * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
+ after WITH.
+
+ * scng.adb: Minor reformatting
+
+2004-04-05 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
+ (Leading_Part): Still perform truncation to machine number if the
+ specified radix_digits is greater or equal to machine_mantissa.
+
+2004-04-05 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb: Complete documentation of previous change
+ Correct wrong syntax documentation of the OBJECT_DECLARATION rule
+ (aliased must appear before constant).
+
+ * par-ch4.adb: Complete documentation of previous change.
+
+ * par-ch6.adb: Complete documentation of previous change.
+
+ * sinfo.ads: Fix typo in commment.
+
+2004-04-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Inherit_Components): If derived type is private and has
+ stored discriminants, use its discriminants to constrain parent type,
+ as is done for non-private derived record types.
+
+ * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
+ Ada 2005 AI-310: an abstract non-dispatching operation is not a
+ candidate interpretation in an overloaded call.
+
+ * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
+ expression is Null and target type is not an access type (e.g. a
+ non-private address type).
+
+2004-04-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
+ statement whose right-hand side is an inlined call, save a copy of the
+ original assignment subtree to preserve enough consistency for
+ Analyze_Assignment to proceed.
+
+ * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
+ complete assignment subtree which is now unnecessary, as the expansion
+ of inlined call has been improved to preserve a consistent assignment
+ tree. Note_Possible_Modification must be called only
+ after checks have been applied, or else unnecessary checks will
+ be generated.
+
+ * sem_util.adb (Note_Possible_Modification): Reorganise the handling
+ of explicit dereferences that do not Come_From_Source:
+ - be selective on cases where we must go back to the dereferenced
+ pointer (an assignment to an implicit dereference must not be
+ recorded as modifying the pointer);
+ - do not rely on Original_Node being present (Analyze_Assignment
+ calls Note_Possible_Modification on a copied tree).
+
+ * sem_warn.adb (Check_References): When an unset reference to a pointer
+ that is never assigned is encountered, prefer '<pointer> may be null'
+ warning over '<pointer> is never assigned a value'.
+
+2004-04-05 Ramon Fernandez <fernandez@gnat.com>
+
+ * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
+ the ABI.
+
+2004-04-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
+ libexc. We currently don't reference anything in this library and
+ linking it in triggers linker warnings we don't want to see.
+
+ * init.c: Update comments.
+
+2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
+ * utils.c (create_field_decl): Likewise.
+ * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
+
+2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
+ Replace ifinfo by ifnottex, to make makeinfo --html happy again.
+ Add info directory entry and category.
+
+2004-04-02 Jan Hubicka <jh@suse.cz>
+
+ * utils.c: Include function.h
+ (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/14150
+ * Make-lang.in: Clean up generation of documentation
+
+ * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
+
+ * xgnatug.adb: Removed, replaced by xgnatugn.adb
+
+ * xgnatugn.adb: Replaces xgnatug.adb
+
+ * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
+
+ * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Removed.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils2.c: Update copyright notice.
+
+2004-04-01 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb: Minor reformatting throughout
+ Note that prev checkin added RM reference to alignment warning
+
+2004-04-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Get_Component_Val): Treat a string literal as
+ non-static when building aggregate for bit-packed array.
+
+ * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
+ function call that is itself the actual in a procedure call, build
+ temporary for it.
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
+ a string literal, create a temporary for it, constant folding only
+ handles scalars here.
+
+2004-04-01 Vincent Celier <celier@gnat.com>
+
+ * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
+ Error_Msg_SP): New empty procedures to instantiate the Scanner.
+ (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
+ tokens.
+ (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
+ (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
+ and get the checksum.
+
+ * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
+ already in the Q.
+ Increase the Marking_Label at the end of the Multiple_Main_Loop,
+ instead of at the beginning.
+
+ * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
+ directly.
+ (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
+ on VMS.
+
+ * osint.ads (Multi_Unit_Index_Character): New Character global variable
+
+ * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
+ not '~' directly.
+
+ * par.adb: Remove test on file name to detect language defined units.
+ Add test on unit name, after parsing, to detect language defined units
+ that are not compiled with -gnatg (except System.RPC and its children)
+
+ * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
+ following units without style checking.
+
+ * switch-c.adb: Change -gnatC to -gnateI
+
+ * usage.adb: Document new switch -gnateInnn
+
+ * scng.adb (Accumulate_Token_Checksum): New procedure
+ (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
+ word or literal number.
+ (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
+ numbers.
+
+2004-04-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-tasatt.adb,
+ g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
+ switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
+ 5vtpopde.adb: Add missing 'constant' keywords.
+
+2004-04-01 Javier Miranda <miranda@gnat.com>
+
+ * par-ch4.adb: (P_Allocator): Code cleanup
+
+ * sem_ch3.adb (Access_Definition): Properly set the null-excluding
+ attribute.
+
+ * sinfo.ads: Complete documentation of previous change
+
+2004-04-01 Pascal Obry <obry@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
+ only on VMS. This special handling was done because an old GNU/ld bug
+ on Windows which has been fixed.
+
+2004-04-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, make_type_from_size):
+ Use TYPE_UNSIGNED, not TREE_UNSIGNED.
+ * trans.c (tree_transform, convert_with_check): Likewise.
+ * utils.c (gnat_signed_or_unsigned_type): Likewise.
+ (build_vms_descriptor, unchecked_convert): Likewise.
+ * utils2.c (nonbinary_modular_operation): Likewise.
+
+2004-03-29 Javier Miranda <miranda@gnat.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): New subprogram
+ (Install_Null_Excluding_Check): Local subprogram that determines whether
+ an access node requires a runtime access check and if so inserts the
+ appropriate run-time check.
+ (Apply_Access_Check): Call Install_Null_Excluding check if required
+ (Apply_Constraint_Check): Call Install_Null_Excluding check if required
+
+ * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
+
+ * einfo.ads: Fix typo in comment
+
+ * exp_ch3.adb (Build_Assignment): Generate conversion to the
+ null-excluding type to force the corresponding run-time check.
+ (Expand_N_Object_Declaration): Generate conversion to the null-excluding
+ type to force the corresponding run-time check.
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
+ the null-excluding type to force the corresponding run-time check.
+
+ * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
+ case of access types unless they have the null-excluding attribute.
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
+ part.
+
+ * exp_util.ads: Fix typo in comment
+
+ * par.adb (P_Null_Exclusion): New subprogram
+ (P_Subtype_Indication): New formal that indicates if the null-excluding
+ part has been scanned-out and it was present
+
+ * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
+
+ * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
+ (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
+ type to force the corresponding run-time check
+ (Resolve_Aggregate): Propagate the null-excluding attribute to the array
+ components
+ (Resolve_Array_Aggregate): Carry out some static checks
+ (Resolve_Record_Aggregate.Get_Value): Carry out some static check
+
+ * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
+ attribute must be set only if specified by means of the null-excluding
+ part. In addition, we must also propagate the access-constant attribute
+ if present.
+ (Access_Subprogram_Declaration, Access_Type_Declaration,
+ Analyze_Component_Declaration, Analyze_Object_Declaration,
+ Array_Type_Declaration, Process_Discriminants,
+ Analyze_Subtype_Declaration): Propagate the null-excluding attribute
+ and carry out some static checks.
+ (Build_Derived_Access_Type): Set the null-excluding attribute
+ (Derived_Type_Declaration, Process_Subtype): Carry out some static
+ checks.
+
+ * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
+
+ * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
+
+ * sem_ch6.adb (Process_Formals): Carry out some static checks.
+ (Set_Actual_Subtypes): Generate null-excluding subtype if the
+ null-excluding part was present; it is not required to be done here in
+ case of anonymous access types.
+ (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
+ value.
+
+ * sem_res.adb (Resolve_Actuals): Carry out some static check
+ (Resolve_Null): Allow null in anonymous access
+
+ * sinfo.adb: New subprogram Null_Exclusion_Present
+ All_Present and Constant_Present available on access_definition nodes
+
+ * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
+ object_declaration, derived_type_definition, component_definition,
+ discriminant_specification, access_to_object_definition,
+ access_function_definition, allocator, access_procedure_definition,
+ access_definition, parameter_specification, All_Present and
+ Constant_Present flags available on access_definition nodes.
+
+2004-03-29 Robert Dewar <dewar@gnat.com>
+
+ * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+ gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
+ opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
+ par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
+ sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
+ sem_prag.adb: Updates to handle multiple units/file
+
+ * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
+
+ * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
+ sem_util.adb: Minor reformatting
+
+ * sem_ch12.adb: Add comment for previous change
+
+2004-03-29 Laurent Pautet <pautet@act-europe.fr>
+
+ * osint.adb (Executable_Prefix): Set Exec_Name to the current
+ executable name when not initialized. Otherwise, use its current value.
+
+ * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
+ initialize it to another executable name than the current one. This
+ allows to configure paths for an executable name (gnatmake) different
+ from the current one (gnatdist).
+
+2004-03-29 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): A call to a function declared in the
+ current unit cannot be inlined if it appears in the body of a withed
+ unit, to avoid order of elaboration problems in gigi.
+
+ * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
+ information for protected (wrapper) operation as well, to simplify gdb
+ use.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
+ protected body, indicate that the entity for the generated spec comes
+ from source, to ensure that references are properly generated for it.
+ (Build_Body_To_Inline): Do not inline a function that returns a
+ controlled type.
+
+ * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
+ apply convention to homonyms that are declared explicitly.
+
+ * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
+ that renames an equality operator and the operands are overloaded,
+ resolve them with the declared formal types, before rewriting as an
+ operator.
+
+2004-03-29 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb: Log realloc calls, which are treated as free followed
+ by alloc.
+
+2004-03-25 Vincent Celier <celier@gnat.com>
+
+ * prj-makr.adb (Process_Directories): Detect when a file contains
+ several units. Do not include such files in the config pragmas or
+ in the naming scheme.
+
+ * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
+ Resolve links only when not in Trusted_Mode.
+ (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
+ Do not resolve links for the display names.
+
+ * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
+ resolve links when computing the display names.
+
+2004-03-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
+ attribute reference does not denote a subtype, it can be any
+ expression that has a classwide type, potentially after an implicit
+ dereference. In particular, the prefix can be a view conversion for
+ a classwide type (for which Is_Object_Reference holds), but it can
+ also be a value conversion for an access-to-classwide type. In the
+ latter case, there is an implicit dereference, and the original node
+ for the prefix does not verify Is_Object_Reference.
+
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
+ conversion of a discriminant-dependent component of a mutable object
+ is one itself.
+
+2004-03-25 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): When an inherited subprogram is
+ inherited, has convention C, and has unconstrained array parameters,
+ place the corresponding warning on the derived type declaration rather
+ than the original subprogram.
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
+ indication on renaming declaration, if formal has a box and actual
+ is absent.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
+ determine whether to generate an implicit or explicit reference to
+ the renamed entity.
+
+ * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
+ subprogram renaming comes from a defaulted formal subprogram in an
+ instance.
+
+2004-03-25 Gary Dismukes <dismukes@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
+ value expressions to ensure that calls within a component definition
+ will be checked (since those are evaluated during the record type's
+ elaboration).
+
+2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-tpobop.adb: Code clean up:
+ (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
+ code.
+ (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
+
+2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Clean up in the ravenscar run time.
+
+2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
+ of No_Strict_Aliasing to build_pointer_type_for_mode.
+ * utils.c (update_pointer_to): Walk pointer and ref chains.
+
+2004-03-22 Cyrille Comar <comar@act-europe.fr>
+
+ * ali.ads: Fix Comment about Dynamic_Elab.
+
+ * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
+ Has_RACW, Is_Generic, etc.)
+ (Output_Object, Gnatls): Take into account ALI files not attached to
+ an object.
+
+2004-03-22 Vincent Celier <celier@gnat.com>
+
+ * gprep.adb: Change all String_Access to Name_Id
+ (Is_ASCII_Letter): new function
+ (Double_File_Name_Buffer): New procedure
+ (Preprocess_Infile_Name): New procedure
+ (Process_Files): New procedure
+ (Gnatprep): Check if output and input are existing directories.
+ Call Process_Files to do the real job.
+
+2004-03-22 Robert Dewar <dewar@gnat.com>
+
+ * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
+ s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
+
+2004-03-22 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Contains): Add check for EOF, is needed for a degenerated
+ case when the source contains only comments.
+
+2004-03-22 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
+ declaration for a child subprogram body that acts as a spec, indicate
+ that the entity in the declaration needs debugging information.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
+ full view if the subtype is created for a constrained record component;
+ gigi has enough information to construct the record, and there is no
+ place in the tree for the declaration.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
+ serial number for the dummy body that is built for analysis, to avoid
+ inconsistencies in the generation of internal names when compiling
+ with -gnatN.
+
+2004-03-22 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Is_Object_Reference): A view conversion denotes an
+ object.
+
+2004-03-22 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ * trans.c (tree_transform, emit_index_check): Likewise.
+ * utils.c (build_template): Likewise.
+ (max_size, convert): Remove handling of WITH_RECORD_EXPR.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+ * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
+ (build_unary_op): Likewise.
+ (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ (fill_vms_descriptor): Likewise.
+ (build_call_alloc_dealloc): Likewise.
+ ALIGN is unsigned.
+ * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
+
+2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR other/14630
+ * gnat_ug.texi: Add info directory category and entry.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * ada-tree.h: Update copyright notice.
+ Minor reformatting.
+
+2004-03-19 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
+ as regular exception objects and not as mere integers representing the
+ condition code. The latter approach required some dynamics to mask off
+ severity bits, which did not fit well into the GCC table based model.
+ (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
+ exception data objects. We don't it and it would conflict with the other
+ external symbol we have to generate for such exceptions.
+
+ * trans.c (tree_transform, case N_Exception_Handler): Remove part of
+ the special code for VMS exceptions, since these are now represented
+ as regular exceptions objects.
+
+2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (debug_no_type_hash): Remove.
+ (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
+ * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
+
+2004-03-19 Laurent Guerby <laurent@guerby.net>
+
+ * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
+ aggregate, allows bootstrap from 3.3 on powerpc-darwin.
+
+2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
+ (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
+ (TYPE_RM_SIZE_INT): Directly use type.values.
+ (TREE_LOOP_ID): Clean up check.
+ * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
+ TYPE_VALUES, not TYPE_FIELDS.
+ * trans.c (convert_with_check): Delay access of bounds of basetype
+ until sure is numeric.
+
+2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
+
+ Code clean up:
+ * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
+ 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
+ Specific.Set instead of direct call to e.g pthread_setspecific.
+
+2004-03-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: Update comments.
+
+ * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
+ GNATLIB_SHARED for FreeBSD.
+
+2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
+
+ * init.c [VxWorks]: Do not fix the stack size for the environment task.
+ When needed (stack checking) the stack size is retrieved
+ from the VxWorks kernel.
+
+ * Makefile.in: Flag -nostdinc is required when building the run time
+ for avoiding looking for files in the base compiler.
+ Add the VxWorks specific version of the package body for
+ System.Stack_checking.Operations (5zstchop.adb).
+
+ * Make-lang.in: Add the object file for
+ System.Stack_Checking.Operations.
+
+ * Makefile.rtl: Add object file for the package
+ System.Stack_Checking.Operations.
+
+ * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
+
+ * s-stache.ads, s-stache.adb: Move the operations related to stack
+ checking from this package to package System.Stack_Checking.Operations.
+ This way, stack checking operations are only linked in the final
+ executable when using the -fstack-check flag.
+
+2004-03-18 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
+ Reorganize ifeq's.
+
+ * 5qsystem.ads, 5xcrtl.ads: New files.
+
+2004-03-18 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Reset): Reset hash table Files_Htable
+
+ * prj-env.adb (Source_Paths, Object_Paths): New tables.
+ (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
+ the procedures Add_To_Path_File.
+ (Set_Ada_Paths): Accumulate source and object dirs in the tables,
+ making sure that each directory is present only once and, for object
+ dirs, when a directory already present is added, the duplicate is
+ removed and the directory is always put as the last in the table.
+ Write the path files at the end of these accumulations.
+
+ * prj-nmsc.adb (Record_Source): Add source file name in hash table
+ Files_Htable for all sources.
+
+ * prj-proc.adb (Process): Remove restrictions between not directly
+ related extending projects.
+
+2004-03-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
+ (Find_Sources): Minor speed optimization.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
+ parameter Trusted_Mode.
+
+2004-03-18 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Determine_License): Take into account a degenerated case
+ when the source contains only comments.
+
+2004-03-18 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_warn.adb (Check_References): For a warning on a selected
+ component that does not come from source, locate an uninitialized
+ component of the record type to produce a more precise error message.
+
+2004-03-15 Jerome Guitton <guitton@act-europe.fr>
+
+ * 3zsoccon.ads: Fix multicast options.
+
+ * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
+ in the spec.
+
+2004-03-15 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
+ pragma used for a private type.
+
+ * lib-xref.adb (Generate_Reference): Do not generate warning if
+ reference is in a different unit from the pragma Unreferenced.
+
+ * 5vtpopde.adb: Minor reformatting
+ Fix casing of To_Task_ID
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
+ flag if we have an unchecked conversion to an access type in the same
+ unit.
+
+2004-03-15 Geert Bosch <bosch@gnat.com>
+
+ * a-ngcoty.adb (Modulus): In alternate formula for large real or
+ imaginary parts, use Double precision throughout.
+
+ * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
+ we want to be able to compile run-time with -gnata for testing, but
+ this may also be instantiated in user code that is compiled with -gnata.
+
+2004-03-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-stalib.ads (Exception_Code): New type, to represent Import/Export
+ codes. Having a separate type for this is useful to enforce consistency
+ throughout the various run-time units.
+ (Exception_Data): Use Exception_Code for Import_Code.
+
+ * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
+ Natural and Integer in various places.
+ (Register_VMS_Exception): Use Base_Code_In to compute the exception code
+ with the severity bits masked off.
+ (Register_VMS_Exception): Handle the additional exception data pointer
+ argument.
+
+ * raise.c (_GNAT_Exception structure): Remove the handled_by_others
+ component, now reflected by an exported accessor.
+ (is_handled_by): New routine to compute whether the propagated
+ occurrence matches some handler choice specification. Extracted out of
+ get_action_description_for, and expanded to take care of the VMS
+ specifities.
+ (get_action_description_for): Use is_handled_by instead of an explicit
+ complex condition to decide if the current choice at hand catches the
+ propagated occurrence.
+
+ * raise.h (Exception_Code): New type for C.
+
+ * rtsfind.ads (RE_Id, RE_Unit_Table): Add
+ System.Standard_Library.Exception_Code, to allow references from the
+ pragma import/export expander.
+
+ * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
+ New accessors to allow easy access to GNAT exception data
+ characteristics.
+ (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
+ redundant Handled_By_Others component, helper for the personality
+ routine which will now be able to call the appropriate exception data
+ accessor instead.
+
+ * cstand.adb (Create_Standard): Adjust the type of the Import_Code
+ component of Standard_Exception_Type to be the closest possible to
+ Exception_Code in System.Standard_Library, that we cannot get at this
+ point. Expand a ??? comment to notify that this type node should
+ probably be rewritten later on.
+
+ * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
+ registration call to include a pointer to the exception object in the
+ arguments.
+
+ * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
+ instead of int and explicit bitmasks.
+
+2004-03-15 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
+ equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
+
+ * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
+ longer needed now that it is in the spec of
+ System.Tasking.Task_Attributes.
+
+ * adaint.h, adaint.c: (__gnat_create_output_file): New function
+
+ * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
+
+ * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
+
+ * make.adb (Gnatmake): Do not check the executable suffix; it is being
+ taken care of in Scan_Make_Arg.
+ (Scan_Make_Arg): Add the executable suffix only if the argument
+ following -o, in canonical case, does not end with the executable
+ suffix. When in verbose mode and executable file name does not end
+ with executable suffix, output the executable name, in canonical case.
+
+ * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
+ to avoid warnings when instantiating Ada.Task_Attributes.
+ Minor reformating.
+
+ * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
+ in the correct order.
+
+ * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
+ redirect standard output and error to a file for the invocation of the
+ compiler, then read the file.
+
+ * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
+ directory, instead of the Value.
+ (Find_Source_Dirs): Remove useless code & comments.
+
+2004-03-15 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
+ tagged type is inherited, and the parent operation is not frozen yet,
+ force generation of a freeze node for the inherited operation, so the
+ corresponding dispatch entry is properly initialized.
+ (Make_Predefined_Primitive_Specs): Check that return type is Boolean
+ when looking for user-defined equality operation.
+
+ * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
+ boolean when locating primitive equality of tagged component.
+
+ * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
+ bit-aligned field and the right-hand side a string literal, introduce
+ a temporary before expanding assignment into a loop.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
+ priority in full, to ensure that any expanded subepxressions of it are
+ elaborated in the scope of the init_proc.
+
+ * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
+ after object declaration, skipping over code that may have been
+ generated for validity checks.
+
+ * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
+ discriminants, ignore the known discriminants of its full view, if
+ any, to check legality.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
+ component if type has unknown discriminants.
+ (Analyze_Private_Extension_Declaration): Discriminant constraint is
+ null if type has unknown discriminants.
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
+ for end label when present.
+
+ * s-fileio.adb (Open): When called with a C_Stream, use given name for
+ temporary file, rather than an empty string.
+
+2004-03-15 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Removed, no longer used.
+
+2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (target.h): Now include.
+ (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
+ in new build_pointer_from_mode calls for non-fat/non-thin pointer.
+ (validate_size): For POINTER_TYPE, get smallest size permitted on
+ machine.
+
+ * fe.h: Sort Einfo decls and add Set_Mechanism.
+
+ * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
+ (ada/decl.o): Depends on target.h.
+
+ * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
+ FUNCTION_BOUNDARY; always use TYPE_ALIGN.
+
+2004-03-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
+ Insert_Dereference_Action when rewriting an implicit dereference into
+ an explicit one, this will be taken care of during expansion of the
+ explicit dereference.
+ (Expand_N_Slice): Same. Always do the rewriting, even for the case
+ of non-packed slices, since the dereference action generated by
+ expansion of the explicit dereference is needed in any case.
+ (Expand_N_Selected_Component): When rewriting an implicit dereference,
+ analyze and resolve the rewritten explicit dereference so it is seen
+ by the expander.
+ (Insert_Dereference_Action): This procedure is now called only for the
+ expansion of an N_Explcit_Dereference_Node. Do insert a check even for
+ dereferences that do not come from source (including explicit
+ dereferences resulting from rewriting implicit ones), but do not
+ recursively insert a check for the dereference nodes contained within
+ the check.
+ (Insert_Dereference_Action): Clarify and correct comment.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * config-lang.in: Build by default.
+
+2004-03-05 Robert Dewar <dewar@gnat.com>
+
+ * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
+
+ * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
+ i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
+ 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
+ 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
+ unchecked conversion to spec to avoid warnings.
+
+ * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
+ to Task_ID
+
+ * 7stpopsp.adb: Correct casing in To_Task_ID call
+
+ * a-strsea.ads, a-strsea.adb: Minor reformatting
+
+ * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
+
+ * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
+ Adjust Max_Msg_Length to be clearly large enough.
+
+ * fe.h: Define In_Same_Source_Unit
+
+ * osint.adb: Add pragma Warnings Off to suppress warnings
+ * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
+ aliasing warnings.
+
+ * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
+
+ * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
+
+ * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
+
+ * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
+
+ * sem_prag.adb: Implement pragma No_Strict_Aliasing.
+
+ * sinfo.ads: Remove obsolete comment on validate unchecked conversion
+ node. We now do generate them for gcc back end.
+
+ * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
+ warning.
+
+ * sinput-c.adb: Fix bad name in header.
+ Add pragma Warnings Off to suppress aliasing warning.
+
+ * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ No_Strict_Aliasing.
+
+2004-03-05 Vincent Celier <celier@gnat.com>
+
+ * prj-com.ads: Add hash table Files_Htable to check when a file name
+ is already a source of another project.
+
+ * prj-nmsc.adb (Record_Source): Before recording a new source, check
+ if its file name is not already a source of another project. Report an
+ error if it is.
+
+ * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
+ source file name, call gnatpp with all the sources of the main project.
+
+ * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
+ of file names.
+
+ * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
+ NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
+ /RUNTIME_SYSTEM=, converted to --RTS=
+ /NOTABS, converted to -notabs
+
+2004-03-05 Pascal Obry <obry@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2004-03-05 Ed Schonberg <schonberg@gnat.com>
+
+ Part of implemention of AI-262.
+ * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
+
+ * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
+ procedure.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
+ when component type is a partially constrained class-wide subtype.
+ (Constrain_Discriminated_Type): If parent type has unknown
+ discriminants, a constraint is illegal, even if full view has
+ discriminants.
+ (Build_Derived_Record_Type): Inherit discriminants when deriving a type
+ with unknown discriminants whose full view is a discriminated record.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
+ flag, to handle properly derivations of tagged types with unknown
+ discriminants.
+ (Analyze_Package_Spec, Analyze_Package_Body): Install
+ Private_With_Clauses before analyzing private part or body.
+
+ * einfo.ads: Indicate that both Has_Unknown_Discriminants and
+ Has_Discriminants can be true for a given type (documentation).
+
+2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-restri.ads: Fix license (GPL->GMGPL).
+
+ * s-tassta.adb: Minor reformatting.
+
+ * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+ * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: Reflect GCC changes to fix bootstrap problem.
+ Add warning for suspicious aliasing unchecked conversion.
+
+2004-03-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-02 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.adb (Read_Instantiation_Instance): Do not modify the
+ current_file_num when reading information about instantiations, since
+ this corrupts files in later references.
+
+2004-03-02 Vincent Celier <celier@gnat.com>
+
+ * bcheck.adb (Check_Consistency): Get the full path of an ALI file
+ before checking if it is read-only.
+
+ * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
+ of SRC_DIRS and eliminate duplicates.
+
+ * gprcmd.adb: Replace command "path" with command "path_sep" to return
+ the path separator.
+ (Usage): Document path_sep
+
+ * Makefile.generic: For Ada and GNU C++ cases, link directly with the
+ C++ compiler. No need for a script.
+ Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
+ Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
+ subst.
+
+ * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
+ where there are Ada sources.
+ (Set_Ada_Paths): Only add to the include path the source dirs of project
+ with Ada sources.
+ (Add_To_Path): Add the Display_Values of the directories, not their
+ Values.
+
+ * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
+ data.
+
+ * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
+ is not No_Name.
+ (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
+ Value is canonicalized.
+ (Language_Independent_Check): Do not copy Value to Display_Value when
+ canonicalizing Value.
+
+ * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
+ path to find limited with cycles.
+ (Parse_Single_Project): Use canonical cased path to find the end of a
+ with cycle.
+
+2004-03-02 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
+ and not a child unit.
+
+ * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
+ appear in a with_clause.
+
+ * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
+ only happen in type_annotate mode, do not try to elaborate it.
+
+ * exp_util.adb (Force_Evaluation): If expression is a selected
+ component on the left of an assignment, use a renaming rather than a
+ temporary to remove side effects.
+
+ * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
+ inlined instance body, which is analyzed before the end of the
+ enclosing scope.
+
+2004-03-02 Robert Dewar <dewar@gnat.com>
+
+ * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
+ sem_ch4.adb: Use new feature for substitution of keywords in VMS
+
+ * errout.ads, errout.adb: Implement new circuit for substitution of
+ keywords in VMS.
+
+ * sem_case.adb (Analyze_Choices): Place message properly when case is
+ a subtype reference rather than an explicit range.
+
+ * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
+
+2004-03-02 Doug Rupp <rupp@gnat.com>
+
+ * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
+
+2004-03-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
+
+2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
+ BLKmode bitfield.
+
+2004-02-25 Robert Dewar <dewar@gnat.com>
+
+ * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
+ 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
+ 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
+ 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
+ the defining instance of the type to avoid aliasing problems.
+ Fix copyright header. Fix bad comments in package header.
+
+ * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
+
+2004-02-25 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch2.adb (Param_Entity): Handle properly formals that have been
+ rewritten as references when aliased through an address clause.
+
+ * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
+ whether call can be interpreted as an indirect call to the result of a
+ parameterless function call returning an access subprogram.
+
+2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ Code clean up:
+ * exp_ch7.adb (Make_Clean): Remove generation of calls to
+ Unlock[_Entries], since this is now done by Service_Entries directly.
+
+ * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
+
+ * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
+ Requeue_Call for better code readability. Change spec and update calls:
+ PO_Service_Entries now unlock the PO on exit.
+ (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
+ PO_Service_Entries.
+
+ * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
+
+ * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
+
+2004-02-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
+ protected subprogram call and analyzing the result of such expanding
+ in case when the called protected subprogram is eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
+ names.
+
+2004-02-25 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2004-02-23 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
+ protected operations if original subprogram is flagged as eliminated.
+ (Expand_N_Subprogram_Body): For a protected operation, create
+ discriminals for next operation before checking whether the operation
+ is eliminated.
+
+ * exp_ch9.adb (Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
+ for internal protected operations if the original subprogram is
+ eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Handle properly protected operations
+ declared in a single protected object.
+
+2004-02-23 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb: Make attribute Builder'Executable an associative array,
+ case insensitive if file names are case insensitive, instead of a
+ standard associative array.
+
+ * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
+ them as case insensitive on platforms where the file names are case
+ sensitive.
+
+ * prj-part.adb (Parse_Single_Project): Make sure, when checking if
+ project file has already been parsed that canonical path are compared.
+
+2004-02-23 Robert Dewar <dewar@gnat.com>
+
+ * sinput-c.ads: Correct bad unit title in header
+
+ * freeze.adb: Minor reformatting
+
+2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Procedure_Call_Statement): For
+ nonaddressable COMPONENT_REF that is removing padding that we are
+ taking the address of, take the address of the padded record instead
+ if item is variable size.
+
+2004-02-20 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
+
+2004-02-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
+ itype references for the constrained designated type of a component
+ whose base type is already frozen.
+
+2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
+ avoid GCC warnings.
+
+2004-02-20 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
+ identifier for a phantom package that rewrites the formal package
+ declaration with a box. The Add semantic decorations for the defining
+ identifier from the original node (that represents the formal package).
+
+2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/stamp-sdefault): Use the top level
+ move-if-change.
+
+2004-02-19 Richard Henderson <rth@redhat.com>
+
+ * misc.c (record_code_position): Add third build arg for RTL_EXPR.
+
+2004-02-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
+ Scan_ALI can be used for multiple ALI files without reinitializing
+ between calls.
+
+2004-02-18 Robert Dewar <dewar@gnat.com>
+
+ * debug.adb: Minor reformatting.
+
+2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
+ to zero if there is an address clause.
+
+2004-02-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
+
+2004-02-18 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb (Layout_Component_List): Revise generation of call to
+ discriminant-checking function to pass selections of all of the type's
+ discriminants rather than just the variant-controlling discriminant.
+
+2004-02-18 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
+ fail in the current setup and triggers spurious system error messages.
+ Pretend it occurred and failed instead.
+
+2004-02-18 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Mark FLDFLAGS as saved
+ (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
+ it is not the root project. Put each directory to be
+ extended between double quotes to prevent it to be expanded on Windows.
+ (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
+ the project file. Set them back to their initial values if they have not
+ been set in the project file.
+
+ * gprcmd.adb: (Gprdebug, Debug): New global variables
+ (Display_Command): New procedure
+ (Usage): Document new command "linkopts"
+ Call Display_Command when env var GPRDEBUG has the value "TRUE"
+ Implement new command "linkopts"
+ Remove quotes that may be around arguments for "extend"
+ Always call Normalize_Pathname with arguments formatted for the platform
+
+ * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
+ Change @echo to @$(display) in target clean to be able to clean silently
+
+ * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
+
+ * prj-part.adb (Project_Path_Name_Of): Do not put final result in
+ canonical case.
+
+ * prj-part.adb (Parse_Single_Project): Always call with From_Extended
+ = Extending_All when current project is an extending all project.
+
+ * vms_conv.adb (Output_File_Expected): New Boolean global variable,
+ set to True only for LINK command, after Unix switch -o.
+ (Process_Arguments): Set Output_File_Expected to True for LINK command
+ after Unix switch -o. When Output_File_Expected is True, never add an
+ extension to a file name.
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
+ option file name, only to the --for-linker= switch.
+ (Option_File_Name): If option file name do not end with ".opt", append
+ "/OPTIONS".
+
+2004-02-18 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (stamp-sdefault): Do not depend on
+ move-if-change.
+
+2004-02-12 Zack Weinberg <zack@codesourcery.com>
+
+ * config-lang.in: Disable Ada by default until probe logic for
+ a bootstrap Ada compiler can be moved to the top level configure
+ script.
+
+2004-02-12 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (components_to_record): Don't claim that the internal fields
+ we make to hold the variant parts are semantically addressable, because
+ they are not.
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
+ adjust the comment describing the modular type form when we can use it.
+ (Install_PAT): Account for the Esiz renaming.
+
+ * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
+ sc_onstack context indication before raising the exception to which
+ the signal is mapped. Allows better handling of later signals possibly
+ triggered by the resumed user code if the exception is handled.
+
+2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5zinit.adb: Removed, no longer used.
+
+2004-02-12 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Remove separating space between parameters on R line. Makes
+ format consistent with format used by the binder for Set_Globals call.
+
+ * atree.ads, atree.adb: Minor reformatting (new function header format)
+
+ * bindgen.adb: Add Run-Time Globals documentation section containing
+ detailed documentation of the globals passed from the binder file to
+ the run time.
+
+ * gnatls.adb: Minor reformatting
+
+ * init.c (__gnat_set_globals): Add note pointing to documentation in
+ bindgen.
+
+ * lib-writ.ads, lib-writ.adb: Remove separating space between
+ parameters on R line.
+ Makes format consistent with format used by the binder for Set_Globals
+ call.
+
+ * osint.ads: Add 2004 to copyright notice
+ Minor reformatting
+
+ * snames.ads: Correct capitalization of FIFO_Within_Priorities
+ Noticed during code reading, documentation issue only
+
+ * usage.adb: Remove junk line for obsolete C switch
+ Noticed during code reading
+
+2004-02-12 Vincent Celier <celier@gnat.com>
+
+ * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
+ extend for each directory, so that multiple /** directories are
+ extended individually.
+ (Recursive_Process): Set the default for LANGUAGES to ada
+
+ * gprcmd.adb: Define new command "ignore", to do nothing.
+ Implement new comment "path".
+
+ * Makefile.generic: Suppress output when SILENT is set
+ Make sure that when compiler for C/C++ is gcc, the correct -x switch is
+ used, so that the correct compiler is invoked.
+ When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
+ CXX_INCLUDE_PATH, to avoid failure with too long command lines.
+
+2004-02-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups and remove obsolete targets.
+
+2004-02-12 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
+ predicate declared in exp_util.
+
+ * exp_util.adb: Add comments.
+
+ * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
+ visibility before compiling context of the subunit.
+
+ * sem_res.adb (Check_Parameterless_Call): If the context expects a
+ value but the name is a procedure, do not attempt to analyze as a call,
+ in order to obtain more telling diagnostics.
+
+ * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
+ 'Access on parameterless function calls.
+ (Normalize_Actuals): For a parameterless function call with missing
+ actuals, defer diagnostic until resolution of enclosing call.
+
+ * sem_util.adb (Wrong_Type): If the context type is an access to
+ subprogram and the expression is a procedure name, suggest a missing
+ 'attribute.
+
+2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
+ Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6637
+ PR ada/5911
+ Merge with libada-branch:
+ * config-lang.in: Build libada only when ada is built.
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
+ for a tagged type, verify that both formals have the same type.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
+ temporary when the formal is an in-parameter and the actual a possibly
+ unaligned slice.
+
+ * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
+ when expansion is disabled, to ensure proper name capture with
+ overloaded literals. Condition can be of any boolean type, resolve
+ accordingly.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
+ renaming is for a formal subprogram with a default operator name, and
+ there is a usable operator that is visible at the point of
+ instantiation.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
+ rewrite to ignore errors in ali files, intended to allow tools downward
+ compatibility with new versions of ali files.
+
+ * ali.ads: Add new parameter Ignore_Errors
+
+ * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
+ duplicating the error message giving the file with restrictions.
+
+ * debug.adb: Add debug flag I for gnatbind
+
+ * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
+ operators for the case where the operator is a defining operator.
+
+ * exp_ch3.adb: Minor reformatting (new function spec format).
+
+ * exp_ch4.adb: Add comment for previous change, and make minor
+ adjustment to loop to always check for improper loop termination.
+ Minor reformatting throughout (new function spec format).
+
+ * gnatbind.adb: Implement -di debug flag for gnatbind
+
+ * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * lib-load.adb: Fix bad assertion.
+ Found by testing and code reading.
+ Minor reformatting.
+
+ * lib-load.ads: Minor reformatting.
+
+ * lib-writ.adb: There is only one R line now.
+
+ * lib-writ.ads: Add documentation on making downward compatible changes
+ to ali files so old tools work with new ali files.
+ There is only one R line now.
+ Add documentation on format incompatibilities (with special GPS note)
+
+ * namet.ads, namet.adb: (Is_Operator_Name): New procedure
+
+ * par-load.adb: Minor reformatting
+
+ * sem_ch8.adb: Fix to error message from last update
+ Minor reformatting and restructuring of code from last update
+
+ * par-prag.adb, snames.adb, snames.ads, snames.h,
+ sem_prag.adb: Implement pragma Profile.
+
+ * stylesw.adb: Implement -gnatyN switch to turn off all style check
+ options.
+
+ * usage.adb: Add line for -gnatyN switch
+
+ * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
+
+2004-02-09 Albert Lee <lee@gnat.com>
+
+ * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
+ slices.
+
+ * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
+ is nested in an instance that is not frozen yet, to avoid
+ order-of-elaboration problems in gigi.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
+ body the attribute is legal.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * s-rident.ads: Minor comment correction
+
+ * targparm.adb: Remove dependence on uintp completely. There was
+ always a bug in Make in that it called Targparm before initializing
+ the Uint package. The old code appeared to get away with this, but
+ the new code did not! This caused an assertion error in gnatmake.
+
+ * targparm.ads: Fix bad comment, restriction pragmas with parameters
+ are indeed fully supported.
+
+2004-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
+ with targetm.calls.promote_prototypes.
+
+2004-02-04 Robert Dewar <dewar@gnat.com>
+
+ * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
+ ali.ads, gprcmd.adb: Minor reformatting
+
+ * bindgen.adb: Output restrictions string for new style restrictions
+ handling
+
+ * impunit.adb: Add s-rident.ads (System.Rident) and
+ s-restri (System.Restrictions)
+
+ * lib-writ.adb: Fix bug in writing restrictions string (last few
+ entries wrong)
+
+ * s-restri.ads, s-restri.adb: Change name Restrictions to
+ Run_Time_Restrictions to avoid conflict with package name.
+ Add circuit to read and acquire run time restrictions.
+
+2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.ads, restrict.adb: Use the new restriction
+ No_Task_Attributes_Package instead of the old No_Task_Attributes.
+
+ * sem_prag.adb: No_Task_Attributes is a synonym of
+ No_Task_Attributes_Package.
+
+ * snames.ads, snames.adb: New entry for proper handling of
+ No_Task_Attributes.
+
+ * s-rident.ads: Adding restriction No_Task_Attributes_Package
+ (AI-00249) that supersedes the GNAT specific restriction
+ No_Task_Attributes.
+
+2004-02-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
+ body, an identifier may be wrapped in an unchecked conversion.
+
+2004-02-04 Vincent Celier <celier@gnat.com>
+
+ * lib-writ.ads: Comment update for the W lines
+
+ * bld.adb: (Expression): An empty string list is static
+
+ * fname-uf.adb: Minor comment update
+
+ * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
+
+ * gnatbind.adb: Initialize Cumulative_Restrictions with the
+ restrictions on the target.
+
+2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
+ gen_rtx.
+
+2004-02-02 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
+
+2004-02-02 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb (Check_Args): If condition is false, print the invoked
+ comment before the usage.
+ Gprcmd: Fail when command is not recognized.
+ (Usage): Document command "prefix"
+
+ * g-md5.adb (Digest): Process last block.
+ (Update): Do not process last block. Store remaining characters and
+ length in Context.
+
+ * g-md5.ads (Update): Document that several call to update are
+ equivalent to one call with the concatenated string.
+ (Context): Add fields to allow new Update behaviour.
+
+ * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
+ defaulted to False.
+ When May_Fail is True and no existing file can be found, return No_File.
+
+ * 6vcstrea.adb: Inlined functions are now wrappers to implementation
+ functions.
+
+ * lib-writ.adb (Write_With_Lines): When body file does not exist, use
+ spec file name instead on the W line.
+
+2004-02-02 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Read and acquire info from new format restrictions lines
+
+ * bcheck.adb: Add circuits for checking restrictions with parameters
+
+ * bindgen.adb: Output dummy restrictions data
+ To be changed later
+
+ * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+ freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
+ sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
+ sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
+
+ * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
+ the warning message on access to possibly uninitialized variable S)
+ Minor changes for new restrictions handling.
+
+ * gnatbind.adb: Minor reformatting
+ Minor changes for new restrictions handling
+ Move circuit for -r processing here from bcheck (cleaner)
+
+ * gnatcmd.adb, gnatlink.adb: Minor reformatting
+
+ * lib-writ.adb: Output new format restrictions lines
+
+ * lib-writ.ads: Document new R format lines for new restrictions
+ handling.
+
+ * s-restri.ads/adb: New files
+
+ * Makefile.rtl: Add entry for s-restri.ads/adb
+
+ * par-ch3.adb: Fix bad error messages starting with upper case letter
+ Minor reformatting
+
+ * restrict.adb: Major rewrite throughout for new restrictions handling
+ Major point is to handle restrictions with parameters
+
+ * restrict.ads: Major changes in interface to handle restrictions with
+ parameters. Also generally simplifies setting of restrictions.
+
+ * snames.ads/adb: New entry for proper handling of No_Requeue
+
+ * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
+ restriction counting.
+ Other minor changes for new restrictions handling
+
+ * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
+ Restriction_Warnings now allows full parameter notation
+ Major rewrite of Restrictions for new restrictions handling
+
+2004-02-02 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
+ syntax rule for object renaming declarations.
+ (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
+ component definitions.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
+ components.
+ (Array_Type_Declaration): Give support to access components. In addition
+ it was also modified to reflect the name of the object in anonymous
+ array types. The old code did not take into account that it is possible
+ to have an unconstrained anonymous array with an initial value.
+ (Check_Or_Process_Discriminants): Allow access discriminant in
+ non-limited types.
+ (Process_Discriminants): Allow access discriminant in non-limited types
+ Initialize the new Access_Definition field in N_Object_Renaming_Decl
+ node. Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
+ equality operators.
+ Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
+ renamings Change Ada0Y to Ada 0Y in comments
+
+ * sem_type.adb (Find_Unique_Type): Give support to the equality
+ operators for universal access types
+ Change Ada0Y to Ada 0Y in comments
+
+ * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
+
+ * sinfo.ads (N_Component_Definition): Addition of Access_Definition
+ field.
+ (N_Object_Renaming_Declaration): Addition of Access_Definition field
+ Change Ada0Y to Ada 0Y in comments
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
+ component definition and object renaming nodes
+ Change Ada0Y to Ada 0Y in comments
+
+2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.adb: Use the new restriction identifier
+ No_Requeue_Statements instead of the old No_Requeue for defining the
+ restricted profile.
+
+ * sem_ch9.adb (Analyze_Requeue): Check the new restriction
+ No_Requeue_Statements.
+
+ * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
+ that supersedes the GNAT specific restriction No_Requeue. The later is
+ kept for backward compatibility.
+
+2004-02-02 Ed Schonberg <schonberg@gnat.com>
+
+ * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
+ 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
+ pragma and fix incorrect ones.
+
+ * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
+ warning if the pragma is redundant.
+
+2004-02-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5staprop.adb: Add missing 'constant' keywords.
+
+ * Makefile.in: use consistent value for SYMLIB on
+ platforms where libaddr2line is supported.
+
+2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (end_subprog_body): Do not call rest_of_compilation if just
+ annotating types.
+
+2004-02-02 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler): Setup an alternate stack for signal
+ handlers in the environment thread. This allows proper propagation of
+ an exception on stack overflows in this thread even when the builtin
+ ABI stack-checking scheme is used without support for a stack reserve
+ region.
+
+ * utils.c (create_field_decl): Augment the head comment about bitfield
+ creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
+ here, because the former is not accurate enough at this point.
+ Let finish_record_type decide instead.
+ Don't make a bitfield if the field is to be addressable.
+ Always set a size for the field if the record is packed, to ensure the
+ checks for bitfield creation are triggered.
+ (finish_record_type): During last pass over the fields, clear
+ DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
+ not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
+ from DECL_BIT_FIELD.
+
+2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
+ (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
+ (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
+
+2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
+
+ * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
+ (ZCX_By_Default): Likewise.
+ (Front_End_ZCX_Support): Likewise.
+
+ * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
+ (Initialize_Lock): Mark Level unreferenced.
+ (Sleep): Mark Reason unreferenced.
+ (Timed_Sleep): Likewise.
+ (Wakeup): Likewise.
+ (Exit_Task): Use Result.
+ (Check_No_Locks): Mark Self_ID unreferenced.
+
+ * 5gtasinf.adb (New_Sproc): Make Attr constant.
+ (Bound_Thread_Attributes): Make Sproc constant.
+ (New_Bound_Thread_Attributes): Likewise.
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
+ one-dimensional array an slice assignments, when component type is
+ controlled.
+
+ * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
+ component type is controlled, and control_actions are in effect, use
+ TSS procedure rather than generating inline code.
+
+ * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
+ arrays with controlled components.
+
+2004-01-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add specification of argument file on the
+ command line for the non VMS case.
+
+ * gnatlink.adb (Process_Binder_File): When building object file, if
+ GNU linker is used, put all object paths between quotes, to prevent ld
+ error when there are unusual characters (such as '!') in the paths.
+
+ * Makefile.generic: When there are sources in Ada and the main is in
+ C/C++, invoke gnatmake with -B, instead of -z.
+
+ * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
+ from VMS_Conversion.
+ (Process_Argument): New procedure, extracted from VMS_Conversion. Add
+ specification of argument file on the command line.
+
+2004-01-26 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * snames.adb: Update copyright notice.
+ Add info on slice assignment for controlled arrays.
+
+2004-01-23 Robert Dewar <dewar@gnat.com>
+
+ * exp_aggr.adb: Minor reformatting
+
+ * exp_ch9.adb: Minor code clean up
+ Minor reformatting
+ Fix bad character in comment
+
+ PR ada/13471
+ * targparm.adb (Get_Target_Parameters): Give clean abort error on
+ unexpected end of file, along with more detailed message.
+
+2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
+ PAT.
+
+ * decl.c (copy_alias_set): New function.
+ (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
+
+2004-01-23 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
+ lib$${file} in case subsequent character is not a separator.
+
+2004-01-23 Vincent Celier <celier@gnat.com>
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
+ when the GCC version is at least 3.
+
+ * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
+ Remove all "Opt.", to prepare for opt split
+
+ * prj-part.adb (Parse_Single_Project): New Boolean out parameter
+ Extends_All. Set to True when the project parsed is an extending all
+ project. Fails for importing an extending all project only when the
+ imported project is an extending all project.
+ (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
+ depending on the value of Extends_All returned.
+
+ * prj-proc.adb (Process): Check that no project shares its object
+ directory with a project that extends it, directly or indirectly,
+ including a virtual project.
+ Check that no project extended by another project shares its object
+ directory with another also extended project.
+
+ * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
+ Kind = N_With_Clause
+
+ * prj-tree.ads: Minor reformatting
+ Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
+
+2004-01-23 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
+ applies to a type with an incomplete view, use full view in Name of
+ clause, for consistency with uses of Get_Attribute_Definition_Clause.
+
+2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
+ SCHED_RR, since other values are not supported by this policy.
+ (Initialize): Move initialization of mutex attribute to package
+ elaboration, to prevent early access to this variable.
+
+ * Makefile.in: Remove mention of Makefile.adalib, unused.
+
+ * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads: Removed, unused.
+
+2004-01-21 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
+ entity if already built in the current scope.
+
+ * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
+ reminder in internal scopes. Required for nested limited aggregates.
+
+2004-01-21 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
+ VMS. Replace all occurences of libgnat- and libgnarl- with
+ libgnat$(hyphen) and libgnarl$(hyphen).
+ Fixed shared library build problem on VMS.
+
+2004-01-21 Robert Dewar <dewar@gnat.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+2004-01-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
+ 'constant' keywords for declaration of pointers that are not modified.
+
+ * exp_pakd.adb: Fix English in comment.
+
+2004-01-21 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/10889
+ * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
+ copy all attributes of the parent, including the foreign language
+ convention.
+
+2004-01-21 Sergey Rybin <rybin@act-europe.fr>
+
+ PR ada/10565
+ * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
+ for 'delay until' statement.
+
+2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Replace $(docdir) with doc.
+ (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
+ doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
+ to use consistent MAKEINFO rule.
+ (ada.man, ada.srcman): Dummy entry.
+ (ADA_INFOFILES): Define.
+ (ada.info, ada.srcinfo): New rules.
+
+2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils.c: Update copyright notice, missed in previous change.
+
+2004-01-19 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
+ args if Bind is True. Set First_ALI, if not already done.
+ (Build_Library): For Stand Alone Libraries, extract from one ALI file
+ an eventual --RTS switch, for gnatbind, and all backend switches +
+ --RTS, for linking.
+
+2004-01-19 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb, memtrack.adb: Minor reformatting
+
+2004-01-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
+ that rename enumeration literals. This is properly done in sem_eval.
+
+ * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
+ to functions that rename enumeration literals.
+
+ * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
+ functions that rename enumeration literals.
+
+2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * Make-lang.in (utils.o): Depend on target.h.
+ * utils.c: Include target.h.
+ (process_attributes): Use targetm.have_named_sections instead
+ of ASM_OUTPUT_SECTION_NAME.
+
+2004-01-16 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Add $(DESTDIR).
+
+2004-01-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
+ also when not defining if a Size clause applies. That information is
+ not to be ignored.
+
+2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
+ symbolic links for the shared gnat run time when needed.
+
+2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
+ for writing, and terminate with an error message if not.
+
+2004-01-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
+ warning on an access to subprogram in an instance, when the target
+ type is declared in the same generic unit.
+ (Eval_Attribute): If 'access is known to fail accessibility check,
+ rewrite as a raise statement.
+
+2004-01-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (ada.srcextra): Dummy entry.
+
+2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
+
+2004-01-13 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
+ components that are initialized with aggregates.
+
+2004-01-13 Vincent Celier <celier@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): To find directory of shared
+ libgcc, if "gcc-lib" is not a subdirectory, look for the last
+ subdirectory "lib" in the path of the shared libgnat or libgnarl.
+
+ * make.adb (Gnatmake): If GCC version is at least 3, link with
+ -shared-libgcc, when there is at least one shared library project.
+
+ * opt.ads (GCC_Version): New integer constant.
+
+ * adaint.c (get_gcc_version): New function.
+
+2004-01-13 Robert Dewar <dewar@gnat.com>
+
+ * sem_dist.adb, sem_res.adb, sem_util.adb,
+ sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
+ exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
+
+2004-01-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
+ g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
+ declarations.
+
+2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * misc.c: Remove trailing spaces.
+ Update copyright notice missed in previous change.
+
+ PR ada/13572
+ * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
+ prefix/share/make
+
+ * Makefile.generic: Update copyright.
+ Add license notice.
+
+ * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
+ of prefix/share/make.
+
+ * Makefile.prolog: Update copyright.
+ Add license notice.
+
+2004-01-12 Laurent Pautet <pautet@act-europe.fr>
+
+ * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
+ 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
+ g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
+ instead of String.
+
+ * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
+ signature.
+
+2004-01-12 Javier Miranda <miranda@gnat.com>
+
+ * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
+ exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
+ sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
+ sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
+ Component_Definition node.
+
+2004-01-12 Ed Falis <falis@gnat.com>
+
+ * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
+
+2004-01-12 Thomas Quinot <quinot@act-europe.fr>
+
+ * link.c: Change default libgnat kind to STATIC for FreeBSD.
+
+2004-01-12 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: map 86numaux to a-numaux for x86_64
+
+2004-01-12 Ed Schonberg <schonberg@gnat.com>
+
+ * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
+ generated to rename a generic actual, go to the actual itself, the
+ subtype is not a user-visible entity.
+
+ * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
+ part is a private subtype, reset the visibility of its full view, if
+ any, to be consistent.
+
+ PR ada/13417
+ * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
+ to use a generic package G as a formal package for another generic
+ declared within G.
+
+2004-01-12 Robert Dewar <dewar@gnat.com>
+
+ * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
+
+ * usage.adb: Remove mention of obsolete -gnatwb switch
+ Noticed during code reading
+
+2004-01-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * 1ssecsta.adb: Minor changes for -gnatwa warnings
+
+2004-01-12 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-01-09 Mark Mitchell <mark@codesourcery.com>
+
+ * misc.c (gnat_expand_expr): Add alt_rtl parameter.
+
+2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * link.c [sgi] (shared_libgnat_default): Change to STATIC.
+
+2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
+ Update comment and copyright date.
+ * stamp-xgnatug: Delete.
+
+2004-01-05 Robert Dewar <dewar@gnat.com>
+
+ * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
+ be modified by the binder generated main program if the -D switch is
+ used.
+
+ * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
+ imported functions (since now we expect this to be done for imported
+ functions)
+
+ * 5vtaprop.adb: Add several ??? for sections requiring more comments
+ Minor reformatting throughout
+
+ * 5zinit.adb: Minor reformatting
+ Add 2004 to copyright date
+ Minor changes to avoid -gnatwa warnings
+ Correct some instances of using OR instead of OR ELSE (noted while
+ doing reformatting)
+
+ * sprint.adb: Minor updates to avoid -gnatwa warnings
+
+ * s-secsta.ads, s-secsta.adb:
+ (SS_Get_Max): New function to obtain high water mark for ss stack
+ Default_Secondary_Stack is not a constant since it may be modified by
+ the binder generated main program if the -D switch is used.
+
+ * switch-b.adb: New -Dnnn switch for binder
+
+ * switch-c.adb:
+ Make -gnatg imply all warnings currently in -gnatwa
+
+ * vms_conv.adb: Minor reformatting
+ Add 2004 to copyright notice
+ Add 2004 to printed copyright notice
+
+ * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
+ 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
+ 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
+ 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
+ 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
+ 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
+ 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
+ 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
+ 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
+ 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
+ vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
+ xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
+ sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
+ checks.adb, clean.adb, cstand.adb, einfo.ads,
+ einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
+ exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
+ prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
+ g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
+ lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
+ Minor reformatting and code clean ups.
+ Minor changes to prevent -gnatwa warnings
+
+ * ali.adb: Minor reformatting and cleanup of code
+ Acquire new SS indication of secondary stack use from ali files
+
+ * a-numaux.ads: Add Pure_Function pragmas for all imported functions
+ (since now we expect this to be done for imported functions)
+
+ * bindgen.adb: Generate call to modify default secondary stack size if
+ -Dnnn switch given
+
+ * bindusg.adb: Add line for new -D switch
+
+ * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
+ replacement name for Type_May_Have_Non_Bit_Aligned_Components!
+ Add circuitry for both records and arrays to avoid gigi
+ processing if the type involved has non-bit-aligned components
+
+ * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
+ N_String_Literal node always references an E_String_Literal_Subtype
+ entity. This may not be true in the future.
+ (Possible_Bit_Aligned_Component): Move processing of
+ Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
+
+ * exp_ch6.adb (Expand_Thread_Body): Pick up
+ Default_Secondary_Stack_Size as variable so that we get value modified
+ by possible -Dnnn binder parameter.
+
+ * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
+ (Type_May_Have_Bit_Aligned_Components): New function.
+
+ * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
+ (Type_May_Have_Bit_Aligned_Components): New function.
+
+ * fe.h: (Set_Identifier_Casing): Fix prototype.
+ Add declaration for Sem_Elim.Eliminate_Error_Msg.
+ Minor reformatting.
+
+ * freeze.adb (Freeze_Entity): Add RM reference to error message about
+ importing constant atomic/volatile objects.
+ (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
+ unless explicit Pure_Function pragma given, to avoid insidious bug of
+ call to non-pure imported function getting eliminated.
+
+ * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
+ gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
+ gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
+ Add 2004 to printed copyright notice
+
+ * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
+ stack used.
+
+ * Makefile.rtl: Add entry for g-sestin.o
+ g-sestin.ads: New file.
+
+ * mdll.adb: Minor changes to avoid -gnatwa warnings
+
+ * mlib-tgt.adb: Minor reformatting
+
+ * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
+ New switch Sec_Stack_Used (GNAT, GNATBIND)
+ Make Default_Secondary_Stack_Size a variable instead of a constant,
+ so that it can be modified by the new -Dnnn bind switch.
+
+ * rtsfind.adb (Load_Fail): Give full error message in configurable
+ run-time mode if all_errors mode is set. This was not done in the case
+ of a file not found, which was an oversight.
+ Note if secondary stack unit is used by compiler.
+
+ * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
+ ineffective elaborate all pragmas on non-visible packages (this
+ happened when a renamed subprogram was called). Now the elaborate all
+ always goes on the package containing the renaming rather than the one
+ containing the renamed subprogram.
+
+ * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
+ (Process_Eliminate_Pragma): Add parameter to capture pragma location.
+
+ * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
+ has an Etype that references an E_String_Literal.
+ (Eval_String_Literal): Avoid assumption that N_String_Literal node
+ always references an E_String_Literal_Subtype entity. This may not
+ be true in the future.
+
+ * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
+ pragma location.
+
+ * sem_res.adb (Resolve): Specialize msg for function name used in proc
+ call.
+
+2004-01-05 Ed Falis <falis@gnat.com>
+
+ * g-debuti.adb: Replaced direct boolean operator with short-circuit
+ form.
+
+2004-01-05 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Minor comment updates
+ (Process_Declarative_Items): Correct incorrect name (Index_Name instead
+ of Item_Name).
+
+ * make.adb (Gnatmake): Special process for files to compile/check when
+ -B is specified. Fail when there are only foreign mains in attribute
+ Main of the project file and -B is not specified. Do not skip bind/link
+ steps when -B is specified.
+
+ * makeusg.adb: Document new switch -B
+
+ * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
+
+ * switch-m.adb: (Scan_Make_Switches): Process -B switch
+
+ * vms_data.ads: Add new GNAT PRETTY qualifier
+ /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
+
+2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
+ case.
+
+ * misc.c (gnat_printable_name): If VERBOSITY is 2, call
+ Set_Identifier_Casing.
+
+ * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
+ has size that overflows.
+
+2004-01-05 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
+ -gnatwa warning on static condition.
+
+2004-01-05 Doug Rupp <rupp@gnat.com>
+
+ * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
+
+2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
+ all attributes, including read-only attribute.
+
+2004-01-05 Pascal Obry <obry@gnat.com>
+
+ * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
+ library naming scheme.
+
+ * mlib-prj.adb (Build_Library): Generate different names for the static
+ or dynamic version of the GNAT runtime. This is needed to support the
+ new shared library naming scheme.
+ (Process_Binder_File): Add detection of shared library in binder file
+ based on the new naming scheme.
+
+ * gnatlink.adb (Process_Binder_File): Properly detect the new naming
+ scheme for the shared runtime libraries.
+
+ * Makefile.in:
+ (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
+ scheme.
+ (install-gnatlib): Do not create symlinks for shared libraries.
+ (gnatlib-shared-default): Idem.
+ (gnatlib-shared-dual-win32): New target. Not used for now as the
+ auto-import feature does not support arrays/records.
+ (gnatlib-shared-win32): Do not create copy for the shared libraries.
+ (gnatlib-shared-vms): Fix shared runtime libraries names.
+
+ * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
+ dependent runtime shared library name.
+
+2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
+ than the object.
+
+2004-01-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
+ protected objects when allocator has a subtype indication, not a
+ qualified expression. Note that qualified expressions may have to be
+ checked when limited aggregates are implemented.
+
+ * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
+ pure, emit warning.
+ (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
+ subprogram is imported, remove warning.
+
+2004-01-05 Geert Bosch <bosch@gnat.com>
+
+ * s-poosiz.adb: Update copyright notice.
+ (Allocate): Use Task_Lock to protect against concurrent access.
+ (Deallocate): Likewise.
+
+2004-01-05 Joel Brobecker <brobecker@gnat.com>
+
+ * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
+ comment.
+
+2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gnat_ug.texi: Force a CVS commit by updating copyright.
+ * gnat_ug_vxw.texi: Regenerate.
+ * gnat_ug_wnt.texi: Regenerate.
+ * gnat_ug_vms.texi: Regenerate.
+ * gnat_ug_unx.texi: Regenerate.
+
+2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * trans.c: Remove uses of "register" specifier in
+ declarations of local variables.
+
+2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
+
+ * stamp-xgnatug: New stamp file.
+ * Make-lang.in (stamp-xgnatug): New stamp file and comment.
+ (ada/doctools/xgnatug): Add $(build_exeext).
+ (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
+ ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
+
+2003-12-17 Ed Falis <falis@gnat.com>
+
+ * a-elchha.adb (Tailored_Exception_Information): made Info constant to
+ eliminate warning.
+
+ * a-exextr.adb: Add context clause for
+ Ada.Exceptions.Last_Chance_Handler.
+
+2003-12-17 Sergey Rybin <rybin@act-europe.fr>
+
+ * cstand.adb (Create_Standard): Change the way how the declaration of
+ the Duration type is created (making it the same way as it is for all
+ the other standard types).
+
+2003-12-17 Robert Dewar <dewar@gnat.com>
+
+ * s-crtl.ads: Fix header format
+ Change Pure to Preelaborate
+
+2003-12-17 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Selected_Length_Checks): Generate an Itype reference for
+ the expression type only if it is declared in the current unit.
+
+ * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
+ are universal and already analyzed, as can occur in constrained
+ subcomponents that depend on discriminants, when one constraint is a
+ subtype mark.
+
+ * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
+ type Any_Fixed is legal as the argument of a conversion, if only one
+ fixed-point type is in context.
+
+2003-12-17 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-15 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
+ sec stack size.
+
+2003-12-15 Vincent Celier <celier@gnat.com>
+
+ * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
+ (Gnatchop): Do not set failure status when reporting the number of
+ warnings.
+
+2003-12-15 Doug Rupp <rupp@gnat.com>
+
+ * s-ctrl.ads: New file.
+
+ * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
+
+ * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
+ (GNATBIND_OBJS): Add ada/s-crtl.o.
+
+ * Makefile.in [VMS]: Clean up ifeq rules.
+
+ * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
+ a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
+ g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
+ s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
+ s-tasdeb.adb: Update copyright.
+ Import System.CRTL.
+ Make minor modifications to use System.CRTL declared functions instead
+ of importing locally.
+
+2003-12-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-11 Ed Falis <falis@gnat.com>
+
+ * 5zinit.adb: Clean up.
+
+ * 5zintman.adb (Notify_Exception): replaced case statement with a call
+ to __gnat_map_signal, imported from init.c to support
+ signal -> exception mappings that depend on the vxWorks version.
+
+ * init.c:
+ Created and exported __gnat_map_signal to support signal -> exception
+ mapping that is dependent on the VxWorks version.
+ Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
+
+2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
+
+ * 5wosinte.ads: Link with -mthreads switch.
+
+2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_install_handler [NetBSD]): Set
+ __gnat_handler_installed, as done on all other platforms.
+ Remove duplicated code.
+
+2003-12-11 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
+
+2003-12-11 Thomas Quinot <quinot@act-europe.fr>
+
+ * sinfo.ads: Fix inconsistent example code in comment.
+
+2003-12-11 Robert Dewar <dewar@gnat.com>
+
+ * a-tiinau.adb: Add a couple of comments
+
+ * sem_ch3.adb: Minor reformatting
+
+ * sem_prag.adb:
+ Fix bad prototype of Same_Base_Type in body (code reading cleanup)
+ Minor reformatting throughout
+
+2003-12-11 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
+ bounds of a loop, create a separate block in order to generate proper
+ cleanup actions to prevent memory leaks.
+
+ * sem_res.adb (Resolve_Call): After a call to
+ Establish_Transient_Scope, the call may be rewritten and relocated, in
+ which case no further processing is needed.
+
+ * sem_util.adb: (Wrong_Type): Refine previous fix.
+ Fixes ACATS regressions.
+
+ PR ada/13353
+ * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
+ be inlined.
+
+2003-12-08 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
+ i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
+ obsolete files.
+
+ * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
+ (rts-zfp): Ditto.
+
+2003-12-08 Robert Dewar <dewar@gnat.com>
+
+ * 7sintman.adb: Minor reformatting
+
+ * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
+ standard linker options to get standard libraries linked. We now plan
+ to provide dummy versions of these libraries to match the appropriate
+ configurable run-time (e.g. if a library is not needed at all, provide
+ a dummy empty library).
+
+ * targparm.ads: Configurable_Run_Time mode no longer affects linker
+ options (-L parameters and standard libraries). What we plan to do is
+ to provide dummy libraries where the libraries are not required.
+
+ * gnatbind.adb: Minor comment improvement
+
+2003-12-08 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
+ aggregate in the parent. Otherwise constants with limited aggregates
+ are not supported. Add new formal to pass the component type (Ctype).
+ It is required to call the corresponding IP subprogram in case of
+ default initialized components.
+ (Gen_Assign): In case of default-initialized component, generate a
+ call to the IP subprogram associated with the component.
+ (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
+ of aggregate with default initialized components.
+ (Has_Default_Init_Comps): Improve implementation to recursively check
+ all the present expressions.
+
+ * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
+ to indicate that the initialization call corresponds to a
+ default-initialized component of an aggregate.
+ In case of default initialized aggregate with tasks this parameter is
+ used to generate a null string (this is just a workaround that must be
+ improved later). In case of discriminants, this parameter is used to
+ generate a selected component node that gives access to the discriminant
+ value.
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
+ subprogram, based on Build_Task_Allocate_Block, but adapted to expand
+ allocated aggregates with default-initialized components.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
+ the box notation is used in positional aggregates.
+
+2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
+
+ * lib.ads: Fix typo in comment
+
+2003-12-08 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Project_Empty): New component Unkept_Comments
+ (Scan): Remove procedure; moved to Prj.Err.
+
+ * prj.ads (Project_Data): New Boolean component Unkept_Comments
+ (Scan): Remove procedure; moved to Prj.Err.
+
+ * prj-dect.adb: Manage comments for the different declarations.
+
+ * prj-part.adb (With_Record): New component Node
+ (Parse): New Boolean parameter Store_Comments, defaulted to False.
+ Set the scanner to return ends of line and comments as tokens, if
+ Store_Comments is True.
+ (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
+ comments are associated with these nodes. Store the node IDs in the
+ With_Records.
+ (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
+ With_Records.
+ (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
+ the N_Project node. Call Tree.Save and Tree.Reset before scanning the
+ current project. Call Tree.Restore afterwards. Set the various nodes
+ for comment storage (Next_End, End_Of_Line, Previous_Line,
+ Previous_End).
+
+ * prj-part.ads (Parse): New Boolean parameter Store_Comments,
+ defaulted to False.
+
+ * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
+ to False. When Truncated is True, truncate the string, never go to the
+ next line.
+ (Write_End_Of_Line_Comment): New procedure
+ (Print): Process comments for nodes N_With_Clause,
+ N_Package_Declaration, N_String_Type_Declaration,
+ N_Attribute_Declaration, N_Typed_Variable_Declaration,
+ N_Variable_Declaration, N_Case_Construction, N_Case_Item.
+ Process nodes N_Comment.
+
+ * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
+ without comments and there are some comments, set the flag
+ Unkept_Comments to True.
+ (Scan): If there are comments, set the flag Unkept_Comments to True and
+ clear the comments.
+ (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
+ (Next_End_Nodes: New table
+ (Comment_Zones_Of): New function
+ (Scan): New procedure; moved from Prj. Accumulate comments in the
+ Comments table and set end of line comments, comments after, after end
+ and before end.
+ (Add_Comments): New procedure
+ (Save, Restore, Seset_State): New procedures
+ (There_Are_Unkept_Comments): New function
+ (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
+ (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
+ procedures.
+ (First_Comment_After, First_Comment_After_End): New functions
+ (First_Comment_Before, First_Comment_Before_End): New functions
+ (Next_Comment): New function
+ (End_Of_Line_Comment, Follows_Empty_Line,
+ Is_Followed_By_Empty_Line): New functions
+ (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
+ (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
+ (Set_Next_Comment): New procedure
+ (Default_Project_Node): Associate comment before if the node can store
+ comments.
+
+ * scans.ads (Token_Type): New enumeration value Tok_Comment
+ (Comment_Id): New global variable
+
+ * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
+ defaulted to False.
+ (Scan): Store position of start of comment. If comments are tokens, set
+ Comment_Id and set Token to Tok_Comment when scanning a comment.
+ (Set_Comment_As_Token): New procedure
+
+ * sinput-p.adb: Update Copyright notice
+ (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
+ that no longer exists.
+
+2003-12-08 Javier Miranda <miranda@gnat.com>
+
+ * sem_aggr.adb: Add dependence on Exp_Tss package
+ Correct typo in comment
+ (Resolve_Aggregate): In case of array aggregates set the estimated
+ type of the aggregate before calling resolve. This is needed to know
+ the name of the corresponding IP in case of limited array aggregates.
+ (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
+ in case of default initialized array components.
+
+ * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
+ types. Required to give support to limited aggregates in generic
+ formals.
+
+2003-12-08 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Check_Initialization): For legality purposes, an
+ inlined body functions like an instantiation.
+ (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
+ until bounds are analyzed, to diagnose premature use of type.
+
+ * sem_util.adb (Wrong_Type): Improve error message when the type of
+ the expression is used prematurely.
+
+2003-12-08 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
+ they are automatically generated by Make-lang.in and cause nothing but
+ maintenance troubles.
+
+2003-12-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
+ version of this unit).
+
+2003-12-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
+ 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
+ the body of System.Interrupt_Management common to several targets.
+ Update copyright notice when appropriate.
+
+ * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
+ constant.
+
+ * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
+ to ensure that the kernel fills in the interrupted context structure
+ before calling a signal handler, which is necessary to be able to
+ unwind past it. Update the copyright notice.
+
+2003-12-05 Jerome Guitton <guitton@act-europe.fr>
+
+ * a-elchha.ads: New file.
+
+ * a-elchha.adb: New default last chance handler. Contents taken from
+ Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
+
+ * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
+ is moved to a-elchha.adb to provide a target-independent default last
+ chance handler.
+
+ * Makefile.rtl: Add a-elchha.o
+
+ * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
+
+2003-12-05 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
+ declared in an instance, do not inline the call if the instance is not
+ frozen yet, to prevent order of elaboration problems.
+
+ * sem_prag.adb: Add comments for previous fix.
+
+2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
+
+ * g-table.adb: Use the right variable in Set_Item.
+ Update copyright notice.
+
+2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Remove unused rules.
+
+2003-12-05 Vincent Celier <celier@gnat.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Remove processing of
+ -nostdlib. Not needed here after all.
+
+2003-12-03 Thomas Quinot <quinot@act-europe.fr>
+
+ PR ada/11724
+ * adaint.h, adaint.c, g-os_lib.ads:
+ Do not assume that the offset argument to lseek(2) is a 32 bit integer,
+ on some platforms (including FreeBSD), it is a 64 bit value.
+ Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
+
+2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads (Library_Version): Now contain only the relevant
+ version info.
+ (Verbose_Library_Version): New constant.
+
+ * g-spipat.adb, g-awk.adb, g-debpoo.adb,
+ g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
+ s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
+
+ * gnatlbr.adb: Clean up: replace Library_Version by
+ Verbose_Library_Version.
+
+ * make.adb, lib-writ.adb, exp_attr.adb:
+ Clean up: replace Library_Version by Verbose_Library_Version.
+
+ * 5lintman.adb: Removed.
+
+ * Makefile.in:
+ Update and simplify computation of LIBRARY_VERSION.
+ Fix computation of GSMATCH_VERSION.
+ 5lintman.adb is no longer used: replaced by 7sintman.adb.
+
+2003-12-03 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch5.adb:
+ (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
+ name. Modified to consider small non-bit-packed arrays as troublesome
+ and in need of component-by-component assigment expansion.
+
+2003-12-03 Vincent Celier <celier@gnat.com>
+
+ * lang-specs.h: Process nostdlib as nostdinc
+
+ * back_end.adb: Update Copyright notice
+ (Scan_Compiler_Arguments): Process -nostdlib directly.
+
+2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in:
+ When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
+ redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
+ included in HIE_NONE_TARGET_PAIRS.
+
+2003-12-03 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb:
+ (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
+ is legal in an instance, because legality is cheched in the template.
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
+ appplied to an unchecked conversion of a formal parameter.
+
+ * sem_warn.adb:
+ (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
+ variables.
+
+2003-12-03 Olivier Hainque <hainque@act-europe.fr>
+
+ * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
+ routines. The second one is new functionality to deal with backtracing
+ through signal handlers.
+ (unwind): Split into the two separate subroutines above.
+ Update the documentation, and deal properly with sizeof (REG) different
+ from sizeof (void*).
+
+2003-12-01 Nicolas Setton <setton@act-europe.fr>
+
+ * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
+ so that the debugger can reliably access the value of the parameter,
+ and therefore is able to display the exception name when an exception
+ breakpoint is reached.
+
+2003-12-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * fmap.adb: Fix typo in warning message.
+
+ * g-socket.ads, g-socket.adb: Make Free a visible instance of
+ Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
+
+2003-12-01 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
+ ther is no Afile.
+ (Build_Library): Get the switches only if Default_Switches is declared
+ in package Binder.
+
+2003-12-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Actuals): When applying validity checks to
+ actuals that are indexed components, reanalyze actual to ensure that
+ packed array references are properly expanded.
+
+ * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
+ attempted assignment to a discriminant.
+
+2003-12-01 Robert Dewar <dewar@gnat.com>
+
+ * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
+ reformatting.
+
+ * switch-c.adb: Minor reformatting of comments
+
+2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2003-12-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5wsystem.ads: Disable zero cost exception, not ready yet.
+
+2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
+ to force serialization.
+
+2003-11-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.ads, g-socket.adb:
+ Clarify documentation of function Stream. Introduce a Free procedure
+ to release the returned Stream once it becomes unused.
+
+ * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
+
+2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
+ since NT 4 cannot handle timeout values that are too large,
+ e.g. DWORD'Last - 1.
+
+2003-11-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb:
+ (Expand_N_Slice): Recognize all cases of slices that appear as actuals
+ in procedure calls and whose expansion must be deferred.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
+ is in exp_ch4.
+
+ * sem_ch3.adb:
+ (Build_Derived_Array_Type): Create operator for unconstrained type
+ if ancestor is unconstrained.
+
+2003-11-26 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Project_Object_Directory): New global variable
+ (Change_To_Object_Directory): New procedure
+ (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
+ of Change_Dir directly. Do not change working directory to object
+ directory of main project after each compilation.
+ (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
+ directly.
+ Change to object directory of main project before binding step.
+ (Initialize): Initialize Project_Object_Directory to No_Project
+
+ * mlib-prj.adb:
+ (Build_Library): Take into account Builder'Default_Switches ("Ada") when
+ binding a Stand-Alone Library.
+
+ * output.adb: Update Copyright notice
+ (Write_Char): Output buffer when full
+
+2003-11-26 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch13.adb: (Check_Size): Reset size if size is too small
+
+ * sem_ch13.ads:
+ (Check_Size): Fix documentation to include bit-packed array case
+
+ * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
+
+ * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
+
+ * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
+
+2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/13142
+ * utils.c (init_gigi_decls): Change name of built-in setjmp to
+ __builtin_setjmp, since this is apparently needed by recent
+ non Ada changes.
+
+2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adadecode.c: Only include ctype.h if not IN_GCC.
+ (__gnat_decode): Use ISDIGIT from safe-ctype.h.
+
+2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in:
+ Use 5zintman.ads for VxWorks targets. This file avoid confusion between
+ signals and interrupts.
+
+ * 5zintman.ads: New File.
+
+ * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
+ add exception signals to the set of unmasked signals.
+
+ * 5ztaprop.adb:
+ Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
+ between signals and interrupts.
+ Add to Unblocked_Signal_Mask the set of signals that are in
+ Keep_Unmasked.
+
+ * 7sinmaop.adb:
+ Adding a check to see whether the Interrupt_ID we want to unmask is in
+ the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
+ reason is that the index type of the Keep_Unmasked array is not always
+ Interrupt_ID; it may be a subtype of Interrupt_ID.
+
+2003-11-24 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_util.adb:
+ (Remove_Side_Effects): Condition constantness of object created for a
+ an unchecked type conversion on the constantness of the expression
+ to ensure the correct value for 'Constrained when passing components
+ of view-converted class-wide objects.
+
+2003-11-24 Robert Dewar <dewar@gnat.com>
+
+ * par-load.adb (Load): Improve handling of misspelled and missing units
+ Removes several cases of compilation abandoned messages
+
+ * lib.adb: (Remove_Unit): New procedure
+
+ * lib.ads: (Remove_Unit): New procedure
+
+ * lib-load.adb: Minor reformatting
+
+2003-11-24 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake, Initialize): Call Usage instead of Makeusg directly
+ (Marking_Label): Label to mark processed source files. Incremented for
+ each executable.
+ (Gnatmake): Increase Marking_Labet for each executable
+ (Is_Marked): Compare against marking label
+ (Mark): Mark with marking label
+
+2003-11-24 Jerome Guitton <guitton@act-europe.fr>
+
+ * s-thread.ads:
+ Move the declaration of the TSD for System.Threads to System.Soft_Links.
+ Add some comments.
+
+ * Makefile.in: Added target pair for s-thread.adb for cert runtime.
+ (rts-cert): build a single relocatable object for the run-time lib.
+ Fix perms.
+
+2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * Make-lang.in:
+ Use gnatls rather than gcc to obtain the location of GNAT RTL for
+ crosstools build.
+
+2003-11-24 Sergey Rybin <rybin@act-europe.fr>
+
+ * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
+ can not use it as before (that is, as a variable) when dumping it into
+ the tree file. Add a local variable to store the result of this
+ function and to be used as the string to be written into the tree.
+
+ * scn.adb (Initialize_Scanner): Add comments explaining the recent
+ changes.
+
+ * sinput.adb (Source_First, Source_Last): In case of
+ Internal_Source_File, replace returning attributes of
+ Internal_Source_Ptr (which is wrong) with returning attributes of
+ Internal_Source.
+
+2003-11-24 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb:
+ (New_Concatenation_Op): Proper name for New_Binary_Operator, only
+ used for implicit concatenation operators.
+ Code cleanup.
+
+ * sem_elab.adb:
+ (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
+ task bodies that are in the scope of a Suppress pragma.
+ (Check_A Call): Use the flag to prevent spurious elaboration checks.
+
+ * sinfo.ads, sinfo.adb:
+ New flag No_Elaboration_Check on function/procedure calls, to properly
+ suppress checks on calls in task bodies that are within a local suppress
+ pragma.
+
+ * exp_ch4.adb:
+ (Expand_Concatenate_Other): Use the proper integer type for the
+ expression for the upper bound, to avoid universal_integer computations
+ when possible.
+
+2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
+
+ * .cvsignore: Delete.
+
+2003-11-21 Andreas Schwab <schwab@suse.de>
+
+ * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
+
+2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 5wsystem.ads: Enable zero cost exception.
+
+2003-11-21 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5ztiitho.adb: Remove an unreferenced variable.
+
+2003-11-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: For FreeBSD, use mkstemp.
+
+2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatlbr.adb: Now reference Gnat_Static_Version_String.
+
+2003-11-21 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb: Remove useless USE of gnatvsn
+
+ * gnatchop.adb: Minor reformatting
+ Clean up version handling to be more consistent
+
+ * gnatxref.adb: Minor reformatting
+
+ * gprcmd.adb: Minor reformatting
+ Fix output of copyright to be more consistent with other tools
+
+2003-11-21 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
+
+2003-11-21 Sergey Rybin <rybin@act-europe.fr>
+
+ * atree.adb (Initialize): Add initializations for global variables
+ used in New_Copy_Tree.
+
+ * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
+ Internal_Source_File as the actual).
+ Put the set of statements creating Any_Character before the set of
+ statements creating Any_Array to have Any_Character fully initialized
+ when it is used in creating Any_Array.
+
+ * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
+ not call Scan in case if the actual is Internal_Source_File
+ Add 2003 to copyright note.
+
+ * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
+ processing Internal_Source_File.
+
+ * types.ads: Add the constant Internal_Source_File representing the
+ source buffer for artificial source-code-like strings created within
+ the compiler (the definition of Source_File_Index is changed).
+
+2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
+ 56system.ads: New file, FreeBSD version.
+
+2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * Make-lang.in (ada.extraclean): Delete.
+
+2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatmem.adb: Clean up verbose output.
+
+ * gprcmd.adb: Change copyright to FSF.
+
+2003-11-19 Vincent Celier <celier@gnat.com>
+
+ * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
+ and Version (ignored).
+
+ * symbols.ads: (Policy): New type
+ (Initialize): New parameter Reference, Symbol_Policy and
+ Library_Version.
+ Remove parameter Force.
+ Minor reformatting.
+
+ * snames.ads, snames.adbadb: New standard names
+ Library_Reference_Symbol_File and Library_Symbol_Policy
+
+ * mlib-prj.adb:
+ (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
+ project.
+
+ * mlib-tgt.adb:
+ (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
+
+ * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
+
+ * prj.adb: (Project_Empty): New component Symbol_Data
+
+ * prj.ads: (Policy, Symbol_Record): New types
+ (Project_Data): New component Symbol_Data
+
+ * prj-attr.adb:
+ New attributes Library_Symbol_File, Library_Symbol_Policy and
+ Library_Reference_Symbol_File.
+
+ * prj-nmsc.adb:
+ (Ada_Check): When project is a Stand-Alone library project, process
+ attribute Library_Symbol_File, Library_Symbol_Policy and
+ Library_Reference_Symbol_File.
+
+ * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+ 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb (Build_Dynamic_Library): New parameter
+ Symbol_Data (ignored).
+
+ * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
+ (Build_Dynamic_Library): New parameter Symbol_Data. New internal
+ functions Option_File_Name and Version_String. Set new options of
+ gnatsym related to symbol file, symbol policy and reference symbol
+ file.
+
+ * 5vsymbol.adb:
+ Extensive modifications to take into account the reference symbol file,
+ the symbol policy, the library version and to put in the symbol file the
+ minor and major IDs.
+
+ * bld.adb (Process_Declarative_Items): Put second argument of
+ gprcmd to_absolute between single quotes, to avoid problems with
+ Windows.
+
+ * bld-io.adb: Update Copyright notice.
+ (Flush): Remove last character of a line, if it is a back slash, to
+ avoid make problems.
+
+ * gnatsym.adb:
+ Implement new scheme with reference symbol file and symbol policy.
+
+ * g-os_lib.ads: (Is_Directory): Clarify comment
+
+2003-11-19 Robert Dewar <dewar@gnat.com>
+
+ * atree.adb: Move New_Copy_Tree global variables to head of package
+
+ * errout.adb: Minor reformatting
+
+2003-11-19 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb: (Diagnose_Call): Improve error message.
+ Add reference to Ada0Y (AI-50217)
+
+ * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
+ sem_util.adb: Add reference to AI-50217
+
+ * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
+
+ * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
+
+ * sem_aggr.adb: Complete documentation of AI-287 changes
+
+ * par-ch4.adb: Document previous changes.
+
+ * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
+ sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
+ Ada0Y (AI-50217)
+
+ * exp_aggr.adb: Add references to AI-287 in previous changes
+
+2003-11-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb:
+ (Add_Call_By_Copy_Node): Do not original node of rewritten expression
+ in the rewriting is the result of an inlined call.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
+ parameter is a type conversion, use original node to construct the
+ post-call assignment, because expression may have been rewritten, e.g.
+ if it is a packed array.
+
+ * sem_attr.adb:
+ (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
+ body, just as it is in an instance.
+ Categorization routines
+
+ * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
+ Instantiate_Object): Set proper sloc reference for message on missing
+ actual.
+
+2003-11-19 Thomas Quinot <quinot@act-europe.fr>
+
+ * Makefile.in: Add FreeBSD libgnat pairs.
+
+ * usage.adb: Fix typo in usage message.
+
+2003-11-19 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
+ s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
+ pragma Thread_Body.
+ Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
+
+ * s-thread.adb: This file is now a dummy implementation of
+ System.Thread.
+
+2003-11-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
+
+2003-11-19 Emmanuel Briot <briot@act-europe.fr>
+
+ * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+ instanciation references in the parent type description.
+
+2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
+
+ * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
+ TYPE_PRECISION directly from esize.
+
+2003-11-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * cstreams.c:
+ Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
+
+ * init.c: Initialization routines for FreeBSD
+
+ * link.c: Link info for FreeBSD
+
+ * sysdep.c: Add the case of FreeBSD
+
+2003-11-17 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
+ already called in System.Threads.
+
+ * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
+ environment task, as it has been moved to System.Threads.Initialization.
+
+2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
+
+ * adaint.c (__gnatlib_install_locks): Only reference
+ __gnat_install_locks on VMS, since other platforms can avoid using
+ --enable-threads=gnat
+
+2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
+
+ * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
+ TYPE_PACKED_ARRAY_TYPE_P.
+ (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
+
+ Part of PR ada/12806
+ * utils.c (float_type_for_precision): Renamed from float_type_for_size.
+ Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
+
+2003-11-17 Vincent Celier <celier@gnat.com>
+
+ * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
+ to False.
+ Do not set exit status to Failure when Warning is True.
+ (Gnatchop): Make errors "no compilation units found" and
+ "no source files written" warnings only.
+
+ * make.adb (Gnatmake): When using a project file, set
+ Look_In_Primary_Dir to False.
+ (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
+ and Local_Configuration_Pragmas in the project where they are declared
+ not an extending project which might have inherited them.
+
+ * osint.adb (Locate_File): If Name is already an absolute path, do not
+ look for a directory.
+
+ * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
+ -gnats (Check_Syntax) is used, issue only a warning, not an error.
+
+ * prj.adb (Register_Default_Naming_Scheme): Add new component Project
+ in objects of type Variable_Value.
+
+ * prj.ads: (Variable_Value): New component Project
+
+ * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
+ is in a project extended by Project.
+
+ * prj-proc.adb (Add_Attributes): New parameter Project. Set component
+ Project of Variable_Values to this new parameter value.
+ (Expression): Set component Project of Variable_Values.
+ (Process_Declarative_Items): Call Add_Attributes with parameter Project.
+ Set the component Project in array elements.
+
+2003-11-17 Sergey Rybin <rybin@act-europe.fr>
+
+ * errout.adb: (Initialize): Add initialization for error nodes.
+
+ * sem_ch12.adb (Initialize): Add missing initializations for
+ Exchanged_Views and Hidden_Entities.
+
+2003-11-17 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
+ already instantiated tree for use in subsequent inlining.
+ (Analyze_Associations, Instantiate_Formal_Subprogram,
+ Instantiate_Object): improve error message for mismatch in
+ instantiations.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
+ instantiations of subprograms declared in instances.
+
+2003-11-17 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Previous modification must be
+ executed only under the Extensions_Allowed flag.
+
+2003-11-17 Robert Dewar <dewar@gnat.com>
+
+ * a-exexda.adb (Address_Image): Fix documentation to indicate leading
+ zeroes suppressed.
+ (Address_Image): Fix bug of returning 0x instead of 0x0
+ Minor reformatting (function specs).
+
+ * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
+ (missed case of 33-63)
+
+ * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
+
+ * s-thread.adb: Add comments for pragma Restriction
+
+ * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
+ sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
+
+2003-11-17 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Added No_Tasking restriction for this implementation.
+
+2003-11-17 Emmanuel Briot <briot@act-europe.fr>
+
+ * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+ instanciation references in the parent type description.
+
+2003-11-17 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-16 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
+ and TAGS files that include them for each front end.
+
+2003-11-14 Andreas Jaeger <aj@suse.de>
+
+ * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
+ is the canonical version.
+ * misc.c (gnat_handle_option): Likewise.
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
+
+ * 5nsystem.ads: New file for x86_64-linux-gnu.
+
+2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
+
+ * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
+
+ * comperr.adb: Fix logic in previous change.
+
+2003-11-13 Vincent Celier <celier@gnat.com>
+
+ * 5bml-tgt.adb (Build_Dynamic_Library): Use
+ Osint.Include_Dir_Default_Prefix instead of
+ Sdefault.Include_Dir_Default_Name.
+
+ * gnatlbr.adb: Update Copyright notice
+ (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
+ Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
+ instead of Sdefault.Object_Dir_Default_Name
+
+ * gnatlink.adb:
+ (Process_Binder_File): Never suppress the option following -Xlinker
+
+ * mdll-utl.adb:
+ (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
+ Sdefault.Object_Dir_Default_Name.
+
+ * osint.ads, osint.adb:
+ (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
+ Minor reformatting.
+
+ * vms_conv.ads: Minor reformating
+ Remove GNAT STANDARD and GNAT PSTA
+
+ * vms_conv.adb:
+ Allow GNAT MAKE to have several files on the command line.
+ (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
+ Sdefault.Object_Dir_Default_Name.
+ Minor Reformating
+ Remove data for GNAT STANDARD
+
+ * vms_data.ads:
+ Add new compiler qualifier /PRINT_STANDARD (-gnatS)
+ Remove data for GNAT STANDARD
+ Remove options and documentation for -gnatwb/-gnatwB: these warning
+ options no longer exist.
+
+2003-11-13 Ed Falis <falis@gnat.com>
+
+ * 5zthrini.adb: (Init_RTS): Made visible
+
+ * 5zthrini.adb:
+ (Register): Removed unnecessary call to taskVarGet that checked whether
+ an ATSD was already set as a task var for the argument thread.
+
+ * s-thread.adb:
+ Updated comment to reflect that this is a VxWorks version
+ Added context clause for System.Threads.Initialization
+ Added call to System.Threads.Initialization.Init_RTS
+
+2003-11-13 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5zthrini.adb:
+ (Init_RTS): New procedure, for the initialization of the run-time lib.
+
+ * s-thread.adb:
+ Remove dependancy on System.Init, so that this file can be used in the
+ AE653 sequential run-time lib.
+
+2003-11-13 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb: Minor reformatting
+
+2003-11-13 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb:
+ (Apply_Discriminant_Check): Do no apply check if target type is derived
+ from source type with no applicable constraint.
+
+ * lib-writ.adb:
+ (Ensure_System_Dependency): Do not apply the style checks that may have
+ been specified for the main unit.
+
+ * sem_ch8.adb:
+ (Find_Selected_Component): Further improvement in error message, with
+ RM reference.
+
+ * sem_res.adb:
+ (Resolve): Handle properly the case of an illegal overloaded protected
+ procedure.
+
+2003-11-13 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb:
+ (Has_Default_Init_Comps): New function to check the presence of
+ default initialization in an aggregate.
+ (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
+ extension aggregate of a limited record. In addition, a new formal
+ was added to do not initialize the record controller (if any) during
+ this recursive expansion of ancestors.
+ (Init_Controller): Add support for limited record components.
+ (Expand_Record_Aggregate): In case of default initialized components
+ convert the aggregate into a set of assignments.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
+ describing the new syntax.
+ Nothing else needed to be done because this subprogram delegates part of
+ its work to P_Precord_Or_Array_Component_Association.
+ (P_Record_Or_Array_Component_Association): Give support to the new
+ syntax for default initialization of components.
+
+ * sem_aggr.adb:
+ (Resolve_Aggregate): Relax the strictness of the frontend in case of
+ limited aggregates.
+ (Resolve_Record_Aggregate): Give support to default initialized
+ components.
+ (Get_Value): In case of default initialized components, duplicate
+ the corresponding default expression (from the record type
+ declaration). In case of default initialization in the *others*
+ choice, do not check that all components have the same type.
+ (Resolve_Extension_Aggregate): Give support to limited extension
+ aggregates.
+
+ * sem_ch3.adb:
+ (Check_Initialization): Relax the strictness of the front-end in case
+ of aggregate and extension aggregates. This test is now done in
+ Get_Value in a per-component manner.
+
+ * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
+ expression corresponds to a limited aggregate. This test is now done
+ in Get_Value.
+
+ * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
+ Box_Present flag.
+
+ * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
+ present in an N_Component_Association node
+
+2003-11-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
+ type-conformant entry only if they are homographs.
+
+2003-11-13 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adadecode.c: Use <> form of include for ctype.h.
+ * sysdep.c [IN_RTS]: Use <> form of include for time.h.
+
+2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
+ Works around PR middle-end/6552.
+
+2003-11-10 Ed Falis <falis@gnat.com>
+
+ * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
+
+ * 5zinit.adb: (Install_Handler): Moved back to spec
+ (Install_Signal_Handlers): Deleted
+
+ * 5zthrini.adb: Added context clause for System.Storage_Elements
+ (Register): Only handles creation of taskVar; initialization moved to
+ Thread_Body_Enter.
+ (Reset_TSD): Deleted; replaced by Thread_Body_Enter
+ Added declaration of environment task secondary stack and
+ initialization.
+
+ * s-thread.adb: Implement bodies for thread body processing
+
+ * s-thread.ads:
+ Added comment identifying supported targets for pragma Thread_Body.
+
+2003-11-10 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
+ GNAT_MAX_PATH_LEN.
+
+ * s-fileio.adb:
+ (Open): Properly check for string length before copying into the buffer.
+ Raises Name_Error if buffer is too small. Note that this was a potential
+ buffer overflow.
+
+2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
+
+ * bindgen.adb, comperr.adb: Code clean ups.
+ * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
+
+2003-11-10 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat1drv.adb: Add call to Sem_Elim.Initialize.
+
+2003-11-10 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb:
+ (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
+ installation.
+
+ * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
+
+ * prj.adb: (Project_Empty): Add new boolean component Virtual
+
+ * prj.ads: (Virtual_Prefix): New constant string
+ (Project_Data): New boolean component Virtual
+
+ * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
+ a library project is extended by a virtual extending project.
+
+ * prj-part.adb:
+ Modifications throughout to implement extending-all project, including:
+ (Virtual_Hash, Processed_Hash): New hash tables
+ (Create_Virtual_Extending_Project): New procedure
+ (Look_For_Virtual_Projects_For): New procedure
+
+ * prj-proc.adb:
+ (Process): After checking the projects, if main project is an
+ extending-all project, set the object directory of all virtual extending
+ project to the object directory of the main project.
+ Adjust error message when a virtual extending project has the same
+ object directory as an project being extended.
+ (Recursive_Process): If name starts with the virtual prefix, set Virtual
+ to True in the project data.
+
+ * prj-tree.adb:
+ (Default_Project_Node): Add new boolean component Extending_All
+ (Is_Extending_All): New function
+ (Set_Is_Extending_All): New procedure
+
+ * prj-tree.ads: (Is_Extending_All): New function
+ (Set_Is_Extending_All): New procedure
+ (Project_Node_Record): New boolean component Extending_All
+
+ * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
+
+ * vms_data.ads:
+ Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
+
+ * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
+ "gprcmd prefix" to define it.
+
+2003-11-10 Thomas Quinot <quinot@act-europe.fr>
+
+ * einfo.ads: Fix a typo and remove an extraneous word in comments.
+
+ * lib-load.adb:
+ (Create_Dummy_Package_Unit): Set the scope of the entity for the
+ created dummy package to Standard_Standard, not to itself, to
+ defend other parts of the front-end against encoutering a cycle in
+ the scope chain.
+
+ * sem_ch10.adb:
+ (Analyze_With_Clause): When setting the entities for the successive
+ N_Expanded_Names that constitute the name of a child unit, do not
+ attempt to go further than Standard_Standard in the chain of scopes.
+ This case arises from the placeholder units created by
+ Create_Dummy_Package_Unit in the case of a with_clause for a
+ nonexistent child unit.
+
+2003-11-10 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb:
+ (Expand_Thread_Body): Place subprogram on scope stack, so that new
+ declarations are given the proper scope.
+
+ * sem_ch13.adb:
+ (Check_Expr_Constants): Reject an expression that contains a constant
+ created during expansion, and that appears after the object to which
+ the address clause applies.
+
+ * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
+ Analyze_Iteration_Scheme, to rewrite a loop parameter specification
+ that uses 'Range of a function call with controlled components, so
+ that the function result can be finalized before starting the loop.
+
+ * sem_ch8.adb:
+ (Find_Selected_Component): Improve error message when prefix is
+ an implicit dereference of an incomplete type.
+
+2003-11-10 Robert Dewar <dewar@gnat.com>
+
+ * opt.ads: New Print_Standard flag for -gnatS switch
+
+ * sem_ch13.adb: Remove some additional checks for unaligned arrays
+
+ * cstand.adb (Create_Standard): Print out package standard if -gnatS
+ switch set
+
+ * debug.adb: Update doc for -gnatds to discuss relationship with new
+ -gnatS flag
+
+ * sinfo.adb: Add new field Entity_Or_Associated_Node
+
+ * sinfo.ads: Add new field Entity_Or_Associated_Node
+ Update documentation for Associated_Node and Entity fields to clarify
+ relationship and usage.
+
+ * sprint.adb:
+ (Write_Id): Properly process Associated_Node field in generic template
+
+ * switch-c.adb:
+ Recognize new -gnatS switch for printing package Standard
+ This replaces gnatpsta
+
+ * usage.adb:
+ Add line for new -gnatS switch for printing package Standard
+ This replaces gnatpsta
+
+2003-11-10 Andreas Jaeger <aj@suse.de>
+
+ * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
+ integer.
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
+ by gnat1.
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
+ no longer needed.
+
+ * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
+
+ * sysdep.c: Add handling of cygwin.
+
+2003-11-10 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR 12950
+ * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
+ functions. Used to handle dynamic prefix relocation, via set_std_prefix.
+ Replace GNAT_ROOT by GCC_ROOT.
+
+ * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
+
+2003-11-06 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
+ and update for changed meaning of GET_MODE_BITSIZE.
+
+2003-11-04 Doug Rupp <rupp@gnat.com>
+
+ * sysdep.c: Problem discovered during IA64 VMS port.
+ [VMS] #include <unixio.h> to get proper prototypes.
+
+ * adaint.c:
+ Issues discovered/problems fixed during IA64 VMS port.
+ [VMS] #define _POSIX_EXIT for proper semantics.
+ [VMS] #include <unixio.h> for proper prototypes.
+ [VMS] (fork): #define IA64 version.
+ (__gnat_os_exit): Remove unnecessary VMS specific code.
+
+2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ Part of PR ada/12806
+ * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
+ tree, not integer.
+
+ * decl.c:
+ (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
+ not integer.
+
+ * targtyps.c, decl.c, misc.c,
+ gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
+ routines to work around change in FP sizing semantics in GCC.
+
+ * utils.c:
+ (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
+
+ * gigi.h: (enumerate_modes): New function.
+
+ * Make-lang.in: (ada/misc.o): Add real.h.
+
+ * misc.c: (enumerate_modes): New function.
+
+2003-11-04 Robert Dewar <dewar@gnat.com>
+
+ * 3vtrasym.adb: Minor reformatting
+ Use terminology encoded/decoded name, rather than C++ specific notion
+ of mangling (this is the terminology used throughout GNAT).
+
+ * einfo.h: Regenerated
+
+ * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
+
+ * exp_ch6.adb:
+ (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
+
+ * par-prag.adb: Add dummy entry for Thread_Body pragma
+
+ * rtsfind.ads:
+ Add entries for System.Threads entities for thread body processing
+
+ * sem_attr.adb:
+ (Analyze_Pragma, Access attributes): Check these are not applied to a
+ thread body, since this is not permitted
+
+ * sem_prag.adb: Add processing for Thread_Body pragma.
+ Minor comment fix.
+
+ * sem_res.adb:
+ (Resolve_Call): Check for incorrect attempt to call a thread body
+ procedure with a direct call.
+
+ * snames.ads, snames.adb: Add entry for Thread_Body pragma
+ Add names associated with thread body expansion
+
+ * snames.h: Add entry for Thread_Body pragma
+
+ * s-thread.adb: Add entries for thread body processing
+ These are dummy bodies so far
+
+ * s-thread.ads: Add documentation on thread body handling.
+ Add entries for thread body processing.
+
+2003-11-04 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb:
+ (Build_Limited_Views): Return after posting an error in case of limited
+ with_clause on subprograms, generics, instances or generic renamings
+ (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
+ on subprograms, generics, instances or generic renamings
+
+2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
+
+ * raise.c (setup_to_install): Correct mistake in last revision; two
+ arguments out of order.
+
+ * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
+ gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
+ notice, missed in previous change.
+ Remove trailing blanks and other style errors introduced in previous
+ change.
+
+2003-11-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
+ rid of the wrapper for a LJM type, ensuring we don't do that if the
+ field is addressable. This avoids potential low level type view
+ mismatches later on, for instance in a by-reference argument passing
+ process.
+
+2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
+ aligned at byte boundary.
+
+2003-11-04 Joel Brobecker <brobecker@gnat.com>
+
+ * decl.c (components_to_record): Do not delete the empty variants from
+ the end of the union type.
+
+2003-11-04 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
+ operation for a derived type, an explicit declaration may use a local
+ subtype of Boolean.
+
+2003-11-04 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Gnatmake): Allow main sources on the command line with a
+ library project when it is only for compilation (no binding or
+ linking).
+
+2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in: Remove many duplicate variables.
+
+2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (dvi): Move targets to $(docobjdir).
+ (gnat_ug_vms.dvi): Simplify rule and adjust target.
+ (gnat_ug_wnt.dvi): Likewise.
+ (gnat_ug_unx.dvi): Likewise.
+ (gnat_ug_vxw.dvi): Likewise.
+ (gnat_rm.dvi): Likewise.
+ (gnat-style.dvi): Likewise.
+
+2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gigi.h: Missed commit from update for C90.
+
+2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
+
+2003-10-31 Andreas Schwab <schwab@suse.de>
+
+ * raise.c (get_action_description_for): Fix typo in last change.
+
+2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/12761
+ * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
+ T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
+
+2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
+ ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
+ gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
+ sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
+ trans.c, utils.c, utils2.c: Convert function prototypes to C90.
+
+2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 3vtrasym.adb:
+ Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
+ numbers when symbol name is too long.
+
+2003-10-30 Ed Falis <falis@gnat.com>
+
+ * g-signal.ads, g-signal.adb: New files
+
+ * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
+
+ * Makefile.rtl: Introduce GNAT.Signals
+
+2003-10-30 Robert Dewar <dewar@gnat.com>
+
+ * freeze.adb: Minor reformatting
+
+ * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
+
+ * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
+ par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
+ New handling of Id_Check parameter to improve recognition of keywords
+ used as identifiers.
+ Update copyright notice to include 2003
+
+2003-10-29 Robert Dewar <dewar@gnat.com>
+
+ * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
+ sem_ch10.adb: Minor reformatting
+
+ * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
+ (Expand_Assign_Record): Test right hand side for bit unaligned as well
+
+2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
+ Support for TBK$SYMBOLIZE-based symbolic traceback.
+
+2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
+
+ * exp_disp.adb:
+ Revert previous change, that did not work well when pragma No_Run_Time
+ was used in conjunction with a run-time other than ZFP.
+
+2003-10-29 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake): When there are no Ada mains in attribute Main, disable the
+ bind and link steps only is switch -z is not used.
+
+2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic: Remove duplicated setting of CC.
+
+ * Makefile.prolog: Set CC to gcc by default, to override make's
+ default (cc).
+
+ * einfo.h: Regenerated.
+
+2003-10-29 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
+ current body, after compiling subunit.
+
+ * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
+ when in deleted code, because gigi needs properly ordered freeze
+ actions to annotate types.
+
+ * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
+ prevent the premature freezing of record type that contains
+ subcomponents with a private type that does not yet have a completion.
+
+2003-10-29 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_Package_Instantiation): Check that instances can not be used in
+ limited with_clauses.
+
+ * sem_ch8.adb:
+ (Analyze_Package_Renaming): Check that limited withed packages cannot
+ be renamed. Improve text on error messages related to limited
+ with_clauses.
+
+ * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
+
+ * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
+ Update copyright notice.
+
+ * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
+ (Install_Limited_Context_Clauses): New subprogram that isolates all the
+ checks required for limited context_clauses and installs the limited
+ view.
+ (Install_Limited_Withed_Unit): Complete its documentation.
+ (Analyze_Context): Check that limited with_clauses are only allowed in
+ package specs.
+ (Install_Context): Call Install_Limited_Context_Clauses after the
+ parents have been installed.
+ (Install_Limited_Withed_Unit): Add documentation. Mark the installed
+ package as 'From_With_Type'; this mark indicates that the limited view
+ is installed. Used to check bad usages of limited with_clauses.
+ (Build_Limited_Views): Do not add shadow entities to the scope's list
+ of entities. Do not add real entities to the Non_Limited_Views chain.
+ Improve error notification.
+ (Remove_Context_Clauses): Remove context clauses in two phases:
+ limited views first and regular views later (to maintain the
+ stack model).
+ (Remove_Limited_With_Clause): If the package is analyzed then reinstall
+ its visible entities.
+
+2003-10-29 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
+ with any type that Is_Fixed_Point_Type.
+
+ * sinfo.ads: Fix documentation for Associated_Node attribute.
+
+2003-10-29 Sergey Rybin <rybin@act-europe.fr>
+
+ * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
+ both '-gnatc' and '-gnatt' are specified.
+
+ * atree.adb (Initialize): Add initialization for Node_Count (set to
+ zero).
+
+2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
+ do not consider as Pure.
+
+ Part of implementation of function-at-a-time:
+
+ * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
+ (tree_transform): Add new argument to build_component_ref.
+ (tree_transform, case N_Assignment_Statement): Make and return an
+ EXPR_STMT.
+ (tree_transform): If result IS_STMT, set flags and return it.
+ (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+
+ * utils2.c (build_simple_component_ref, build_component_ref): Add new
+ arg, NO_FOLD_P.
+ (build_binary_op, case EQ_EXPR): Pass additional arg to it.
+ (build_allocator): Likewise.
+
+ * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
+ Add new arg to build_component_ref.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+
+ * ada-tree.def (EXPR_STMT): New code.
+
+ * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
+
+ * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
+ build_component_ref calls.
+
+ * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
+
+ * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+ (build_component_ref): Add new argument, NO_FOLD_P.
+
+2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic: Add missing substitution on object_deps handling.
+
+ PR ada/5909
+ * Make-lang.in (check-ada): Enable ACATS test suite.
+
+2003-10-27 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch3.adb:
+ (Freeze_Array_Type): We do not need an initialization routine for types
+ derived from String or Wide_String. They should be treated the same
+ as String and Wide_String themselves. This caused problems with the
+ use of Initialize_Scalars.
+
+ * exp_ch5.adb:
+ (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
+ composites. This allows use of component clauses that are not byte
+ aligned.
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
+ is an attempt to pack an array of atomic objects.
+
+ * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
+
+2003-10-27 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb:
+ (Basename): Check for drive letters in a pathname only on DOS based OS.
+
+2003-10-27 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake): When unable to change dir to the object dir, display the
+ content of the parent dir of the obj dir, to try to understand why this
+ happens.
+
+2003-10-27 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-10-27 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb:
+ (Inline_Instance_Body): Indicate that the save/restore of use_clauses
+ should not be done in Save/Restore_Scope_Stack, because it is performed
+ locally.
+
+ * sem_ch8.adb:
+ (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+ whether use clauses should be removed/restored.
+
+ * sem_ch8.ads:
+ (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+ whether use clauses should be removed/restored.
+
+2003-10-26 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Remove duplicated lines.
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
+ minimize the differences with ACT tree.
+
+ * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
+ gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
+ Gnatvsn.Gnat_Static_Version_String to reduce differences between
+ ACT and FSF trees.
+
+2003-10-24 Pascal Obry <obry@gnat.com>
+
+ PR ada/12014
+ * adadecode.c (ostrcpy): New function.
+ (__gnat_decode): Use ostrcpy of strcpy.
+ (has_prefix): Set first parameter a const.
+ (has_suffix): Set first parameter a const.
+ Update copyright notice. Fix source name in header.
+ Removes a trailing space.
+
+2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
+
+ * exp_disp.adb:
+ Remove the test against being in No_Run_Time_Mode before generating a
+ call to Register_Tag. It is redundant with the test against the
+ availability of the function Register_Tag.
+
+2003-10-24 Vincent Celier <celier@gnat.com>
+
+ * g-catiio.adb: (Month_Name): Correct spelling of February
+
+ * make.adb: (Mains): New package
+ (Initialize): Call Mains.Delete
+ (Gnatmake): Check that each main on the command line is a source of a
+ project file and, if there are several mains, each of them is a source
+ of the same project file.
+ (Gnatmake): When a foreign language is specified in attribute Languages,
+ no main is specified on the command line and attribute Mains is not
+ empty, only build the Ada main. If there is no Ada main, just compile
+ the Ada sources and their closure.
+ (Gnatmake): If a main is specified on the command line with directory
+ information, check that the source exists and, if it does, that the path
+ is the actual path of a source of a project.
+
+ * prj-env.adb:
+ (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
+ Full_Path is True, return the full path instead of the simple file name.
+ (Project_Of): New function
+
+ * prj-env.ads:
+ (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
+ defaulted to False.
+ (Project_Of): New function
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic:
+ Ensure objects of main project are always checked and rebuilt if needed.
+ Set CC to gcc by default.
+ Prepare new handling of link by creating a global archive (not activated
+ yet).
+
+ * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+ stringt.h: Update copyright notice. Remove trailing blanks.
+ Fix source name in header.
+
+2003-10-24 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+ * sem_ch3.adb:
+ Minor reformatting (including new function return style throughout)
+
+ * sem_ch3.ads:
+ Minor reformatting (including new function return style throughout)
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+ stringt.h: Update copyright notice. Remove trailing blanks.
+ Fix source name in header.
+
+2003-10-24 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
+ stringt.h: Convert to ISO C90 declarations and definitions.
+
+2003-10-23 Thomas Quinot <quinot@act-europe.fr>
+
+ PR ada/11978
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
+ External_Tag attribute definition clauses.
+
+2003-10-23 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/7613
+ * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
+ child unit, generate a fully qualified name to avoid spurious errors
+ when the context contains renamings of different child units with
+ the same simple name.
+
+ * exp_dbug.ads: Add documentation on name qualification for renamings
+ of child units.
+
+2003-10-23 Robert Dewar <dewar@gnat.com>
+
+ * g-regpat.ads, g-regpat.adb: Minor reformatting
+
+2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
+
+2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
+ Machine call.
+
+ * urealp.h: (Machine): Update to proper definition.
+
+2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c, adaint.c: Minor reformatting.
+
+2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * adaint.c (w32_epoch_offset): Define static const at file level.
+ (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
+ rather than t_create, t_access in call to GetFileTime. Use union
+ to convert between FILETIME and unsigned long long.
+ (__gnat_file_time_name): Test for invalid file handle.
+ (__gnat_set_filetime_name): Support win32 targets using
+ w32api SetFileTime.
+
+2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
+
+ * ctrl_c.c (__gnat_int_handler): Remove declaration.
+
+ * decl.c (creat_concat_name): Const-ify prefix.
+
+ * adaint.c: Include ctype.h if __MINGW32__.
+ (__gnat_readlink): Mark arguments as possibly unused.
+ (__gnat_symlink): Likewise.
+ (__gnat_is_symbolic_link): Likewise.
+ (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
+ declaration
+ (__gnat_file_time_name): Don't declare struct stat statbuf when
+ not needed.
+ (__gnat_is_absolute_path): Add parenthesis around condition of
+ 'if' statement to avoid warning.
+ (__gnat_plist_init): Specify void as parameter.
+ (plist_enter): Likewise.
+ (plist_leave): Likewise.
+ (remove_handle): Make static. Initialize prev.
+
+2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/10110
+ * Makefile.in: Disable build of gnatpsta.
+ * cstreams.c (__gnat_full_name): Minor improvements and clean up
+ of previous change.
+
+2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * tracebak.c (MAX): Avoid redefinition warning.
+
+ * init.c [sgi] (__gnat_error_handler): Remove i, unused.
+ Change msg to const char *.
+ (__gnat_install_handler): Remove ss, unused.
+ [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
+ to const char *.
+ * cstreams.c (__gnat_full_name): Declare p only when used.
+ (__gnat_full_name) [sgi] Return buffer.
+
+2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
+
+ * mingw32.h: New file.
+ * gnat_wrapper.adb: New file.
+
+2003-10-22 Jerome Roussel <roussel@act-europe.fr>
+
+ * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
+ string match a pre compiled regular expression (the corresponding
+ version of the function working on a raw regular expression)
+ Fix typos in various comments
+ Update copyright notice in spec
+
+2003-10-21 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_ch3.adb:
+ (Component_Needs_Simple_Initialization): Return False when the type is a
+ packed bit array. Revise spec comments to document this case.
+
+ * exp_prag.adb:
+ (Expand_Pragma_Import): Set any expression on the imported object to
+ empty to avoid initializing imported objects (in particular this
+ covers the case of zero-initialization of bit arrays).
+ Update copyright notice.
+
+2003-10-21 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb:
+ (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
+ a subunit is missing.
+ (Instantiate_Subprogram_Body): If body of function is missing, set type
+ of return expression explicitly in dummy body, to prevent cascaded
+ errors when a subunit is missing.
+ Fixes PR 5677.
+
+ * sem_ch3.adb:
+ (Access_Subprogram_Declaration): Verify that return type is valid.
+ Fixes PR 8693.
+
+ * sem_elab.adb:
+ (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
+ generic.
+ Fixes PR 12318.
+
+ * sem_util.adb:
+ (Corresponding_Discriminant): If the scope of the discriminant is a
+ private type without discriminant, use its full view.
+ Fixes PR 8247.
+
+2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
+ 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
+ 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
+ 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
+ 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
+ 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
+ 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+ 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
+ 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
+ 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
+ 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
+ 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
+ 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
+ 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
+ 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
+ a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
+ a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
+ a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
+ bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
+ erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
+ g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
+ g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
+ g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
+ g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
+ g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
+ g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
+ gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
+ g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
+ g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
+ i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
+ prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+ prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
+ s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
+ s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
+ s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
+ s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+ s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
+ s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
+ s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
+ s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
+ socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
+ s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
+ s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
+ s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
+ styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
+ s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
+ tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
+ vms_conv.ads, vms_conv.adb, vms_data.ads,
+ vxaddr2line.adb: Files added. Merge with ACT tree.
+
+ * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
+ 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
+ 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
+ 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
+ g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
+ s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
+ s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
+ s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
+ s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
+
+ * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
+ 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
+ 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
+ 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
+ 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
+ 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+ 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
+ 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
+ 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+ 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
+ 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
+ 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
+ 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
+ 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
+ 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+ 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+ 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
+ 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
+ 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
+ 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+ 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
+ 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+ 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+ 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
+ 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
+ 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
+ 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
+ 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
+ a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
+ a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
+ a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
+ a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
+ a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
+ ali.adb, ali.ads, ali-util.adb, ali-util.ads,
+ a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
+ a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
+ a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
+ a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
+ a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
+ a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+ a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
+ a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
+ a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
+ a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
+ a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
+ a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
+ atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
+ a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
+ a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
+ bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
+ checks.adb, checks.ads, cio.c, comperr.adb,
+ comperr.ads, csets.adb, cstand.adb, cstreams.c,
+ debug_a.adb, debug_a.ads, debug.adb, decl.c,
+ einfo.adb, einfo.ads, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
+ expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
+ exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
+ exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+ exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
+ exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+ exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
+ exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
+ fe.h, fmap.adb, fmap.ads, fname.adb,
+ fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
+ freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
+ g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+ g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+ g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
+ g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
+ g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
+ g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
+ g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
+ g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
+ g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+ g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
+ gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
+ gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
+ gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
+ gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
+ gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
+ g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
+ g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
+ g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
+ g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
+ g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
+ g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
+ g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
+ g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
+ i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
+ i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
+ inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
+ itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
+ layout.adb, lib.adb, lib.ads, lib-list.adb,
+ lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ link.c, live.adb, make.adb, make.ads,
+ Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
+ mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+ mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
+ misc.c, mkdir.c, 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.adb, namet.ads, namet.h, nlists.ads,
+ nlists.h, nmake.adt, opt.adb, opt.ads,
+ osint.adb, osint.ads, osint-b.adb, osint-c.adb,
+ par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.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,
+ prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
+ prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
+ prj-env.adb, prj-env.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, raise.c, raise.h,
+ repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
+ rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
+ s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
+ s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
+ scans.ads, scn.adb, scn.ads, s-crc32.adb,
+ s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
+ sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+ sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+ sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
+ sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
+ 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_disp.adb, sem_disp.ads, sem_dist.adb,
+ sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
+ sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
+ sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
+ sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
+ s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
+ s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
+ s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
+ s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
+ s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
+ sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
+ sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
+ sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
+ s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
+ s-memory.adb, s-memory.ads, snames.adb, snames.ads,
+ snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
+ s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
+ s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
+ s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
+ s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
+ s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
+ s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
+ s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+ s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
+ s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
+ s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
+ s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
+ s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+ s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
+ s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+ stringt.adb, stringt.ads, stringt.h, style.ads,
+ stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
+ s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
+ s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
+ switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
+ s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
+ trans.c, tree_io.adb, treepr.adb, treeprs.adt,
+ ttypes.ads, types.ads, types.h, uintp.adb,
+ uintp.ads, uintp.h, uname.adb, urealp.adb,
+ urealp.ads, urealp.h, usage.adb, utils2.c,
+ utils.c, validsw.adb, validsw.ads, widechar.adb,
+ xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
+ xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
+ einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
+ gnatvsn.ads: Merge with ACT tree.
+
+ * gnatvsn.adb: Rewritten in a simpler and more efficient way.
+
+2003-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
+ (gnat_ug_vmx.info): Likewise.
+ (gnat_ug_vxw.info): Likewise.
+ (gnat_ug_wnt.info): Likewise.
+ (gnat_rm.info): Likewise.
+ (gnat-style.info): Likewise.
+
+ * Make-lang.in (ada.install-info): Remove target.
+ (info): New target.
+ (install-info): Likewise.
+ (gnat_ug_unx.info): Simplify rule.
+ (gnat_ug_vmx.info): Likewise.
+ (gnat_ug_vxw.info): Likewise.
+ (gnat_ug_wnt.info): Likewise.
+ (gnat_rm.info): Likewise.
+ (gnat-style.info): Likewise.
+
+2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in: Replace uses of $(target_alias) with
+ $(target_noncanonical).
+ * ada/Makefile.in: Remove unused mention of $(target_alias).
+
+2003-10-06 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (ada.info): Replace with ...
+ (info): ... this.
+ (ada.dvi): Replace with ...
+ (dvi): ... this.
+
+2003-09-29 Zack Weinberg <zack@codesourcery.com>
+
+ * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
+ initialize dconstp5 and dconstmp5.
+
+2003-09-28 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform): Update call to expand_asm_operands.
+
+2003-09-21 Richard Henderson <rth@redhat.com>
+
+ * trans.c, utils.c: Revert.
+
+2003-09-21 Richard Henderson <rth@redhat.com>
+
+ * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
+ change to const.
+
+2003-09-04 Michael Matz <matz@suse.de>
+
+ * misc.c: Include "target.h".
+ * Make-lang.in (misc.o): Add dependency on target.h.
+
+2003-09-03 DJ Delorie <dj@redhat.com>
+
+ * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
+ hook.
+
+2003-08-30 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Update substitutions to match changes to
+ configure. Use include directives instead of @-insertions
+ to read in host and target fragments. Add a rule to
+ regenerate ada/Makefile.
+
+2003-07-18 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang-options.h: Remove.
+ * lang.opt: Add help text.
+
+2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
+ calls.
+
+2003-07-06 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Don't handle filenames.
+
+2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Make-lang.in: Replace PWD with PWD_COMMAND.
+ * Makefile.adalib: Likewise.
+ * Makefile.in: Likewise.
+
+2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * misc.c (gnat_argv): Revert last change.
+ (gnat_handle_option, gnat_init_options): Copy arguments.
+
+2003-07-03 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_argv): Make const.
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (save_argc, save_argv): Keep non-static!
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (save_argc, save_argv): Make static.
+ (gnat_init_options): New prototype.
+ (gnat_init_options): Update.
+
+2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * gnat_ug.texi: Remove unlikely characters from @vars.
+ * gnat_ug_vms.texi: Regenerate.
+
+2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * misc.c (record_code_position): Adjust emit_note call.
+
+2003-06-26 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Don't check for missing arguments.
+
+2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (end_subprog_body): Adjust expand_function_end call.
+
+2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
+ Bind_Main_Program.
+
+2003-06-15 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang.opt: Declare Ada.
+ * misc.c (gnat_init_options): Update.
+
+2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (begin_subprog_body): Adjust init_function_start call.
+
+2003-06-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update to use options.c and options.h.
+ * misc.c: Include options.h not aoptions.h.
+ (gnat_handle_option): Abort on unrecognized switch.
+ (gnat_init_options): Request Ada switches.
+
+2003-06-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang.opt: Add -Wall.
+ * misc.c (gnat_handle_option): Handle it.
+
+2003-06-12 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Fix warnings.
+
+2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
+
+2003-06-11 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update to handle command-line options.
+ * lang.opt: New file.
+ * misc.c: Include aoptions.h.
+ (cl_options_count, cl_options): Remove.
+ (gnat_handle_option): New.
+ (gnat_decode_option): Remove.
+ (LANG_HOOKS_DECODE_OPTION): Remove.
+ (LANG_HOOKS_HANDLE_OPTION): Override.
+
+2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * init.c, misc.c, trans.c, utils.c: Remove dead code.
+
+2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in: Replace "host_canonical" with "host" for autoconf
+ substitution.
+
+2003-06-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update.
+ * misc.c: Include opts.h. Define cl_options_count and cl_options.
+
+2003-06-07 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_init_options): Update.
+
+2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/b_gnatb.o-warn): Remove.
+ * bindgen.adb (Gen_Main_C): Mark ensure_reference with
+ __attribute__ ((__unused__)).
+
+2003-06-05 Jan Hubicka <jh@suse.cz>
+
+ * Make-lang.in: Add support for stageprofile and stagefeedback
+
+2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
+ (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
+
+2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
+ Remove non-VMS directive.
+ (Switches for gnatlbr, Optimization Levels): Remove non-VMS
+ alternatives.
+ (Examples of gnatls Usage): Remove VMS alternative.
+
+2003-06-04 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/9953
+ * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
+ and turn ZCX_By_Default back to False since the underlying support
+ is not quite there yet.
+
+2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
+ and ROUND_TYPE_SIZE_UNIT.
+
+2003-05-22 Geert Bosch <bosch@gnat.com>
+
+ * gnat_rm.texi : Remove reference to Ada Core Technologies.
+
+2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (tree_transform): Use location_t and input_location
+ directly.
+ (build_unit_elab): Likewise.
+ * utils.c (create_label_decl): Likewise.
+
+2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (tree_transform, build_unit_elab,
+ set_lineno): Rename lineno to input_line.
+ * utils.c (pushdecl, create_label_decl, begin_subprog_body,
+ end_subprog_body): Likewise.
+ * utils2.c (build_call_raise): Likewise.
+
+2003-05-01 Laurent Guerby <guerby@acm.org>
+
+ PR ada/10546
+ * 5iosinte.ads: Increase pthread_cond_t size to match recent
+ LinuxThread and NPTL version, merge from ACT.
+
+2003-04-28 Zack Weinberg <zack@codesourcery.com>
+
+ * utils.c (convert): No need to clear TREE_CST_RTL.
+
+2003-04-23 Geert Bosch <bosch@gnat.com>
+
+ * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
+ 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
+ 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
+ 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
+ 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
+ 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
+ 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
+ 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
+ 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
+ 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
+ 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
+ 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
+ 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
+ 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
+ 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
+ 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
+ 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
+ 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
+ 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
+ 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
+ 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
+ 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
+ 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
+ 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
+ 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
+ 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
+ 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
+ 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
+ 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
+ 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
+ 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
+ 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
+ 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
+ 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
+ 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
+ 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
+ a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
+ a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
+ a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
+ a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
+ a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
+ a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
+ a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
+ a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
+ a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
+ a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
+ a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
+ a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
+ a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
+ a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
+ a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
+ a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
+ a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
+ a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
+ a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
+ a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
+ a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
+ a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
+ a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
+ a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
+ a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
+ a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
+ a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
+ a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
+ a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
+ a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
+ a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
+ a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
+ a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
+ a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
+ a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
+ a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
+ a-wttest.ads, ada-tree.h, ada.ads, ada.h,
+ adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
+ ali.adb, ali.ads, alloc.ads, argv.c,
+ atree.adb, atree.ads, atree.h, aux-io.c,
+ 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, cal.c, calendar.ads,
+ casing.adb, casing.ads, ceinfo.adb, checks.adb,
+ checks.ads, cio.c, comperr.adb, comperr.ads,
+ config-lang.in, csets.adb, csets.ads, csinfo.adb,
+ cstand.adb, cstand.ads, cuintp.c, debug.adb,
+ debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
+ dec-io.ads, dec.ads, deftarg.c, directio.ads,
+ einfo.adb, einfo.ads, elists.adb, elists.ads,
+ elists.h, errno.c, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
+ exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
+ exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
+ exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
+ exp_ch3.adb, 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.adb, 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_smem.ads, exp_strm.adb, exp_strm.ads,
+ exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
+ fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
+ fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
+ freeze.adb, freeze.ads, frontend.adb, frontend.ads,
+ g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
+ g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+ g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+ g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
+ g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
+ g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
+ g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
+ g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
+ g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
+ g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
+ g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
+ g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
+ g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
+ g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
+ g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
+ g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
+ g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
+ g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
+ get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
+ gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
+ gnatbl.c, gnatchop.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,
+ gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
+ hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
+ i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
+ i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
+ i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
+ i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
+ i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
+ inline.adb, inline.ads, interfac.ads, ioexcept.ads,
+ itypes.adb, itypes.ads, krunch.adb, krunch.ads,
+ layout.adb, layout.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ lib.adb, lib.ads, live.adb, live.ads,
+ machcode.ads, make.adb, make.ads, makeusg.adb,
+ makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
+ mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
+ memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
+ mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
+ mlib.ads, namet.adb, namet.ads, nlists.adb,
+ nlists.ads, opt.adb, opt.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, osint.adb,
+ osint.ads, output.adb, output.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, par.adb, par.ads,
+ prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
+ prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.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,
+ prj.adb, prj.ads, repinfo.adb, repinfo.ads,
+ restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
+ rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
+ s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
+ s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
+ s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
+ s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
+ s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
+ s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
+ s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
+ s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
+ s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
+ s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
+ s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
+ s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
+ s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
+ s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
+ s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
+ s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
+ s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
+ s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
+ s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
+ s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
+ s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
+ s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
+ s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
+ s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
+ s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
+ s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
+ s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
+ s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
+ s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
+ s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
+ s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
+ s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
+ s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
+ s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
+ s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
+ s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
+ s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
+ s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
+ s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
+ s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
+ s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
+ s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
+ s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
+ s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
+ s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
+ s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
+ s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
+ s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
+ s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
+ s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
+ s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
+ s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
+ s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
+ s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
+ s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
+ s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
+ s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
+ s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
+ s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+ s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
+ s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
+ s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
+ s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
+ s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
+ s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
+ s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
+ s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
+ scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
+ sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
+ sem_attr.adb, sem_attr.ads, 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.adb, sem_ch12.ads,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, 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,
+ sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
+ sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
+ sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
+ sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
+ snames.ads, sprint.adb, sprint.ads, stand.adb,
+ stand.ads, stringt.adb, stringt.ads, style.adb,
+ style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
+ switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+ switch-m.ads, switch.adb, switch.ads, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ tbuild.adb, tbuild.ads, text_io.ads, trans.c,
+ tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
+ tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
+ ttypef.ads, ttypes.ads, types.adb, types.ads,
+ uintp.adb, uintp.ads, uname.adb, uname.ads,
+ unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
+ usage.adb, usage.ads, validsw.adb, validsw.ads,
+ widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
+ xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
+ xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
+ formatting and other trivial changes from ACT.
+
+2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * gigi.h, utils2.c (build_constructor):
+ Rename gnat_build_constructor. Use build_constructor.
+ * decl.c (gnat_to_gnu_entity)
+ * trans.c (tree_transform, pos_to_constructor, extract_values)
+ * ada/utils.c (build_template, convert_to_fat_pointer, convert)
+ (unchecked_convert)
+ * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
+ (fill_vms_descriptor):
+ Update to match.
+
+2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
+ * misc.c (gnat_tree_size): New function.
+ (LANG_HOOKS_TREE_SIZE): Override.
+
+2003-04-03 Jason Merrill <jason@redhat.com>
+
+ * misc.c (gnat_adjust_rli): #if 0.
+
+2003-03-31 Geert Bosch <bosch@gnat.com>
+
+ PR ada/10020
+ * link.c : Fix misspelled "const" keyword
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * utils2.c: Adjust calls to put_var_into_stack.
+
+2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
+
+2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_init): Update for new prototype.
+
+2003-03-05 Olivier Hainque <hainque@gnat.com>
+
+ ada/9961
+ * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
+ warning, and fix return type for the IN_RTS && !SJLJ case.
+
+2003-03-04 Tom Tromey <tromey@redhat.com>
+
+ * Make-lang.in (ada.tags): New target.
+
+2003-03-04 Olivier Hainque <hainque@act-europe.fr>
+
+ ada/9911
+ * a-except.adb (Unwind_RaiseException): Import a GNAT specific
+ wrapper, which name remains constant whatever underlying GCC
+ scheme.
+
+ * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
+ the stable interface needed for a-except.
+
+2003-03-02 Andreas Jaeger <aj@suse.de>
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-03-02 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in (install-gnatlib): Match previous change there
+ so it works.
+
+2003-02-28 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (install-gnatlib): Change to ada directory before
+ running make instead of using ada/Makefile directly.
+
+2003-02-18 Ben Elliston <bje@redhat.com>
+
+ Part of PR ada/9406
+ * gnat_ug.texi (Binder output file): Grammar fix.
+
+2003-02-18 Ben Elliston <bje@redhat.com>
+
+ PR other/7350
+ * 5qtaprop.adb (Sleep): Fix typo in comment.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
+ be created if necessary.
+ (ada.install-common): Let $(DESTDIR)$(bindir) be created
+ if necessary. Remove erroneous and redundant gnatchop
+ installation commands. Test for gnatdll before attempting
+ to install it.
+ (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
+ and gnatdll from all plausible locations.
+
+2003-02-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * utils2.c (build_unary_op): Don't check flag_volatile.
+ * gnat_ug.texi: Remove -fvolatile from example.
+ * gnat_ug_vxw.texi: Likewise.
+
+2003-01-29 Laurent Guerby <guerby@acm.org>
+
+ PR ada/8344
+ * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
+ * Makefile.in: match previous change.
+ * Make-lang.in: match previous change.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ * 5rosinte.ads: Add SIGXCPU.
+ * 5rtpopsp.adb: New file.
+ * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
+ * Makefile.in: Recognize more RTEMS targets and add the RTEMS
+ specific file 5rtpopsp.adb.
+ * adaint.h: Add include of <stdio.h> when target is RTEMS. This
+ is likely needed for all newlib targets.
+ * init.c: Add RTEMS specific version of __gnat_initialize().
+
+2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
+
+2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * init.c (__gnat_error_handler): Make msg const.
+
+ * gmem.c (convert_addresses): Move declaration ...
+ * adaint.h: ... here.
+ * adaint.c (convert_addresses): Adapt addrs type to match
+ prototype.
+
+ * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
+
+2003-01-24 Andreas Schwab <schwab@suse.de>
+
+ * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
+ size_t to avoid warning.
+
+2003-01-21 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
+
+2003-01-09 Geoffrey Keating <geoffk@apple.com>
+
+ * gnat_rm.texi: Remove RCS version number.
+
+ * ada-tree.h (union lang_tree_node): Add chain_next option.
+
+2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info, ada.install-common,
+ ada.uninstall): Prepend $(DESTDIR) to the destination
+ directory in all (un)installation commands.
+ * Makefile.in (install-gnatlib, install-rts): Ditto.
+
+2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Use @copying.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
+ only.
+ * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
+ $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
+ $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
+ ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
+ ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
+ $(srcdir)/doc/include/gcc-common.texi.
+
+2002-12-15 Geert Bosch <bosch@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
+
+2002-12-14 Geert Bosch <bosch@gnat.com>
+
+ PR ada/5690
+ * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
+ case of a body created for a Renaming_As_Body, on which
+ conformance checks are not performed.
+
+2002-11-30 Zack Weinberg <zack@codesourcery.com>
+
+ * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
+ utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
+ not already included.
+ * Make-lang.in: Update dependencies.
+
+2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
+ * adaint.c (__gnat_tmp_name): Better, but good enough for now,
+ solution to buffer overflow bug on GNU/Linux.
+
+2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/5856
+ PR ada/6919
+ * bindgen.adb: Remove all references to Public_Version.
+ * comperr.adb: Remove all references to Public_Version and
+ GNATPRO_Version; correct bug reporting instructions.
+ * comperr.ads: Change to match bug box.
+ * gnatvsn.ads: Remove all references to Public version and
+ GNATPRO version.
+
+2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6919
+ * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
+ GNU/Linux.
+
+ PR ada/6558
+ * config-lang.in: Remove diff_excludes.
+
+2002-11-05 Graham Stott <graham.stott@btinternet.com>
+
+ PR ada/8358
+ * trans.c (gnu_pending_elaboration_lists): New GC root.
+ (build_unit_elab): Use..
+
+2002-10-30 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * misc.c : Include optabs.h
+
+ * Make-lang.in (misc.o): Add dependency on optabs.h
+
+2002-10-29 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * Make-lang.in (gnatbind): Depend on CONFIG_H
+
+2002-10-29 Geert bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * misc.c: Unrevert misc.c (1.13)
+
+2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
+ maintainership comments.
+
+2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/5904
+ * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
+ 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
+ 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
+ 7staprop.adb: Correct statements in comments about
+ maintainership of GNAT.
+
+ PR ada/5904
+ * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
+ gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
+ osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
+ osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
+ s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
+ s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
+ sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
+ switch-c.ads switch-m.adb switch-m.ads: Correct statements in
+ comments about maintainership of GNAT.
+
+ PR ada/6919 (forward port of patch for PR ada/5904)
+ * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
+ 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
+ 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
+ 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
+ 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
+ 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
+ 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
+ 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
+ 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
+ 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
+ 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
+ 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
+ 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
+ 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
+ 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
+ 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
+ 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
+ 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
+ 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
+ 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
+ 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
+ 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
+ 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
+ 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
+ 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
+ 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
+ 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
+ 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
+ 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
+ a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
+ a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
+ a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
+ a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
+ a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
+ a-except.adb a-except.ads a-excpol.adb a-exctra.adb
+ a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
+ a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
+ a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
+ a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
+ a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
+ a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
+ a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
+ a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
+ a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
+ a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
+ a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
+ a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
+ a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
+ a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
+ a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
+ a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
+ a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
+ a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
+ a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
+ a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
+ a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
+ a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
+ a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
+ a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
+ a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
+ a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
+ a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
+ a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
+ a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
+ a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
+ a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
+ a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
+ a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
+ adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
+ alloc.ads argv.c atree.adb atree.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 cal.c casing.adb casing.ads
+ ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
+ csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
+ cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
+ debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
+ einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
+ errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
+ exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
+ exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
+ exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
+ exp_ch3.adb 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.adb
+ 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_smem.ads exp_strm.adb
+ exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
+ exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
+ final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
+ fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
+ freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
+ g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
+ g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
+ gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
+ gnatbind.ads gnatbl.c 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 gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
+ gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
+ i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
+ i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
+ i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
+ i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
+ impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
+ itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
+ lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
+ lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
+ lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
+ lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
+ makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
+ namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
+ nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
+ osint.ads output.adb output.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 par.adb par.ads
+ prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
+ prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
+ prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
+ prj-part.adb prj-part.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 prj.adb prj.ads raise.c raise.h
+ repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
+ rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
+ s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
+ s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
+ s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
+ s-direio.adb s-direio.ads s-except.ads s-exctab.adb
+ s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
+ s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
+ s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
+ s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
+ s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
+ s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
+ s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
+ s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
+ s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
+ s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
+ s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
+ s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
+ s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
+ s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
+ s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
+ s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
+ s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
+ s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
+ s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
+ s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
+ s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
+ s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
+ s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
+ s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
+ s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
+ s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
+ s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
+ s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
+ s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
+ s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
+ s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
+ s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
+ s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
+ s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
+ s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
+ s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
+ s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
+ s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
+ s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
+ s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
+ s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
+ s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
+ s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
+ s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
+ s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
+ s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
+ s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
+ s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
+ s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
+ s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
+ s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
+ s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
+ s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
+ s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
+ s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
+ s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
+ s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
+ s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
+ s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
+ s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
+ s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
+ s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
+ s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
+ s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
+ s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
+ s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
+ s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
+ s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
+ s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
+ s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
+ s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
+ s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
+ s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
+ s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
+ s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
+ s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
+ s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
+ s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
+ scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
+ sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
+ 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.adb
+ sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
+ sem_ch3.adb sem_ch3.ads sem_ch4.adb 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.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
+ sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
+ sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
+ snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
+ stringt.ads stringt.h style.adb style.ads stylesw.adb
+ stylesw.ads switch.adb switch.ads sysdep.c system.ads
+ table.adb table.ads targparm.adb targparm.ads targtyps.c
+ tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
+ tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
+ treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
+ types.adb types.ads types.h uintp.adb uintp.ads uintp.h
+ uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
+ usage.ads utils.c utils2.c validsw.adb validsw.ads
+ widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
+ xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
+ xtreeprs.adb: Correct statements in comments about maintainership
+ of GNAT.
+
+2002-09-23 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
+ * Makefile.in (TOOLS_LIBS): Add ../../version.o.
+ * gnatvsn.ads: Gnat_Version_String is now a function.
+ * gnatvsn.adb: New file. When asked for Gnat_Version_String,
+ copy the C version_string into a String and return it.
+ * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
+ gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
+ Remove pragma Ident (Gnat_Version_String). If this was the
+ sole use of package Gnatvsn, remove the with statement too.
+ * gnat1drv.adb: Tweak -gnatv output.
+
+2002-09-17 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
+ * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
+ * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
+ (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
+ * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
+ and real_2expN instead of a loop.
+ * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
+ (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
+
+2002-08-25 Andre Leis <a.leis@gmx.net>
+ David Billinghurst (David.Billinghurst@riotinto.com>
+
+ * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
+
+2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
+ Remove $(CONFIG_H) dependency.
+
+2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
+
+2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * adadecode.c (ada_demangle): Use xstrdup in lieu of
+ xmalloc/strcpy.
+ * misc.c (gnat_decode_option): Likewise.
+
+2002-07-15 Florian Weimer <fw@deneb.enyo.de>
+
+ * make.adb (Add_Switch): Make Generic_Position a procedure. The
+ function approach did not work well because of a side effect (the
+ function call could reallocate the table which was being indexed
+ using its result). Fixes ada/4851. [RESURRECTED]
+
+2002-07-01 Roger Sayle <roger@eyesopen.com>
+
+ * ada/utils.c (builtin_function): Accept an additional parameter.
+
+2002-06-28 Andreas Jaeger <aj@suse.de>
+
+ PR ada/7144
+ * Makefile.in: Fix typo in comment, patch by Adrian Knoth
+ <adi@thur.de>.
+
+2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (SHELL): Set to @SHELL@.
+
+2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
+ array size calculation.
+
+2002-06-04 Andreas Jaeger <aj@suse.de>
+
+ * Make-lang.in (gnatbind): Readd rule that has been lost in last
+ patch.
+
+2002-06-03 Geoffrey Keating <geoffk@redhat.com>
+
+ Merge from pch-branch:
+
+ * config-lang.in (gtfiles): Add ada-tree.h.
+ * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
+ (SET_TYPE_MODULUS): New.
+ (SET_TYPE_INDEX): New.
+ (SET_TYPE_DIGITS_VALUE): New.
+ (SET_TYPE_RM_SIZE): New.
+ (SET_TYPE_UNCONSTRAINED_ARRAY): New.
+ (SET_TYPE_ADA_SIZE): New.
+ (SET_TYPE_ACTUAL_BOUNDS): New.
+ (SET_DECL_CONST_CORRESPONDING_VAR): New.
+ (SET_DECL_ORIGINAL_FIELD): New.
+ (TREE_LOOP_ID): Correct typo.
+ * decl.c: Use new macros.
+ * utils.c: Include debug.h, use new macros.
+ * utils2.c: Use new macros.
+
+ * ada-tree.h: Update all macros for new tree description.
+ (struct tree_loop_id): New.
+ (union lang_tree_node): New.
+ (struct lang_decl): New.
+ (struct lang_type): New.
+ * misc.c (gnat_mark_tree): Delete.
+ (LANG_HOOKS_MARK_TREE): Delete.
+ * trans.c (tree_transform): No longer any need to cast
+ for TREE_LOOP_ID.
+
+ * utils.c (struct language_function): New dummy structure.
+
+ * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
+ (misc.o): Likewise.
+ (utils.o): Likewise; also gtype-ada.h.
+ * Make-lang.in (gnat1): Add dependency on s-gtype.
+ (gnatbind): Add dependency on $(CONFIG_H).
+ * utils.c: Correct last #include.
+ (stuct e_stack): Remove unnecessary 'static'.
+ (mark_e_stack): Remove unused prototype.
+
+ * scn-nlit.adb: Remove whitespace after version number to
+ keep lines under 80 chars.
+ * snames.adb: Likewise.
+ * treepr.ads: Likewise.
+
+ * Makefile.in (decl.o): Include gt-ada-<filename>.h.
+ (misc.o): Likewise.
+ (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
+ * config-lang.in (gtfiles): New.
+ * decl.c: Use gengtype for roots.
+ * gigi.h: Use gengtype for roots.
+ * trans.c: Use gengtype for roots.
+ * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
+
+2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * misc.c (gnat_init): Adjust setting of internal_error_function.
+
+2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2002-05-31 Florian Weimer <fw@deneb.enyo.de>
+
+ * 5ntaprop.adb (with System.OS_Primitives): Remove.
+
+ * cstreams.c (max_path_len): Move from here ...
+ * adaint.c (__gnat_max_path_len): ... to here.
+ * adaint.c (__gnat_max_path_len): Declare.
+ * g-dirope.adb (Max_Path): Adjust.
+ * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
+ * i-cstrea.ads (max_path_len): Adjust.
+ * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
+ * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
+
+ * Makefile.in, Make-lang.in: Documentation is now built in
+ Make-lang.in. Store Info and generated Texinfo files in the
+ source directory.
+ * gnat_ug.texi: Remove CVS keywords, correct version number.
+ Set file name correctly.
+
+ * gnat_ug_*.texi: Add.
+ * .cvsignore: Ignore generated Texinfo files.
+
+2002-05-30 Zack Weinberg <zack@codesourcery.com>
+
+ * ada.h: Add MI guard macro.
+ (SUBTYPE): Define constants with an anonymous enum, not static
+ const variables.
+ (IN): Cast constants to appropriate type before use.
+
+2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
+ (experimental)".
+
+2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (CP, ECHO): Copy from Makefile.in.
+ (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
+ (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
+ (ALL_ADA_CFLAGS): Likewise.
+ (ADA_INCLUDES): Likewise.
+ Adapt for new working dir.
+ (GNATBIND): Use Makefile.in version.
+ (.SUFFIXES): Copy from Makefile.in.
+ (ada-warn): Define.
+ (.adb.o, .ads.o): Copy from Makefile.in.
+ Added $(OUTPUT_OPTION).
+ (GNAT1_C_OBJS): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
+ (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
+ Adapt for new working dir.
+ (EXTRA_GNATBIND_OBJS): Likewise.
+ (ADA_BACKEND): Moved from Makefile.in.
+ Renamed to avoid conflict with global BACKEND.
+ Use that one.
+ (TARGET_ADA_SRCS): Moved from Makefile.in.
+ (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
+ Use ADA_BACKEND.
+ (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
+ (ada_extra_files): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
+ (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
+ (ada/nmake.ads): Likewise.
+ (update-sources): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
+ (ADA_TREE_H): Likewise.
+ (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
+ (ada/memtrack.o): Likewise.
+ (ada/adadecode.o): Likewise.
+ Update dependencies.
+ (ada/adaint.o): New.
+ (ada/argv.o): Moved from Makefile.in.
+ Prefix with ada subdir.
+ Update dependencies.
+ (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
+ (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
+ (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
+ (GNAT DEPENDENCIES): Regenerate.
+ * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
+ toplevel Makefile.in.
+ (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
+ (TARGET_ADA_SRCS): Removed.
+ (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
+ (GNATBIND_OBJS): Likewise.
+ (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
+ (BACKEND): Removed.
+ (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
+ (TREE_H): Likewise.
+ (ada_extra_files): Likewise.
+ (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
+ (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
+ (update-sources): Likewise.
+ (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
+ (ADA_TREE_H): Likewise.
+ (adadecoce.o): Likewise.
+ (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
+ (GNAT DEPENDENCIES): Likewise.
+
+2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
+ * Makefile.in: Likewise.
+
+2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
+ Restore $(CONFIG_H) and prefix.o dependencies.
+ (ada.stage[1-4]): Depend on stage?-start.
+
+ * Makefile.in (b_gnatb.c): Depend on interfac.o.
+
+2002-05-02 Jim Wilson <wilson@redhat.com>
+
+ * utils.c (finish_record_type): Change record_size to record_type.
+
+2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
+ (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
+ ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_parse_file): Update.
+
+2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_init): Don't set lang_attribute_common.
+
+2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
+
+2002-04-21 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_ug.texi: New file.
+
+ * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
+ instead of gfdl.texi
+
+ * xgnatug.adb, ug_words: New files.
+
+ * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
+ gnat_rm and gnat-style manuals.
+
+2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (incomplete_type_error): Remove.
+ * utils.c (incomplete_type_error): Remove.
+
+2002-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ * trans.c (tree_transform): Add has_scope argument to
+ expand_start_stmt_expr.
+
+2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (truthvalue_conversion): Rename.
+ * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+ * trans.c (tree_transform): Update.
+ * utils2.c (truthvalue_conversion): Rename, update.
+ (build_binary_op, build_unary_op): Update.
+
+2002-04-04 Laurent Guerby <guerby@acm.org>
+
+ * make.adb: Implement -margs, remove restriction about file name placement.
+ * makeusg.adb: Documentation update.
+ * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
+ * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
+
+2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
+ (builtin_function): Similarly.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * decl.c (gnat_to_gnu_entity): Update.
+ * gigi.h (mark_addressable): Rename.
+ * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+ * trans.c (tree_transform): Update.
+ * utils.c (create_var_decl): Update.
+ * util2.c (build_binary_op, build_unary_op,
+ fill_vms_descriptor): Update.
+ (mark_addressable): Rename, update.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
+ Rename.
+ * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+ LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+ * trans.c (tree_transform, convert_with_check): Update.
+ * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
+ Rename.
+
+2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (finish_incomplete_decl): Rename.
+ * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
+ * utils.c (gnat_init_decl_processing): Don't set hook.
+ (finish_incomplete_decl): Rename.
+
+2002-03-29 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
+ directory.
+
+2001-03-28 Robert Dewar <dewar@gnat.com>
+
+ * checks.ads:
+ (Remove_Checks): New procedure
+
+ * checks.adb:
+ (Remove_Checks): New procedure
+
+ * exp_util.adb:
+ Use new Duplicate_Subexpr functions
+ (Duplicate_Subexpr_No_Checks): New procedure
+ (Duplicate_Subexpr_No_Checks_Orig): New procedure
+ (Duplicate_Subexpr): Restore original form (checks duplicated)
+ (Duplicate_Subexpr): Call Remove_Checks
+
+ * exp_util.ads:
+ (Duplicate_Subexpr_No_Checks): New procedure
+ (Duplicate_Subexpr_No_Checks_Orig): New procedure
+ Add 2002 to copyright notice
+
+ * sem_util.adb: Use new Duplicate_Subexpr functions
+
+ * sem_eval.adb:
+ (Eval_Indexed_Component): This is the place to call
+ Constant_Array_Ref and to replace the value. We simply merge
+ the code of this function in here, since it is now no longer
+ used elsewhere. This fixes the problem of the back end not
+ realizing we were clever enough to see that this was
+ constant.
+ (Expr_Val): Remove call to Constant_Array_Ref
+ (Expr_Rep_Val): Remove call to Constant_Array_Ref
+ Minor reformatting
+ (Constant_Array_Ref): Deal with string literals (patch
+ suggested by Zack Weinberg on the gcc list)
+
+2001-03-28 Ed Schonberg <schonber@gnat.com>
+
+ * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
+ Duplicate_Subexpr_Move_Checks.
+
+ * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
+ Duplicate_Subexpr_Move_Checks.
+
+ * sem_eval.adb: (Constant_Array_Ref): Verify that constant
+ value of array exists before retrieving it (it may a private
+ protected component in a function).
+
+2002-03-28 Geert Bosch <bosch@gnat.com>
+
+ * prj-pp.adb : New file.
+
+ * prj-pp.ads : New file.
+
+2002-03-28 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (stamp-sdefault): Fix path for Makefile.
+
+2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_expand_expr): Move prototype.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (insert_default_attributes): Remove.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+ (gnat_init): Don't set hook.
+ (gnat_expand_expr): Fix prototype.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (ggc_p): Remove.
+
+2002-03-27 Geert Bosch <bosch@gnat.com>
+
+ * prj-makr.ads, prj-makr.adb : New files.
+
+2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
+ (lang_mark_tree): Make static, rename.
+
+2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (maybe_build_cleanup): Remove.
+
+2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (yyparse): Remove.
+
+2002-03-23 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_rm.texi: Sync with ACT version.
+ (From Ben Brosgol <brosgol@gnat.com>)
+
+2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+ (gnat_init): Remove old hook.
+
+2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
+ (yyparse): Rename gnat_parse_file.
+
+2002-03-14 Geoffrey Keating <geoffk@redhat.com>
+
+ Delete all lines containing "$Revision:".
+ * xeinfo.adb: Don't look for revision numbers.
+ * xnmake.adb: Likewise.
+ * xsinfo.adb: Likewise.
+ * xsnames.adb: Likewise.
+ * xtreeprs.adb: Likewise.
+
+2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c (gnat_tree_code_type, gnat_tree_code_length,
+ gnat_tree_code_name): Delete.
+ (tree_code_type, tree_code_length, tree_code_name): Define.
+ (gnat_init): Don't try to copy into the various tree_code
+ arrays.
+
+2002-03-11 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (.NOTPARALLEL): Add fake tag.
+
+2002-03-07 Geert Bosch <bosch@gnat.com>
+
+ * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
+ s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
+ switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
+ switch-m.adb, switch-m.ads : New files.
+
+2002-03-07 Geert Bosch <bosch@gnat.com>
+
+ * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
+ 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
+ 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
+ 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
+ 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
+ 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
+ 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
+ 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
+ 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
+ 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
+ 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
+ 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
+ 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
+ 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
+ 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
+ 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
+ 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
+ Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
+ a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
+ a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
+ a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
+ a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
+ a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
+ a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
+ a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
+ adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
+ atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
+ bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
+ csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
+ einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
+ eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
+ exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
+ exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
+ exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
+ expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
+ freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
+ g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
+ g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
+ g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
+ g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
+ g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
+ gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
+ gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
+ gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
+ i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
+ impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
+ lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+ lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
+ memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
+ mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
+ nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
+ output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
+ par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
+ prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
+ prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
+ prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
+ rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
+ s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
+ s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
+ s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
+ s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
+ s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
+ s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
+ s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
+ s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
+ s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
+ s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+ s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+ s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+ s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
+ sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+ sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
+ sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
+ sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
+ sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+ sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
+ sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
+ sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
+ sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
+ snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
+ stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
+ table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
+ tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
+ treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
+ types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
+ utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
+ xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
+
+ * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
+ g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
+ mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
+ osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
+
+ * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
+ 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
+
+ * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
+ to mdll-fil.ad[bs] and mdll-util.ad[bs]
+
+ * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
+ from mdllfile.ad[bs] and mdlltool.ad[bs]
+
+2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
+ lieu of explicit sizeof/sizeof.
+
+2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (copy_lang_decl): Remove.
+
+2002-02-27 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c: Delete traditional-mode-related code copied from the
+ C front end but not used, or used only to permit the compiler
+ to link.
+
+2002-02-07 Richard Henderson <rth@redhat.com>
+
+ * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
+ * adaint.h (__gnat_to_gm_time): Update prototype.
+
+2002-01-30 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform) [N_Loop_Statement]: Use
+ expand_exit_loop_top_cond.
+
+2001-12-23 Richard Henderson <rth@redhat.com>
+
+ * utils.c (end_subprog_body): Push GC context around
+ rest_of_compilation for nested functions.
+
+2001-12-23 Richard Henderson <rth@redhat.com>
+
+ * 5nosinte.ads: Get definition of "int" from Interfaces.C.
+
+2001-12-23 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat-style.texi (Declarations and Types): Remove ancient style
+ rule which was mandated by code generation issues.
+
+ * gnat-style.texi (header): Add @dircategory, @direntry.
+ (title page): Remove date.
+ (general) Add @./@: where approriate, and two spaces after the
+ full stop at the end of a sentence. Use @samp markup when
+ referring concrete lexical entities (keywords, attribute names
+ etc.), and @syntax for ARM grammar elements. Use @r for English
+ text in comments. Use @emph for emphasis. Change "if-statements"
+ etc. to "if statements" (without @samp). Break long lines. Make
+ casing of section names consistent.
+ (Identifiers): Use @samp markup for variable names.
+ (Comments): Use @samp markup for comment characters. Line-end
+ comments may follow any Ada code, not just statements. Fix
+ misspelling of "Integer" as "integer".
+ (Loop statements): Do not use variable name "I", use "J".
+ (Subprogram Declarations): Document alignment.
+ (Subprogram Bodies, Block statements): Document empty line before
+ "begin".
+
+2001-12-22 Florian Weimer <fw@deneb.enyo.de>
+
+ * make.adb (Add_Switch): Make Generic_Position a procedure. The
+ function approach did not work well because of a side effect (the
+ function call could reallocate the table which was being indexed
+ using its result). Fixes ada/4851.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb: Minor reformatting
+
+ * cstand.adb: Minor reformatting
+
+ * fmap.adb: Minor reformatting
+ Change name from Add for Add_To_File_Map (Add is much too generic)
+ Change Path_Name_Of to Mapped_Path_Name
+ Change File_Name_Of to Mapped_File_Name
+ Fix copyright dates in header
+
+ * fmap.ads:
+ Change name from Add for Add_To_File_Map (Add is much too generic)
+ Change Path_Name_Of to Mapped_Path_Name
+ Change File_Name_Of to Mapped_File_Name
+ Fix copyright dates in header
+
+ * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
+ Add use clause for Fmap.
+
+ * make.adb: Minor reformatting
+
+ * osint.adb: Minor reformatting. Change of names in Fmap.
+ Add use clause for Fmap.
+
+ * prj-env.adb: Minor reformatting
+
+ * prj-env.ads: Minor reformatting
+
+ * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
+ error found (there were odd exceptions to this general rule in
+ -gnatec/-gnatem processing)
+
+2001-12-19 Olivier Hainque <hainque@gnat.com>
+
+ * raise.c (__gnat_eh_personality): Exception handling personality
+ routine for Ada. Still in rough state, inspired from the C++ version
+ and still containing a bunch of debugging artifacts.
+ (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
+ inspired from the C++ library.
+
+ * raise.c (eh_personality): Add comments. Part of work for the GCC 3
+ exception handling integration.
+
+2001-12-19 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove use of 5smastop.adb which is obsolete.
+ (HIE_SOURCES): Add s-secsta.ad{s,b}.
+ (HIE_OBJS): Add s-fat*.o
+ (RAVEN_SOURCES): Remove files that are no longer required. Add
+ interrupt handling files.
+ (RAVEN_MOD): Removed, no longer needed.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
+ Add 2001 to copyright date
+
+ * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
+ need to force universal inlining for these cases.
+
+2001-12-19 Arnaud Charlet <charlet@gnat.com>
+
+ * s-taprob.adb: Minor clean ups so that this unit can be used in
+ Ravenscar HI.
+
+ * exp_ch7.adb: Allow use of secondary stack in HI mode.
+ Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
+
+2001-12-19 Vincent Celier <celier@gnat.com>
+
+ * prj-tree.ads (Project_Node_Record): Add comments for components
+ Pkg_Id and Case_Insensitive.
+
+2001-12-19 Pascal Obry <obry@gnat.com>
+
+ * g-socket.adb: Minor reformatting. Found while reading code.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * prj-tree.ads: Minor reformatting
+
+2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * config-lang.in (diff_excludes): Remove.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve_Selected_Component): do not generate a
+ discriminant check if the selected component is a component of
+ the argument of an initialization procedure.
+
+ * trans.c (tree_transform, case of arithmetic operators): If result
+ type is private, the gnu_type is the base type of the full view,
+ given that the full view itself may be a subtype.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_res.adb: Minor reformatting
+
+ * trans.c (tree_transform, case N_Real_Literal): Add missing third
+ parameter in call to Machine (unknown horrible effects from this
+ omission).
+
+ * urealp.h: Add definition of Round_Even for call to Machine
+ Add third parameter for Machine
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
+ predefined units in No_Run_Time mode.
+
+2001-12-17 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (insn-codes.h): Now include.
+
+2001-12-17 Olivier Hainque <hainque@gnat.com>
+
+ * a-except.adb: Preparation work for future integration of the GCC 3
+ exception handling mechanism
+ (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
+ to factorize previous code sequences and make them externally callable,
+ e.g. for the Ada personality routine when the GCC 3 mechanism is used.
+ (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
+ Use the new notification routines.
+
+2001-12-17 Emmanuel Briot <briot@gnat.com>
+
+ * prj-tree.ads (First_Choice_Of): Document the when others case
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
+ HI-E mode, in order to support Ravenscar profile properly.
+
+ * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
+ mode on 32 bits targets.
+
+2001-12-17 Vincent Celier <celier@gnat.com>
+
+ * fmap.adb: Initial version.
+
+ * fmap.ads: Initial version.
+
+ * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
+ If search is successfully done, add to mapping.
+
+ * frontend.adb: Initialize the mapping if a -gnatem switch was used.
+
+ * make.adb:
+ (Gnatmake): Add new local variable Mapping_File_Name.
+ Create mapping file when using project file(s).
+ Delete mapping file before exiting.
+
+ * opt.ads (Mapping_File_Name): New variable
+
+ * osint.adb (Find_File): Use path name found in mapping, if any.
+
+ * prj-env.adb (Create_Mapping_File): New procedure
+
+ * prj-env.ads (Create_Mapping_File): New procedure.
+
+ * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
+ (Mapping_File)
+
+ * usage.adb: Add entry for new switch -gnatem.
+
+ * Makefile.in: Add dependencies for fmap.o.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
+ is a package instantiation rewritten as a package body.
+ (Install_Withed_Unit): Undo previous change, now redundant.
+
+2001-12-17 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb:
+ (Compute_Length): Move conversion to Unsigned to callers.
+ (Get_Max_Size): Convert Len expression to Unsigned after calls to
+ Compute_Length and Determine_Range.
+ (Layout_Array_Type): Convert Len expression to Unsigned after calls to
+ Compute_Length and Determine_Range.
+ Above changes fix problem with length computation for supernull arrays
+ where Max (Len, 0) wasn't getting applied due to the Unsigned
+ conversion used by Compute_Length.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * rtsfind.ads:
+ (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
+ System.Secondary_Stack.
+ (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
+ in HI-E mode.
+ Remove unused entity RE_Exception_Data.
+
+ * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
+
+ * rident.ads (No_Secondary_Stack): New restriction.
+
+2001-12-17 Joel Brobecker <brobecke@gnat.com>
+
+ * gnat_rm.texi: Fix minor typos. Found while reading the section
+ regarding "Bit_Order Clauses" that was sent to a customer.
+ Very interesting documentation!
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_case.adb (Choice_Image): Avoid creating improper character
+ literal names by using the routine Set_Character_Literal_Name. This
+ fixes bombs in certain error message cases.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * a-reatim.adb: Minor reformatting.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
+ case where the formal is an extension of another formal in the current
+ unit or in a parent generic unit.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * s-tposen.adb: Update comments. Minor reformatting.
+ Minor code clean up.
+
+ * s-tarest.adb: Update comments. Minor code reorganization.
+
+2001-12-17 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
+ when Java_VM.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * exp_attr.adb: Minor reformatting
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
+ derivations nested within a child unit: verify that the parent
+ type is declared in an outer scope.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
+ warning if current unit is a predefined one, from which bodies may
+ have been deleted.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
+ Fix header format. Add 2001 to copyright date.
+
+ * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
+ which caused CE during compilation if checks were enabled.
+
+2001-12-17 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Switches_Of): New function
+ (Test_If_Relative_Path): New procedure
+ (Add_Switches): Use new function Switches_Of
+ (Collect_Arguments_And_Compile): Use new function Switches_Of.
+ When using a project file, test if there are any relative
+ search path. Fail if there are any.
+ (Gnatmake): Only add switches for the primary directory when not using
+ a project file. When using a project file, change directory to the
+ object directory of the main project file. When using a project file,
+ test if there are any relative search path. Fail if there are any.
+ When using a project file, fail if specified executable is relative
+ path with directory information, and prepend executable, if not
+ specified as an absolute path, with the exec directory. Make sure
+ that only one -o switch is transmitted to the linker.
+
+ * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
+
+ * prj-nmsc.adb:
+ (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
+ when using a non standard naming scheme.
+ (Check_Ada_Naming_Scheme): Make sure that error messages
+ do not raise exceptions.
+ (Is_Illegal_Append): Return True if there is no dot in the suffix.
+ (Language_Independent_Check): Check the exec directory.
+
+ * prj.adb (Project_Empty): Add new component Exec_Directory
+
+ * prj.ads:
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
+ (Project_Data): Add component Exec_Directory
+
+ * snames.adb: Updated to match snames.ads revision 1.215
+
+ * snames.ads: Added Exec_Dir
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * make.adb: Minor reformatting
+
+ * prj-nmsc.adb: Minor reformatting
+
+ * snames.adb: Updated to match snames.ads
+
+ * snames.ads: Alphebetize entries for project file
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * trans.c (process_freeze_entity): Do nothing if the entity is a
+ subprogram that was already elaborated.
+
+2001-12-17 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
+ and Esize if object is referenced via pointer.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
+ is discrete before analyzing choices.
+
+2001-12-17 Joel Brobecker <brobecke@gnat.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
+ containing the name of the Ada Main Program. This string is mainly
+ intended for the debugger.
+ (Gen_Output_File_C): Do the equivalent change when generating a C file.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Set new Dummy_Entry field in dependency entry
+
+ * ali.ads: Add Dummy_Entry field to source dependency table
+
+ * bcheck.adb (Check_Consistency): Ignore dummy D lines
+
+ * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
+
+ * lib-writ.ads: Document dummy D lines for missing files.
+
+ * types.ads: (Dummy_Time_Stamp): New value for non-existant files
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Type reference does not reset current file.
+
+ * ali.adb: Recognize and scan renaming reference
+
+ * ali.ads: Add spec for storing renaming references.
+
+ * lib-xref.ads: Add documentation for handling of renaming references
+
+ * lib-xref.adb: Implement output of renaming reference.
+
+ * checks.adb:
+ (Determine_Range): Document local variables
+ (Determine_Range): Make sure Hbound is initialized. It looks as though
+ there could be a real problem here with an uninitialized reference
+ to Hbound, but no actual example of failure has been found.
+
+2001-12-17 Laurent Pautet <pautet@gnat.com>
+
+ * g-socket.ads:
+ Fix comment of Shutdown_Socket and Close_Socket. These functions
+ should not fail silently because if they are called twice, this
+ probably means that there is a race condition in the user program.
+ Anyway, this behaviour is consistent with the rest of this unit.
+ When an error occurs, an exception is raised with the error message
+ as exception message.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
+ that it happens before modification of Sloc values for -gnatD.
+
+ * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
+ so that it happens before modification of Sloc values for -gnatD.
+
+ * switch.adb: Minor reformatting
+
+2001-12-15 Richard Henderson <rth@redhat.com>
+
+ * sem_ch7.adb: Wrap comment.
+
+2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
+ 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
+ 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
+ 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
+ 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
+ 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
+ a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
+ a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
+ cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
+ exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
+ exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
+ g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
+ gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
+ make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
+ repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
+ s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
+ s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
+ s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
+ s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
+ sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
+ sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
+ sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
+ spelling errors.
+
+2001-12-14 Vincent Celier <celier@gnat.com>
+
+ * osint.adb(Create_Debug_File): When an object file is specified,
+ put the .dg file in the same directory as the object file.
+
+2001-12-14 Robert Dewar <dewar@gnat.com>
+
+ * osint.adb: Minor reformatting
+
+ * lib-xref.adb (Output_Instantiation): New procedure to generate
+ instantiation references.
+
+ * lib-xref.ads: Add documentation of handling of generic references.
+
+ * ali.adb (Read_Instantiation_Ref): New procedure to read
+ instantiation references
+
+ * ali.ads: Add spec for storing instantiation references
+
+ * bindusg.adb: Minor reformatting
+
+ * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * csets.ads:
+ Fix header format
+ Add 2001 to copyright date
+ Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+2001-12-14 Matt Gingell <gingell@gnat.com>
+
+ * adaint.c: mktemp is a macro on Lynx and can not be used as an
+ expression.
+
+2001-12-14 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
+ if operand is CONSTRUCTOR.
+
+2001-12-14 Ed Schonberg <schonber@gnat.com>
+
+ * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
+ before emiting check on right-hand side, so that exception information
+ is correct.
+
+2001-12-14 Richard Kenner <kenner@gnat.com>
+
+ * utils.c (create_var_decl): Throw away initializing expression
+ if just annotating types and non-constant.
+
+2001-12-14 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
+ Default_Ada_...
+
+ * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Remove functions.
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
+
+ * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Remove functions.
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
+
+2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog: Remove piece of diff output.
+
+2001-12-14 Geert Bosch <bosch@gnat.com>
+
+ * config-lang.in: Update copyright notice
+
+ * layout.adb: Remove commented out code.
+
+ * mdllfile.ads: Update copyright notice. Fix header format.
+
+ * sem_case.ads: Likewise.
+
+ * sem_ch3.adb: Minor reformatting.
+
+2001-12-12 Geert Bosch <bosch@gnat.com>
+
+ * freeze.ads: Update copyright date.
+
+ * g-comlin.ads: Minor reformatting.
+
+ * gnat-style.texi: Fix typo.
+
+2001-12-12 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h: Regenerate.
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
+ on known node types, rather than untyped fields. Further cleanups.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb:
+ (Save_Entity_Descendant): Minor comment update.
+ (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
+ of an N_Attribute_Reference node. As per note below, this does not
+ eliminate need for Associated_Node in attribute ref nodes.
+ (Associated_Node): Documentation explicitly mentions attribute
+ reference nodes, since this field is used in such nodes.
+
+ * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * s-stalib.adb: Add more comments on with statements being needed
+
+ * par-ch12.adb: Minor reformatting
+
+ * prj-dect.ads: Fix copyright header
+
+ * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
+ inputs fit in 32 bits, but the result still overflows.
+
+ * s-fatgen.ads: Minor comment improvement
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
+ formal derived type, look for an inherited component from the full
+ view of the parent, if any.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * checks.ads (Apply_Alignment_Check): New procedure.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
+ ensure that the alignment of objects with address clauses is
+ appropriate, and raise PE if not.
+
+ * exp_util.ads (Must_Be_Aligned): Removed, replaced by
+ Exp_Pakd.Known_Aligned_Enough
+
+ * mdllfile.ads: Minor reformatting
+
+ * mlib-fil.ads: Minor reformatting
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
+ fix to any component reference if enclosing record has non-standard
+ representation.
+
+2001-12-12 Vincent Celier <celier@gnat.com>
+
+ * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
+ Iteration
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
+ sem_attr.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
+
+2001-12-12 Emmanuel Briot <briot@gnat.com>
+
+ * g-regexp.adb: Remove all debug code, since it isn't required anymore,
+ and it adds dependencies to system.io.
+
+2001-12-12 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb (Expand_Path.Var): Correctly detect end of
+ variable name.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
+ that is the parent of other generics, the instance body replaces the
+ instance node. Retrieve the instance of the spec, which is the one
+ that is visible in clients and within the body.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatmain.adb: Initial version.
+
+ * gnatmain.ads: Initial version.
+
+ * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
+
+ * snames.adb: Updated to match snames.ads.
+
+ * snames.ads: Added Gnatstub.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb (Initialization_Data): Change name from
+ Initialisation_Data.
+
+2001-12-11 Emmanuel Briot <briot@gnat.com>
+
+ * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
+ + and * applied to backslashed expressions like \r.
+
+2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
+
+ * g-os_lib.ads: String_List type added, Argument_List type is now
+ subtype of String_List.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * g-os_lib.ads: Change copyright to FSF
+ Add comments for String_List type
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
+ string to the buffer).
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
+ sem_attr.
+
+ * sem_attr.adb: Simplify previous fix for Address.
+ (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
+ to avoid anomalies where the bound of the type appears to raise
+ constraint error.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Output_Refs): Make sure pointers are always properly
+ handled.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
+ renamed unit before checking for recursive instantiations.
+
+2001-12-11 Emmanuel Briot <briot@gnat.com>
+
+ * prj.ads: Add comments for some of the fields.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Output_Refs): Don't output type references outside
+ the main unit if they are not otherwise referenced.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
+ code and diagnose additional illegal uses
+
+ * sem_util.adb (Is_Object_Reference): An indexed component is an
+ object only if the prefix is.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * g-diopit.adb: Initial version.
+
+ * g-diopit.ads: Initial version.
+
+ * g-dirope.adb:
+ (Expand_Path): Avoid use of Unbounded_String
+ (Find, Wildcard_Iterator): Moved to child package Iteration
+
+ * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb: Minor reformatting
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb: Clarify some ???.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * exp_util.adb (Must_Be_Aligned): Removed, replaced by
+ Exp_Pakd.Known_Aligned_Enough
+
+ * sem_ch13.adb (Check_Address_Alignment): Removed, extended
+ version is moved to Exp_Ch13.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * einfo.ads: Minor reformatting
+
+ * exp_ch5.adb: Add comment for previous.change
+
+ * ali.adb: New interface for extended typeref stuff.
+
+ * ali.ads: New interface for typeref stuff.
+
+ * checks.adb (Apply_Alignment_Check): New procedure.
+
+ * debug.adb: Add -gnatdM for modified ALI output
+
+ * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
+
+ * lib-xref.adb: Extend generation of <..> notation to cover
+ subtype/object types. Note that this is a complete rewrite,
+ getting rid of the very nasty quadratic algorithm previously
+ used for derived type output.
+
+ * lib-xref.ads: Extend description of <..> notation to cover
+ subtype/object types. Uses {..} for these other cases.
+ Also use (..) for pointer types.
+
+ * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
+
+ * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
+ (Known_Aligned_Enough): Replaces Must_Be_Aligned.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb:
+ Changed /COMPILE_ONLY to /ACTIONS=COMPILE
+ Changed /BIND_ONLY to /ACTIONS=BIND
+ Changed /LINK_ONLY to /ACTIONS=LINK
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch8.adb (Find_Selected_Component): improved search for a
+ candidate package in case of error.
+
+ * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
+ chain back on scope stack before reinstalling use clauses.
+
+ * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
+ is enabled, do not kill the code for the condition, to preserve
+ warning.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb (Insert_Valid_Check): Apply validity check to expression
+ of conversion, not to result of conversion.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
+ before freezing parent. If the declarations are mutually recursive,
+ an access to the current record type may be frozen before the
+ derivation is complete.
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
+ -c /COMPILE_ONLY, -l /LINK_ONLY
+
+ * opt.ads:
+ (Bind_Only): New Flag
+ (Link_Only): New flag
+
+ * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
+ and -l (Link_Only)
+
+ * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
+
+ * make.adb:
+ (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
+ (Gnatmake): Set the step flags. Only perform a step if the
+ corresponding step flag is True.
+ (Scan_Make_Arg): Reset the bind and link step flags when -u
+ or -gnatc has been specified.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
+ get bounds from right operand.
+
+ * sem_eval.adb: Minor reformatting
+
+ * exp_util.adb (Make_Literal_Range): use bound of literal rather
+ than Index'First, its lower bound may be different from 1.
+
+ * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
+ and C48009J
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb Minor reformatting
+
+ * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
+ set and libraries are not supported.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
+ private view explicitly, so the back-end can treat as a global
+ when appropriate.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
+ unit, always replace instance node with new body, for ASIS use.
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
+ libraries are not supported and both attributes Library_Name and
+ Library_Dir are specified.
+
+ * prj-proc.adb (Expression): Set location of Result to location of
+ first term.
+
+ * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
+ (prj-nmsc is now importing MLib.Tgt)
+
+ * prj-proc.adb: Put the change indicated above that was forgotten.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
+ constraint, introduce explicit subtype declaration and derive from it.
+
+ * sem_ch3.adb: Minor reformatting
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb (Determine_Range): Increase cache size for checks.
+ Minor reformatting
+
+ * exp_ch6.adb: Minor reformatting
+ (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
+ a parameter whose root type is System.Address, since treating such
+ subprograms as pure in the code generator is almost surely a mistake
+ that will lead to unexpected results.
+
+ * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
+ change handling of conversions.
+
+ * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
+ aggregate with static wrong size, attach generated Raise node to
+ declaration.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
+ Fixes compilation abandoned bomb in B24009B.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb:
+ Document use of Associated_Node on Selected_Components.
+ (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
+ to clarify use of untyped descendant fields.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * prj-dect.ads: Add ??? comment
+ Add 2001 to copyright notice (was not done in after all)
+
+ * prj-part.adb: Minor reformatting. Reword one awkward error message.
+
+ * prj.ads: Minor reformatting throughout, and add some ??? comments
+
+ * snames.ads: Minor reformatting
+
+2001-12-05 Geert Bosch <bosch@gnat.com>
+
+ * snames.adb: Autoupdate
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
+
+ * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
+
+ * prj-env.adb: Minor comment changes (modifying -> extends).
+
+ * prj-nmsc.adb: Minor comment changes (modifying -> extends).
+
+ * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
+ Tok_Extends.
+
+ * prj.adb (Initialize): Change Modifying to Extends.
+
+ * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
+
+ * prj.ads: Minor comment change (Modifying -> extending).
+
+ * snames.ads: Change modifying to extends.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * sem_warn.adb: Remove stuff for conditionals, we are not going to
+ do this after all.
+
+ * sem_warn.ads: Remove stuff for conditionals, we are not going to
+ do this after all. Add 2001 to copyright notice
+
+2001-12-04 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h, sinfo.h, treeprs.ads: Regenerate.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
+ location if we already have errors. Stops some cases of cascaded
+ errors.
+
+ * errout.adb: Improve comment.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_Formal_Type_Definition): Defend against Error.
+ (Analyze_Formal_Subprogram): Defend against Error.
+
+ * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
+ remove following semicolon if present. Removes cascaded error.
+
+2001-12-04 Douglas B. Rupp <rupp@gnat.com>
+
+ * bindgen.adb:
+ (Gen_Exception_Table_Ada): Write "begin" and then return if Num
+ exceptions equals 0.
+ (Gen_Exception_Table_C): Return if Num exceptions equals 0.
+ Fixes PIWG E tests (which have to be run with -gnatL).
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * einfo.ads: Minor reformatting
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.ads: Block_Node points to the identifier of the block, not to
+ the block node itself, to preserve the link when the block is
+ rewritten, e.g. within an if-statement with a static condition.
+
+ * inline.adb (Cleanup_Scopes): recover block statement from block
+ entity using new meaning of Block_Node.
+
+ * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
+ identifier of block node, rather than to node itself.
+
+2001-12-04 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb:
+ (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+ (Discrimify): Go back to setting the Etypes of the selected component
+ because the Vname component does not exist at this point and will
+ fail name resolution. Also set Analyzed.
+ Remove with and use of Sem_Res.
+
+2001-12-04 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: (HIE_SOURCES): add s-fat*.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb:
+ (Compile_Time_Known_Attribute): New procedure.
+ (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
+ proper range check.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
+ processing discriminants to diagnose illegal default values.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
+ access discriminant within a type extension that constrains its
+ parent discriminants.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
+ is malformed, use instance of Any_Id to allow analysis to proceed.
+
+ * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
+ type definition is illegal.
+ (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
+ misplaced.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
+ constants.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * errout.adb: Minor reformatting
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_util.adb: Minor reformatting from last change
+
+ * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
+ which is a rewriting of an expression, traverse the original
+ expression to remove warnings that may have been posted on it.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * exp_util.adb (Must_Be_Aligned): Return false for a component of a
+ record that has other packed components.
+
+2001-12-04 Douglass B. Rupp <rupp@gnat.com>
+
+ * adaint.c: Minor cleanups.
+
+2001-12-04 Douglass B. Rupp <rupp@gnat.com>
+
+ * adaint.c: Do not use utime.h on vxworks.
+
+2001-12-04 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
+ more confusion than it solves.
+
+2001-12-04 Geert bosch <bosch@gnat.com>
+
+ * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
+
+2001-12-04 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (update-sources): New target.
+ For use by gcc_release script.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
+ a configuration pragma, it is now legal wherever a pragma can appear.
+
+2001-12-04 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Don't set ALL. Delete @cross_defines@,
+ @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
+ is now @CROSS@ -DIN_GCC; update comment.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * einfo.adb (Has_Pragma_Pure_Function): New flag.
+ Fix problem that stopped ceinfo from working
+
+ * einfo.ads (Has_Pragma_Pure_Function): New flag.
+
+ * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
+
+2001-12-04 Douglas B. Rupp <rupp@gnat.com>
+
+ * gnatchop.adb:
+ (File_Time_Stamp): New procedure.
+ (Preserve_Mode): New boolean.
+ (Write_Unit): Pass time stamp.
+ Implement -p switch (preserve time stamps).
+
+ * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
+
+ * gnatchop.adb: Do usage info for -p switch
+
+ * adaint.h (__gnat_set_file_time_name): New function
+
+ * adaint.c (__gnat_set_file_time_name): Implement
+
+ * adaint.h: Fix typo
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
+ have Associated_Node.
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * prj-proc.adb: Minor reformatting
+
+ * make.adb: Minor reformatting
+
+2001-12-03 Geert Bosch <bosch@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
+ push Standard on the stack before analyzing the instance body,
+ in order to have a clean visibility environment.
+
+ * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Protect against double
+ instantiation of a body that contains an inlined body.
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
+ to prevent freezing within formal packages.
+ (Freeze_Subprogram_Body): If body comes from another instance that
+ appeared before its own body, place freeze node at end of current
+ declarative part, to prevent a back-end crash.
+ (Inline_Instance_Body): Handle properly a package instance within
+ a subprogram instance that is a child unit.
+
+2001-12-01 Graham Stott <grahams@redhat.com>
+
+ * Makefile.in (misc.o): Add missing $(srcdir) prefix
+ and add optabs.h dependency.
+
+ * misc.c: Include optabs.h
+ (gnat_tree_code_type): Make static and const.
+ (gnat_tree_code_length): Likewise.
+ (gnat_tree_code_name): Likewise.
+ (update_setjmp_buf): Obtain operands mode from insn_data.
+
+2001-11-29 Richard Henderson <rth@redhat.com>
+
+ * init.c: Remove obsolete dwarf2 frame.h section.
+
+2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * Make-lang.in (ada.generated-manpages): New dummy target.
+
+2001-11-29 Ed Schonberg <schonber@gnat.com>
+
+ * g-os_lib.adb (Add_To_Command): use explicit loop to move string
+ into Command, an array conversion is illegal here. Uncovered by
+ ACATS B460005.
+
+2001-11-28 Geert Bosch <bosch@gnat.com>
+
+ * init.c: Minor whitespace changes.
+
+2001-11-28 Doug Rupp <rupp@gnat.com>
+
+ * init.c: (__gnat_install_handler,VMS): Increase size of alternate
+ signal stack.
+
+2001-11-28 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c (gnat_expand_constant): Move declaration above
+ definition of lang_hooks.
+ (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
+ (gnat_init): lang_expand_constant no longer exists.
+
+ (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
+ always have vprintf.
+ (gnat_init): Always call set_internal_error_function.
+
+2001-11-27 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (stamp-tool_src_dir): Use symbolic link.
+
+2001-11-27 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in: Regenerate Ada dependencies.
+
+2001-11-26 Richard Henderson <rth@redhat.com>
+
+ * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
+ gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
+ gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
+
+2001-11-25 Laurent Guerby <guerby@acm.org>
+
+ * sysdep.c (rts_get_*): Fix style.
+
+2001-11-19 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
+ since it is of no apparent use and cause warnings.
+
+2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_decode_option, gnat_init_options): Make definitions
+ static too.
+ (gnat_init): Don't return NULL.
+ (finish_parse): Remove.
+
+2001-11-17 Laurent Guerby <guerby@acm.org>
+
+ * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
+ * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
+ * io-aux.c: Provide K&R prototypes to all functions, reformat code.
+ * lang-spec.h: Add missing struct field to silence warnings.
+ * sysdep.c (rts_get_*): Provide K&R prototype.
+ * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
+ * traceback.c (Unlock_Task, Lock_Task): Likewise.
+ * tracebak.c (__gnat_backtrace): Remove unused variable.
+ * utils.c (end_subprog_body): Move to K&R style.
+
+Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
+
+2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_init): Change prototype. Include the
+ functionality of the old init_parse and init_decl_processing.
+ (gnat_init_decl_processing): New prototype.
+ (init_parse): Remove.
+ * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
+
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_print_decl, gnat_print_type): Renamed.
+ (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
+ (print_lang_statistics, lang_print_xnode, print_lang_identifier,
+ set_yydebug): Remove.
+
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
+ (struct lang_hooks): Constify.
+ (language_string, lang_identify): Remove.
+ * utils.c (init_decl_processing): Update.
+
+2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * misc.c: Include langhooks-def.h.
+ * Makefile.in: Update.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * style.adb:
+ (Check_Identifier): Rewrite circuit to be compatible with use of letters
+ in the upper half of ASCII.
+ (Check_Identifier): Minor reformatting
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * (Associated_Node, Set_Associated_Node): Do not check for
+ Freeze_Entity.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * a-reatim.ads: Minor reformatting
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * gnatdll.adb: Minor reformatting throughout. Many ??? added for
+ undocumented declarations.
+
+2001-10-30 Pascal Obry <obry@gnat.com>
+
+ * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
+ to the binder and linker.
+ Minor style fix.
+
+ * mdll.ads: Fix layout. Update copyright notice.
+
+ * mdll.adb: Fix layout. Update copyright notice.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Minor fix to output for -gnaty.
+
+2001-10-30 Ed Schonberg <schonber@gnat.com>
+
+ * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
+ to accommodate all its possible values.
+
+ * a-reatim.adb (Split): Special-case handling of Time_Span_First
+ and of small absolute values of T.
+
+2001-10-30 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
+ set_mem_attributes since not needed and wrong if RESULT if a REG;
+ fixes ACATS failures.
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
+ s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * bindusg.adb: Undocument -f switch.
+
+ * gnatcmd.adb: Remove /FULL_ELABORATION.
+
+ * opt.ads (Force_RM_Elaboration_Order): Document that this is
+ obsolescent.
+
+ * gnatbind.adb: Output new warning for use of obsolescent -f switch.
+
+ * gnatbind.adb: Minor update of warning msg.
+
+2001-10-30 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
+ for project file switches (-P (/PROJECT_FILE=),
+ -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
+ or MEDIUM or HIGH)
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * decl.c: Minor whitespace fixes.
+
+2001-10-30 Richard Kenner <kenner@gnat.com>
+
+ * utils2.c (build_allocator): Test for SIZE overflow in array case too
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
+ Found due to GCC 3.0 warning of using uninitialized value.
+
+ * layout.adb:
+ (Get_Max_Size): Use variant record for tracking value/expression.
+ Makes logic clearer and prevents warnings for uninitialized variables.
+ (Layout_Array_Type): Use variant record for tracking value/expression.
+ Makes logic clearer and prevents warnings for uninitialized variables.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * lib.adb: Minor reformatting
+
+ * s-taprop.ads: Minor reformatting
+
+2001-10-29 Laurent Guerby <guerby@acm.org>
+
+ * init.c:
+ (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
+ const.
+ (_gnat_error_handler): Make MSG const.
+
+2001-10-29 Richard Kenner <kenner@gnat.com>
+
+ * sysdep.c: Fix localtime_r problem on LynxOS.
+ Also remove #elif to avoid warnings.
+
+ * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
+ used by this.
+
+ * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
+
+2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
+ exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
+ g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
+ g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
+ layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
+ s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
+ sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
+ sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
+ sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
+ types.ads, urealp.adb: Fix spelling errors.
+
+2001-10-27 Laurent Guerby <guerby@acm.org>
+
+ * trans.c (gigi): Fix non determinism leading to bootstrap
+ comparison failures for debugging information.
+
+2001-10-26 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_rm.texi: Use @./@: where appropriate.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * gmem.c (__gnat_gmem_read_next): Properly check for EOF
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (validate_size): Modify message for bad size to avoid
+ implication that compiler is modifying the size.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting. Fix bad header format.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
+
+ * sinfo.ads: Clarify use of Associated_Node (documentation only).
+
+ * sem_ch12.adb: Change Node4 to Associated_Node. Change
+ Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
+ much more narrowly in places where needed. These are cleanups.
+
+2001-10-26 Joel Brobecker <brobecke@gnat.com>
+
+ * 5zosinte.ads (null_pthread): new constant.
+
+ * 5ztaprop.adb:
+ (Initialize_TCB): Initialize thread ID to null, to be able to verify
+ later that this field has been set.
+ (Finalize_TCB): ditto.
+ (Suspend_Task): Verify that the thread ID is not null before using it.
+ (Resume_Task): ditto.
+
+ * s-tasdeb.adb:
+ (Resume_All_Tasks): Lock the tasks list before using it.
+ (Suspend_All_Tasks): ditto.
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
+ Make constant variant of designated type for Is_Access_Constant.
+ Call update_pointer_to with main variant.
+
+ * trans.c (process_freeze_entity, process_type):
+ Call update_pointer_to on main variant.
+
+ * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
+ If main variant, update all other variants.
+
+ * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
+ TREE_STATIC.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-attr.adb: Minor reformatting throughout
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-attr.ads: Minor reformatting
+ Add ??? comment (this whole spec has almost no comments)
+
+2001-10-26 Vincent Celier <celier@gnat.com>
+
+ * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
+ ("//") that precede the drive letter on Interix.
+
+2001-10-26 Geert Bosch <bosch@gnat.com>
+
+ * gnat_rm.texi: Add GNAT Reference Manual.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
+ is Error. Similar change for other renaming cases.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * s-atacco.ads: Add pragma Inline_Always for functions.
+ Fix header format. Add copyright 2001
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
+ return Error rather than Empty so that analysis can proceed.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_util.adb (Enter_Name): better handling of cascaded error
+ messages when a unit appears in its own context.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_util.adb (Defining_Entity): in case of error, attach created
+ entity to specification, so that semantic analysis can proceed.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_util.adb
+ (Defining_Entity): Deal with Error.
+ (Process_End_Label): Deal with bad end label for.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_elab.adb (Check_A_Call): refine message when call is in an
+ instance but callee is not declared in the generic unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_elab.adb (Check_A_Call): check for renaming before finding the
+ enclosing unit, which may already be different from the calling unit.
+
+2001-10-25 Geert Bosch <bosch@gnat.com>
+
+ * 4gintnam.ads: fix header format.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve_Call): if the call is actually an indexing
+ operation on the result of a parameterless call, perform elaboration
+ check after the node has been properly rewritten.
+
+ * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
+ inlined within the generic tree, the defining identifier is not a
+ compilation_unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve): special-case resolution of Null in an
+ instance or an inlined body to avoid view conflicts.
+
+ * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
+ compatibility by retrieving the access type of the generic copy.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch3.adb:
+ (Analyze_Number_Declaration): Handle error expression.
+ (Signed_Integer_Type_Declaration): Handle error bound.
+ (Analyze_Subtype_Indication): Handle error range.
+
+ * sem_util.adb (Get_Index_Bounds): Check for Error.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
+ in no run time mode.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
+ mode case for ALLOC case.
+
+ * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
+ all platforms. Improvement of last change.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
+
+2001-10-25 Geert Bosch <bosch@gnat.com>
+
+ * osint.adb (Is_Relative): Remove duplicate.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * osint.adb (Read_Default_Search_Dirs): correctly detect relative
+ pathnames in UNIX and DOS style with drive letter.
+ (Is_Relative): new routine.
+
+ * osint.adb: Minor reformatting
+
+ * osint.adb (Is_Relative): implementation using
+ GNAT.OS_Lib.Is_Absolute_Path. Better fix.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb (Basename): correctly compute offset between the
+ original Path and the translated one.
+
+ * g-dirope.adb: (Base_Name): add some comments.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
+ in HIE mode, avoids compilation abandoned message
+
+ * exp_imgv.adb: Correct typo in previous change
+
+ * exp_imgv.adb: Correct typo in previous change (not my day!)
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * g-awk.ads: Move all pragma inlines next to the routine
+ declarations. This is more uniform with other GNAT spec.
+
+2001-10-22 Geert Bosch <bosch@gnat.com>
+
+ * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
+
+2001-10-19 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (tools, gnattools): Remove gnatmem.
+
+2001-10-17 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (misc.o): Depend on langhooks.h.
+ * misc.c: Include it.
+ (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
+ (LANG_HOOKS_DECODE_OPTION): New.
+ (lang_hooks): Use LANG_HOOKS_INITIALIZER.
+
+2001-10-16 Florian Weimer <fw@deneb.enyo.de>
+
+ * trans.c (tree_transform): Adjust to recent change in
+ expand_asm_operands to implement named asm operands.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
+ renaming of discriminant for mutable record type.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * validsw.adb: Properly save -gnatVn status.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Add lines for V switch.
+
+ * gnatcmd.adb (COMPILE): Revise translations for -gnatV
+ (/VALIDITY_CHECKING).
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_type.adb (Add_One_Interp): an operator for a type declared in
+ an extension of System is known to be visible.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
+ properly. Fixes regression on ACATS C34005G.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
+ loop in generic instance, since this is likely not very useful.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
+ the error message for high integrity mode.
+
+ * rtsfind.adb (RTE): Give message if we try to find an entity that
+ is not available in high integrity mode.
+
+ * rtsfind.ads:
+ (OK_To_Use_In_HIE_Mode): New array.
+ (RTE): May return Empty in high integrity mode.
+
+ * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
+ OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
+ unit if not inlined always and in no runtime mode. Fixes problem
+ caused by new Rtsfind changes.
+
+ * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
+ body is deleted.
+
+ * rtsfind.adb (RTE): Make sure we do not try to load unit after
+ giving message for entity not available in high integrity mode.
+
+2001-10-11 Pascal Obry <obry@gnat.com>
+
+ * impunit.adb: Add GNAT.CRC32.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
+ properly the case where one universal operand in a non-static
+ exponentiation of a real literal.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
+ clause, return the gobal finalization list, for lack of anthing else.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch7.adb (Make_Transient_Block): if statement is within
+ exception handler, always use new transient scope to place Clean
+ procedure.
+
+2001-10-11 Pascal Obry <obry@gnat.com>
+
+ * Makefile.in:
+ (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+ (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+ (GNATLS_RTL_OBJS): add g-crc32.o
+ (GNATMAKE_RTL_OBJS): add g-crc32.o
+
+ * ali-util.adb:
+ (CRC_Match): new function.
+ (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
+ instead of the previous simple checksum algorithm.
+ (Time_Stamp_Mismatch): use CRC_Match for comparison.
+ (Set_Source_Table): idem.
+
+ * ali-util.ads:
+ (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
+ instead of simple checksum.
+ (CRC_Match): new function.
+ (CRC_Error): new constant.
+
+ * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
+ a CRC now and not a simple checksum. A CRC uses lower-case hex
+ letters, fixes ambiguity in parsing.
+
+ * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
+ is what this variable will store.
+
+ * bcheck.adb: Change reference to chechsum in comments by CRC.
+ (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
+ rename All_Checksum_Match to All_CRC_Match. Change due to API
+ renaming since now GNAT does not use a simple checksum but a
+ CRC using GNAT.CRC32.
+
+ * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
+ now and not anymore a simple checksum.
+
+ * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
+ places.
+
+ * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
+
+ * scans.adb:
+ (Restore_Scan_State): rename Checksum to CRC.
+ (Save_Scan_State): idem.
+
+ * scans.ads:
+ With GNAT.CRC32.
+ (Checksum): rename to CRC.
+ (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
+
+ * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
+ GNAT.CRC32). Update copyright notice.
+
+ * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
+ GNAT.CRC32). Update copyright notice.
+
+ * scn.adb:
+ (Accumulate_Checksum): removed.
+ (Update): new procedure. Add a wide-character into the CRC.
+
+ * sinput-l.adb:
+ (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
+ (Load_File): fix initialization of S (change Source_Checksum to
+ Source_CRC)
+
+ * sinput-p.adb (Load_Project_File): rename Source_Checksum to
+ Source_CRC in S initialization.
+
+ * sinput.adb (Source_Checksum): renamed to Source_CRC.
+
+ * sinput.ads (Source_Checksum): renamed to Source_CRC.
+ Update comments for the CRC.
+
+ * types.adb (Hex): Use lowercase for the letter part.
+
+ * types.ads (Get_Hex_String): Returns the hexadecimal representation
+ for a word. This is currently used only for CRC. In previous version,
+ the checksum was using a representation with all letter being
+ upper-case. With the new implementation (using CRC) we do not remove
+ the 32th bit of the CRC, so we can have an upper-case starting letter
+ in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
+ It is ambigous since the CRC was optional and could be followed by
+ options like EB, EE. So now this routines uses lower-case letter for
+ the hexadecimal representation. Strange enough only lower case letters
+ where checked in Scan_ALI (even if this was not a possible case).
+
+ * gnatvsn.ads (Library_Version): changed to 3.15a.
+
+ * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
+ for the compiler.
+
+ * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
+ for the compiler.
+
+ * ali-util.adb: Redo previous change to avoid using word CRC everywhere
+ Add 2001 to copyright notice
+ (Accumulate_Checksum): Modify to use System.CRC32.
+
+ * ali-util.ads: Redo changes of previous revision to continue to use
+ the word Checksum. Add 2001 to copyright notice.
+
+ * ali.adb: Undo some of previous changes, not needed.
+ Keep the change for lower case letters in the checksum.
+
+ * ali.ads: Undo previous change not needed.
+
+ * bcheck.adb: Undo most of previous change, not needed.
+ But do use Checksums_Match for checksum comparison.
+
+ * gnatls.adb: Undo most of previous change, not needed.
+ But do use Checksums_Match for comparing checksums.
+
+ * lib-load.adb: Undo previous change, not needed.
+
+ * lib-writ.adb: Undo previous change, not needed.
+
+ * lib-writ.ads: Document that checksums use lower case,
+ not upper case letters.
+
+ * scans.adb: Undo previous change, not needed
+
+ * scans.ads: Undo previous change, not needed.
+
+ * scn-nlit.adb: Undo previous changes, not needed.
+
+ * scn-slit.adb: Undo previous change, not needed. Fix header format.
+
+ * scn.adb:
+ (Accumulate_Checksum): Use System.CRC32.
+ (Initialize_Checksum): New procedure.
+ Remove other changes of previous revision.
+
+ * sinput-p.adb: Undo previous change, not needed.
+
+ * sinput.adb: Undo previous change, not needed.
+
+ * sinput-l.adb: Undo previous change, not needed.
+
+ * sinput.ads: Undo previous change, not needed. Keep only comment
+ on new checksum algorithm
+
+ * Makefile.in: Add s-crc32 as needed, remove g-crc32.
+ Also remove a-tags and a-stream from GNAT sources.
+
+ * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
+
+ * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
+
+2001-10-11 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h: Regenerate.
+
+ * nmake.ads: Regenerate.
+
+ * nmake.adb: Regenerate.
+
+ * sinfo.h: Regenerate.
+
+ * treeprs.adb: Regenerate.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * gnat-style.texi: New file describing coding guidelines for Ada.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
+ is Flag174.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * snames.ads: Add new names for project facility.
+
+ * snames.adb: Update to reflect snames.ads changes.
+
+ * snames.h: Update to reflect snames.ads changes.
+
+2001-10-10 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Add_Switches): reflect the changes for the switches attributes
+ Default_Switches indexed by the programming language,
+ Switches indexed by the file name.
+ (Collect_Arguments_And_Compile): Idem.
+ Reflect the attribute name changes.
+
+ * prj-attr.adb:
+ (Initialisation_Data): Change the names of some packages and
+ attributes.
+ (Initialize): process case insensitive associative arrays.
+
+ * prj-attr.ads:
+ (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
+
+ * prj-dect.adb:
+ (Parse_Attribute_Declaration): For case insensitive associative
+ arrays, set the index string to lower case.
+
+ * prj-env.adb:
+ Reflect the changes of the project attributes.
+
+ * prj-nmsc.adb:
+ Replace Check_Naming_Scheme by Ada_Check and
+ Language_Independent_Check.
+
+ * prj-nmsc.ads:
+ Replaced Check_Naming_Scheme by 2 procedures:
+ Ada_Check and Language_Independent_Check.
+
+ * prj-proc.adb:
+ (Process_Declarative_Items): For case-insensitive associative
+ arrays, set the index string to lower case.
+ (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
+ Prj.Nmsc.Check_Naming_Scheme.
+
+ * prj-tree.adb:
+ (Case_Insensitive): New function
+ (Set_Case_Insensitive): New procedure
+
+ * prj-tree.ads:
+ (Case_Insensitive): New function
+ (Set_Case_Insensitive): New procedure
+ (Project_Node_Record): New flag Case_Insensitive.
+
+ * prj-util.adb:
+ (Value_Of): new function to get the string value of a single
+ string variable or attribute.
+
+ * prj-util.ads:
+ (Value_Of): new function to get the string value of a single
+ string variable or attribute.
+
+ * prj.adb:
+ (Ada_Default_Spec_Suffix): New function
+ (Ada_Default_Impl_Suffix): New function
+ Change definitions of several constants to reflect
+ new components of record types.
+
+ * prj.ads:
+ (Naming_Data): Change several components to reflect new
+ elements of naming schemes.
+ (Project_Data): New flags Sources_Present and
+ Language_Independent_Checked.
+ (Ada_Default_Spec_Suffix): New function.
+ (Ada_Default_Impl_Suffix): New function.
+
+ * snames.ads:
+ Modification of predefined names for project manager: added
+ Implementation, Specification_Exceptions, Implementation_Exceptions,
+ Specification_Suffix, Implementation_Suffix, Separate_Suffix,
+ Default_Switches, _Languages, Builder, Cross_Reference,
+ Finder. Removed Body_Part, Specification_Append, Body_Append,
+ Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
+ Gnatlink.
+
+ * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Add comments.
+
+ * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
+ not that it is Nil_Variable_Value.
+
+ * prj.ads: Add ??? for uncommented declarations
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
+ constant, do not indicate possible modification, so that gigi can
+ treat it as a bona fide constant.
+
+2001-10-10 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Add processing for pragma External.
+
+ * snames.ads: Add entry for pragma External.
+
+ * par-prag.adb: Add pragma External.
+
+ * snames.adb: Updated to match snames.ads.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
+ a dynamic task if the allocator appears in an indexed assignment
+ or selected component assignment.
+
+ * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
+ For a dynamic task in an assignment statement, use target of
+ assignment to generate meaningful name.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
+ a generic package.
+
+ * einfo.ads: Body_Entity is also defined for generic package.
+ Documentation change only
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
+ others_choice for a discriminated component initialization,
+ convert discriminant references into the corresponding discriminals.
+
+ * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
+ only if original type is private and expression has to be wrapped
+ in a conversion.
+
+ * checks.adb:
+ (Apply_Constraint_Check): Do not perform length check
+ if expression is an aggregate with only an others_choice.
+ (Length_N_Cond): two references to the same in_parameter
+ (typically the discriminal in an init_proc) denote the same value.
+ Two useful optimization uncovered by bugfixes above.
+
+2001-10-10 Robert Dewar <dewar@gnat.com>
+
+ * xeinfo.adb: Change int to char in translation of enumeration types.
+ This fixes a problem in the C representation of component alignment.
+ Add 2001 to copyright notice
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (validate_size): Do check size of object of integral type
+ if it is a packed array type.
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (gnat_to_gnu_entity, case object): Also materialize
+ VAR_DECL for constant if not Is_Public but -O0.
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (struct lang_hooks): Add new initializer to match GCC change.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
+ use '/' as switch character, allowing for absolute file names.
+
+2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
+ FSF address.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
+ Automatically build utilities when files need to be regenerated.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * xsnames.adb: New utility for updating snames.ads and snames.adb
+
+2001-10-08 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (ADAFLAGS): Add -W -Wall.
+ (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
+ (gnat1): Also depend on attribs.o.
+ (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
+ * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
+ (ADAC): Set to @ADAC@ in stage1, $(CC) later.
+ (ADAFLAGS): Add -W -Wall.
+ (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
+ take out CFLAGS.
+
+ (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
+ s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
+ s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
+ Use $(ADAC), not $(CC), as compilation command.
+
+ (gnattools): Depend directly on tools to build, don't use
+ recursive make.
+ (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
+
+ * einfo.h, sinfo.h: New files (autogenerated).
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * comperr.adb (Abort_In_Progress): New.
+ (Compiler_Abort): Use it to prevent recursion.
+
+2001-10-08 Robert Dewar <dewar@gnat.com>
+
+ * atree.adb: Set Error_Posted in Error node, helps error recovery.
+
+ * par-endh.adb (Output_End_Expected): We should also not test
+ Error_Posted on the Error node, since now it is always set.
+
+ * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
+ to help error recovery. Part of general work on 9407-004.
+
+ * par.adb: Add ??? for misuse of error
+
+ * sem_res.adb:
+ (Resolve): Defend against Error, fixes 9407-003.
+ (Resolve_Discrete_Subtype_Indication): Defend against Error.
+
+ * sinfo.ads (N_Error): Now has Etype field (which will be set
+ to Any_Type to help error recovery).
+
+2001-10-08 Richard Kenner (kenner@gnat.com)
+
+ * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
+ Consistently set MEM attributes from expression; fixes
+ bootstrap failure on x86.
+
+2001-10-08 Geert Bosch (bosch@gnat.com)
+
+ * 5oosinte.adb: Add 2001 to copyright notice.
+
+2001-10-08 Geert Bosch (bosch@gnat.com)
+
+ * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
+
+ * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
+
+2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
+
+2001-10-05 Geert Bosch (bosch@gnat.com)
+
+ * adaint.h: Small formatting fix.
+
+2001-10-04 Geert Bosch <bosch@gnat.com>
+
+ * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
+ Arg is int, not FILE *, in dummy version of functions.
+
+ * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
+ Arg is int, not FILE *.
+
+2001-10-04 Geert Bosch <bosch@gnat.com>
+
+ * 3lsoccon.ads: Added file, missed with initial check ins.
+
+ * 4lintnam.ads: Fix header format.
+ Change Linux to GNU/Linux.
+
+ * 5iosinte.adb: Change Linux to GNU/Linux.
+
+ * 5iosinte.ads: Change Linux to GNU/Linux.
+
+ * 5itaprop.adb: Change Linux to GNU/Linux.
+
+ * 5itaspri.ads: Change Linux to GNU/Linux.
+ Update copyright notice.
+
+ * 5lintman.adb: Change Linux to GNU/Linux.
+
+ * 5lml-tgt.adb: Change Linux to GNU/Linux.
+
+ * 5losinte.ads: Change Linux to GNU/Linux.
+
+ * 5lsystem.ads: Change Linux to GNU/Linux.
+
+ * 5qosinte.adb: Change Linux to GNU/Linux.
+
+ * 5qosinte.ads: Change Linux to GNU/Linux.
+
+ * 5qparame.ads: Change Linux to GNU/Linux.
+
+ * 5qtaprop.adb: Change Linux to GNU/Linux.
+
+ * 5qtaspri.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice.
+
+ * 5vintman.ads: Change Linux to GNU/Linux.
+ Fix header format. Add 2001 to copyright notice.
+
+ * g-soccon.ads: Change Linux to GNU/Linux.
+
+ * g-trasym.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice.
+
+ * memtrack.adb: Change Linux to GNU/Linux.
+
+ * s-intman.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice. Fix header format.
+
+ * s-stache.adb: Change Linux to GNU/Linux.
+
+ * adaint.c: Change Linux to GNU/Linux.
+
+ * cio.c: Change Linux to GNU/Linux.
+
+ * cstreams.c: Change Linux to GNU/Linux.
+
+ * init.c: Change Linux to GNU/Linux.
+
+ * gmem.c: Change Linux to GNU/Linux.
+
+ * tracebak.c: Change Linux to GNU/Linux.
+
+
+2001-10-02 Geert Bosch <bosch@gnat.com>
+
+ * misc.c (insert_default_attributes): Add dummy version.