diff options
Diffstat (limited to 'gcc-4.2.1/gcc/ada/ChangeLog')
-rw-r--r-- | gcc-4.2.1/gcc/ada/ChangeLog | 24490 |
1 files changed, 0 insertions, 24490 deletions
diff --git a/gcc-4.2.1/gcc/ada/ChangeLog b/gcc-4.2.1/gcc/ada/ChangeLog deleted file mode 100644 index efee1db1c..000000000 --- a/gcc-4.2.1/gcc/ada/ChangeLog +++ /dev/null @@ -1,24490 +0,0 @@ -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. |