| 2008-03-05 Release Manager |
| |
| * GCC 4.3.0 released. |
| |
| 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR documentation/15479 |
| * gnat_ugn.texi: In non-code, avoid space before colon. |
| (Regular Expressions in gnatfind and gnatxref): Fix indentation. |
| (Examples of gnatxref Usage): Use @command{vi} instead of |
| @file{vi}. |
| (Character Set Control): Do not use @code for UTF-8. |
| (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not |
| use @code for IEEE. |
| * gnat_rm.texi (Aggregates with static bounds): Fix typo in code |
| sample. |
| * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years. |
| |
| 2008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| PR ada/35143 |
| * env.c: Add __rtems__ to if defined. |
| * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting. |
| * s-osinte-rtems.ads: Add To_Target_Priority prototype and |
| PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add |
| pragma Convention as required. |
| * gsocket.h: Make compile in and out of RTS. |
| * Makefile.in: Add system-rtems.ads. Build DEC extensions. |
| Use g-soccon-rtems.ads. |
| * g-soccon-rtems.ads, system-rtems.ads: New files. |
| |
| 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| PR other/35107 |
| * Make-lang.in (gnat1): Add $(GMPLIBS). |
| |
| 2008-01-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (components_to_record): Improve comment. |
| |
| 2008-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (components_to_record): Do not reuse the empty union type |
| if there is a representation clause on the record. |
| * trans.c (addressable_p): Return true for INTEGER_CST. |
| |
| 2008-01-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR |
| in pointer arithmetics. |
| * utils2.c (build_allocator): Likewise. |
| |
| 2008-01-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * utils.c (build_function_stub): Properly build the call expression. |
| |
| 2008-01-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <object>: Process renamings |
| before converting the expression to the type of the object. |
| * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case. |
| Stabilize constructors for special wrapping types. |
| |
| 2008-01-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (call_to_gnu):Invoke the addressable_p predicate only |
| when necessary. Merge some conditional statements. Update comments. |
| Rename unchecked_convert_p local variable to suppress_type_conversion. |
| Do not suppress conversions in the In case. |
| (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues |
| into account on non strict-alignment platforms. |
| |
| 2008-01-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * utils.c (aggregate_type_contains_array_p): New predicate. |
| (create_field_decl): In a packed record, force byte alignment |
| for fields without specified position that contain an array. |
| |
| 2008-01-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression. |
| |
| 2008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca> |
| |
| PR ada/34466 |
| * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for |
| sysconf call. |
| (bit_field): New packed boolean type used by cpu_set_t. |
| (cpu_set_t): New type corresponding to the C type with |
| the same name. Note that on the Ada side we use a bit |
| field array for the affinity mask. There is not need |
| for the C macro for setting individual bit. |
| (pthread_setaffinity_np): New imported routine. |
| |
| 2008-01-03 Tero Koskinen <tero.koskinen@iki.fi> |
| |
| PR ada/34647 |
| * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp() |
| on OpenBSD as is done on other BSD systems. |
| |
| PR ada/34645 |
| * sysdep.c (__gnat_ttyname, getc_immediate_nowait, |
| getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate |
| I/O. |
| |
| PR ada/34644 |
| * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing |
| clearenv(). |
| |
| PR ada/34646 |
| * init.c (__gnat_error_handler, __gnat_install_handler, |
| __gnat_init_float): Define for OpenBSD. |
| |
| * initialize.c (__gnat_initialize): Define for OpenBSD. |
| |
| 2007-12-27 Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/34553 |
| * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp() |
| instead of mktemp() or tmpnam() on NetBSD. |
| |
| 2007-12-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (call_to_gnu): Make the temporary for non-addressable |
| In parameters passed by reference. |
| (addressable_p): Return true for STRING_CST and CALL_EXPR. |
| |
| 2007-12-19 Robert Dewar <dewar@adacore.com> |
| |
| * g-expect-vms.adb, g-expect.adb, s-poosiz.adb: |
| Add pragma Warnings (Off) for unassigned IN OUT arguments |
| |
| * sem_warn.adb (Output_Reference): Suppress messages for internal names |
| (Check_References): Extensive changes to tune up warnings |
| (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings |
| (Has_Pragma_Unmodifed_Check_Spec): New function |
| (Check_References): Implement pragma Unmodified |
| (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified |
| |
| * par-prag.adb: Dummy entry for pragma Unmodified |
| |
| * sem_prag.adb: Implement pragma Unmodified |
| |
| * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag |
| (Proc_Next_Component_Or_Discriminant): Fix typo. |
| Update comments. |
| |
| * sem_util.adb (Note_Possible_Modification): Add processinng for pragma |
| Unmodified. |
| (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func, |
| because the former already takes care of discarding the result. |
| (Mark_Coextensions): Remove ununused initial value from Is_Dynamic. |
| Add comment. |
| |
| * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified |
| |
| 2007-12-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads, |
| system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads, |
| system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads, |
| system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads, |
| system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads, |
| system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, |
| system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, |
| system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, |
| system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, |
| system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads |
| (Dynamic_Trampolines_Used): Delete. |
| |
| * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto. |
| Turn on stack probing mechanism on LynxOS. |
| |
| 2007-12-19 Bob Duff <duff@adacore.com> |
| |
| * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate |
| the resulting tail recursion by hand. This prevents running out of |
| memory on deeply nested concatenations, since Field2 is where the left |
| operand of concatenations is stored. |
| Fix bug (was returning OK_Orig in some cases). Fix return subtype to |
| clarify that it can only return OK or Abandon. |
| |
| * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left |
| operand by iteration, in order to avoid running out of memory on |
| deeply-nested concatenations. Use the Parent pointer to get back up the |
| tree. |
| (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First, |
| Resolve_Op_Concat_Rest): New procedures split out of |
| Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is |
| clearer. |
| |
| * checks.adb (Remove_Checks): Use Traverse_Proc instead of |
| Traverse_Func, because the former already takes care of discarding the |
| result. |
| |
| * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func, |
| because the former already takes care of discarding the result. |
| (Remove_Warning_Messages): Use appropriate subtype for Status and |
| Discard |
| |
| 2007-12-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with |
| discriminants forces expansion of the aggregate into assignments. |
| (Init_Record_Controller): If the type of the aggregate is untagged and |
| is not inherently limited, the record controller is not limited either. |
| |
| 2007-12-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in |
| handling compile time known size of record or array (case of front end |
| layout active, e.g. in GNAAMP). |
| |
| 2007-12-19 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry |
| that forces the construction of static dispatch tables in case of |
| record subtypes. |
| |
| 2007-12-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch9.adb (Null_Statements): Moved to library level |
| (Trivial_Accept_OK): New function |
| (Expand_Accept_Declaration): Use Trivial_Accept_OK |
| (Expand_N_Accept_Statement): Use Trivial_Accept_OK |
| |
| 2007-12-19 Robert Dewar <dewar@adacore.com> |
| |
| * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type |
| in complex case where array is Volatile. |
| |
| 2007-12-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement |
| properly the Ada2005 rules concerning when the current instance of a |
| record type is aliased. |
| |
| 2007-12-19 Ed Schonberg <schonberg@adacore.com> |
| |
| * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in |
| mangled declaration |
| (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record |
| declarations. |
| (P_Variant_Part): Cleaner patch for parenthesized discriminant |
| |
| 2007-12-19 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when |
| package is not known |
| |
| * prj-attr.ads (Unknown_Package): New constant |
| Do not crash when an unknown package is in several projects |
| |
| * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as |
| ignored |
| |
| * prj-nmsc.adb (Check): Remove obsolete code related to no longer |
| existing package Language_Processing. |
| |
| 2007-12-19 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/15803, ada/15805 |
| * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose |
| illegal access subtypes when there is a constrained partial view. |
| (Check_For_Premature_Usage): New procedure inside |
| Access_Subprogram_Declaration for checking that an access-to-subprogram |
| type doesn't reference its own name within any formal parameters or |
| result type (including within nested anonymous access types). |
| (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage. |
| (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the |
| context is an access_to_variable, the expression cannot be an |
| access_to_constant. |
| |
| 2007-12-19 Bob Duff <duff@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure. |
| (Analyze_Concatenation): Use iteration instead of recursion in order |
| to avoid running out of stack space for deeply nested concatenations. |
| |
| 2007-12-19 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings |
| whose renamed entity is a subprogram that requires overriding. |
| (Premature_Usage): Test for the case of N_Full_Type_Declaration when |
| issuing an error for premature usage and issue a message that says |
| 'type' rather than 'object'. |
| |
| 2007-12-19 Gary Dismukes <dismukes@adacore.com> |
| |
| PR ada/34149 |
| * sem_disp.adb (Check_Dispatching_Call): Augment existing test for |
| presence of a statically tagged operand (Present (Static_Tag)) with |
| test for Indeterm_Ancestor_Call when determining whether to propagate |
| the static tag to tag-indeterminate operands (which forces dispatching |
| on such calls). |
| (Check_Controlling_Formals): Ada2005, access parameters can have |
| defaults. |
| (Add_Dispatching_Operation, Check_Operation_From_Private_View): do |
| not insert subprogram in list of primitive operations if already there. |
| |
| 2007-12-19 Tristan Gingold <gingold@adacore.com> |
| |
| * utils.c (create_var_decl_1): call rest_of_decl_compilation only for |
| global variable. |
| |
| 2007-12-19 Thomas Quinot <quinot@adacore.com> |
| |
| Part of PR ada/33688 |
| * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary |
| datagram info on Linux. |
| |
| 2007-12-19 Vincent Celier <celier@adacore.com> |
| |
| * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so |
| that the source path name is always found in the dependencies. |
| |
| 2007-12-19 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o |
| Fix name of Wide_Wide_Latin_1/9 file names |
| Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads) |
| Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode |
| Add missing documentation for Ada.Command_Line.Response_File |
| Update list of warning letters for Warnings pragma |
| Add documentation for pragma Unmodified |
| |
| 2007-12-19 Samuel Tardieu <sam@rfc1149.net> |
| |
| * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target. |
| |
| 2007-12-17 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-vxwork-alpha.ads: Removed, no longer used. |
| |
| 2007-12-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line. |
| |
| 2007-12-13 Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/34360 |
| * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name |
| mlib-tgt-specific.adb. |
| |
| 2007-12-13 Bob Duff <duff@adacore.com> |
| |
| * trans.c (Attribute_to_gnu): Check for violations of the |
| No_Implicit_Dynamic_Code restriction. This checking used to be done in |
| the front end, but is moved here so we can make it more accurate. |
| |
| 2007-12-13 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy |
| version is provided for older GNU/Linux distribution not |
| supporting thread affinity sets. |
| |
| * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf |
| call. |
| (bit_field): New packed boolean type used by cpu_set_t. |
| (cpu_set_t): New type corresponding to the C type with |
| the same name. Note that on the Ada side we use a bit |
| field array for the affinity mask. There is not need |
| for the C macro for setting individual bit. |
| (pthread_setaffinity_np): New imported routine. |
| |
| * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is |
| no null. |
| (Create_Task): Set the processor affinity mask if information |
| is present. |
| |
| * s-tasinf-linux.ads, s-tasinf-linux.adb: New files. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, |
| s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads, |
| s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads, |
| s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb, |
| s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads, |
| s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads, |
| s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads, |
| i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C |
| for subprogram pointers. |
| |
| * g-ctrl_c.adb: New file. |
| |
| * g-ctrl_c.ads (Install_Handler): New body. |
| |
| * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always |
| instead of obsolete function Is_Always_Inlined. |
| (Freeze_Entity): check for tagged type in imported C subprogram |
| (Freeze_Entity): check for 8-bit boolean in imported C subprogram |
| (Freeze_Entity): check for convention Ada subprogram pointer in |
| imported C subprogram. |
| (Freeze_Fixed_Point_Type): In the case of a base type where the low |
| bound would be chopped off and go from negative to zero, force |
| Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower |
| bound) so that the size computation for the base type will take |
| negative values into account. |
| |
| 2007-12-13 Eric Botcazou <ebotcazou@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Tristan Gingold <gingold@adacore.com> |
| |
| * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, |
| system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads, |
| system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, |
| system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, |
| system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, |
| system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, |
| system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, |
| system-vxworks-arm.ads, system-darwin-x86.ads, system.ads, |
| system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, |
| system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads, |
| system-vms-ia64.ads (Stack_Check_Limits): New target parameter. |
| (Always_Compatible_Rep): New flag to control trampolines globally. |
| (Dynamic_Trampolines_Used): New flag for implementing the |
| No_Implicit_Dynamic_Code restriction more correctly (not yet used, |
| and not yet set correctly for some targets). |
| |
| * s-taprop-vxworks.adb: Use stack limit method of stack checking. |
| Simply indirectly call s-stchop when a task is created. |
| |
| * ali.ads: |
| New flag added: Stack_Check_Switch_Set which is set when '-fstack-check' |
| appears as an argument (entries A) in an ALI file. |
| |
| * fe.h (Stack_Check_Limits): Declare new target parameter. |
| (Check_Implicit_Dynamic_Code_Allowed): New procedure. |
| |
| * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS. |
| This variable is declared in C to be sure not subject to elaboration |
| code. |
| (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to |
| Storage_Error. |
| |
| * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter. |
| (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters. |
| |
| * s-stchop.ads: Add comments. |
| |
| * s-stchop-vxworks.adb: Package almost fully rewritten to use stack |
| limit method of stack checking. |
| |
| * s-stchop-limit.ads: New file. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb, |
| a-cihama.adb, g-awk.adb, |
| s-inmaop-posix.adb: Update handling of assigned value/unreferenced |
| warnings |
| |
| * exp_smem.adb: Update handling of assigned value/unreferenced warnings |
| |
| * sem.adb: Update handling of assigned value/unreferenced warnings |
| |
| * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return |
| |
| * lib-xref.ads: Improve documentation for k xref type |
| |
| * lib-xref.adb: |
| Update handling of assigned value/unreferenced warnings |
| (Generate_Reference): Warning for reference to entity for which a |
| pragma Unreferenced has been given should be unconditional. |
| If the entity is a discriminal, mark the original |
| discriminant as referenced. |
| |
| * sem_warn.ads, sem_warn.adb |
| (Check_One_Unit): Test Renamed_In_Spec to control giving warning for |
| no entities referenced in package |
| (Check_One_Unit): Don't give message about no entities referenced in |
| a package if a pragma Unreferenced has appeared. |
| Handle new warning flag -gnatw.a/-gnatw.A |
| Update handling of assigned value/unreferenced warnings |
| |
| * atree.h: Add flags up to Flag247 |
| (Flag231): New macro. |
| |
| 2007-12-13 Jose Ruiz <ruiz@adacore.com> |
| |
| * adaint.h: (__gnat_plist_init): Not defined for RTX. |
| |
| * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for |
| RTX systems. |
| |
| * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb. |
| (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB, |
| EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS, |
| GNATLIB_SHARED for RTX run time): Use the versions required by RTX. |
| |
| * mingw32.h: |
| Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported. |
| |
| * sysdep.c (winflush_function for RTX): Procedure that does nothing |
| since we only have problems with Windows 95/98, which are not |
| supported by RTX. |
| (__gnat_ttyname): Return the empty string on Nucleus, just as |
| done on vxworks. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * a-textio.adb, a-textio.ads: |
| Extensive changes to private part for wide character encoding |
| |
| * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb |
| (Look_Ahead): Fix mishandling of encoded sequences |
| Move declaration of Wch_Con to private part (should not be visible) |
| |
| * ali.adb (Scan_ALI): Set default encoding method to brackets instead of |
| UTF-8. Probably this is never used, but if it is, brackets is |
| clearly correct. |
| |
| * bindgen.adb (Get_WC_Encoding): New procedure to properly handle |
| setting wide character encoding for no main program case and when |
| encoding is specified using -W? |
| Initialize stack limit of environment task if stack limit method of |
| stack checking is enabled. |
| (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method |
| (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method |
| (Get_Main_Unit_Name): New function. |
| (Gen_Adainit_Ada): Add call to main program for .NET when needed. |
| (Gen_Output_File): Set Bind_Main_Program to True for .NET |
| |
| * bindusg.adb: Add line for -Wx switch |
| |
| * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function |
| Add comments |
| Add new useful constant WC_Longest_Sequences |
| |
| * switch-b.adb: Clean up handling of -Wx switch |
| For -gnatWx, set Wide_Character_Encoding_Method_Specified |
| |
| * switch-c.adb: -gnatg activates warning on assertion errors |
| For -gnatWx, set Wide_Character_Encoding_Method_Specified |
| |
| * s-wchcon.adb: (Is_Start_Of_Encoding): New function |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * a-ngcoty.adb: New pragma Fast_Math |
| |
| * opt.adb: New pragma Fast_Math |
| |
| * par-prag.adb: |
| Add Implemented_By_Entry to the list of pragmas which do not require any |
| special processing. |
| (Favor_Top_Level): New pragma. |
| New pragma Fast_Math |
| |
| * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv |
| (Expand_N_Attribute_Reference, Displace_Allocator_Pointer, |
| Expand_Allocator_Expression): Take into account VM_Target |
| (Expand_Attribute, case 'Identity): Handle properly the case where |
| the prefix is a task interface. |
| New pragma Fast_Math |
| |
| * par.adb (Next_Token_Is): New function |
| (P_Pragma): Add Skipping parameter |
| (U_Left_Paren): New procedure |
| (U_Right_Paren): New procedure |
| New pragma Fast_Math |
| |
| * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after |
| subunit |
| New pragma Fast_Math |
| |
| * sem_prag.adb: Add significance value to table Sig_Flag for pragma |
| Implemented_By_Entry. |
| (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry. |
| (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep |
| items, since it can apply to more than one overloadable entity. Set |
| new flag Has_Pragma_Inline_Always for Inline_Always case. |
| (Analyze_Pragma, case Complex_Representation): Improve error message. |
| (Analyze_Pragma, case Assert): When assertions are disabled build the |
| rewritten code with Sloc of expression rather than pragma, so new |
| warning about failing is not deleted. |
| (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to |
| protected types and update error message to reflect that. Test whether |
| the protected type is allowed for the pragma (an error is issued if the |
| type has any entries, or components that do not have preelaborable |
| initialization). |
| New pragma Fast_Math |
| (Analyze_Pragma, case No_Return): Handle generic instance |
| |
| * snames.h, snames.ads, snames.adb: |
| Add new predefined name for interface primitive _Disp_Requeue. |
| New pragma Fast_Math |
| |
| * a-tags.ads, a-tags.adb: New calling sequence for |
| String_To_Wide_[Wide_]String |
| (Secondary_Tag): New subprogram. |
| |
| * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here |
| from Exp_Attr |
| New calling sequence for String_To_Wide_[Wide_]String |
| (Expand_Image_Attribute): Major rewrite. New calling sequence avoids |
| the use of the secondary stack for image routines. |
| |
| * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New |
| calling sequence for String_To_Wide_[Wide_]String |
| |
| * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in |
| Ada 95 mode |
| (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully |
| Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List |
| |
| * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode |
| (P_Formal_Part): Use Skipping parameter in P_Pragma call |
| to improve error recovery |
| |
| * par-util.adb (Next_Token_Is): New function |
| (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function |
| |
| * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to |
| semicolon if missing |
| (P_Pragma): Implement new Skipping parameter |
| Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List |
| Fix location of flag for unrecognized pragma message |
| |
| * par-tchk.adb (U_Left_Paren): New procedure |
| (U_Right_Paren): New procedure |
| |
| 2007-12-13 Geert Bosch <bosch@adacore.com> |
| |
| * a-tifiio.adb: |
| (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where |
| the second or later Scaled_Divide would omit leading zeroes, |
| resulting in too few digits produced and a Layout_Error as result. |
| (Put): Initialize Pos. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| atree.ads, atree.adb (Flag231..Flag247): New functions |
| (Set_Flag231..Set_Flag247): New procedures |
| (Basic_Set_Convention): Rename Set_Convention to be |
| Basic_Set_Convention |
| (Nkind_In): New functions |
| Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List |
| |
| * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always |
| instead |
| of obsolete function Is_Always_Inlined |
| (Register_Predefined_DT_Entry): Initialize slots of the second |
| secondary dispatch table. |
| Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List |
| (Expand_N_Function_Call): Remove special provision for stack checking. |
| |
| * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation): |
| Include _Disp_Requeue in the list of predefined operations. |
| (Find_Interface_ADT): Modified to fulfill the new specification. |
| Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List |
| |
| * par-ch4.adb, nlists.ads, nlists.adb: |
| Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List |
| |
| * sinfo.ads, sinfo.adb: (Nkind_In): New functions |
| Fix location of flag for unrecognized pragma message |
| |
| * sem_ch7.adb: Use Nkind_In |
| |
| 2007-12-13 Vincent Celier <celier@adacore.com> |
| |
| * opt.ads: |
| Indicate what flags are used by the Project Manager, gprbuild and |
| gprclean. |
| (Opt.Follow_Links_For_Dirs): New flag |
| (Warn_On_Assertion_Failure): New flag |
| (Wide_Character_Encoding_Method_Specified): New flag |
| (Suppress_All_Inlining): New switch set by -fno-inline |
| (Real_VMS_Target): New flag |
| New pragma Fast_Math |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * back_end.adb: Recognize -fno-inline |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb: Fix optimization problem with short-circuited form |
| |
| 2007-12-13 Bob Duff <duff@adacore.com> |
| |
| * clean.adb (Usage): Add line for -aP |
| (Check_Version_And_Help): Change Check_Version_And_Help to be generic, |
| with a parameter "procedure Usage", instead of passing a pointer to a |
| procedure. This is to eliminate trampolines (since the Usage procedure |
| is often nested in a main procedure, and it would be inconvenient to |
| unnest it). |
| |
| * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch |
| to be generic, with a parameter "procedure Callback (...)", instead of |
| passing a pointer to a procedure. This is to eliminate trampolines |
| (since the Callback procedure is usually nested). |
| |
| * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb, |
| gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb |
| (Check_Version_And_Help): Change Check_Version_And_Help to be generic. |
| |
| * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets): |
| Use the generic Heap_Sort_G instead of Heap_Sort_A. |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry. |
| (Implemented_By_Entry, Set_Implemented_By_Entry): New routines. |
| (Write_Entry_Flags): Add an entry for Implemented_By_Entry. |
| (Renamed_In_Spec): New flag |
| (Has_Pragma_Inline_Always): New flag |
| Add missing doc for pragma Obsolescent_Warning |
| Add missing doc for 17 additional unused flags (230-247) |
| (Is_Derived_Type): Remove condition "not Is_Generic_Type". |
| Alphabetize with clauses. |
| Separate Is_Thunk and Has_Thunks flags |
| (Write_Entity_Flags): Add forgotten entry for Has_Thunks |
| (Related_Interface): Renamed to Related_Type. |
| (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute. |
| (Set_Is_Flag): Restrict the assertion. |
| |
| 2007-12-13 Vincent Celier <celier@adacore.com> |
| |
| * errout.adb (Output_Source_Line): Do not keep a trailing space after |
| the source line number if the source line is empty. |
| |
| 2007-12-13 Geert Bosch <bosch@adacore.com> |
| |
| * eval_fat.adb (Decompose_Int): Handle argument of zero. |
| (Compose): Remove special casing of zero. |
| (Exponent): Likewise. |
| (Fraction): Likewise. |
| (Machine): Likewise. |
| (Decompose): Update comment. |
| |
| 2007-12-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a |
| limited ancestor part, initialize controllers of enclosing record |
| before expanding ancestor aggregate. |
| (Gen_Assign): If a component of the aggregate is box-initialized, add |
| code to call Initialize if the component is controlled, and explicit |
| assignment of null if the component is an access type. |
| |
| Handle properly aggregates for limited types that appear in object |
| declarations when the aggregate contains controlled values such as |
| protected types. |
| When expanding limited aggregates into individual components, do not |
| call Adjust on controlled components that are limited. |
| |
| 2007-12-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * expander.adb: Take into account N_Subprogram_Renaming_Declaration |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of |
| predefined primitive _Disp_Requeue. |
| (Make_Predefined_Primitive_Specs): Create the spec for predefined |
| primitive _Disp_Requeue. |
| (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the |
| type of formal Renamed_Eq to Entity_Id (instead of Node_Id). |
| (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is |
| an interface type. In case of limited interfaces we now declare all the |
| predefined primitives associated with synchronized interfaces as |
| abstract. |
| (Predef_Spec_Or_Body): For interface types generate abstract subprogram |
| declarations. |
| (Predefined_Primitive_Bodies): Add body of "=" if the parent of the |
| tagged type is an interface type and there is no user-defined equality |
| function. |
| Add also bodies of predefined primitives associated with synchronized |
| interfaces. |
| (Freeze_Record_Type): Do not build bodies of predefined primitives of |
| interface types because they are now defined abstract. |
| Add missing documentation. |
| (Expand_Record_Controller): Update occurrence of Related_Interface |
| to Related_Type. |
| (Build_Offset_To_Top_Functions): Do nothing in case of VM. |
| (Expand_N_Object_Declaration): Take into account VM_Target when handling |
| class wide interface object declaration. |
| (Expand_Previous_Access_Type): Do not create a duplicate master entity |
| if the access type already has one. |
| (Expand_N_Object_Declaration): Defend against attempt to validity check |
| generic types. Noticed for -gnatVcf specified with previous errors. |
| |
| 2007-12-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer, |
| Expand_Allocator_Expression): Take into account VM_Target |
| |
| * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use |
| secondary stack when VM_Target /= No_VM |
| |
| 2007-12-13 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute |
| Is_Complation_Unit by Is_Library_Level_Entity in the code |
| that decides if the static dispatch tables need to be built. |
| (Wrap_Transient_Declaration): Do not generate a finalization call if |
| this is a renaming declaration and the renamed object is a component |
| of a controlled type. |
| |
| 2007-12-13 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): |
| In the case where the renamed subprogram is a dereference, call |
| Force_Evaluation on the prefix. |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Asynchronous_Select, |
| Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and |
| comment reformatting. |
| (Set_Privals): Inherit aliased flag from formal. From code reading. |
| (Build_Simple_Entry_Call): Out parameters of an access type are passed |
| by copy and initialized from the actual. This includes entry parameters. |
| (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95 |
| and Ada 2005 models of requeue. |
| (Null_Statements): Still connsider do-end block null if it contains |
| Unreferenced and Warnings pragmas. |
| (Expand_N_Accept_Statement): Do not optimize away null do end if |
| dispatching policy is other than defaulted. |
| (Expand_N_Timed_Entry_Call): When the triggering statement is a |
| dispatching call, manually analyze the delay statement. |
| (Find_Parameter_Type): Move subprogram to Sem_Util. |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive |
| _Disp_Requeue occupies dispatch table slot number 15. Move |
| _Disp_Timed_Select to slot 16. |
| (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which |
| generate the spec and body of _Disp_Reqeueue. |
| (Make_DT): Build and initialize the second dispatch table. |
| Handle initialization of RC_Offset when the parent |
| is a private type with variable size components. |
| (Make_Secondary_DT): Complete documentation. Add support to |
| initialize the second dispatch table. |
| (Make_Tags): Generate the tag of the second dispatch table. |
| (Register_Primitive): Add support to register primitives in the |
| second dispatch table. |
| |
| 2007-12-13 Pascal Obry <obry@adacore.com> |
| |
| * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on |
| Windows. This signal is used by gnatmake to kill child processes for |
| example. |
| |
| 2007-12-13 Javier Miranda <miranda@adacore.com> |
| |
| * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing |
| support for generic dispatching constructor calls in which we need to |
| locate the tag of a secondary dispatch table associated with an |
| interface type to properly dispatch the call. |
| (Expand_N_Attribute_Reference [case Address], |
| Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix |
| handling of VM targets. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for |
| assert fail |
| |
| * ug_words: Add entries for -gnatw.a -gnatw.A |
| |
| * sem_res.adb (Set_String_Literal_Subtype): If the context of the |
| literal is a subtype with non-static constraints, use the base type of |
| the context as the base of the string subtype, to prevent type |
| mismatches in gigi. |
| (Resolve_Actuals): If the actual is an entity name, generate a |
| reference before the actual is resolved and expanded, to prevent |
| spurious warnings on formals of enclosing protected operations. |
| (Analyze_Overloaded_Selected_Component): If type of prefix if |
| class-wide, use visible components of base type. |
| (Resolve_Selected_Component): Ditto. |
| (Resolve_Short_Circuit): Detect case of pragma Assert argument |
| evaluating to False, and issue warning message. |
| |
| * usage.adb: Add lines for -gnatw.a and -gnatw.A |
| |
| 2007-12-13 Emmanuel Briot <briot@adacore.com> |
| |
| * g-calend.ads (No_Time): New constant, to represent an uninitialized |
| time value |
| |
| * g-catiio.ads, g-catiio.adb (Value): Added support for more date |
| formats. |
| (Month_Name_To_Number): New subprogram |
| |
| * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive |
| letter to upper-case. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target |
| |
| * layout.adb (Resolve_Attribute, case 'Access): If designated type of |
| context is a limited view, use non-limited view when available. If the |
| non-limited view is an unconstrained array, this enforces consistency |
| requirements in 3.10.2 (27). |
| (Layout_Type): For an access type whose designated type is a limited |
| view, examine its declaration to determine if it is an unconstrained |
| array, and size the access type accordingly. |
| (Layout_Type): Do not force 32-bits for convention c subprogram |
| pointers in -gnatdm mode, only if real vms target. |
| |
| * sem_attr.adb (Analyze_Access_Attribute): Use new flag |
| Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined |
| (Analyze_Access_Attribute,Attribute_Address): Remove checks for |
| violations of the No_Implicit_Dynamic_Code restriction. |
| (Resolve_Attribute, case 'Access): If designated type of context is a |
| limited view, use non-limited view when available. If the non-limited |
| view is an unconstrained array, this enforces consistency requirements |
| in 3.10.2 (27). |
| (Layout_Type): For an access type whose designated type is a limited |
| view, examine its declaration to determine if it is an unconstrained |
| array, and size the access type accordingly. |
| |
| 2007-12-13 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when |
| object directory of main project does not exist. |
| On VMS, correctly set then environment variable for the source |
| directories. |
| |
| 2007-12-13 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when |
| set to True this procedure will create the value of type REG_EXPAND_SZ. |
| It was only possible to create REG_SZ values before. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads, |
| g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads, |
| namet-sp.adb, namet-sp.ads: New files. |
| |
| * g-speche.adb: Use generic routine in g-spchge |
| |
| * s-wchcnv.ads, s-wchcnv.adb: |
| Minor code cleanup (make formal type consistent with spec) |
| |
| * namet.adb: Update comments. |
| |
| * par-endh.adb (Evaluate_End_Entry): Use new |
| Namet.Sp.Is_Bad_Spelling_Of function |
| |
| * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an |
| ancestor is an access type initialized with a box, set its type |
| explicitly, for use in subsequent expansion. |
| (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of |
| function |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * g-spipat.adb (Break): Fix accessibility error (vsn taking not null |
| access Vstring) |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * inline.adb (Back_End_Cannot_Inline): Use new flag |
| Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined |
| |
| * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag |
| Has_Pragma_Inline_Always instead. |
| of obsolete function Is_Always_Inlined |
| (Build_Body_To_Inline): Same change |
| (Cannot_Inline): Same change |
| Do not give warning on exception raise in No_Return function |
| |
| * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited |
| component has two inconsistent component clauses in the same record |
| representation clause, favor the message that complains about |
| duplication rather than inconsistency. |
| Update comments. |
| (Record_Representation_Clause): Do not warn on missing component |
| clauses for inherited components of a type extension. |
| (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for |
| an overloadable item if it is a pragma that can apply to multiple |
| overloadable entities (e.g. Inline) because a pragma cannot be on |
| more than one chain at a time. |
| (Validate_Unchecked_Conversion): Add code to warn on unchecked |
| conversion where one of the operands is Ada.Calendar.Time. |
| (Analyze_Attribute_Definition_Clause): Fix typo in error message. |
| For now, ignore Component_Size clause on VM targets, as done for |
| pragma Pack. |
| |
| 2007-12-13 Emmanuel Briot <briot@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a |
| string |
| (Must_Check_Configuration, Default_Language_Is_Ada): new flags in |
| prj.ads |
| (Hash): Move instantiation of System.HTable.Hash from spec to body |
| (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive |
| systems, since we do not need to recompute the Name_Id for the canonical |
| file name. |
| (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id |
| as a parameter. This parameter is in fact always "ada" in all calls, and |
| we were doing 160560 extra calls to Name_Find to convert it to Name_Ada |
| while loading a project with 40000 files |
| |
| * prj-attr.adb: Fix name of attribute Dependency_Driver |
| Change the kind of indexing for attribute Root |
| |
| * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of |
| variables already declared, in case constructions. |
| |
| * prj-env.adb (Initialize): Reset Current_Source_Path_File and |
| Current_Object_Path_File to No_Path. |
| |
| * prj-ext.adb (Initialize_Project_Path): In multi language mode, use |
| ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty. |
| |
| * prj-makr.adb: new parameter Current_Dir |
| |
| * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for |
| Ada sources when language is not Ada. |
| Change Opt.Follow_Links to Opt.Follow_Links_For_Files. |
| (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms |
| (Must_Check_Configuration, Default_Language_Is_Ada): new flags. |
| (Locate_Directory): Always resolve links when computing Canonical_Path |
| (Look_For_Sources): Make sure that Name_Buffer contains the file name |
| in Source_Files before checking for the presence of a directory |
| separator. |
| Optimize calls to Name_Find when on case sensitive systems. |
| (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id |
| as a parameter. |
| (Prj.Nmsc.Check): new parameter Current_Dir |
| (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They |
| cannot be empty and the spec suffix cannot be the same as the body or |
| separate suffix. |
| (Get_Unit): When a file name can be of several unit kinds (spec, body or |
| subunit), always consider the longest suffix. |
| (Check_Configuration): Do not issue an error if there is no compiler |
| for a language. Just issue a warning and ignore the sources for the |
| language. |
| (Check_Library_Attributes): Only check Library_Dir if Library_Name is |
| not empty. |
| (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity |
| (Unit_Exceptions): New hash table |
| (Check_Naming_Schemes): Check if a file that could be a unit because of |
| the naming scheme is not in fact a source because there is an exception |
| for the unit. |
| (Look_For_Sources): Put the unit exceptions in hash table |
| Unit_Exceptions |
| (Get_Unit_Exceptions): Give initial value No_Source to local variable |
| Other_Part to avoid exception when code is compiled with validity |
| checking. |
| (Get_Sources_From_File): Check that there is no directory information |
| in the file names. |
| (Look_For_Sources): Check that there is no directory information in the |
| list of file names in Source_Files. |
| (Look_For_Sources): In multi-language mode, do not allow exception file |
| names that are excluded. |
| (Excluded_Sources_Htable): New hash table |
| (Search_Directories.Check_File): New procedure to simplify |
| Search_Directories. |
| (Search_Directories): Do not consider excluded sources |
| (Look_For_Sources): Populate Excluded_Sources_Htable before calling |
| Search_Directories. |
| (Get_Exceptions): Set component Lang_Kind of Source_Data |
| (Get_Unit_Exceptions): Ditto |
| (Search_Directories): Ditto |
| |
| * prj-pars.adb: new parameter Current_Dir |
| |
| * prj-part.ads, prj-part.adb: |
| Change Opt.Follow_Links to Opt.Follow_Links_For_Files. |
| (Opt.Follow_Links_For_Dirs): New flag |
| (Project_Path_Name_Of): Cache information returned by this routine as |
| Locate_Regular_File is a costly routine. The code to output a log |
| information and the effective call to Locate_Regular_File is now |
| factorized into a routine (code clean-up). |
| (Parse, Parse_Single_Project): new parameter Current_Dir |
| When main project file cannot be found, indicate in the error |
| message the project path that was used to do the search. |
| |
| * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag |
| (Prj.Proc.Process*): new parameter Current_Dir |
| |
| * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files |
| |
| 2007-12-13 Bob Duff <duff@adacore.com> |
| |
| * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New |
| procedure to be called from the back end to check the |
| No_Implicit_Dynamic_Code restriction. |
| |
| 2007-12-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call |
| Fixes another case where RTE_Available_Call was ignored instead of being |
| taken into account. |
| (Load_Fail): Ditto. |
| |
| * rtsfind.ads: Add new entries. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads, |
| g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files. |
| |
| * scn.adb: Implement BOM recognition |
| |
| 2007-12-13 Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level |
| subprogram body that acts as its own spec may not have a non-private |
| WITH clause on a private sibling. |
| (Build_Unit_Name): If the parent unit in the name in a with_clause on a |
| child unit is a renaming, create an implicit with_clause on that |
| parent, and not on the unit it renames, to prevent visibility errors |
| in the current unit. |
| |
| 2007-12-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram |
| renaming declaration, use the Slocs of the formal parameters from the |
| declaration of the formal subprogram when creating the formal parameter |
| entities in the renaming declaration. |
| (Analyze_Formal_Type_Declaration): Change the placement of the error |
| message concerning illegal known discriminants. It is now posted on the |
| type rather than on the first discriminant. This change ensures early |
| error report. |
| (Freeze_Subprogram_Body): If the generic subprogram is nested within |
| the package body that contains the instance, do not generate an |
| out-of-place freeze node for the enclosing package. |
| (Collect_Previous_Instantiations): Ignore internal instantiations |
| generated for formal packages. |
| (Validate_Derived_Type_Instance): Add a check that when a formal |
| derived type is Known_To_Have_Preelab_Init then the actual type must |
| have preelaborable initialization, and issue an error when this |
| condition is violated. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * s-imenne.adb, s-imenne.ads: New files. |
| |
| * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb, |
| s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb, |
| s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads, |
| s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb, |
| s-imgwch.ads: New calling sequence for Image routines to avoid sec |
| stack usage. |
| |
| 2007-12-13 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid |
| generation of spurious error if parent is an interface type; caused |
| because predefined primitive bodies will be generated later by |
| Freeze_Record_Type. |
| (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init |
| flag. |
| (Derive_Subprograms): Handle derivations of predefined primitives |
| after all the user-defined primitives to ensure that they are |
| found in proper order in instantiations. |
| (Add_Interface_Tag_Components, Inherit_Components): Update occurrences |
| of Related_Interface to Related_Type. |
| (Record_Type_Declaration): Minor reordering of calls to decorate the |
| Tag component because the entity must have set its Ekind attribute |
| before setting its Is_Tag attribute. |
| (Analyze_Subtype_Declaration): In the case of subtypes with |
| Private_Kind, inherit Known_To_Have_Preelab_Init from the parent. |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Selected_Component): Include the requeue |
| statement to the list of contexts where a selected component with a |
| concurrent tagged type prefix should yield a primitive operation. |
| (Find_Primitive_Operation): Handle case of class-wide types. |
| (Analyze_Overloaded_Selected_Component): If type of prefix is |
| class-wide, use visible components of base type. |
| (Resolve_Selected_Component): Ditto. |
| (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a |
| formal of a generic subprogram. find candidate interpretations by |
| scanning the list of generic formal declarations.: |
| (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete |
| type from a limited_with_clause, and the full view is available, use it |
| for subsequent semantic checks. |
| (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function |
| (Find_Primitive_Operation): New function. |
| (Analyze_Overloaded_Selected_Component): insert explicit dereference |
| only once if several interpretations of the prefix yield an access type. |
| (Try_Object_Operation): Code and comment cleanup. |
| (Analyze_Selected_Component): Reorder local variables. Minot comment and |
| code reformatting. When the type of the prefix is tagged concurrent, a |
| correct interpretation might be available in the primitive and |
| class-wide operations of the type. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for |
| renaming entry as subprogram using rename-as-body if subprogram spec |
| frozen. |
| (Use_One_Type): The clause is legal on an access type whose designated |
| type has a limited view. |
| (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function |
| (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function |
| (Analyze_Renamed_Primitive_Operation): new procedure to determine the |
| operation denoted by a selected component. |
| (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because |
| it can be an expression, possibly overloaded, that returns a task or |
| an access to one. |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a |
| requeue statement is dispatching. Do not emit an error when the name is |
| not an entry and the context is a dispatching select. Add code to |
| perform subtype conformance between the formals of the current entry |
| and those of the target interface primitive. |
| (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_ |
| Timed_Entry_Call): Analyze the triggering statement as the first step of |
| the processing. If this is a dispatching select, postpone the analysis |
| of all select statements until the Expander transforms the select. This |
| approach avoids generating duplicate identifiers after the Expander has |
| replicated some of the select statements. In case the Expander is |
| disabled, perform regular analysis. |
| (Check_Triggering_Statement): New routine. |
| (Analyze_Requeue): Exclude any interpretations that are not entries when |
| checking overloaded names in a requeue. Also test type conformance for |
| matching interpretations rather than requiring subtype conformance at |
| that point to conform with the RM's resolution rule for requeues. |
| |
| 2007-12-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an |
| inherited operation is a defaulted tag-indeterminate call, and there is |
| a statically tagged actual, use the static tag as a controlling actual |
| for the defaulted actual. |
| |
| 2007-12-13 Geert Bosch <bosch@adacore.com> |
| |
| * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static |
| context, so do not call Check_Non_Static_Context. |
| |
| 2007-12-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check |
| whether formal E is an entity which may have parameters. |
| |
| 2007-12-13 Bob Duff <duff@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine. |
| (Set_Convention): New procedure to set the Convention flag, and in |
| addition make sure the Favor_Top_Level flag is kept in sync (all |
| foreign-language conventions require Favor_Top_Level = True). |
| (Collect_Abstract_Interfaces): Update occurrences of Related_Interface |
| to Related_Type. |
| (Collect_Interfaces_Info): Minor update to handle the two secondary |
| dispatch tables. Update occurrence of Related_Interface to Related_Type. |
| (Generate_Parent_Ref): Add parameter to specify entity to check |
| (Is_Preelaborable_Expression): Allow the name of a discriminant to |
| initialize a component of a type with preelaborable initialization. |
| This includes the case of a discriminal used in such a context. |
| (Is_Dependent_Component_Of_Mutable_Object): Take into account the |
| latest Ada 2005 rules about renaming and 'Access of |
| discriminant-dependent components. |
| (Check_Nested_Access): Add handling when there are no enclosing |
| subprograms (e.g. case of a package body). |
| (Find_Parameter_Type): Factor routine from several other compiler files. |
| Remove routine from Find_Overridden_Synchronized_Primitive. |
| |
| 2007-12-13 Thomas Quinot <quinot@adacore.com> |
| |
| * sinput.adb (Get_Source_File_Index): Add assertion to guard against |
| an invalid access to an uninitialized slot in the |
| Source_File_Index_Table. |
| |
| 2007-12-13 Thomas Quinot <quinot@adacore.com> |
| |
| * sinput-l.adb (Load_File): Disable style checks when preprocessing. |
| |
| 2007-12-13 Bob Duff <duff@adacore.com> |
| |
| * s-soflin.ads: Apply new pragma Favor_Top_Level to all |
| access-to-subprogram types in this package. |
| |
| 2007-12-13 Olivier Hainque <hainque@adacore.com> |
| |
| * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant |
| with Stack_Grows_Down in System.Parameters. Rename Array_Address into |
| Stack_Overlay_Address and document that we are using an internal |
| abstraction. |
| (Byte_Size, Unsigned_32_Size): Remove, now useless. |
| (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used |
| consistently throughout the various implementation pieces. |
| |
| * s-stausa.adb (Stack_Slots): New type, abstraction for the stack |
| overlay we are using to fill the stack area with patterns. |
| (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots. |
| (Push_Index_Step_For, Pop_Index_Step_For): Likewise. |
| (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * s-stoele.adb ("mod"): mod negative value raises Constraint_Error |
| |
| 2007-12-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-tassta.adb: |
| (Create_Task): Take into account tasks created by foreign threads. |
| Code clean up: use constants instead of hard coded values. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * styleg.adb (Check_Comment): More liberal rules for comment placement |
| |
| 2007-12-13 Olivier Hainque <hainque@adacore.com> |
| |
| * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use |
| of Procedure Value instead of Frame Pointer as the invocation |
| identifier associated with the instruction pointer in each traceback |
| entry. |
| |
| * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For, |
| TB_Entry_For): Revert back to use of Procedure Value instead of Frame |
| Pointer as the invocation identifier passed to tbk$symbolize. |
| |
| * s-traent-vms.ads, s-traent-vms.adb |
| (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of |
| Procedure Value instead of Frame Pointer as the invocation identifier |
| passed to tbk$symbolize. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * tbuild.ads, tbuild.adb: |
| Fix location of flag for unrecognized pragma message |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * treepr.ads, treepr.adb: (pl): implement use of positive value |
| shorthands |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * xeinfo.adb: Remove warnings |
| * xnmake.adb: Remove warnings |
| * xsinfo.adb: Remove warnings |
| * xtreeprs.adb: Remove warnings |
| * xsnames.adb: Remove warnings |
| |
| * a-ngcoar.adb: Fix typo. |
| * s-interr.adb: Minor reformatting |
| * env.c: Minor reformatting. |
| * g-bytswa.adb: Minor reformatting. |
| * g-rannum.ads: Minor documentation improvements |
| * s-tasinf-mingw.adb: Minor header fix |
| * a-clrefi.adb: Minor reformatting |
| * g-sttsne.ads: Minor documentation improvement |
| * g-sttsne-locking.ads: Minor documentation improvement |
| * g-soliop-solaris.ads: Minor documentation improvement |
| * g-soliop-mingw.ads: Minor documentation improvement |
| * g-soliop.ads: Minor documentation improvement |
| * exp_aggr.ads: Minor reformatting |
| * debug.adb: Add documentation for the gprbuild debug flags |
| * exp_ch2.adb: Use Nkind_In to simplify code throughout |
| * exp_pakd.adb: Minor reformatting |
| |
| * g-altive.ads, g-alleve.adb: Remove assertions. |
| Add comment about minor differences between targets regarding |
| floating-point operations. |
| |
| * g-thread.adb: Remove pragma unreferenced. |
| * lib.ads: Minor reformatting |
| * par-ch9.adb: Minor reformatting of error messages |
| * sem_case.adb: Minor reformatting |
| * s-fileio.adb: Minor reformattinng |
| * s-vmexta.ads: Minor typo |
| * vxaddr2line.adb: |
| Take into account 'Success' value as per new GNAT warning. |
| |
| 2007-12-13 Vincent Celier <celier@adacore.com> |
| |
| * a-direct.adb (Create_Path): Always take '/' as a directory separator, |
| even on Windows |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * gnat_ugn.texi: Dcoument new rules for style check comment alignment |
| Document that suffixes may be terminations of each others |
| Add doc for -gnatw.a and -gnatw.A |
| Document gnatbind -Wx switch |
| Document BOM recognition |
| Document pragma Implemented_By_Entry. |
| Document new units. |
| |
| * gnat_rm.texi: (Favor_Top_Level): Document new pragma. |
| Add doc for pragma Unreferenced suppressing no entities referenced msg |
| Add documentation of GNAT.Directory_Operations.Iteration |
| Add documentation of GNAT.Random_Numbers |
| Add documentation for pragma Shared. |
| Correct documentation for Bit_Order |
| Add documentation for the Pool_Address attribute. |
| Fix and improve documentation of pragma machine_attribute. |
| New pragma Fast_Math |
| Document BOM recognition |
| |
| * vms_data.ads: Add entries for -gnatw.a -gnatw.A |
| Add /Wide_Character_Encoding for binder |
| Add qualifier for the new gnatpp option --no-separate-loop-then |
| |
| 2007-12-13 Matthew Heaney <heaney@adacore.com> |
| |
| * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document |
| which generic formal operations are called for each operation. |
| |
| 2007-12-13 Olivier Hainque <hainque@adacore.com> |
| |
| * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh. |
| (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh. |
| |
| 2007-12-13 Emmanuel Briot <briot@adacore.com> |
| |
| * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute |
| Reference_Dir unless we actually need it. |
| |
| 2007-12-13 Vasiliy Fofanov <fofanov@adacore.com> |
| Tristan Gingold <gingold@adacore.com> |
| |
| * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit. |
| |
| * s-osprim-vms.adb, |
| a-calend-vms.adb: Remove pragma warning off and add pragma |
| unreferenced. |
| |
| 2007-12-13 Robert Dewar <dewar@adacore.com> |
| |
| * impunit.adb: Add entries for missing units |
| |
| * Makefile.rtl: Add new run-time units. |
| |
| * Make-lang.in: Update dependencies. |
| |
| 2007-12-13 Bob Duff <duff@adacore.com> |
| |
| * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram |
| types, set Can_Use_Internal_Rep appropriately, based on |
| Always_Compatible_Rep_On_Target. |
| |
| 2007-12-13 Gary Dismukes <dismukes@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing |
| it to the front end and setting the aamp_target environment variable |
| to the switch's argument to ensure that gnaampbind and gnaamplink will |
| take the specified library into account. |
| (Make): Only set Check_Object_Consistency to False for JVM, not for CIL |
| target, since the CIL compiler supports an "object" file (.il files). |
| |
| 2007-12-13 Vincent Celier <celier@adacore.com> |
| |
| * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure |
| (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half. |
| |
| 2007-12-13 Geert Bosch <bosch@adacore.com> |
| |
| * s-parame-vxworks.adb: |
| Update comments to reflect usage of this package by Nucleus. |
| |
| 2007-12-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * i-vxwork.ads: Kill new warning on Convention C, since changing the |
| spec would break code. |
| |
| * i-forbla-unimplemented.ads, vx_stack_info.c: New files. |
| |
| * system-vxworks-alpha.ads: Removed. |
| |
| 2007-12-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around. |
| |
| 2007-12-09 Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/34366 |
| * sem_ch3.adb (Designates_T): New function. |
| (Mentions_T): Factor reusable part of the logic into Designates_T. |
| Consider non-access parameters and access and non-access result. |
| (Check_Anonymous_Access_Components): Set ekind of anonymous access to |
| E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type. |
| |
| * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type. |
| |
| 2007-12-07 Ludovic Brenta <ludovic@ludovic-brenta.org> |
| |
| PR ada/34361 |
| * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect |
| the new implementation of target-specific calls. |
| |
| 2007-12-07 Olivier Hainque <hainque@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing |
| the designated full view, only follow a second level Full_View link |
| for Non_Limited_Views of from_limited_with references. |
| |
| 2007-12-07 Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/15805 |
| * sem_ch6.adb (Process_Formals): Prevent an access type formal |
| to be initialized with an access to constant object. |
| |
| * sem_ch3.adb (Analyze_Object_Declaration): Signal an error |
| when an access to constant is used to initialize an access |
| value. |
| |
| PR ada/21346 |
| * a-direct.adb (Compose): Containing_Directory can be an empty string. |
| |
| 2007-12-07 Olivier Hainque <hainque@adacore.com> |
| |
| PR ada/34173 |
| * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting |
| the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if |
| this is from an alignment clause on the GNAT entity. |
| * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN |
| to distinguish the case where we set it from the type's alignment. |
| When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate |
| whether this alignment was set from an explicit alignment clause. |
| |
| 2007-12-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (make_packable_type): Revert last change. |
| (gnat_to_gnu_field): Avoid setting size and position multiple times. |
| * utils.c (finish_record_type): Retrieve the real name of the type. |
| |
| 2007-12-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (lvalue_required_p): Take base node directly instead |
| of its parent. Rename second parameter to 'gnu_type'. |
| <N_Indexed_Component>: Return 0 if the node isn't the prefix. |
| <N_Slice>: Likewise. |
| (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue. |
| Adjust calls to lvalue_required_p. |
| |
| 2007-12-05 Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/21489 |
| * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type |
| parameters of an entry call. |
| |
| 2007-12-03 Robert Dewar <dewar@adacore.com> |
| Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/34287 |
| * sem_util.adb (Safe_To_Capture_Value): Do not capture values |
| of variables declared in a library-level package. |
| |
| 2007-12-02 Samuel Tardieu <sam@rfc1149.net> |
| |
| * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead |
| of Empty_String'Unchecked_Access. |
| |
| * Makefile.in: Add support for sh4-linux. |
| |
| * system-linux-sh4.ads: New file. |
| |
| 2007-12-01 Kostik Belousov <kostikbel@ukr.net> |
| |
| PR ada/33722 |
| * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv() |
| and its argument must not be free()ed. |
| |
| 2007-11-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (make_packable_type): Retrieve the real name of the type. |
| (maybe_pad_type): Simplify similar code. |
| |
| 2007-11-28 Samuel Tardieu <sam@rfc1149.net> |
| |
| PR ada/15804 |
| * par-ch3.adb (P_Variant_Part): Signal an error when anything other |
| than an identifier is used after "case" in a variant_part. |
| |
| PR ada/17318 |
| * par-ch4.adb (Is_Parameterless_Attribute): New map. |
| (P_Name, Scan_Apostrophe block): Parse left parenthesis following |
| attribute name or not depending on the new map. |
| |
| * sem-attr.adb (Analyze_Attribute): Parameterless attributes |
| returning a string or a type will not be called with improper |
| arguments. |
| |
| * sem-attr.ads (Attribute_Class_Array): Move to snames.ads. |
| |
| * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads. |
| |
| PR ada/32792 |
| * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause): |
| Signal an error when attribute argument is a fixed-point value of |
| an unknown type. |
| |
| PR ada/22559 |
| * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on |
| a derived ordinary fixed point type. |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute |
| RM_Size when a Small clause is found. |
| |
| 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| PR 34081/C++ |
| * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu): |
| Pass 'false' for the new allocate_struct_function parameter. |
| * utils.c (build_function_stub): Likewise. |
| |
| 2007-11-25 Richard Guenther <rguenther@suse.de> |
| |
| * utils.c (gnat_pushlevel): Use BLOCK_CHAIN. |
| (gnat_poplevel): Likewise. |
| |
| 2007-11-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has |
| strict alignment, no alignment clause and a known static size, cap |
| the type alignment to the greatest power of 2 factor of the size. |
| (gnat_to_gnu_field): If the field has a component clause, is aliased |
| or of a type with strict alignment, require that its size be equal to |
| that of the type. |
| (validate_size): Use the type size as the minimum size for a type with |
| strict alignment. |
| |
| 2007-11-23 Samuel Tardieu <sam@rfc1149.net> |
| |
| * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb, |
| s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb, |
| s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb: |
| Use 'Access instead of 'Unchecked_Access in second and third |
| arguments of pthread_sigmask. |
| |
| 2007-11-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (ceil_alignment): New function. |
| (gnat_to_gnu_entity): Use it to set the alignment on atomic types. |
| (make_packable_type): Likewise. |
| |
| 2007-11-22 Olivier Hainque <hainque@adacore.com> |
| |
| * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines |
| to fit in 80 columns. |
| |
| 2007-11-21 Aurelien Jarno <aurelien@aurel32.net> |
| |
| * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function. |
| * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB. |
| |
| 2007-11-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/34098 |
| * misc.c (gnat_adjust_rli): Delete. |
| (gnat_init): Do not initialize the translation code here. |
| Do not call set_lang_adjust_rli. |
| * trans.c (init_code_table): Make static. |
| (gnat_init_stmt_group): Delete. |
| (gigi): Initialize the translation code entirely here. |
| Emit debug info for the common types here instead of... |
| * utils.c (gnat_init_decl_processing): ...here. |
| * gigi.h (init_code_table): Delete. |
| (gnat_init_stmt_group): Likewise. |
| |
| 2007-11-16 Olivier Hainque <hainque@adacore.com> |
| |
| * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code |
| retrieving an allocator return value from a super-aligned address from |
| here to ... |
| * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't |
| expect a super-aligned address for a fat or thin pointer. |
| |
| 2007-11-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (call_to_gnu): Always set the source location on the call |
| expression. If the function returns-by-target, also set it on the |
| address expression. |
| |
| 2007-11-14 Samuel Tardieu <sam@rfc1149.net> |
| |
| * adaint.c, init.c, initialize.c, link.c: Remove system-specific |
| sections of non-supported Interix target. |
| |
| * s-osinte-interix.ads: Removed. |
| |
| * i-cstrin.ads (chars_ptr): Make it a C convention type. |
| |
| 2007-11-13 Samuel Tardieu <sam@rfc1149.net> |
| |
| * a-tasatt.adb: Add a comment at the beginning of the package |
| explaining why in general 'Unchecked_Access must be used instead |
| of 'Access. |
| |
| * sem_prag.adb (Process_Convention): Move the test for the |
| entity on which the Convention pragma applies down to also |
| forbid pragma Convention on enumeration literals reached |
| through renamings. |
| |
| 2007-11-10 Samuel Tardieu <sam@rfc1149.net> |
| |
| * a-tasatt.adb: Revert previous change for this file as it will |
| generate an error when this package is instantiated from a |
| local context. |
| |
| 2007-11-07 Samuel Tardieu <sam@rfc1149.net> |
| |
| * a-tasatt.adb: Type Wrapper should be declared in comment instead |
| of already declared type Node_Access. |
| Use 'Access instead of 'Unchecked_Access when applicable. Local |
| lifetime is the one of the package. |
| (Set_Value): W is allocated on the heap. |
| |
| * g-socket.adb: Use 'Access instead of 'Unchecked_Access when |
| applicable. |
| (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous |
| access type. |
| (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous |
| access type. |
| |
| * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when |
| applicable. |
| (elaboration code): Timer_Queue lifetime is the one of the |
| package. |
| |
| * tracebak.c (i386 alternative): Remove useless comparaison |
| which is always false; LOWEST_ADDRESS is 0 and is never greater |
| than an unsigned integer. |
| |
| * sem_attr.adb (Analyze_Attribute): Remove duplicate identical |
| embedded check for "Ada_Version >= Ada_05". |
| |
| 2007-11-07 Olivier Hainque <hainque@adacore.com> |
| |
| * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we |
| craft and expand comment. |
| |
| 2007-11-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * lang-specs.h: Move translation of -fRTS= after -gnatez switch. |
| |
| 2007-10-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * misc.c (gnat_handle_option): Replace call to abort with |
| call to gcc_unreachable. |
| (gnat_init): Likewise. |
| (gnat_expand_expr): Likewise. |
| (fp_prec_to_size): Likewise. |
| (fp_size_to_prec): Likewise. |
| |
| 2007-10-23 Richard Guenther <rguenther@suse.de> |
| |
| PR bootstrap/33608 |
| * tracebak.c: #undef abort after including system.h. |
| |
| 2007-10-20 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb, |
| s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads |
| for win32 targets. |
| (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets. |
| |
| 2007-10-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter. |
| Set the protection status of the guard page based on the value of On. |
| |
| * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter. |
| |
| * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone. |
| (Exit_Task): Pass False to Hide_Yellow_Zone. |
| |
| 2007-10-15 Robert Dewar <dewar@adacore.com> |
| |
| * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, |
| s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb, |
| a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, |
| checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, |
| freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, |
| gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, |
| mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, |
| prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, |
| sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, |
| s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads, |
| uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, |
| a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, |
| a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, |
| a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, |
| a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, |
| a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb: |
| Minor reformatting. |
| Add Unreferenced and Warnings (Off) pragmas for cases of |
| variables modified calls where they are IN OUT or OUT parameters and |
| the resulting values are not subsequently referenced. In a few cases, |
| we also remove redundant code found by the new warnings. |
| |
| * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, |
| sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb, |
| sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb, |
| sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new |
| warning controlled by -gnatw.o that warns on cases of out parameter |
| values being ignored. |
| |
| 2007-10-15 Geert Bosch <bosch@adacore.com> |
| |
| * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus. |
| |
| * expect.c: Initial port to arm-mentor-nucleus. |
| Use kill for __gnat_kill() on VMS. |
| |
| 2007-10-15 Emmanuel Briot <briot@adacore.com> |
| |
| * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default |
| value. |
| (Xref_Record): Change type for Line, since in the case of a reference to |
| a predefined entity (as happens for array index types), the line is set |
| to 0. |
| Add support for parsing multiple array index types info, or |
| multiple inherited interfaces info. This information cannot be stored |
| in Xref_Entity_Record, which only supports a single instance of Tref_*, |
| and is therefore stored in the list of references instead. It has a |
| special treatement later on in tools that use this information. |
| |
| 2007-10-15 Tristan Gingold <gingold@adacore.com> |
| |
| * debug.adb: Document use of -gnatd.a and -gnatd.I |
| |
| * layout.adb: On OpenVMS -gnatd.a disables alignment optimization. |
| |
| 2007-10-15 Javier Miranda <miranda@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Case Access, |
| Unchecked_Access, and Unrestricted_Access. Cleanup code that takes |
| care of access to class-wide interface types plus removal of bizarre |
| conversion of tagged object to access type (reported by Gary |
| Dismukes). After this patch there is no need to perform any |
| additional management on these nodes in Expand_Interface_Actuals. |
| |
| * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code |
| that handles use of 'Access and 'Unchecked_Access applied to |
| actuals covering interface types. Such code is now |
| centralized in Expand_N_Attribute_Reference. |
| |
| 2007-10-15 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization |
| of tagged types whose ultimate ancestor is a CPP type. |
| (Freeze_Array_Type): For a packed array type, generate an initialization |
| procedure if the type is public, to handle properly a client that |
| specifies Normalize_Scalars. |
| |
| 2007-10-15 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs |
| inside a generic body, retrieve the full view of the entry family |
| discrete subtype if available. |
| |
| 2007-10-15 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not |
| attempt to generate stubs for hidden primitive operations. |
| |
| 2007-10-15 Vincent Celier <celier@adacore.com> |
| |
| * mlib-tgt-specific.adb (Support_For_Libraries): New function, |
| returning None, used when there is no platform specific body for |
| MLib.Tgt.Specific. |
| |
| 2007-10-15 Bob Duff <duff@adacore.com> |
| |
| * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A |
| (passing'Unrestricted_Access of nested subprograms to Sort) with use of |
| the generic Heap_Sort_G, in order to avoid trampolines. |
| |
| 2007-10-15 Vasiliy Fofanov <fofanov@adacore.com> |
| Jose Ruiz <ruiz@adacore.com> |
| |
| * vx_stack_info.c: New file. |
| |
| * i-forbla-unimplemented.ads: New file. |
| |
| * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads |
| for unsupported configurations; use it on VMS targets instead of the |
| real one. |
| (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include |
| vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info |
| used by VxWorks targets to have access to task-specific data and be |
| able to extract the stack boundaries for stack checking. |
| Use system-vms-ia64.ads on ivms. |
| |
| * Make-lang.in: Update dependencies. |
| |
| * sysdep.c (__gnat_get_stack_info): Move to a standalone file |
| (vx_stack_info.c). |
| |
| 2007-10-15 Vincent Celier <celier@adacore.com> |
| |
| * snames.adb, snames.ads: Add new standard name runtime_library_dir |
| |
| * prj.ads (Language_Config): Add new component Runtime_Library_Dir |
| |
| * prj-attr.adb: Add project level attribute Runtime_Library_Dir |
| |
| * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of |
| the source is unknown. |
| |
| * prj-ext.adb: Spelling error fix |
| |
| * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada |
| 95 reserved word in its name. |
| (Process_Project_Level_Array_Attributes): Process new attribute |
| Runtime_Library_Dir. |
| |
| * prj-part.adb (Parse_Single_Project): Do not check the name of the |
| config project against the user project names. |
| |
| * prj-proc.adb (Expression): In multi-language mode, indexes that do |
| not include a dot are always case insensitive. |
| (Process_Declarative_Items): Ditto |
| (Process_Project_Tree_Phase_1): Set Success to False in case an error is |
| detected. |
| |
| * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is |
| True, compare both indexes in lower case. |
| |
| 2007-10-15 Robert Dewar <dewar@adacore.com> |
| |
| * rtsfind.adb: (Load_RTU): Turn off style checks for Load call |
| |
| 2007-10-15 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box |
| association for an access component, add an association with null as |
| the expression. Remove testing for array subtypes and the setting in |
| that case of Ctyp to the array component type, which prevented proper |
| inclusion of an association for null-initialized arrays. Collapse |
| condition that tests for array subtypes into just a test of |
| Is_Partially_Initialized_Type (which already covers arrays anyway). |
| |
| 2007-10-15 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch12.adb: Minor code reformatting. |
| (Check_Generic_Child_Unit): Iterate over the homonym chain in order to |
| find the parent package which may have been hidden by local |
| declarations. |
| |
| 2007-10-15 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained |
| flag of derived concurrent types, taking into account the flag setting |
| on the parent subtype and any new set of discriminants. |
| |
| 2007-10-15 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch4.adb: Minor code and comment reformatting. |
| (Analyze_Allocator): When the designated type of an unconstrained |
| allocator is a record with unknown discriminants or an array with |
| unknown range bounds, emit a detailed error message depending on the |
| compilation mode and whether the designated type is limited. |
| |
| 2007-10-15 Tristan Gingold <gingold@adacore.com> |
| |
| * system-vms-ia64.ads: New file. |
| |
| * system-vms_64.ads: Minor comment fix. |
| |
| 2007-10-15 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a |
| body generated for a function with a controlling result that is a null |
| extension, discard the generated body in favor of the current explicit |
| one. |
| |
| 2007-10-15 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_disp.adb (Find_Controlling_Arg): Examine the call node before |
| examining its original form, to handle properly operator calls that |
| have been rewritten. |
| |
| 2007-10-15 Olivier Hainque <hainque@adacore.com> |
| |
| * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer |
| instead of a procedure value in each traceback entry. |
| |
| * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer |
| instead of procedure value to TBK$SYMBOLIZE. |
| |
| * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper |
| field. |
| (TB_Entry_For): Account for the PV/FP renaming. |
| |
| * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and |
| add comment. |
| (Null_TB_Entry): Account for change of component name. |
| (PV_For): Rename as FP_For. |
| |
| 2007-10-15 Tristan Gingold <gingold@adacore.com> |
| |
| * trans.c (gnat_to_gnu): Remove the padding structure more often. |
| This optimize assignment to over-aligned record. |
| |
| 2007-10-15 Emmanuel Briot <briot@adacore.com> |
| |
| * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie |
| interfaces. |
| |
| * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference |
| type, for dispatching calls. |
| |
| 2007-10-15 Vincent Celier <celier@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Add documentation for switches --version and --help |
| for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname, |
| gnatxref, gnatfind, gnatls, and gnatclean. |
| Document -gnatw.o. |
| Mention attribute Excluded_Source_Dirs |
| Replace obsolescent attribute Locally_Removed_Files with attribute |
| Excluded_Source_Files. |
| Improve documentation of -u (gnatbind) |
| Document how to do reliable stack checking for the environmental task |
| on iVMS. |
| |
| * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code. |
| Document attribute Excluded_Source_Files and indicate that attribute |
| Locally_Removed_Files is obsolescent. |
| |
| 2007-10-15 Thomas Quinot <quinot@adacore.com> |
| |
| * g-soccon-vms.ads: Fix value of MSG_WAITALL. |
| |
| * gen-soccon.c: |
| Update documentation to note that OpenVMS 8.3 or later must be used |
| to generate g-soccon-vms.ads. |
| |
| * atree.adb: Add ??? comment |
| |
| * exp_util.adb: Minor reformatting. |
| Add ??? comment in Kill_Dead_Code. |
| |
| 2007-10-15 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads: Comment clarification |
| |
| * exp_ch4.adb (Expand_N_Allocator): Code cleanup. |
| (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa |
| |
| * lib.ads: Comment update |
| |
| * init.c: Minor reformatting. |
| |
| * sem_attr.adb: Minor formatting |
| |
| * osint-b.ads: Minor reformatting |
| |
| * sem_ch9.adb: Implement -gnatd.I switch |
| |
| * g-comlin.adb: (Start): Fix handling of empty command line. |
| |
| * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section, |
| even when -rules follows the -cargs section. |
| |
| 2007-10-08 Ollie Wild <aaw@google.com> |
| |
| * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with |
| gnat_return_tree. |
| (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with |
| gnat_return_tree. |
| (gnat_eh_runtime_type): Removed. |
| (gnat_return_tree): New function. |
| |
| 2007-10-08 Ben Elliston <bje@au.ibm.com> |
| |
| PR ada/33454 |
| Revert: |
| 2007-08-31 Ben Elliston <bje@au.ibm.com> |
| |
| * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads |
| when compiling for powerpc64-*-linux. |
| * system-linux-ppc64.ads: New file. |
| |
| 2007-09-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Mapped location support |
| * back_end.adb (Call_Back_End): Pass information about source |
| files instead of units to gigi. |
| * gigi.h (struct File_Info_Type): New. |
| (gigi): Rename and change type of number_units parameter, change |
| type of file_info_ptr parameter. |
| * trans.c (number_files): New global variable. |
| (gigi): Rename and change type of number_units parameter, change |
| type of file_info_ptr parameter. |
| If mapped location support is enabled, create the isomorphic mapping |
| between source files and line maps. |
| (Sloc_to_locus): If mapped location support is enabled, translate |
| source location into mapped location. |
| (annotate_with_node): Rename into set_expr_location_from_node. |
| Call set_expr_location instead of annotate_with_locus. |
| (Pragma_to_gnu): Adjust for above change. |
| (Loop_Statement_to_gnu): Likewise. |
| (call_to_gnu): Likewise. |
| (Handled_Sequence_Of_Statements_to_gnu): Likewise. |
| (gnat_to_gnu): Likewise. |
| (add_stmt_with_node): Likewise. |
| (add_cleanup): Likewise. |
| * utils.c (gnat_init_decl_processing): Do not set input_line. |
| |
| 2007-09-26 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Use_Type): Code cleanup. |
| (Applicable_Use): Emit a warning when a package tries to use itself. |
| (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type |
| is already in use or the package where it is declared is in use or is |
| declared in the current package. |
| (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type. |
| |
| * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb, |
| s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb, |
| s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause. |
| |
| 2007-09-26 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-calend-vms.adb, a-calend.adb: |
| Add a section on leap seconds control along with two entities used to |
| enable and disable leap seconds support. The array Leap_Second_Times is |
| now constant and contains hard time values pre-generated. Remove |
| all elaboration code used to populate the table of leap seconds. |
| |
| * bindgen.adb: |
| Add entity Leap_Seconds_Support to the list of global run-time variables |
| along with a comment on its usage and values. |
| (Gen_Adainit_Ada): Add code to generate the declaration and import of |
| Integer variable Leap_Seconds_Support. Set its value to zero (disabled) |
| or one (enabled) depending on the presence of binder switch "-y". |
| (Gen_Adainit_C): Add code to generate the declaration of external int |
| __gl_leap_seconds_support. Set is value to zero (disabled) or one |
| (enabled) depending on the presence of binder switch "-y". |
| |
| * init.c: Add __gl_leap_seconds_support to the list of global values |
| computed by the binder. |
| |
| 2007-09-26 Jerome Guitton <guitton@adacore.com> |
| |
| * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, |
| s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb, |
| s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, |
| s-taprop-posix.adb (Stop_Task): New function, dummy implementation. |
| |
| * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function. |
| |
| * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time |
| function which can be called by the debugger to interrupt the tasks of |
| an Ada application asynchronously, as needed on VxWorks. |
| (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks. |
| |
| * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration, |
| renamed from Stop_All_Tasks. Update comments. |
| (Stop_All_tasks): New function declaration. |
| |
| 2007-09-26 Olivier Hainque <hainque@adacore.com> |
| |
| * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around |
| #include <utime.h> and #define GCC_RESOURCE_H before |
| #include <sys/wait.h>. |
| Add more protections in __gnat_translate_vms. |
| |
| * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before |
| #include <sys/wait.h>. |
| |
| 2007-09-26 Thomas Quinot <quinot@adacore.com> |
| Sergey Rybin <rybin@adacore.com> |
| |
| * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed. |
| |
| * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist, |
| where it belongs. |
| |
| * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO. |
| |
| * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist, |
| where it belongs. |
| |
| * sem_dist.ads: Minor comment fix |
| |
| * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO. |
| |
| 2007-09-26 Javier Miranda <miranda@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * a-tags.adb: |
| (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of |
| indirection added to the HT_Link component of the TSD. This is required |
| to statically allocate the TSD. |
| |
| * a-tags.ads: |
| Minor reordering of the declarations in the private part. Required to |
| add a level of indirection to the contents of the TSD component HT_Link. |
| This is required to statically allocate the TSD. |
| |
| * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with |
| Is_Statically_Allocated set from constant objects. |
| Do not make exported constants created by the compiler volatile. |
| (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken |
| as read-only. |
| |
| * trans.c (Identifier_to_gnu): For constants, unshare initializers |
| before returning them. |
| |
| * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the |
| public part of the package. |
| (Make_DT): Move HT_Link component out of the TSD record. For this |
| purpose Make_DT now declares a separate object that stores the |
| HT_Link value, and initializes the TSD component with the address |
| of this new object. The addition of this level of indirection is |
| required to statically allocate the TSD because the TSD cannot |
| have variable components. |
| (Expand_Interface_Conversion): Improve the expanded code. |
| (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity. |
| |
| * sem_disp.adb (Check_Dispatching_Operation): In case of a body |
| declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---, |
| if we are building static dispatch tables then we must not generate |
| extra code to register the primitive because the dispatch table will |
| be built at the end of the library package; otherwise we notify that |
| we cannot build the static dispatch table. |
| |
| 2007-09-26 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address |
| overlays. |
| |
| * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays |
| (Analyze_Record_Representation_Clause): Suppress junk warning for |
| missing component clause. |
| (Analyze_Attribute_Definition_Clause, case Address): Apply the special |
| tests for controlled type overlay to composites with controlled |
| components. |
| (Analyze_Record_Representation_Clause): Add reference for component name |
| |
| 2007-09-26 Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True |
| for thunks associated with interface types. |
| |
| * einfo.ads: Improve documentatation of Is_Internal |
| (Is_Thunk): New attribute applicable to subprograms. True for thunks |
| associated with interface types. |
| Extensive comment fixes regarding flags that appear in all entities. The |
| documentation is now consistent for all such flags (there were a number |
| of errors in the documentation in this regard). |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup. |
| |
| * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any |
| of these procedures are passed a function call that already has |
| build-in-place actuals (testing new flag |
| Is_Expanded_Build_In_Place_Call). Set the flag on the function call in |
| the case where processing continues. |
| (Expand_Call): If the call is generated from a thunk body then we |
| propagate the extra actuals associated with the accessibility |
| level of the access type actuals. |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field |
| of each extra formal of a protected operation to reference the |
| corresponding extra formal of the subprogram denoted by the |
| operation's Protected_Body_Subprogram. |
| |
| * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on |
| N_Function_Call nodes. |
| |
| 2007-09-26 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set |
| |
| * debug.adb: Add d.s flag. |
| |
| 2007-09-26 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the |
| debug variable so that it won't be initialized when pragma |
| Initialize_Scalars is in effect. |
| |
| 2007-09-26 Gary Dismukes <dismukes@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Remove check for preelaborable |
| initialization of a full view. This is moved to |
| Analyze_Package_Specification. |
| |
| * sem_ch7.adb (Analyze_Package_Specification): Add check for |
| preelaborable initialization of a full view in entity loop. |
| (Uninstall_Declarations): If entity is a use-visible compilation unit, |
| its child units are use-visible only if they are visible child units. |
| |
| * sem_util.adb (Is_Preelaborable_Expression): New function to determine |
| whether an expression can be used within a type declaration that |
| requires preelaborable init. |
| (Check_Components): Replace inline code that does partial checking for |
| preelaborable default expressions with call to |
| Is_Preelaborable_Expression. |
| (Has_Preelaborable_Initialization): In the case of a generic actual |
| subtype, (that is, Is_Generic_Actual is True), return the result of |
| applying Has_Preelaborable_Initialization to the generic actual's base |
| type. |
| |
| 2007-09-26 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a |
| call to Jan_1_Day _Of_Week to optimize its performance. |
| (Is_Leap): Move the routine to the scope of Week_In_Year. |
| (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the |
| weekday on which January 1 falls of Year - 1 and Year + 1. This function |
| avoids calling Time_Of and Split, thus making it more efficent. |
| (Week_In_Year): Reimplemented in oder to follow ISO 8601. |
| |
| * g-calend.ads (Week_In_Year): Change comment to reflect new |
| implementation. |
| |
| 2007-09-26 Emmanuel Briot <briot@adacore.com> |
| |
| * g-comlin.ads, g-comlin.adb (Command_Line_Configuration, |
| Command_Line): New types |
| (Define_Alias, Define_Prefix, Free): New subprograms. These provide |
| support for defining how switches can be grouped on a command line (as |
| is the case for -gnatw... for GNAT), and how simple switches can be |
| used as aliases for more complex switches (-gnatwa is same as |
| -gnatwbcef...) |
| (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram |
| (Start, Current_*): New subprograms |
| Added support for parsing an array of strings in addition to the real |
| command line. |
| (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to |
| be moved from the body to the private part of the spec. |
| (*): All subprograms now have an extra parameter with default value to |
| specify which parser should be used. For backward compatibility, it |
| defaults to parsing the command line of the application. They were also |
| modified to properly handle cases where each of the argument does not |
| start at index 1 (which is always true for Ada.Command_Line, but not |
| when processing any Argument_List). |
| (Free): New subprogram |
| (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch, |
| Argument): New subprograms |
| (Switch_Parameter_Type): New enum, which clarifies the code. The extra |
| special characters like ':', '=',... are now handled in a single place, |
| which makes the code more extensible eventually. |
| (Getopt, Full_Switch): When the switch was returned as part of the |
| special character '*', make sure it is prepended by the switch character |
| ('-' in general), so that the application knows whether "foo" or "-foo" |
| was specified on the command line. |
| |
| 2007-09-26 Florian Villoing <villoing@adacore.com> |
| |
| * g-dirope.adb (Remove_Dir): In case we are removing directories |
| recursively, make sure that if an exception is raised during the |
| processing, the current working directory is reset to its initial |
| value before propagating the exception. |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * gnatbind.adb: If there are several ALI files specified and there is |
| a main program to bind, the first ALI is expected to contain the main |
| subprogram and the names of the binder generated files will be derived |
| from the first ALI file name. |
| (Gnatbind): Fix insertion character in invocation of Error_Msg |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (Check_Files): Do not include sources that have been |
| removed by attributes Exclude_Source_Files or Locally_Removed_Files. |
| |
| 2007-09-26 Ed Schonberg <schonberg@adacore.com> |
| |
| * lib-xref.ads, lib-xref.adb: The entry for array types now carries |
| information about each of its index types, following the type |
| reference for its component type. |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * make.adb: (Kill): New procedure (__gnat_kill imported) |
| (Running_Compile, Outstanding_Compiles): Global variables that |
| were previously local to procedure Compile_Sources. |
| (Sigint_Intercepted): Send signal SIGINT to all outstanding |
| compilation processes. |
| |
| (Gnatmake): If project files are used, create the mapping of all the |
| sources, so that the correct paths will be found. |
| |
| * prj-env.ads, prj-env.adb (Create_Mapping): New procedure |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads |
| |
| * prj.ads, prj.adb (Default_Language): Remove function, no longer used |
| Replace components Compiler_Min_Options and Binder_Min_Options with |
| Compiler_Required_Switches and Binder_Required_Switches in record |
| Language_Config. |
| Remove components Default_Language and Config in Project_Tree_Data, |
| no longer used. |
| |
| * prj-attr.adb: New attributes Required_Switches (<language>) in |
| packages Compiler and Binder. |
| |
| * prj-nmsc.adb: Major rewrite of the processing of configuration |
| attributes for gprbuild. No impact on GNAT tools. |
| |
| * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer |
| process configuration attributes: this is done in Prj.Nmsc.Check. |
| (Recursive_Process): Make a full copy of packages inherited from project |
| being extended, instead of a shallow copy. |
| (Process_Project_Tree_Phase_1): New procedure |
| (Process_Project_Tree_Phase_1): New procedure |
| (Process): Implementation now uses the two new procedures |
| |
| * prj-util.adb (Executable_Of): Get the suffix and the default suffix |
| from the project config, not the tree config that no longer exists. |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * Make-lang.in: Update dependencies.. |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * osint.adb, osint.ads: Minor reformatting |
| |
| * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure |
| |
| 2007-09-26 Gary Dismukes <dismukes@adacore.com> |
| |
| * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95 |
| message to cite use of <> in aggregate component associations rather |
| than wrongly indicating use of limited aggregates. |
| |
| 2007-09-26 Robert Dewar <dewar@adacore.com> |
| |
| * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of |
| Address_Taken. |
| |
| 2007-09-26 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct |
| ancestor of the derived type, the operations are inherited from the |
| primary dispatch table of the parent. |
| (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls |
| when the context is an explicit type conversion. |
| |
| 2007-09-26 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution |
| rule for qualified expressions properly, to detect improper conversions |
| and resolve some cases of overloading. |
| |
| 2007-09-26 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Call): If the call is dispatching, generate the |
| proper kind of reference to the primitive operation, for better source |
| navigation. |
| (Valid_Conversion): A tagged conversion is legal if both operands are |
| tagged. |
| |
| 2007-09-26 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Check_References): Catch more cases of unreferenced |
| packages. |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * snames.adb, snames.ads: Change Include_Option to Include_Switches |
| |
| 2007-09-26 Robert Dewar <dewar@adacore.com> |
| |
| * s-wchstw.adb: provide messages for run time unit exceptions |
| |
| * a-witeio.adb: Minor reformatting |
| |
| * exp_ch13.adb: Minor reformatting |
| |
| 2007-09-26 Sergey Rybin <rybin@adacore.com> |
| |
| * vms_data.ads: Revise gnatmetric qualifiers. |
| Add qualified for the new gnatbind option '-y' |
| |
| * gnat_ugn.texi: Revise the gnatmetric section. |
| Add entry for new gnatbind option '-y'. |
| |
| * gnat_rm.texi: Minor spelling correction. |
| Document restriction on overlaying controlled types |
| |
| 2007-09-26 Vincent Celier <celier@adacore.com> |
| |
| * makegpr.adb (Link_Executables): Do not fail when the root project has |
| no sources, but is an extending project. |
| |
| 2007-09-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c: Fix misplaced #define. |
| |
| 2007-09-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate |
| the TYPE_REF_CAN_ALIAS_ALL flag to the result. |
| |
| 2007-09-21 Olivier Hainque <hainque@adacore.com> |
| |
| * utils.c (type_for_nonaliased_component_p): Return false for |
| all AGGREGATE_TYPEs. |
| |
| 2007-09-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an |
| object covered by 13.3(19) volatile. |
| |
| 2007-09-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/26797 |
| PR ada/32407 |
| * utils.c (unchecked_convert): Use a subtype as the intermediate type |
| in the special VIEW_CONVERT_EXPR case. |
| |
| 2007-09-12 Robert Dewar <dewar@adacore.com> |
| |
| * types.ads, a-charac.ads, freeze.adb: Minor reformatting. |
| |
| * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads, |
| lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb, |
| s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb, |
| s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb, |
| s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb, |
| s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb, |
| s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb, |
| s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb, |
| a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads, |
| g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads, |
| s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb, |
| s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb, |
| snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads, |
| s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads, |
| s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads, |
| s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads, |
| s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement |
| pragma Compiler_Unit and adds it to relevant library units. |
| |
| 2007-09-12 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): An others association with |
| a box need not correspond to any component. |
| |
| 2007-09-12 Robert Dewar <dewar@adacore.com> |
| |
| * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading |
| the tasking version of the Ada run time when foreign threads are |
| present and there are no explicit Ada tasks or tasking constructs. |
| |
| * gnat_rm.texi: Clarify documentation of GNAT.Threads. |
| |
| 2007-09-12 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * bindusg.adb (Display): Correct comment for switch -X. Add a line for |
| the usage of switch -y. |
| |
| * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support |
| when switch -y is present. |
| |
| * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable |
| leap seconds in Ada.Calendar and its children. |
| |
| 2007-09-12 Jose Ruiz <ruiz@adacore.com> |
| |
| * a-extiti.ads (Timer): The discriminant is a "not null access |
| constant" in the Reference Manual. |
| (Cancel_Handler): Cancelled is an out parameter in the Reference Manual. |
| |
| 2007-09-12 Robert Dewar <dewar@adacore.com> |
| |
| * a-swuwha.adb: Remove junk RM header |
| |
| 2007-09-12 Vincent Celier <celier@adacore.com> |
| |
| * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode |
| indicator |
| |
| * g-bytswa.ads: Minor reformatting |
| |
| 2007-09-12 Thomas Quinot <quinot@adacore.com> |
| |
| * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads: |
| Add new constant Thread_Blocking_IO, always True by default, set False |
| on a per-runtime basis. |
| (Need_Netdb_Buffer): New constant. |
| |
| 2007-09-12 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id): |
| Added renames for corresponding functions in System.Partition_Interface. |
| |
| 2007-09-12 Doug Rupp <rupp@adacore.com> |
| |
| * Makefile.in: Remove VMS specific System.CRTL packages which are no |
| longer needed. |
| |
| * s-crtl-vms64.ads: Removed. |
| |
| 2007-09-12 Olivier Hainque <hainque@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype |
| with discriminant constraints, generalize the code for BIT_FIELDs |
| to PACKED fields of constant size and propagate DECL_PACKED. |
| |
| 2007-09-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (array_type_has_nonaliased_component): New predicate. |
| (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to |
| set the TYPE_NONALIASED_COMPONENT flag on the type. |
| <E_Array_Subtype>: Likewise. |
| * gigi.h (type_for_nonaliased_component_p): Declare. |
| * utils.c (type_for_nonaliased_component_p): New predicate. |
| (create_field_decl): Invoke the above predicate to set the |
| DECL_NONADDRESSABLE_P flag on the field. |
| |
| 2007-09-11 Javier Miranda <miranda@adacore.com> |
| |
| * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present |
| in library level record type entities if we are generating statically |
| allocated dispatch tables. |
| |
| * exp_disp.adb (Make_Tags/Make_DT): Replace previous code |
| importing/exporting the _tag declaration by new code |
| importing/exporting the dispatch table wrapper. This change allows us |
| to statically allocate of the TSD. |
| (Make_DT.Export_DT): New procedure. |
| (Build_Static_DT): New function. |
| (Has_DT): New function. |
| |
| * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags |
| True_Constant and Current_Value. Required to statically |
| allocate the dispatch tables. |
| (Check_Allocator): Make function iterative instead of recursive. |
| Also return inner allocator node, when present, so that we do not have |
| to look for that node again in the caller. |
| |
| 2007-09-11 Jan Hubicka <jh@suse.cz> |
| |
| * misc.c (gnat_expand_body): Kill. |
| (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. |
| |
| 2007-09-10 Robert Dewar <dewar@adacore.com> |
| |
| * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb, |
| mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, |
| mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, |
| mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads, |
| ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads, |
| bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads, |
| bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb, |
| butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb, |
| comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads, |
| elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads, |
| err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb, |
| exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads, |
| exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb, |
| exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb, |
| exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads, |
| exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb, |
| exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads, |
| exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads, |
| exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb, |
| exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb, |
| exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads, |
| exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb, |
| fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads, |
| get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb, |
| gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb, |
| gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads, |
| gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads, |
| gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads, |
| gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, |
| gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads, |
| inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads, |
| lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb, |
| lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads, |
| make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads, |
| mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, |
| mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads, |
| mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, |
| mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt, |
| osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb, |
| osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, |
| par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb, |
| par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, |
| par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb, |
| par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb, |
| par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads, |
| prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads, |
| prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb, |
| prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, |
| prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, |
| prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, |
| prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, |
| prj-util.adb, prj-util.ads, restrict.adb, restrict.ads, |
| rtsfind.adb, rtsfind.ads, scn.adb, scn.ads, |
| scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb, |
| sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb, |
| sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb, |
| sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads, |
| sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, |
| sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, |
| sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads, |
| sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb, |
| sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads, |
| sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb, |
| sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads, |
| sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, |
| sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb, |
| sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads, |
| sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads, |
| stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb, |
| styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads, |
| switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb, |
| switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb, |
| tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads, |
| treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads, |
| types.h, uintp.h, urealp.h, usage.adb, usage.ads, |
| validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb, |
| xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb, |
| xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb, |
| gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb, |
| mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb, |
| symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb, |
| mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb, |
| mlib-tgt-vms.ads: Replace headers with GPL v3 headers. |
| |
| 2007-09-10 Emmanuel Briot <briot@adacore.com> |
| |
| * s-regpat.adb (Parse_Character_Class): Fix handling of empty character |
| classes ("[]"). |
| |
| 2007-09-10 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * adaint.c (__gnat_translate_vms): new function. |
| |
| 2007-09-10 Gary Dismukes <dismukes@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only |
| create an abstract subprogram in the case of 'Input. For 'Output we now |
| create a real spec/body when the type is abstract, since it can |
| potentially be called. |
| (Predefined_Primitive_Bodies): Now allow the creation of a predefined |
| body for 'Output when the type is abstract (only the creation of the |
| body for 'Input is excluded when the type is abstract). |
| (Stream_Operation_OK): Add an additional condition in the return |
| statement, so that False will be returned for TTS_Stream_Input if the |
| associated tagged type is an abstract extension. Add comments for |
| return statement. |
| (Expand_N_Object_Declaration): For the case of a shared passive |
| variable, insert init proc call only after the shared variable |
| procedures have been processed, because the IP call needs to undergo |
| shared passive variable reference expansion, which requires these |
| procedures to be available (and elaborated). |
| |
| 2007-09-10 Vincent Celier <celier@adacore.com> |
| |
| * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove |
| parameter Runtime_Project. |
| |
| 2007-09-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is |
| given a box association, the type of the component is discriminated, |
| and the value of the discriminant is the discriminant of the enclosing |
| type, retrieve its value from the aggregate itself, where it must have |
| been supplied. |
| |
| * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix, |
| to remove other spurious ambiguities on arithmetic operations involving |
| literals and addresses, on systems where Address is a visible integer |
| type, when the operator is called in functional notation. |
| (Try_Primitive_Operation): Within an instance, a call in prefixed form |
| is legal when the types match, even if the operation is currently |
| hidden. |
| |
| 2007-09-10 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Build_Local_Package): A formal package with no |
| associations is legal if all formals have defaults. It is not |
| equivalent to a formal declared with a box. |
| |
| 2007-09-10 Sergey Rybin <rybin@adacore.com> |
| |
| * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option |
| |
| 2007-09-10 Sergey Rybin <rybin@adacore.com> |
| |
| * gnat_ugn.texi: Add description of the new '-lratio' option |
| Update 7.3.1 section about availability of the feature. |
| |
| 2007-09-10 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last |
| inserted node. |
| |
| 2007-09-10 Olivier Hainque <hainque@adacore.com> |
| |
| * Makefile.in: (mips-irix section): Activate build of libgmem. |
| |
| 2007-09-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber |
| x87 registers. |
| |
| 2007-09-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for |
| a debug renaming declaration specially. |
| |
| 2007-09-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under |
| which a constant renaming is treated as a normal object declaration. |
| * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from |
| the N_Indexed_Component case. |
| <N_Indexed_Component>: Fall through to above case. |
| <N_Object_Renaming_Declaration>: Return true for all composite types. |
| |
| 2007-09-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (make_packable_type): If the new type has been given BLKmode, |
| try again to get an integral mode for it. |
| |
| 2007-09-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Re-apply accidentally reverted change: |
| |
| 2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * raise-gcc.c (get_region_description_for, get_call_site_action_for, |
| get_action_description_for): Replace _Unwind_Word with _uleb128_t |
| and _Unwind_SWord with _sleb128_t. |
| |
| 2007-09-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (convert_with_check): Update call to real_2expN. |
| |
| 2007-09-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * trans.c (Compilation_unit_to_gnu): Use set_cfun. |
| * utils.c (end_subprog_body): Likewise. |
| |
| 2007-09-03 Nick Clifton <nickc@redhat.com> |
| |
| * Make-lang.in: Change copyright header to refer to version 3 of |
| the GNU General Public License and to point readers at the |
| COPYING3 file and the FSF's license web page. |
| * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c, |
| Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h, |
| namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h, |
| treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c: |
| Likewise. |
| |
| 2007-08-31 Vincent Celier <celier@adacore.com> |
| |
| PR ada/4720 |
| |
| * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb, |
| gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb |
| (Check_Version_And_Help): New procedure in package Switch to process |
| switches --version and --help. |
| Use Check_Version_And_Help in GNAT tools |
| |
| * make.adb: Ditto. |
| (Compile_Sources): Make sure that sources that are "excluded" are not |
| compiled. |
| (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a |
| project file is used. |
| (Version_Switch): Remove, moved to Switch |
| (Help_Switch): Remove, moved to Switch |
| (Display_Version): Remove, moved to Switch |
| |
| * switch.ads, switch.adb (Check_Version_And_Help): New procedure in |
| package Switch to process switches --version and --help. |
| (Display_Version): New procedure |
| |
| * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function. |
| |
| 2007-08-31 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.adb (Internal_Tag): Protect the run-time against wrong |
| internal tags. |
| |
| 2007-08-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine. |
| (Mark_Non_Null): If the node for which we just generated an access check |
| is a reference to an *in* parameter and the reference appears in the |
| declarative part of a subprogram body, mark the node as known non null. |
| |
| 2007-08-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the |
| structure of E_Exception to reflect the new flag. |
| (Is_Raised, Set_Is_Raised): New inlined routines. |
| Update the usage of available flag to reflect the addition of Is_Raised. |
| (Is_Raised, Set_Is_Raised): Bodies of new routines. |
| (Write_Entity_Flags): Write the status of flag Is_Raised. |
| (Is_Descendent_Of_Address): New entity flag, to simplify handling of |
| spurious ambiguities when integer literals appear in the context of an |
| address type that is a visible integer type. |
| |
| * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local |
| exceptions never being raised. |
| (Analyze_Raise_Statement): When analyzing an exception, mark it as being |
| explicitly raised. |
| |
| 2007-08-31 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise |
| statement when compiling under restriction No_Exceptions_Proparation. |
| |
| 2007-08-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Build_Record_Init_Proc): If there is a static |
| initialization aggregate for the type, generate itype references for |
| thetypes of its (sub)components, to prevent out-of-scope errors in gigi. |
| |
| 2007-08-31 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a |
| library-level package renaming, pass the declaration associated with |
| the renaming's special debug variable to Qualify_Entity_Names to ensure |
| that its encoded name is properly qualified. |
| |
| * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity |
| occurring in the list of entities to qualify, and do not attempt to |
| traverse an entity list in that case. Variables associated with |
| ` library-level package renamings can now occur in the table. |
| |
| * exp_dbug.ads: Revise documentation of the encoding for renaming |
| declarations. |
| |
| 2007-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * layout.adb (Layout_Type): Use Underlying_Type to determine whether an |
| access type points to an unconstrained array. |
| |
| 2007-08-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * restrict.adb, namet.adb, par-util.adb: Remove redundant type |
| conversion. |
| |
| * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect |
| simple redundant qualifications. The check is performed whenever the |
| expression is a non-overloaded identifier. |
| (Resolve_Type_Conversion): Enchance the redundant type conversion check |
| to include loop parameters. |
| (Valid_Conversion): Avoid generation of spurious error message. |
| |
| 2007-08-31 Bob Duff <duff@adacore.com> |
| |
| * par-ch4.adb (P_Simple_Expression): Fold long sequences of |
| concatenations of string literals into a single literal, in order to |
| avoid very deep recursion in the front end, which was causing stack |
| overflow. |
| |
| * sem_eval.adb (Eval_Concatenation): If the left operand is the empty |
| string, and the right operand is a string literal (the case of "" & |
| "..."), optimize by avoiding copying the right operand -- just use the |
| value of the right operand directly. |
| |
| * stringt.adb (Store_String_Chars): Optimize by growing the |
| String_Chars table all at once, rather than appending characters one by |
| one. |
| (Write_String_Table_Entry): If the string to be printed is very long, |
| just print the first few characters, followed by the length. Otherwise, |
| doing "pn(n)" in the debugger can take an extremely long time. |
| |
| * sem_prag.adb (Process_Interface_Name): Replace loop doing |
| Store_String_Char with Store_String_Chars. |
| |
| 2007-08-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-attr.adb: Add new attribute Excluded_Source_Files |
| |
| * prj-nmsc.adb: Use attribute Excluded_Source_Files before |
| Locally_Removed_Files. |
| |
| * snames.ads, snames.adb: New standard name Excluded_Source_Files |
| |
| 2007-08-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context |
| clauses of subunits, ignore limited_with_clauses that are illegal and |
| have not been fully analyzed. |
| |
| 2007-08-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity |
| flag, for effiency. It is called when analyzing arithmetic operators |
| and also for actuals in calls that are universal_integers. The flag is |
| set for the predefined type address, and for any type or subtype |
| derived from it. |
| |
| * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a |
| Universal_Integer, when the formal is a descendent of address and the |
| call appears in user code. |
| (Analyze_Selected_Component): if the prefix is a private extension, the |
| tag component is visible. |
| |
| * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an |
| entity flag. |
| |
| 2007-08-31 Robert Dewar <dewar@adacore.com> |
| |
| * s-fileio.adb (Open): Normalize file name to lower case in non-case |
| sensitive file name systems to avoid unexpected mismatch in Vista. |
| |
| 2007-08-31 Vincent Celier <celier@adacore.com> |
| |
| * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR |
| |
| 2007-08-31 Vincent Celier <celier@adacore.com> |
| |
| * symbols-vms.adb (Initialize): Read symbol files with continuation |
| lines |
| (Finalize): If symbol is long, split the line |
| |
| 2007-08-31 Vincent Celier <celier@adacore.com> |
| |
| * fmap.ads: Minor comment updates |
| |
| 2007-08-31 GNAT Script <nobody@adacore.com> |
| |
| * Make-lang.in: Makefile automatically updated |
| |
| 2007-08-31 Bob Duff <duff@adacore.com> |
| |
| * sinfo.ads: Minor comment fix. |
| |
| 2007-08-31 Thomas Quinot <quinot@adacore.com> |
| |
| * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent |
| with implementation. |
| Documentation cleanup only. |
| |
| 2007-08-31 Sergey Rybin <rybin@adacore.com> |
| |
| * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new |
| gnatpp '--separate-stmt-name' option. |
| Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line' |
| option. |
| |
| * gnat_ugn.texi: Add description for the new gnatpp |
| '--separate-stmt-name' and '--use-on-new-line' options. |
| |
| 2007-08-31 Ben Elliston <bje@au.ibm.com> |
| |
| * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads |
| when compiling for powerpc64-*-linux. |
| * system-linux-ppc64.ads: New file. |
| |
| 2007-08-22 Krister Walfridsson <cato@df.lth.se> |
| |
| * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for |
| NetBSD. |
| |
| 2007-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * misc.c (gnat_type_max_size): Constify. |
| |
| 2007-08-16 Gary Dismukes <dismukes@adacore.com> |
| |
| * cstand.adb (Create_Standard): Create an entity for a zero-sized type |
| associated with Standard_Debug_Renaming_Type, to be used as the type of |
| the special variables whose names provide debugger encodings for |
| renaming declarations. |
| |
| * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25. |
| (Set_Debug_Renaming_Link): Change to set Node25. |
| (Write_Field13_Name): Remove case for E_Enumeration_Literal. |
| (Write_Field25_Name): Add case for E_Variable to output |
| "Debug_Renaming_Link". |
| (Write_Field23_Name): Correct the output string for "Limited_View". |
| |
| * exp_dbug.adb: Add with and use of Tbuild. |
| (Debug_Renaming_Declaration): Replace creation of an enumeration type |
| and literal with creation of a variable of type |
| Standard_Debug_Renaming_Type whose name encodes both the renamed object |
| and the entity of the renaming declaration. |
| (Qualify_Entity_Name): Add the delayed qualification of the entity name |
| part of the name of a variable that has a Debug_Renaming_Link. |
| |
| * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a |
| special type to be associated with variables that provide debugger |
| encodings for renaming declarations. |
| |
| 2007-08-16 Gary Dismukes <dismukes@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an |
| ancestor part given by an aggregate to test for an unchecked conversion, |
| since this can occur in some cases when the ancestor part is a function |
| call, and we don't want to fall into the recursive call to this |
| procedure in that case. |
| |
| * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of |
| stream attributes on limited types to account for user-specified |
| attributes as well as whether Input (resp. Output) becomes available |
| due to Read (resp. Write) being available for the type. Change Boolean |
| variable to the more accurate name |
| Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted |
| double-"not" predicate at beginning of return statement to more |
| understandable form. |
| |
| * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended |
| return has an associated N_Handled_Sequence_Of_Statements, then wrap it |
| in a block statement and use that as the first statement of the |
| expanded return rather than incorrectly using the handled sequence as |
| the first statement. |
| |
| * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected |
| operation, generate an explicit freeze node for it rather than |
| generating extra formals, to ensure that gigi has the proper order of |
| elaboration for anonymous subtypes in the signature of the subprograms. |
| (Build_In_Place_Formal): Move assertion to beginning of loop. |
| (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion |
| applied to a function call (occurs for some cases of 'Input). |
| (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion |
| applied to a function call (occurs for some cases of 'Input). |
| |
| * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada |
| 2005, generate an extended return statement enclosing the result object |
| and 'Read call. |
| |
| * freeze.adb (Freeze_Record_Type): Extend the current management of |
| components that are access type with an allocator as default value: add |
| missing support to the use of qualified expressions of the |
| allocator (which also cause freezing of the designated type!) |
| (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined |
| dispatching operation, since extra formals may be needed by calls to |
| build-in-place functions (such as stream 'Input). |
| |
| * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra |
| formals for 'Constrained and accessibility level in the case of a |
| predefined dispatching operation. |
| |
| * exp_util.adb (Insert_Actions): A protected body is a valid insertion |
| point, no need to find the parent node. |
| |
| 2007-08-16 Javier Miranda <miranda@adacore.com> |
| |
| * exp_attr.adb (Attribute_Priority): Add missing support for entries |
| and entry barriers. |
| |
| 2007-08-16 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it |
| is not really required and can introduce regression with the debugger. |
| The original problem is fixed with the patch written for checks.adb. |
| |
| 2007-08-16 Thomas Quinot <quinot@adacore.com> |
| |
| * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress |
| Range_Check on Allocated_Table. |
| |
| 2007-08-16 Vincent Celier <celier@adacore.com> |
| |
| * make.adb (Collect_Arguments): Call Test_If_Relative_Path with |
| Including_Non_Switch set to False. |
| (Gnatmake): For the compiler, call Test_If_Relative_Path with |
| Including_Non_Switch set to False. |
| |
| * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean |
| parameter Including_Non_Switch, defaulted to True. When |
| Including_Non_Switch is False, options that are not switches and |
| appear as relative path are not converted to absolute paths. |
| |
| 2007-08-16 Nicolas Roche <roche@adacore.com> |
| |
| * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub |
| makefiles |
| |
| * Make-lang.in: Update dependencies |
| |
| 2007-08-16 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch10.adb (Has_With_Clause): If the name of the with clause |
| currently inspected is a selected component, retrieve the entity of |
| its selector. |
| (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting |
| from the immediate ancestor of Main_Unit_Entity. |
| (Install_Limited_Withed_Unit): Do not install the limited view of |
| package P if P is reachable through an ancestor chain from package C |
| and C also has a with clause for P in its body. |
| (Has_Limited_With_Clause): New routine. |
| (Has_With_Clause): New routine. |
| |
| 2007-08-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the |
| generic for an enclosing instance is a global reference, even though |
| its scope is the enclosing instance. |
| |
| 2007-08-16 Gary Dismukes <dismukes@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to |
| initialize a limited object. |
| (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4 |
| 13/2 and 14/2. |
| Make sure Has_Complex_Representation is inherited by derived type. |
| |
| 2007-08-16 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in |
| exception case |
| |
| 2007-08-16 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_disp.adb (Check_Dispatching_Operation): If the operation |
| implements an operation inherited from a progenitor interface, verify |
| that they are subtype-conformant. |
| |
| 2007-08-16 Hristian Kirtchev <kirtchev@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Nicolas Setton <setton@adacore.com> |
| |
| * sem_res.adb (Comes_From_Predefined_Lib_Unit): New. |
| (Resolve): Alphabetize local variables. Add new variable From_Lib. When |
| the statement which is being resolved comes from a predefined library |
| unit, all non-predefined library interpretations are skipped. |
| (Resolve_Op_Concat): If string concatenation was folded in the parser, |
| but the "&" is user defined, give an error, because the folding would |
| be wrong. |
| |
| * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that |
| the parser has folded a long sequence of concatenations of string |
| literals. |
| |
| * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE" |
| and "JMP_BUF" variables as artificial. |
| (N_String_Literal): Do not use alloca for very long string literals. Use |
| xmalloc/free instead. Otherwise the stack might overflow. |
| |
| * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the |
| compiler. |
| |
| 2007-08-16 Vincent Celier <celier@adacore.com> |
| |
| * vms_conv.adb (Process_Argument): Ensure that project related options |
| are not put in the -cargs section when using GNAT COMPILE. |
| |
| 2007-08-16 Robert Dewar <dewar@adacore.com> |
| |
| * gnat_ugn.texi: Add note on preprocessing (output file not written) |
| |
| 2007-08-16 Thomas Quinot <quinot@adacore.com> |
| |
| * a-tags.adb: Minor reformatting. |
| |
| 2007-08-16 Bob Duff <duff@adacore.com> |
| |
| * sem_type.ads, sem_ch4.adb: Minor reformatting. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| |
| * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads, |
| s-osinte-interix.ads, system-interix.ads: Removed. |
| |
| 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove |
| calls to Check_Within_Time_Bounds. |
| ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds. |
| (Difference): Account for possible rounding of the resulting difference |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| |
| * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb, |
| par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb, |
| s-osinte-solaris.adb, s-osinte-solaris.ads, |
| s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting. |
| |
| * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style |
| switch -gnatyS. Enable -gnatyS in GNAT style check mode |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads: |
| Suppress unmodified in-out parameter warning in some cases |
| This patch is a also fairly significant change to the way suppressible |
| checks are handled. |
| |
| * checks.ads, checks.adb (Install_Null_Excluding_Check): No check |
| needed for access to concurrent record types generated by the expander. |
| (Generate_Range_Check): When generating a temporary to capture the |
| value of a conversion that requires a range check, set the type of the |
| temporary before rewriting the node, so that the type is always |
| properly placed for back-end use. |
| (Apply_Float_Conversion_Check): Handle case where the conversion is |
| truncating. |
| (Get_Discriminal): Code reformatting. Climb the scope stack looking |
| for a protected type in order to examine its discriminants. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb, |
| a-stwisu.adb, a-strsup.adb: Fix warnings for range |
| tests optimized out. |
| |
| * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out. |
| (Get_Allocator_Final_List): For the case of an anonymous access type |
| that has a specified Associated_Final_Chain, do not go up to the |
| enclosing scope. |
| (Expand_N_Type_Conversion): Test for the case of renamings of access |
| parameters when deciding whether to apply a run-time accessibility |
| check. |
| (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded |
| aggregate code before allocator, and ahead of declaration for |
| temporary, to prevent access before elaboration when the allocator is |
| an actual for an access parameter. |
| (Expand_N_Type_Conversion): On an access type conversion involving an |
| access parameter, do not apply an accessibility check when the |
| operand's original node was an attribute other than 'Access. We now |
| create access conversions for the expansion of 'Unchecked_Access and |
| 'Unrestricted_Access in certain cases and clearly accessibility should |
| not be checked for those. |
| |
| * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that |
| includes a type conversion of a packed component that has been expanded, |
| recover the original expression for the object, and use this expression |
| in the post-call assignment statement, so that the assignment is made |
| to the object and not to a back-end temporary. |
| (Freeze_Subprogram): In case of primitives of tagged types not defined |
| at the library level force generation of code to register the primitive |
| in the dispatch table. In addition some code reorganization has been |
| done to leave the implementation clear. |
| (Expand_Call): When expanding an inherited implicit conversion, |
| preserve the type of the inherited function after the intrinsic |
| operation has been expanded. |
| |
| * exp_ch2.ads, exp_ch2.adb |
| (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference |
| of an entry formal appearing in an assignment statement does not assign |
| to the formal. |
| (Expand_Current_Value): Instead of calling a routine to determine |
| whether the prefix of an attribute reference should be optimized or |
| not, prevent the optimization of such prefixes all together. |
| |
| * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected |
| component whose prefix is known to be of an access type is an implicit |
| dereference and does not assign to the prefix. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and |
| itype is visited, make an entry into table to link associated node and |
| new itype. |
| Add comments and correct harmless error in Build_NCT_Hash_Tables |
| (Array_Aggr_Subtype): Associate each itype created for an index type to |
| the corresponding range construct, and not to the aggregate itself. to |
| maintain a one-to-one correspondence between itype and its associated |
| node, to prevent errors when complex expression is copied. |
| Fix mishandling of multiple levels of parens |
| |
| * sem_aggr.adb: Create a limited view of an incomplete type, to make |
| treatment of limited views uniform for all visible declarations in a |
| limited_withed package. |
| (New_Copy_Tree): If hash table is being used and itype is visited, |
| make an entry into table to link associated node and new itype. |
| (Resolve_Record_Aggregate): Do not add an others box association for a |
| discriminated record component that has only discriminants, when there |
| is a box association for the component itself. |
| |
| * par-ch4.adb: Fix mishandling of multiple levels of parens |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| |
| * comperr.adb: Fix problem with suppressing warning messages from gigi |
| |
| * erroutc.ads, erroutc.adb, errout.ads, |
| errout.adb (Write_Eol): Remove trailing spaces before writing the line |
| (Write_Eol_Keep_Blanks): New procedure to write a line, including |
| possible trailing spaces. |
| (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line |
| Fix problem with suppressing warning messages from back end |
| Improve handling of deleted warnings |
| |
| * gnat1drv.adb: |
| Fix problem with suppressing warning messages from back end |
| Handle setting of Static_Dispatch_Tables flag. |
| |
| * prepcomp.adb: |
| Fix problem with suppressing warning messages from back end |
| |
| * exp_intr.adb: Improve handling of deleted warnings |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Improve -gnatdI to cover all cases of serialization |
| Add documentation of dZ, d.t |
| |
| * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of |
| serialization. |
| (Sprint_Node_Actual): Generate new output associated with implicit |
| importation and implicit exportation of object declarations. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * einfo.ads, einfo.adb: Create a limited view of an incomplete type, |
| to make treatment of limited views uniform for all visible declarations |
| in a limited_withed package. |
| Improve warnings for in out parameters |
| (Set_Related_Interaface/Related_Interface): Allow the use of this |
| attribute with constants. |
| (Write_Field26_Name): Handle attribute Related_Interface in constants. |
| Warn on duplicate pragma Preelaborable_Initialialization |
| |
| * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the |
| generation of a freezing node to ensure proper management of null |
| excluding access types in the backend. |
| (Create_Extra_Formals): Test base type of the formal when checking for |
| the need to add an extra accessibility-level formal. Pass the entity E |
| on all calls to Add_Extra_Formal (rather than Scope (Formal) as was |
| originally being done in a couple of cases), to ensure that the |
| Extra_Formals list gets set on the entity E when the first entity is |
| added. |
| (Conforming_Types): Add missing calls to Base_Type to the code that |
| handles anonymous access types. This is required to handle the |
| general case because Process_Formals builds internal subtype entities |
| to handle null-excluding access types. |
| (Make_Controlling_Function_Wrappers): Create wrappers for constructor |
| functions that need it, even when not marked Requires_Overriding. |
| Improve warnings for in out parameters |
| (Analyze_Function_Return): Warn for disallowed null return |
| Warn on return from procedure with unset out parameter |
| Ensure consistent use of # in error messages |
| (Check_Overriding_Indicator): Add in parameter Is_Primitive. |
| (Analyze_Function_Return): Move call to Apply_Constraint_Check before |
| the implicit conversion of the expression done for anonymous access |
| types. This is required to generate the code of the null excluding |
| check (if required). |
| |
| * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable): |
| A formal parameter is never publicly referenceable outside of its body. |
| (Check_References): For an unreferenced formal parameter in an accept |
| statement, use the same warning circuitry as for subprogram formal |
| parameters. |
| (Warn_On_Unreferenced_Entity): New subprogram, taken from |
| Output_Unreferenced_Messages, containing the part of that routine that |
| is now reused for entry formals as described above. |
| (Goto_Spec_Entity): New function |
| (Check_References): Do not give IN OUT warning for dispatching operation |
| Improve warnings for in out parameters |
| (Test_Ref): Check that the entity is not undefinite before calling |
| Scope_Within, in order to avoid infinite loops. |
| Warn on return from procedure with unset out parameter |
| Improved warnings for unused variables |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit |
| (Expand_N_Attribute_Reference): Further unify the handling of the |
| three forms of access attributes, using common code now for all three |
| cases. Add a test for the case of applying an access attribute to |
| an explicit dereference when the context is an access-to-interface |
| type. In that case we need to apply the conversion to the prefix |
| of the explicit dereference rather than the prefix of the attribute. |
| (Attribute_Version, UET_Address): Set entity as internal to ensure |
| proper dg output of implicit importation. |
| (Expand_Access_To_Type): Removed. |
| (Expand_N_Attribute_Reference): Merge the code from the three cases |
| of access attributes, since the processing is largely identical for |
| these cases. The substantive fix here is to process the case of a |
| type name prefix (current instance case) before handling the case |
| of interface prefixes. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram. |
| (Freeze_Array_Type, Freeze_Record_Type): For the case of a component |
| type that is an anonymous access to controlled object, establish |
| an associated finalization chain to avoid corrupting the global |
| finalization list when a dynamically allocated object designated |
| by such a component is deallocated. |
| (Make_Controlling_Function_Wrappers): Create wrappers for constructor |
| functions that need it, even when not marked Requires_Overriding. |
| (Initialize_Tag): Replace call to has_discriminants by call to |
| Is_Variable_Size_Record in the circuitry that handles the |
| initialization of secondary tags. |
| (Is_Variable_Size_Record): New implementation. |
| (Expand_N_Object_Declaration): Suppress call to init proc if there is a |
| Suppress_Initialization pragma for a derived type. |
| (Is_Variable_Size_Record): New subprogram. |
| (Build_Offset_To_Top_Functions): New implementation that simplifies the |
| initial version of this routine and also fixes problems causing |
| incomplete initialization of the table of interfaces. |
| (Build_Init_Procedure): Improve the generation of code to initialize the |
| the tag components of secondary dispatch tables. |
| (Init_Secondary_Tags): New implementation that simplifies the previous |
| version of this routine. |
| (Make_DT): Add parameter to indicate when type has been frozen by an |
| object declaration, for diagnostic purposes. |
| (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to |
| diagnose attemps to freeze a subprogram when some untagged type of its |
| profile is a private type whose full view has not been analyzed yet. |
| (Freeze_Array_Type): Generate init proc for packed array if either |
| Initialize or Normalize_Scalars is set. |
| (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when |
| constructing the new profile, copy the null_exclusion indicator for each |
| parameter, to ensure full conformance of the new body with the spec. |
| |
| * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers): |
| Create wrappers for constructor functions that need it, even when not |
| marked Requires_Overriding. |
| (Covers): Handle properly designated types of anonymous access types, |
| whose non-limited views are themselves incomplete types. |
| (Add_Entry): Use an entity to store the abstract operation which hides |
| an interpretation. |
| (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op. |
| (Collect_Interps): Use Empty as an actual for Abstract_Op in the |
| initialization aggregate. |
| (Function_Interp_May_Be_Hidden): Rename to |
| Function_Interp_Has_Abstract_Op. |
| (Has_Compatible_Type): Remove machinery that skips interpretations if |
| they are labeled as potentially hidden by an abstract operator. |
| (Has_Hidden_Interp): Rename to Has_Abstract_Op. |
| (Set_May_Be_Hidden): Rename to Set_Abstract_Op. |
| (Write_Overloads): Output the abstract operator if present. |
| (Add_Entry): Before inserting a new entry into the interpretation table |
| for a node, determine whether the entry will be disabled by an abstract |
| operator. |
| (Binary_Op_Interp_May_Be_Hidden): New routine. |
| (Collect_Interps): Add value for flag May_Be_Hidden in initialization |
| aggregate. |
| (Function_Interp_May_Be_Hidden): New routine. |
| (Has_Compatible_Type): Do not consider interpretations hidden by |
| abstract operators when trying to determine whether two types are |
| compatible. |
| (Has_Hidden_Interp): New routine. |
| (Set_May_Be_Hidden_Interp): New routine. |
| (Write_Overloads): Write the status of flag May_Be_Hidden. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged |
| types declared in the declarative part of a nested package body or in |
| the proper body of a stub. |
| (Set_All_DT_Position): Add missing check to avoid wrong assignation |
| of the same dispatch table slot to renamed primitives. |
| (Make_Select_Specific_Data_Table): Handle private types. |
| (Tagged_Kind): Handle private types. |
| (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg |
| output of implicit importation and exportation. |
| (Expand_Interface_Thunk): Fix bug in the expansion assuming that the |
| first formal of the thunk is always associated with the controlling |
| type. In addition perform the following code cleanup: remove formal |
| Thunk_Alias which is no longer required, cleanup evaluation of the |
| the controlling type, and update the documentation. |
| Replace occurrence of Default_Prim_Op_Count by |
| Max_Predef_Prims. Addition of compile-time check to verify |
| that the value of Max_Predef_Prims is correct. |
| (Check_Premature_Freezing): Apply check in Ada95 mode as well. |
| (Make_DT): Add parameter to indicate when type has been frozen by an |
| object declaration, for diagnostic purposes. |
| (Build_Static_Dispatch_Tables): New subprogram that takes care of the |
| construction of statically allocated dispatch tables. |
| (Make_DT): In case of library-level tagged types export the declaration |
| of the primary tag. Remove generation of tags (now done by Make_Tags). |
| Additional modifications to handle non-static generation of dispatch |
| tables. Take care of building tables for asynchronous interface types |
| (Make_Tags): New subprogram that generates the entities associated with |
| the primary and secondary tags of Typ and fills the contents of Access_ |
| Disp_Table. In case of library-level tagged types imports the forward |
| declaration of the primary tag that will be declared later by Make_DT. |
| (Expand_Interface_Conversion): In case of access types to interfaces |
| replace an itype declaration by an explicit type declaration to avoid |
| problems associated with the scope of such itype in transient blocks. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * exp_util.ads, exp_util.adb: |
| This patch replaces a number of occurrences of explicit tests for N_Null |
| with calls to Known_Null. This improves tracking of null values, since |
| Known_Null also catches null constants, and variables currently known to |
| be null, so we get better tracking. |
| (Ensure_Defined): create an itype reference only in the scope of the |
| itype. |
| (Side_Effect_Free): A selected component of an access type that |
| denotes a component with a rep clause must be treated as not |
| side-effect free, because if it is part of a linked structure its |
| value may be affected by a renaming. |
| (Expand_Subtype_From_Expr): For limited objects initialized with build |
| in place function calls, do nothing; otherwise we prematurely introduce |
| an N_Reference node in the expression initializing the object, which |
| breaks the circuitry that detects and adds the additional arguments to |
| the called function. Bug found working in the new patch for statically |
| allocated dispatch tables. |
| (Is_Library_Level_Tagged_Type): New subprogram. |
| (Remove_Side_Effects): If the expression of an elementary type is an |
| operator treat as a function call. |
| (Make_Literal_Range): If the index type of the array is not integer, use |
| attributes properly to compute the constraint on the resulting aggregate |
| which is a string. |
| |
| * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a |
| class-wide type whose base type is an incomplete private type, leave |
| class-wide type unfrozen so that freeze nodes can be generated |
| properly at a later point. |
| (Freeze_Entity, array case): Handle case of pragma Pack and component |
| size attributre clause for same array. |
| |
| 2007-08-14 Vincent Celier <celier@adacore.com> |
| |
| * prj.ads, prj.adb: Update Project Manager to new attribute names for |
| gprbuild. |
| Allow all valid declarations in configuration project files |
| (Reset): Initialize all tables and hash tables in the project tree data |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| (Slash_Id): Change type to be Path_Name_Type |
| (Slash): Return a Path_Name_Type instead of a File_Name_Type |
| |
| * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by |
| gprbuild. |
| Update Project Manager to new attribute names for ghprbuild |
| Allow all valid declarations in configuration project files |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| |
| * prj-com.ads: |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| |
| * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case |
| insensitive flag for attributes with optional index. |
| (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative |
| array attribute, put the index in lower case. |
| Update Project Manager to new attribute names for ghprbuild |
| Allow all valid declarations in configuration project files |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| |
| * prj-env.ads, prj-env.adb: |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| (Get_Reference): Change type of parameter Path to Path_Name_Type |
| |
| * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after |
| removing '-' from the path to start with the first character of the |
| next directory. |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| |
| * prj-nmsc.ads, prj-nmsc.adb: |
| Update Project Manager to new attribute names for ghprbuild |
| Allow all valid declarations in configuration project files |
| (Search_Directories): Detect subunits that are specified with an |
| attribute Body in package Naming. Do not replace a source/unit in the |
| same project when the order of the source dirs are known. Detect |
| duplicate sources/units in the same project when the order of the |
| source dirs are not known. |
| (Check_Ada_Name): Allow all identifiers that are not reserved words |
| in Ada 95. |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| (Look_For_Sources): If the list of sources is empty, set the object |
| directory of non extending project to nil. |
| Change type of path name variables to be Path_Name_Type |
| (Locate_Directory): Make sure that on Windows '/' is converted to '\', |
| otherwise creating missing directories will fail. |
| |
| * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb, |
| prj-part.ads, prj-part.adb: |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| |
| * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case |
| insensitive flag for attributes with optional index. |
| (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative |
| array attribute, put the index in lower case. |
| (Parse_Variable_Reference): Allow the current project name to be used in |
| the prefix of an attribute reference. |
| |
| * prj-util.ads, prj-util.adb |
| (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index, |
| defaulted to False. When True, always check against indexes in lower |
| case. |
| |
| * snames.ads, snames.h, snames.adb: |
| Update Project Manager to new attribute names for gprbuild |
| Allow all valid declarations in configuration project files |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * opt.ads: Warning for non-local exception propagation now off by |
| default |
| New switch -gnatI to disable representation clauses |
| Implement new pragma Implicit_Packing |
| |
| * usage.adb: |
| Warning for non-local exception propagation now off by default |
| Add warning for unchecked conversion of pointers wi different |
| conventions. |
| New switch -gnatI to disable representation clauses |
| |
| * usage.adb: new switch -gnatyS |
| |
| * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a |
| note that aggregates of anonymous array types are not flagged. |
| -gnatwc now includes membership tests optimized away |
| -gnatw.x warnings are now off by default |
| Added conditional compilation Appendix |
| Add documentation of -gnatI |
| Add documentation for new -gnatyS style check |
| Update documentation about SAL and auto-init on Windows. |
| |
| * gnat_rm.texi: |
| Add documentation for pragma Check_Name and 'Enabled attribute |
| Document that Eliminate on dispatching operation is ignored |
| Document IDE attributes VCS_Repository_Root and VCS_Patch_Root. |
| Document pragma Main |
| Document pragma Implicit_Packing |
| |
| * sem_ch13.adb: Add warning for unchecked conversion of pointers wi |
| different conventions |
| New switch -gnatI to disable representation clauses |
| |
| * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not |
| recognized, report the invalid characters including "-gnat" instead of |
| just the first character in the switch. |
| New switch -gnatI to disable representation clauses |
| Set Warn_On_Object_Renames_Function true for -gnatg |
| |
| * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES |
| Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS |
| Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent |
| to switch -aP (add directory to project search dir). |
| |
| * par-prag.adb: Implement new pragma Implicit_Packing |
| |
| * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the |
| type as having a non-standard representation, to force expansion on |
| conversion to related types. |
| (Analyze_Pragma): Warn on misspelled pragma |
| (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg |
| Ensure consistent use of # in error messages |
| Implement pragma Implicit_Packing |
| |
| 2007-08-14 Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * targtyps.c (get_target_maximum_default_alignment): New function. |
| Maximum alignment |
| that the compiler might choose by default for a type or object. |
| (get_target_default_allocator_alignment): New function. Alignment known |
| to be honored by the target default allocator. |
| (get_target_maximum_allowed_alignment): New function. Maximum alignment |
| we might accept for any type or object on the target. |
| (get_target_maximum_alignment): Now synonym of maximum_default_alignment |
| |
| * gigi.h (get_target_maximum_default_alignment): Declare new function. |
| (get_target_default_allocator_alignment): Likewise. |
| (get_target_maximum_allowed_alignment): Likewise. |
| |
| PR ada/19037 |
| * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the |
| result of a function call, first try to use a stabilized reference for |
| a constant renaming too. |
| (validate_alignment): Use target_maximum_allowed_alignment instead of |
| MAX_OFILE_ALIGNMENT as the upper bound to what we accept. |
| (gnat_to_gnu_entity): Use common nodes directly. |
| (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate |
| alignment and size for the object. |
| (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call |
| and N_Procedure_Call_Statement. |
| (takes_address): Rename to lvalue_required_p, add third parameter |
| 'aliased' and adjust recursive calls. |
| <N_Indexed_Component>: Update 'aliased' from the array type. |
| <N_Selected_Component>: New case. |
| <N_Object_Renaming_Declaration>: New Likewise. |
| (Identifier_to_gnu): Adjust for above changes. |
| (maybe_stabilize_reference) <CONST_DECL>: New case. |
| |
| * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion |
| between type variants. |
| (build_simple_component_ref): Likewise. |
| (build_call_alloc_dealloc): Use target_default_allocator_alignment |
| instead of BIGGEST_ALIGNMENT as the threshold to trigger the super |
| aligning type circuitry for allocations from the default storage pool. |
| (build_allocator): Likewise. |
| (build_simple_component_ref): Manually fold the reference for a |
| constructor if the record type contains a template. |
| |
| * utils.c (value_zerop): Delete. |
| (gnat_init_decl_processing): Emit debug info for common types. |
| (rest_of_record_type_compilation): If a union contains a field |
| with a non-constant qualifier, treat it as variable-sized. |
| (finish_record_type): Give the stub TYPE_DECL a name. |
| (rest_of_record_type_compilation): Likewise. |
| (convert) <CONSTRUCTOR>: New case. Build a new constructor if |
| types are equivalent array types. |
| (create_field_decl): Claim fields of any ARRAY_TYPE are addressable, |
| even if the type is not passed by reference. |
| (static_ctors, static_dtors): Delete. |
| (end_subprog_body): Do not record constructors and destructors. |
| (build_global_cdtor): Delete. |
| (gnat_write_global_declarations): Do not call build_global_cdtor. |
| |
| * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when |
| -fRTS=rtp is specified. |
| If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is |
| specified. |
| |
| * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name |
| of the personality function with SJLJ exceptions. |
| |
| * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for |
| the name of the personality function with SJLJ exceptions. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * par.ads, par.adb: Improve handling of extra right parens. |
| (Par): Remove flag From_Limited_With_Clause. |
| |
| * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint |
| Improve handling of extra right parens. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| |
| * par-tchk.adb (TF_Semicolon): Improve error recovery |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For |
| enumeration type, mark all literals as referenced. |
| (Eval_Attribute, case 'Image): If the argument is an enumeration |
| literal and names are available, constant-fold but mark nevertheless as |
| non-static. |
| Clean up function names. |
| (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify |
| comment. |
| (Requires_Simple_Name_Prefix): Removed. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch11.adb: Improved warnings for unused variables |
| |
| * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor |
| is a synchronized interface, the derived type is limited. |
| (Analyze_Object_Declaration): Mark the potential coextensions in the |
| definition and expression of an object declaration node. |
| (Build_Derived_Type): For the completion of a private type declaration |
| with a derived type declaration, chain the parent type's representation |
| items to the last representation item of the derived type (not the |
| first one) if they are not present already. |
| (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete |
| object declaration of forward references to tags. |
| (Access_Subprogram_Declaration): In Ada2005, anonymous access to |
| subprogram types can appear as access discriminants of synchronized |
| types. |
| (OK_For_Limited_Init_In_05): The initialization is legal is it is a call |
| given in prefixed form as a selected component. |
| (Process_Discriminants): If not all discriminants have defaults, place |
| error message on a default that is present. |
| (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to |
| extend a synchronized tagged type. |
| Improved warnings for unused variables |
| (Is_Visible_Component): Fix a visibility hole on a component inherited |
| by a private extension when parent is itself declared as a private |
| extension, and the derivation is in a child unit. |
| (Find_Hidden_Interface): Move spec from the package body. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb: Improve warnings on redundant assignments |
| |
| * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk |
| parameter |
| (Is_Synchronized_Tagged_Type): New subprogram that returns true |
| in case of synchronized tagged types (AARM 3.9.4 (6/2)). |
| (Safe_To_Capture_Value): Can now return True for constants, even if Cond |
| is set to False. Improves handling of Known_[Not_]Null. |
| (Wrong_Type): Special case address arithmetic attempt |
| (Collect_Abstract_Interfaces): Add new formal to allow collecting |
| abstract interfaces just using the partial view of private types. |
| (Has_Abstract_Interfaces): Add new formal to allow checking types |
| covering interfaces using the partial view of private types. |
| (Is_Fully_Initialized_Type): Special VM case for uTag component. This |
| component still needs to be defined in this case, but is never |
| initialized as VMs are using other dispatching mechanisms. |
| (Abstract_Interface_List): For a protected type, use base type to get |
| proper declaration. |
| Improve warnings on redundant assignments |
| (Is_Variable): Handle properly an implicit dereference of a prefixed |
| function call. |
| (Build_Actual_Subtype): If this is an actual subtype for an |
| unconstrained formal parameter, use the sloc of the body for the new |
| declaration, to prevent anomalises in the debugger. |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for |
| dispatching operation |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_aggr.ads, |
| exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place |
| expanded aggregate code before allocator, and ahead of declaration for |
| temporary, to prevent access before elaboration when the allocator is |
| an actual for an access parameter. |
| (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing |
| the TSD and the table of interfaces. |
| (Convert_To_Assignments): Augment the test for delaying aggregate |
| expansion for limited return statements to include the case of extended |
| returns, to prevent creation of an unwanted transient scope. |
| (Is_Static_Dispatch_Table_Aggregate): New subprogram. |
| (Expand_Array_Aggregate): Handle aggregates associated with |
| statically allocated dispatch tables. |
| (Expand_Record_Aggregate): Handle aggregates associated with |
| statically allocated dispatch tables. |
| (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators |
| of anonymous access type. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment |
| is a variable that renames a slice, use the variable itself in the |
| expannsion when the renamed expression itself may be modified between |
| the declaration of the renaming and the array assignment. |
| |
| 2007-08-14 Jerome Guitton <guitton@adacore.com> |
| |
| * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, |
| s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, |
| s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks): |
| New functions; dummy implementations. |
| |
| * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New |
| functions, used to implement the multi-tasks mode routines on VxWorks. |
| |
| * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop): |
| New functions, thin |
| binding to the VxWorks routines which have changed between VxWorks 5 |
| and 6. |
| (Int_Lock, Int_Unlock): New function, thin binding to kernel routines |
| which are not callable from a RTP. |
| |
| * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions, |
| implemented for the multi-tasks mode on VxWorks 5 and 6. |
| |
| * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions. |
| |
| * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New |
| functions. |
| |
| 2007-08-14 Vincent Celier <celier@adacore.com> |
| |
| * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb, |
| gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb |
| mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb, |
| mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb, |
| mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, |
| mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb, |
| mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New |
| procedure. |
| (Major_Id_Name): New function. |
| mlib-tgt.ads/mlib.tgt.adb: |
| (Library_Major_Minor_Id_Supported): New function, default returns True |
| Most mlib-tgt-*.adb that support shared libraries and symbolic links: |
| (Build_Dynamic_Library): Add support for major/minor ids for shared libs |
| Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi): |
| Implementation of Library_Major_Minor_Id_Supported returns False |
| clean.adb: |
| (Clean_Library_Directory): If major/minor ids are supported, clean all |
| library files. |
| Major update of the Project Manager and of the project aware tools, |
| including gprmake, so that the same sources in the GNAT repository |
| can be used by gprbuild. |
| |
| 2007-08-14 Olivier Hainque <hainque@adacore.com> |
| |
| * system-solaris-x86.ads (ZCX_By_Default): Switch to True. |
| (GCC_ZCX_Support): Switch to True. |
| |
| * s-intman-solaris.adb (Notify_Exception): Call |
| Adjust_Context_For_Raise before raising, as expected for signal |
| handlers in general. |
| |
| * s-intman-posix.adb (Notify_Exception): Remove declaration of |
| Adjust_Context_For_Raise, moved to the spec of this unit to be visible |
| to other implementation bodies. |
| |
| * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to |
| be visible by multiple implementation bodies. |
| |
| * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context |
| only for conditions coming from hardware. |
| [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement, |
| adjustments to signal context prior to exception raise from signal |
| handler. |
| (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP |
| mode. |
| Solaris section: (__gnat_adjust_context_for_raise): New function. |
| Implementation of the machine context adjustments to perform prior to |
| raise from a signal handler. Version for both sparc and x86. |
| (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define. |
| (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it |
| prior to raising as expected for any handler, before possible nested |
| faults to make sure all the contexts in a chain have been adjusted by |
| the time we propagate. |
| |
| 2007-08-14 Pascal Obry <obry@adacore.com> |
| |
| * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows. |
| (SYSTEM_INFO): New record. |
| (SetThreadIdealProcessor): New imported routine needed for supporting |
| task_info pragma on Windows. |
| |
| * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task |
| info can be applied to the current host. |
| (Create_Task): Set the ideal processor if information is present. |
| |
| * s-tasinf-mingw.adb, s-tasinf-mingw.ads, |
| a-exetim-mingw.adb, a-exetim-mingw.ads: New files. |
| |
| 2007-08-14 Olivier Hainque <hainque@adacore.com> |
| |
| * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the |
| stack size and initial stack pointer value for a given task. |
| (Enter_Task): Get the stack attributes of the task we are entering and |
| let the stack checking engine know about them. |
| |
| * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram. |
| Let the stack-checking engine know about the initial sp value and stack |
| size associated with the current task. |
| (Set_Stack_Info): If a stack base has been notified for the current |
| task, honor it. Fallback to the previous less accurate method otherwise. |
| |
| * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb: Create a limited view of an incomplete type, to make |
| treatment of limited views uniform for all visible declarations in a |
| limited_withed package. |
| Set flag indicating that a subprogram body for a child unit has a |
| generated spec. |
| (Analyze_Compilation_Unit): If unit is a subprogram body that has no |
| separate declaration, remove the unit name from visibility after |
| compilation, so that environment is clean for subsequent compilations. |
| (Install_Limited_Context_Clauses): Do not install a |
| limited_private_with_clause unless the current unit is a body or a |
| private child unit. |
| (Analyze_Subunit, Install_Parents): Treat generic and non-generic units |
| in the same fashion. |
| (Install_Limited_Withed_Unit): Do not install a limited with clause if |
| it applies to the declaration of the current package body. |
| (Remove_Private_With_Clauses): If there is a regular with_clause for |
| the unit, delete Private_With_Clause from context, to prevent improper |
| hiding when processing subsequent nested packages and instantiations. |
| |
| 2007-08-14 Jose Ruiz <ruiz@adacore.com> |
| |
| * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept |
| dir/file, device:/dir/file, and device:drive_letter:/dir/file as |
| representing absolute path names. |
| __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues. |
| |
| * cstreams.c (__gnat_full_name for VxWorks): Use |
| __gnat_is_absolute_path to detect whether we need to add the current |
| directory to normalize the path. |
| |
| 2007-08-14 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.ads, |
| a-tags.adb (Displace): Associate a message with the raised CE |
| exception. |
| (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr, |
| To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr, |
| To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package |
| spec. |
| (Default_Prim_Op_Count): Removed. |
| (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind, |
| Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind): |
| Remove pragma Inline_Always. |
| |
| * rtsfind.ads (Default_Prim_Op_Count): Removed |
| (Max_Predef_Prims): New entity |
| (RE_Expanded_Name): Removed |
| (RE_HT_Link): Removed |
| (RE_Iface_Tag): Remmoved |
| (RE_Ifaces_Table): Removed |
| (RE_Interfaces_Array): Removed |
| (RE_Interface_Data_Element): Removed |
| (RE_Nb_Ifaces): Removed |
| (RE_RC_Offset): Removed |
| (RE_Static_Offset_To_Top): Removed |
| |
| * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new |
| formal. |
| (Build_Inherit_Predefined_Prims): Replace occurrences of Default_ |
| Prim_Op_Count by Max_Predef_Prims. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * binde.adb (Elab_All_Links): Remove unnecessary call to |
| Generic_Separately_Compiled (if a unit satisfies this predicate, there |
| won't be an associated Afile). |
| (Elab_All_Links): Fail if a referenced unit cannot be found |
| |
| * bindgen.adb: |
| Fix comments in bindgen regarding consistency checks done in Bcheck: |
| the checks are made across units within a partition, not across several |
| partitions. |
| Fix generation of C binder file for VxWorks. |
| |
| * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to |
| Generic_May_Lack_ALI, more descriptive of the current use of the |
| predicate, and update documentation. |
| |
| * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code |
| reorganization and documentation update for the case of predefined |
| library generics (for which we do not reference an Afile). |
| |
| 2007-08-14 Robert Dewar <dewar@adacore.com> |
| |
| * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads, |
| s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, |
| s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb, |
| s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb, |
| s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb, |
| s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads, |
| s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads, |
| s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb, |
| exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads, |
| s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb, |
| s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads, |
| a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads, |
| s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads, |
| g-altcon.adb: Minor reformatting |
| |
| ada-tree.h: Delete empty line. |
| |
| ali.ads: Minor reformatting |
| Clarification of comments. |
| Minor spelling correction |
| |
| * exp_dbug.adb: Add Warnings Off to suppress new warning |
| |
| * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode |
| formal |
| |
| * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old |
| value |
| |
| * a-textio.adb (Write): Remove an unnecessary IN OUT mode from |
| |
| * a-textio.ads: Reorder the standard input/output/error declarations |
| for consistency. |
| |
| * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call |
| |
| * par-ch2.adb: Recognize RM specially in errout |
| Change 'R'M to RM in all error messages |
| |
| * scng.adb: Recognize RM specially in errout |
| |
| * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename |
| N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology. |
| |
| * s-direio.adb: Add missing routine header box. |
| |
| * sem_attr.ads: Add ??? comments |
| |
| * sem_eval.adb: Recognize RM specially in errout |
| Change 'R'M to RM in all error messages |
| |
| * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes |
| |
| * s-tasinf.ads: Fix minor comment typo. |
| |
| * a-cihama.adb: Minor comment addition |
| |
| * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode |
| formal |
| |
| * s-tasinf-tru64.ads: Fix minor comment typo. |
| |
| * itypes.ads: Comment update. |
| |
| * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed |
| anymore. |
| |
| * argv.c: Added protection against null gnat_argv and gnat_envp. |
| |
| * bcheck.adb (Check_Consistency): Use correct markup character ({) in |
| warning message when Tolerate_Consistency_Errors is True. |
| |
| * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for |
| Any_Id, as this subprogram is only applicable to *type* entities (it |
| sets RM_Size). Instead initialize just Esize and Alignment. |
| |
| 2007-08-14 Bob Duff <duff@adacore.com> |
| |
| * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, |
| a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, |
| a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, |
| a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads, |
| a-coorse.ads (Next): Applied pragma Inline. |
| Make all Containers packages Remote_Types (unless they are already |
| Pure). |
| (Previous): applied pragma Inline |
| (Elements_Type): is now a record instead of an array |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| |
| * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms |
| of Set_Item. |
| (Set_Item): When the new item is an element of the currently allocated |
| table passed by reference, save a copy on the stack if we're going |
| to reallocate. Also, in Table.Set_Item, make sure we test the proper |
| variable to determine whether to call Set_Last. |
| |
| * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb, |
| symbols-vms.adb, symbols-processing-vms-alpha.adb, |
| symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace |
| some occurrences of the pattern |
| T.Increment_Last; |
| T.Table (T.Last) := Value; |
| with a cleaner call to |
| T.Append (Value); |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a |
| derived type with interface progenitors use the analyzed formal as the |
| parent of the actual, to create renamings for all the inherited |
| operations in Derive_Subprograms. |
| (Collect_Previous_Instances): new procedure within of |
| Load_Parent_Of_Generic, to instantiate all bodies in the compilation |
| unit being loaded, to ensure that the generation of global symbols is |
| consistent in different compilation modes. |
| (Is_Tagged_Ancestor): New function testing the ancestor relation that |
| takes progenitor types into account. |
| (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by |
| traversing over the primitives of the formal and actual types to locate |
| any abstract subprograms of the actual type that correspond to a |
| nonabstract subprogram of the formal type's ancestor type(s), and issue |
| an error if such is found. |
| (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation, |
| Instantiate_Package_Body, Instantiate_Subprogram_Body): |
| Remove bogus guard around calls to Inherit_Context. |
| (Reset_Entity): If the entity is the selector of a selected component |
| that denotes a named number, propagate constant-folding to the generic |
| template only if the named number is global to the generic unit. |
| (Set_Instance_Env): Only reset the compilation switches when compiling |
| a predefined or internal unit. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first |
| parameter to determine whether operation applies to the prefix. |
| (Complete_Object_Operation): If actual has an access type and |
| controlling formal is not an in_parameter, reject the actual if it is |
| an access_to_constant type. |
| (Try_Primitive_Operation): If the type of the prefix is a formal tagged |
| type, the candidate operations are found in the scope of declaration of |
| the type, because the type has no primitive subprograms. |
| (Analyze_Selected_Component): If prefix is class-wide, and root type is |
| a private extension, only examine visible components before trying to |
| analyze as a prefixed call. |
| Change Entity_List to Type_To_Use, for better readability. |
| (Has_Fixed_Op): Use base type when checking whether the type of an |
| operator has a user-defined multiplication/division |
| (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when |
| user-defined operators are available for fixed-point types. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New |
| formal At_Any_Place indicating, when True, that we want to test for |
| availability of the stream attribute at any place (as opposed to the |
| current visibility context only). |
| (Missing_Read_Write_Attributes): A stream attribute is missing for the |
| purpose of enforcing E.2.2(8) only if it is not available at any place. |
| Take into account the Ada2005 pragma Has_Preelaborable_Initialization |
| when checking the legality of an extension aggregate in a preelaborable |
| package. Treat the literal null as a valid default expression in a |
| component declaration for a type with preelaborable initialization. |
| A limited interface is a legal progenitor for the designated type of a |
| remote access to class-wide type. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute |
| reference): Use correct entity as denoted entity for the selector of |
| the rewritten node. |
| (Find_Direct_Name): Add comment about Generate_Reference incorrectly |
| setting the Referenced_As_LHS flag for entities that are implicitly |
| dereferenced. |
| (Find_Type): If the type is an internally generated incomplete type, |
| mark the full view as referenced, to prevent spurious warnings. |
| (Find_Selected_Component, Has_Components): Handle properly non-limited |
| views that are themselves incomplete types. |
| Handle interfaces visible through limited-with clauses. |
| (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a |
| subprogram generic actual for which we have generated a renaming. |
| Warn when the renaming introduces a homonym of |
| the renamed entity, and the renamed entity is directly visible. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Resolve_Allocator): Propagate any coextensions that |
| appear in the subtree to the current allocator if it is not a static |
| coextension. |
| (Resolve_Allocator): Perform cleanup if resolution has determined that |
| the allocator is not a coextension. |
| (Resolve): Skip an interpretation hidden by an abstract operator only |
| when the type of the interpretation matches that of the context. |
| (Resolve): When looping through all possible interpretations of a node, |
| do not consider those that are hidden by abstract operators. |
| (Resolve_Actuals): When verifying that an access to class-wide object |
| is an actual for a controlling formal, ignore anonymous access to |
| subprograms whose return type is an access to class_wide type. |
| (Resolve_Slice): If the prefix of the slice is a selected component |
| whose type depends on discriminants, build its actual subtype before |
| applying range checks on the bounds of the slice. |
| (Valid_Conversion): In an instance or inlined body, compare root types, |
| to prevent anomalies between private and public views. |
| (Resolve): Improve error message for ambiguous fixed multiplication |
| expressions that involve universal_fixed multiplying operations. |
| |
| 2007-08-14 Javier Miranda <miranda@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch9.adb (Build_Protected_Entry): Propagate the original source |
| location to allow the correct generation of errors in case of |
| restrictions applied to the expanded code. |
| (Expand_Entry_Barrier): Remove all generated renamings for a barrier |
| function if the condition does not reference them. |
| (Expand_Entry_Body_Declarations): Mark the index constant as having a |
| valid value. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating |
| typecode parameters for a union (in a variant record), remove |
| extraneous layer of Any wrapping for member label. |
| (Expand_Receiving_Stubs_Bodies): For an RCI package body that has |
| elabration statements, register the package with the name server |
| at the beginning, not at the end, of the elaboration statements so |
| that they can create remote access to subprogram values that designate |
| remote subprograms from the package. |
| |
| 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time |
| values to compute the number of seconds since the Unix Epoc in order to |
| account for Daylight Savings Time. Perform special processing for dates |
| that are earlier than the Unix Epoc to obtain a negative number. |
| |
| 2007-08-14 Emmanuel Briot <briot@adacore.com> |
| |
| * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing |
| switches. |
| |
| 2007-08-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnatlink.adb (Gnatlink): Pass switches to the linker even if the |
| binder-generated file is not in Ada. |
| Pass -mrtp to the linker if it is GCC and --RTS=rtp has been |
| recorded in the ALI file. |
| Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded. |
| |
| 2007-08-14 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value |
| (Output_Source): Do nothing if parameter is No_Sdep_Id |
| |
| * make.adb (Gnatmake): Do not rebuild an archive simply because a |
| shared library it imports has a later time stamp. |
| (Check): Resolve the symbolic links in the path name of the object |
| directory. |
| Check that the ALI file is in the correct object directory |
| Check if a file name does not correspond to the mapping of units |
| to file names. |
| (Display_Version): New procedure |
| (Initialize): Process switches --version and --help |
| Use type Path_Name_Type for path name |
| |
| 2007-08-14 Paul Hilfinger <hilfinger@adacore.com> |
| |
| * impunit.adb: Re-organize System.Random_Numbers and |
| GNAT.Random_Numbers and add to builds. |
| |
| * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert* |
| |
| * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files. |
| |
| * a-assert.ads, a-assert.adb: New files. |
| |
| 2007-08-14 Gary Dismukes <dismukes@adacore.com> |
| |
| * layout.adb (Layout_Type): In the case of access-to-subprogram types, |
| if AAMP_On_Target is True, then the size of the type encompasses two |
| addresses (a static link and a subprogram address), except in the case |
| of library-level access types. |
| |
| 2007-08-14 Vincent Celier <celier@adacore.com> |
| |
| * output.ads, output.adb (Write_Eol): Remove trailing spaces before |
| writing the line. |
| (Write_Eol_Keep_Blanks): New procedure to write a line, including |
| possible trailing spaces. |
| (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line |
| |
| 2007-08-14 Javier Miranda <miranda@adacore.com> |
| |
| * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with |
| null-excluding access types. |
| |
| 2007-08-14 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code |
| that is common to Analyze_Protected_Type and Analyze_Task_Type. In case |
| of private types add missing check on matching interfaces in the |
| partial and full declarations. |
| (Analyze_Protected_Type): Code cleanup. |
| (Analyze_Task_Type): Code cleanup. |
| |
| 2007-08-14 Javier Miranda <miranda@adacore.com> |
| |
| * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a |
| generated interface thunk. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| |
| * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent |
| obsolescent warning on application of 'Class to an incomplete type. |
| |
| * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to |
| prevent obsolescent warning on application of 'Class to an incomplete |
| type. |
| |
| 2007-08-14 Pascal Obry <obry@adacore.com> |
| |
| * s-fileio.adb (Is_Open): Add check for usability of the underlying |
| file stream. |
| |
| 2007-08-14 Cyrille Comar <comar@adacore.com> |
| |
| * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent |
| since it is potentially used in cases implying double finalization of |
| the same object. |
| |
| 2007-08-14 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-tasini.adb (Get_Stack_Info): Move this function to |
| System.Soft_Links.Tasking because it is common to the full and the |
| restricted run times. |
| (Init_RTS): Do not set the Get_Stack_Info soft link because it is done |
| in SSL.Tasking.Init_Tasking_Soft_Links. |
| |
| * s-solita.adb (Get_Stack_Info): Function moved from |
| System.Tasking.Initialization because it is common to the full and the |
| restricted run times. |
| (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info. |
| |
| 2007-08-14 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb, |
| s-taskin.ads (Requeue_With_Abort): Rename field With_Abort. |
| (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort |
| parameter. |
| |
| * s-tassta.adb (Task_Wrapper): Increased value of the small overflow |
| guard to 12K. |
| |
| 2007-08-14 Gary Dismukes <dismukes@adacore.com> |
| |
| * s-veboop.adb (SU): New named number initialized to |
| System.Storage_Unit. |
| (True_Val): The initialization expression is revised to use SU (= |
| Storage_Unit) rather than assuming 8 for the component size of an |
| unpacked Boolean array. |
| |
| 2007-08-14 Tristan Gingold <gingold@adacore.com> |
| |
| * tracebak.c: Use tb-ivms.c on OpenVMS Itanium. |
| |
| * tb-ivms.c: New file. |
| |
| * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2 |
| |
| 2007-08-14 Geert Bosch <bosch@adacore.com> |
| |
| * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads, |
| s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads: |
| Add required linker pragmas for automatically linking with the gnalasup |
| linear algebra support library, and the systems math library. |
| Rename cdot to cdotu and zdot to zdotu. |
| Update header comment to describe purpose of package. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.adb (Find_Final_List): For an anonymous access type that has |
| an explicitly specified Associated_Final_Chain, use that list. |
| (Expand_N_Package_Body): Build dispatch tables of library level tagged |
| types. |
| (Expand_N_Package_Declaration): Build dispatch tables of library level |
| tagged types. Minor code cleanup. |
| |
| 2007-08-14 Vincent Celier <celier@adacore.com> |
| |
| * gnatchop.adb (Terminate_Program): Remove exception and use |
| Types.Terminate_Program instead. |
| |
| * osint.ads, osint.adb (Current_Exit_Status): New global variable |
| (Find_Program_Name): Added protection against empty name. |
| (OS_Exit_Through_Exception): New procedure |
| |
| * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body |
| (OS_Exit_Default): New procedure that contains the previous |
| implementation of procedure OS_Exit. |
| (Final_Value): Remove obsolete Interix stuff. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| |
| * g-socket.ads: Reorganize example code so that it also works on |
| Windows XP. |
| |
| 2007-08-14 Tristan Gingold <gingold@adacore.com> |
| |
| * g-trasym.ads: AIX now supports symbolic backtraces. |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| |
| * lib-load.adb (From_Limited_With_Chain): Always scan the stack of |
| units being loaded to detect circularities. A circularity may be |
| present even if the current chain of pending units to load starts from |
| a limited_with_clause. |
| |
| * lib-load.ads: Change profile of Load_Unit to use a with_clause |
| rather than a boolean flag, in order to detect circularities in |
| with_clauses. |
| |
| * par-load.adb: Use current with_clause in calls to Load_Unit, rather |
| than propagating the From_Limited_With flag, in order to handle |
| properly circularities involving with_clauses. |
| |
| 2007-08-14 Nicolas Setton <setton@adacore.com> |
| |
| * link.c (FreeBSD): Add "const" keyword where needed, to eliminate |
| warnings. |
| |
| 2007-08-14 Arnaud Charlet <charlet@adacore.com> |
| |
| * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects |
| to build for libgnala. |
| libgnat: Add rules to build libgnala.a |
| (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from |
| target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5. |
| Add s-osinte-vxworks-kernel.adb to the target pairs of the |
| kernel run-time lib for VxWorks 6, which would provide a different |
| implementation for Task_Cont and Task_Stop than the VxWorks 5 version. |
| x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now |
| running ZCX by default. |
| Add g-sttsne-locking to LynxOS version. |
| Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead. |
| On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads. |
| |
| * system-darwin-x86.ads: New file. |
| |
| * Make-lang.in: Delete files before copying onto them, so if they are |
| read-only, the copy won't fail. |
| Update dependencies |
| |
| 2007-08-14 Pascal Obry <obry@adacore.com> |
| |
| * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries |
| naming scheme. |
| |
| 2007-08-14 Vincent Celier <celier@adacore.com> |
| |
| * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access |
| (Gcc): Initialize Gcc_Name at the first call |
| |
| 2007-08-14 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch7.adb (Analyze_Package_Specification): Do not install private |
| with_clauses of the enclosing unit when analyzing the package |
| specification of a nested instance. |
| |
| 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed. |
| (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines. |
| Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the |
| layout of N_Allocator. |
| |
| 2007-08-14 Thomas Quinot <quinot@adacore.com> |
| |
| * rtsfind.adb (Check_RPC): Add PCS version check. |
| |
| * gnatvsn.ads, gnatvsn.adb: Add PCS version. |
| (Gnat_Free_Software): New function. |
| |
| * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns |
| the PCS_Version value from s-parint, used to check that it is consistent |
| with what exp_dist expects. |
| |
| * s-parint.ads (PCS_Version): New entity for checking consistency |
| between exp_dist and PCS. |
| |
| * gen-soccon.c: (SO_REUSEPORT): New constant. |
| |
| 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-calfor.adb (Image (Duration; Boolean)): Change type of local |
| variable Sub_Second to Duration in order to accomodate a larger range |
| of arithmetic operations. |
| |
| 2007-08-14 Bob Duff <duff@adacore.com> |
| |
| * g-sttsne-locking.ads: Move comments from spec to body. |
| * g-sttsne-locking.adb: Move comments from spec to body. |
| * g-sttsne-vxworks.ads: Removed. |
| * g-sttsne-vxworks.adb: Removed. |
| |
| 2007-08-11 Ian Lance Taylor <iant@google.com> |
| |
| * misc.c (gnat_get_alias_set): Change return type to |
| alias_set_type. |
| |
| 2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * decl.c, utils2.c: Fix whitespace in last change. |
| |
| 2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * decl.c (compare_field_bitpos): Constify. |
| * utils2.c (compare_elmt_bitpos): Likewise. |
| |
| 2007-07-27 Aurelien Jarno <aurelien@aurel32.net> |
| |
| * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by |
| anonymous access type. |
| (pthread_sigmask): Now take an access sigset_t. |
| |
| 2007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| * s-osinte-rtems.ads: Correct prototype of pthread_sigmask. |
| |
| 2007-06-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/25737 |
| * misc.c (gnat_post_options): Do not force flag_tree_salias to 0. |
| |
| 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| |
| * trans.c (Attribute_to_gnu): When subtracting an |
| offset from a pointer, use POINTER_PLUS_EXPR with |
| NEGATE_EXPR instead of MINUS_EXPR. |
| (gnat_to_gnu): Likewise. |
| * utils.c (convert): When converting between |
| thin pointers, use POINTER_PLUS_EXPR and sizetype |
| for the offset. |
| * utils2.c (known_alignment): POINTER_PLUS_EXPR |
| have the same semantics as PLUS_EXPR for alignment. |
| (build_binary_op): Add support for the semantics of |
| POINTER_PLUS_EXPR's operands. |
| When adding an offset to a pointer, use POINTER_PLUS_EXPR. |
| |
| 2007-06-11 Rafael Avila de Espindola <espindola@google.com> |
| |
| * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead |
| of get_signed_or_unsigned_type. |
| * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove. |
| |
| 2007-06-11 Bob Duff <duff@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * g-stsifd-sockets.adb (Create): Work around strange behavior of |
| 'bind' on windows that causes 'connect' to fail intermittently, by |
| retrying the 'bind'. |
| (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. |
| |
| 2007-06-10 Duncan Sands <baldrick@free.fr> |
| |
| * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather |
| than to void, for the fields when making a new fat pointer type. |
| (gnat_substitute_in_type): Now substitute_in_type. |
| * gigi.h (gnat_substitute_in_type): Likewise. Adjust recursive calls. |
| * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge. |
| * utils.c (update_pointer_to): Update fat pointers by updating the |
| dummy node pointers used for the fields. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * g-soccon-freebsd.ads, g-soccon-vxworks.ads:, |
| g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, |
| g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new |
| constant Thread_Blocking_IO, always True by default, set False |
| on a per-runtime basis. |
| (Need_Netdb_Buffer): New constant. |
| |
| * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads, |
| g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New |
| files. |
| |
| * g-socthi-vxworks.ads, g-socthi-vxworks.adb, |
| g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname, |
| Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new |
| child package Task_Safe_NetDB |
| (Host_Error_Messages): Add stub body. |
| (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. |
| |
| * g-soccon-mingw.ads: Add Windows-specific constants. |
| (Need_Netdb_Buffer): New constant. |
| (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada |
| wrapper and import inet_addr(3) from the standard sockets library |
| directly instead. |
| (In_Addr): Add alignment clause. |
| (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, |
| s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb, |
| s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads, |
| s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb, |
| s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb, |
| s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb, |
| a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb, |
| a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb, |
| a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb, |
| g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb, |
| g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb, |
| i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb, |
| s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads, |
| s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb, |
| s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, |
| s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb, |
| s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb, |
| s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb, |
| s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb, |
| s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb, |
| s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb, |
| s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb, |
| s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb, |
| s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb, |
| s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb, |
| s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb, |
| s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb, |
| s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb, |
| s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb, |
| s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads, |
| s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb, |
| a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace |
| Unchecked_* by Ada.Unchecked_* |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb, |
| s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb, |
| g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads, |
| output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads, |
| g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb, |
| a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate. |
| |
| * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb, |
| s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads, |
| s-tasloc.adb, s-tasloc.ads: New files. |
| |
| 2007-06-06 Bob Duff <duff@adacore.com> |
| |
| * g-expect-vms.adb: |
| (Send_Signal, Close): Raise Invalid_Process if the process id is invalid. |
| * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string. |
| (Send_Signal, Close): Raise Invalid_Process if the process id is |
| invalid. |
| (Pattern_Matcher_Access): Is now a general access type to be able to |
| use aliased string. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change |
| (SIGEMT is now used instead of SIGTERM on AIX). |
| |
| * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads. |
| (Time_Slice_Supported): Set to True. |
| Use SIGEMT instead of SIGTERM as SIGADAABORT. |
| |
| 2007-06-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-" |
| (Time, Time)): Use To_Relative_Time rather than manual calculation to |
| express the bounds of Duration as Time. Raise Time_Error when the |
| result is greater or equal to the higher bound of Duration (on the |
| margin case). |
| ("+" (Time, Duration)): Reorder code. Remove the declaration of constant |
| Ada_High_And_Leaps. |
| ("-" (Time, Duration)): Reorder code. Remove the declaration of constant |
| Ada_High_And_Leaps. |
| ("-" (Time, Time)): Reorder code. |
| (All_Leap_Seconds): Removed. |
| (Arithmetic_Operations.Add): Remove sign related kludge. |
| (Arithmetic_Operations.Difference): Control the leaps seconds processing |
| with flag Leap_Support. |
| (Arithmetic_Operations.Subtract): Remove sign related kludge. |
| (Check_Within_Time_Bounds): New procedure. |
| (Clock): Control the leap seconds processing with flag Leap_Support. |
| (Cumulative_Leap_Seconds): Assert that the target supports leap seconds. |
| (Formatting_Operations.Split): Control the leap seconds processing with |
| flag Leap_Support. |
| (Formatting_Operations.Time_Of): Control the leaps seconds processing |
| with flag Leap_Support. Adjust the year, month and day (if applicable) |
| when the value of day seconds designates a new day. |
| (Split): Use parameter associations for better readability. Integrate |
| flag Is_Ada_05. |
| (Time_Of): Use parameter associations for better readability. Integrate |
| flag Is_Ada_05. |
| |
| * a-calfor.adb (Split): Use parameter associations for better |
| readability. Integrate flag Is_Ada_05. |
| (Time_Of): Remove flag Leap_Checks. Use parameter associations for |
| better readability. Integrate flag Is_Ada_05. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb, |
| s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb, |
| s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb, |
| s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads, |
| s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb, |
| s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb, |
| s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads, |
| s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads, |
| s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads, |
| s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb, |
| s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base |
| time when entering this routine to detect a backward clock setting |
| (manual setting or DST adjustment), to avoid waiting for a longer delay |
| than needed. |
| (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant. |
| Remove handling of deferred priority change, and replace by setting the |
| task priority directly, as required by AI-188. |
| Update comments. |
| (Max_Task_Image_Length): New constant. |
| Replace Warnings (Off) by Unreferenced pragma, cleaner. |
| (Dynamic_Priority_Support): Removed, no longer needed. |
| (Poll_Base_Priority_Change): Ditto. |
| (Set_Ceiling): Add this procedure to change the ceiling priority |
| associated to a lock. This is a dummy implementation because dynamic |
| priority ceilings are not supported by the underlying system. |
| |
| * a-dynpri.adb (Set_Priority): Take into account case where Target is |
| accepting a RV with its priority boosted. |
| Remove handling of deferred priority change, and replace by setting the |
| task priority directly, as required by AI-188. |
| |
| * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for |
| Succeeded = True. |
| Remove handling of deferred priority change, and replace by setting the |
| task priority directly, as required by AI-188. |
| (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state |
| of Self_Id earlier. |
| |
| * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion. |
| (Poll_Base_Priority_Change): Removed. |
| Code clean up: use SSL.Current_Target_Exception. |
| |
| * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks |
| to run as this is a potentially dispatching point. |
| (Call_Synchronous): Use Local_Defer_Abort. |
| (Callable): Relax assertion. |
| (Selective_Wait): Relax assertion in case abort is not allowed. |
| Remove handling of deferred priority change, and replace by setting the |
| task priority directly, as required by AI-188. |
| |
| * s-tasuti.adb (Make_Passive): Adjust assertions. |
| Remove handling of deferred priority change, and replace by setting the |
| task priority directly, as required by AI-188. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * system-vxworks-sparcv9.ads, system-solaris-x86.ads, |
| system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, |
| system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads, |
| system-vxworks-mips.ads, system-vxworks-alpha.ads, |
| system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads, |
| system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads, |
| system-interix.ads, system-linux-hppa.ads, system-tru64.ads, |
| system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads, |
| system-solaris-sparcv9.ads, system-vms.ads, system.ads, |
| system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads, |
| system-linux-ia64.ads: Document mapping between Ada and OS priorities. |
| This patch changes the largest non-binary modulus from 2**31-1 to |
| 2**32-1. |
| (Compiler_System_Version): Removed, no longer used. |
| Clean up system files by removing flags only used on a single target. |
| Also remove obsolete flags, only used during bootstrap from system.ads |
| (Address): Add a pragma Preelaborable_Initialization. |
| |
| * system-aix.ads: Ditto. |
| (GCC_ZCX_Support): Set to true. |
| Update priority range on AIX and map Ada priorities to target |
| priorities appropriately for different scheduling policies. |
| |
| * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1 |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * mlib-tgt-specific.adb, mlib-tgt-specific.ads, |
| mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files. |
| |
| * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb, |
| mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb, |
| mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, |
| mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, |
| mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package |
| MLib.Tgt, containing the default versions of the exported subprograms. |
| For each platform, create a specific version of the body of new child |
| package MLib.Tgt.Specific that contains only the body of subprograms |
| that are different from the default. |
| (Archive_Builder_Append_Options): New function. |
| |
| 2007-06-06 Matthew Gingell <gingell@adacore.com> |
| |
| * s-osinte-aix.adb: Map Ada priorities to target priorities |
| appropriately for different scheduling policies. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely |
| its C counterpart. |
| Remove references to Unchecked_Conversion, and use Ada.xxx instead. |
| Replace Unchecked_Conversion by Ada.Unchecked_Conversion. |
| |
| 2007-06-06 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure. |
| Noop on VMS, added for interface commonality. |
| |
| 2007-06-06 Eric Botcazou <ebotcazou@adacore.com> |
| Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the |
| renamed expression of a full renaming at toplevel. |
| (gnat_to_gnu_entity, case object): If not defining, do not look inside |
| the values the constant is initialized to if it is an N_Allocator. |
| (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the |
| TYPE_SIZE_UNIT of inner types after the stride is elaborated. |
| (make_aligning_type): Accept an extra ROOM argument for storage to be |
| made available before the aligned field, and an extra BASE_ALIGN |
| argument for callers to pass the alignment guaranteed to be honored for |
| the whole aligning object. Avoid call to finish_record_type, which only |
| interferes with the sizes we want to set. |
| (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to |
| make_aligning_type for super-aligned objects on stack. |
| (components_to_record): Pass the adjusted size of the type when creating |
| fields in the qualified union for the variant part. |
| (gnat_substitute_in_type): Copy TYPE_USER_ALIGN. |
| (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for |
| packed array type. |
| (maybe_pad_type): Set TYPE_USER_ALIGN. |
| (make_aligning_type): Likewise. |
| ALIGN argument is unsigned int. |
| (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism. |
| (gnat_to_gnu_param): Likewise, for parameters. |
| (gnat_to_gnu_entity) <object>: Always instantiate the renaming object |
| if it is constant and stems from a function call. |
| (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment |
| of the record is specified. Adjust accordingly. |
| (adjust_packed): New static function. |
| (gnat_to_gnu_field): Use it to adjust the packedness setting. |
| (components_to_record): Likewise. |
| (gnat_to_gnu_entity) <object>: Do not test the renamed expression for |
| side-effects if the object is deemed constant. |
| (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer |
| type instead of merely finalizing it. Tidy. |
| <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL. |
| <E_Access_Type>: Likewise. |
| (defer_debug_incomplete_list): Rename to defer_finalize_list. |
| (defer_debug_level): Delete. |
| (gnat_to_gnu_entity) <debug_deferred>: Likewise |
| <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer |
| type. |
| <E_Record_Type>: Do not explicitly defer finalizing the type. |
| Adjust for write_record_type_debug_info renaming. |
| <E_Subprogram_Type>: Likewise. |
| Finalize deferred types right after deferred incomplete types are |
| expanded. |
| (rest_of_type_decl_compilation): New global function. |
| (components_to_record): Rename defer_debug parameter to do_not_finalize. |
| (components_to_record): Propagate the packedness to the fields of the |
| qualified union type if there is a variant part. |
| (gnat_to_gnu_entity) <E_Array_Type>: Use new function |
| instead of inline code to adjust the XUT field offsets. |
| (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type. |
| <E_Record_Subtype>: Do not let finish_record_type compute the sizes |
| and write the debug info if the type derives from a discriminated one. |
| (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type. |
| <E_Array_Subtype>: Likewise. |
| <E_String_Literal_Subtype>: Likewise. |
| (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have |
| an alignment clause. |
| (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN |
| before giving warning. |
| (prepend_one_attribute_to): New function, helper to prepend an attribute |
| to an attribute list. |
| (gnat_to_gnu_entity) <E_Procedure>: Use it. |
| (prepend_attributes): Likewise. |
| (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type. |
| <E_Array_Type>: Declare the padding type for the element type, if any. |
| <E_Array_Subtype>: Likewise. |
| (defer_limited_with): New variable. |
| (Gigi_Equivalent_Type): New function. |
| (gnat_to_gnu_entity): Use it at start and use result throughout. |
| (gnat_to_gnu_entity, case E_Access_Type): Rework to use |
| Gigi_Equivalent_Type, support Limited_With, allow two levels of |
| indirection, precompute if unconstrained array to simplify logic, and |
| use defer_limited_with to defer elaboration of some types from limited |
| with. |
| (finalize_from_with_types): New function. |
| |
| 2007-06-06 Gary Dismukes <dismukes@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| Tristan Gingold <gingold@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * trans.c (Identifier_to_gnu): Change test for deferred constant by |
| adding guard that the entity is an E_Constant before testing presence |
| of Full_view (and remove unnecessary test that entity is not a type). |
| For a CONST_DECL used by reference, manually retrieve |
| the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either. |
| (struct language_function): Move from utils.c to here. |
| (struct parm_attr): New structure. |
| (parm_attr, parm_attr vector, parm_attr GC vector): New types. |
| (f_parm_attr_cache): New macro. |
| (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the |
| expressions for the 'First, 'Last and 'Length attributes of the |
| unconstrained array IN parameters. |
| (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout. |
| Allocate the information structure for the function earlier, as well |
| as the language-specific part. |
| If the parameter attributes cache has been populated, evaluate the |
| cached expressions on entry. |
| (takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call, |
| N_Procedure_Call_Statement and N_Indexed_Component. |
| (Pragma_to_gnu): Translate inspection_point to an asm statement |
| containaing a comment and a reference to the object (either its address |
| for BLKmode or its value). |
| (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide |
| to go to DECL_INITIAL. Together with the size constraint relaxation |
| in create_var_decl, enlarges the set of situations in which an |
| identifier may be used as an initializer without implying elaboration |
| code. |
| (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set |
| DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the |
| node. |
| (maybe_stabilize_reference): Remove lvalues_only parameter. |
| (gnat_stabilize_reference): Adjust for above change. |
| (gnat_to_gnu): Do not set location information on the result |
| if it is a reference. |
| (add_cleanup): Add gnat_node parameter and set the location of the |
| cleanup to it. |
| (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup. |
| (Exception_Handler_to_gnu_zcx): Likewise. |
| (gigi): Remove the cgraph node if the elaboration procedure is empty. |
| (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit |
| the former right after the latter. |
| (start_stmt_group): Make global. |
| (end_stmt_group): Likewise. |
| (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New |
| vars. |
| (gnu_program_error_label_stack): Likewise. |
| (gigi): Initialize them. |
| (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise. |
| (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label): |
| New cases. |
| (push_exception_label_stack): New function. |
| (takes_address): New function. |
| |
| * utils.c (struct language_function): Move to trans.c from here. |
| (unchecked_convert): Do not wrap up integer constants in |
| VIEW_CONVERT_EXPRs. |
| (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent |
| the latter for aggregate types, unexpected by later passes, and relax an |
| arbitrary size constraint on the former. |
| (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p |
| to compare the sizes. |
| (convert_vms_descriptor): When converting to a fat pointer type, be |
| prepared for a S descriptor at runtime in spite of a SB specification. |
| (shift_unc_components_for_thin_pointers): New function. |
| (write_record_type_debug_info): For variable-sized fields, cap the |
| alignment of the pointer to the computed alignment. |
| (finish_record_type): Change HAS_REP parameter into REP_LEVEL. |
| If REP_LEVEL is 2, do not compute the sizes. |
| (build_vms_descriptor): Adjust for new prototype of finish_record_type. |
| (build_unc_object_type): Likewise. |
| (declare_debug_type): New function. |
| |
| * ada-tree.def: USE_STMT: removed (not emitted anymore). |
| |
| * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because |
| no statement is expandable anymore. |
| (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice. |
| (gnat_handle_option): Only allow flag_eliminate_debug_types to be set |
| when the user requested it explicitely. |
| (gnat_post_options): By default, set flag_eliminate_unused_debug_types |
| to 0 for Ada. |
| (get_alias_set): Return alias set 0 for a type if |
| TYPE_UNIVERSAL_ALIASING_P is set on its main variant. |
| |
| * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro. |
| (DECL_FUNCTION_STUB): New accessor macro. |
| (SET_DECL_FUNCTION_STUB): New setter macro. |
| |
| * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada. |
| |
| * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New |
| declarations. |
| |
| 2007-06-06 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal): |
| Rename to Abort_Task_Interrupt to be able to keep the same interface |
| as the rest of the targets. |
| |
| * s-osinte-vxworks.ads s-osinte-vxworks.adb |
| (To_VxWorks_Priority): Remove explicit "in" mode indicator |
| |
| * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads: |
| New files. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-chahan.ads: Remove obsolescent pragmas |
| |
| * a-chlat1.ads: Minor reformatting |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface |
| for Errout |
| |
| * errout.adb: New Finalize/Compilation_Errors/Output_Messages |
| implementation |
| |
| * errout.ads (Finalize): Changed interface |
| (Output_Messages): New procedure |
| (Compilation_Errors): New Interface |
| |
| * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New |
| Finalize/Output_Messages interface for Errout |
| (Prepare_To_Preprocess): New Finalize/Output_Messages interface for |
| Errout. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18) |
| check. |
| (Raise_Current_Excep): Call Debug_Raise_Exception just before |
| propagation starts, to let debuggers know about the event in a reliable |
| fashion. |
| (Local_Raise): Moved to System.Exceptions |
| More convenient to have this as a separate unit |
| |
| * s-except.adb, s-except.ads: New files. |
| |
| * a-exextr.adb (Unhandled_Exception): Delete - replaced by |
| Debug_Unhandled_Exception in System.Exceptions where it belongs |
| together with a couple of other debug helpers. |
| (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of |
| the former Unhandled_Exception. |
| |
| * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure |
| (Warn_No_Exception_Propagation): New procedure |
| (Warn_If_No_Propagation): Rewritten for new warning generation |
| (Expand_Exception_Handlers): New warning generation |
| (Expand_N_Raise_xxx_Error): Rewritten for new warnings |
| (Add_Exception_Label): Use Special_Exception_Package_Used for test |
| instead of Most_Recent_Exception_Used (accomodates Exception_Traces) |
| (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap |
| even if restriction is set (makes life easier in Check_Returns) |
| (Expand_Local_Exception_Handlers): Follow renamed entity chain when |
| checking exception identities. |
| (Expand_Local_Exception_Handlers): Do not optimize when all others case |
| (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated |
| block for handler (used by Check_Returns) |
| (Expand_Local_Exception_Handlers): Local_Raise now takes an address |
| (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to |
| remove all exception handlers when optimizing local raise statements. |
| (Find_Local_Handler): Use Get_Renamed_Entity |
| (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is |
| marked analyzed after expanding exception handlers, do not generate |
| redundant cleanup actions, because they have been constructed already. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The |
| presence of this categorization pragma is mandated by the language. |
| (Limited_Controlled): Add missing pragma Preelaborable_Initialization |
| for this type. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb, |
| butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, |
| err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads, |
| fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, |
| lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads, |
| makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb, |
| par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb, |
| prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads, |
| prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb, |
| sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb, |
| uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb, |
| ali.ads, ali.adb: |
| Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to |
| package Namet. Make File_Name_Type and Unit_Name_Type types derived from |
| Mame_Id. Add new type Path_Name_Type, also derived from Name_Id. |
| Use variables of types File_Name_Type and Unit_Name_Type in error |
| messages. |
| (Get_Name): Add parameter Ignore_Special, and set it reading file name |
| (New_Copy): When debugging the compiler, call New_Node_Debugging_Output |
| here. |
| Define flags Flag217-Flag230 with associated subprograms |
| (Flag_Word5): New record type. |
| (Flag_Word5_Ptr): New access type. |
| (To_Flag_Word5): New unchecked conversion. |
| (To_Flag_Word5_Ptr): Likewise. |
| (Flag216): New function. |
| (Set_Flag216): New procedure. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length |
| instead of 'Size. |
| |
| * a-stwifi.ads, a-stzfix.ads: Minor reformatting |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to |
| the package. |
| (Object_Specific_Data_Array): This is now internal to the package. |
| (Object_Specific_Data): This is now internal to the package. |
| (Select_Specific_Data_Element): This is now internal to the package. |
| (Select_Specific_Data_Array): This is now internal to the package. |
| (Select_Specific_Data): This is now internal to the package. |
| (Offset_To_Top_Function_Ptr): This is now public. |
| (To_Offset_To_Top_Function_Ptr): Removed. |
| (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now |
| local to subprogram Offset_To_Top. |
| (Predefined_DT): Removed. |
| (Typeinfo_Ptr): Removed. |
| (OSD): This function is now internal to this package. |
| (SSD): This function is now internal to this package. |
| (DT): New function that displaces the pointer to the table of primitives |
| to get access to the enclosing wrapper record. |
| (IW_Membership): Code cleanup. |
| (Offset_To_Top): Code cleanup. |
| (Predefined_DT): Removed. |
| (Register_Interface_Tag): Removed. |
| (Set_Interface_Table): Removed. |
| (Set_Offset_Index): Removed. |
| (Set_Offset_To_Top): Code cleanup. |
| (Set_OSD): Removed. |
| (Set_Signature): Removed. |
| (Set_SSD): Removed. |
| (Set_Tagged_Kind): Removed. |
| (Typeinfo_Ptr): Removed. |
| (TSD): Removed. |
| (Displace): Add missing check on null actual. |
| |
| * exp_disp.ads, exp_disp.adb |
| (Select_Expansion_Utilities): Removed. |
| (Build_Common_Dispatching_Select_Statements): Moved to exp_atags. |
| (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because |
| the interface requires a new parameter. |
| (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec, |
| Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace |
| calls to subprograms Build_T, Build_S, etc. by the corresponding code. |
| Done to remove package Select_Expansion_Utilities. |
| (Make_DT): New implementation for statically allocated dispatch tables. |
| (Make_Secondary_DT): Moved to the scope of Make_DT. |
| (Register_Primitive): Code cleanup plus incoporate the use of the new |
| function DT_Address_Attribute. |
| (Expand_Interface_Thunk): The profile of this subprogram has been |
| changed to return the Thunk_Id and the corresponding code. |
| (Fill_DT_Entry): Removed. Its functionality is now provided by |
| subprogram Register_Primitive. |
| (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by |
| subprogram Register_Primitive. |
| (Register_Primitive): New subprogram that incorporates the previous |
| functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry. |
| (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This |
| was only required to call Make_DT_Access_Action, which is now removed. |
| (Ada_Actions): Removed |
| (Action_Is_Proc): Removed |
| (Action_Nb_Arg): Removed |
| Replace all the calls to Make_DT_Access_Action by direct calls to |
| Make_Procedure_Call_Statement or Make_Function_Call. |
| (Set_DTC_Entity_Value): New subprogram. |
| (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value. |
| (Expand_Interface_Thunk): Add missing support for primitives that are |
| functions with a controlling result (case in which there is no need |
| to generate the thunk). |
| |
| * exp_atag.ads, exp_atag.adb |
| (Build_DT): New subprogram that displaces the pointer to reference the |
| base of the wrapper record. |
| (Build_Typeinfo_Offset): Removed. |
| (RTE_Tag_Node): Removed. |
| (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp |
| (Build_Get_RC_Offset): Removed. |
| (Build_Inherit_Predefined_Prims): Removed. |
| (Build_Inherit_TSD: Removed. |
| (Build_New_TSD): Removed. |
| (Build_Set_External_Tag): Removed. |
| (Build_Set_Predefined_Prim_Op_Address): Add documentation. |
| (Build_Set_Prim_Op_Address): Add documentation. |
| (Build_Set_TSD): Removed. |
| |
| * rtsfind.ads, rtsfind.adb |
| (Load_Fail): If load fails and we are not in configurable run-time |
| mode, then raise Unrecoverable_Error. |
| (Text_IO_Kludge): Generate an error message if a run-time library is |
| not available in a given run-time (ie. zfp run-time). |
| (RTE_Record_Component): Add code to check that the component we search |
| for is not found in two records in the given run-time package. |
| (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed |
| (RE_DT_Predef_Prims_Offset): New entity |
| (RE_Static_Offset_To_Top): New entity |
| (RE_HT_Link): New entity. |
| (System_Address_Image): Addition of this run-time package. |
| (RE_Address_Image): New entity. |
| (RE_Abstract_Interface): Removed. |
| (RE_Default_Prim_Op_Count): Removed. |
| (RE_DT_Entry_Size): Removed. |
| (RE_DT_Min_Prologue_Size): Removed. |
| (RE_DT_Prologue_Size): Removed. |
| (RE_Ifaces_Table_Ptr): Removed. |
| (RE_Interface_Data_Ptr): Removed. |
| (RE_Type_Specific_Data): Removed. |
| (RE_Primary_DT): Removed. |
| (RE_Register_Interface_Tag): Removed. |
| (RE_Set_Offset_Index): Removed. |
| (RE_Set_OSD): Removed. |
| (RE_Set_SSD): Removed. |
| (RE_Set_Signature): Removed. |
| (RE_Set_Tagged_Kind): Removed. |
| (RE_Address_Array): New entity. |
| (RE_DT): New entity. |
| (RE_Iface_Tag): New entity. |
| (RE_Interfaces_Table): New entity. |
| (RE_No_Dispatch_Table): New entity. |
| (RE_NDT_Prims_Ptr): New entity. |
| (RE_NDT_TSD): New entity. |
| (RE_Num_Prims): New entity. |
| (RE_Offset_To_Top_Function_Ptr): New entity. |
| (RE_OSD_Table): New entity. |
| (RE_OSD_Num_Prims): New entity. |
| (RE_Predef_Prims): New entity |
| (RE_Predef_Prims_Table_Ptr): New entity. |
| (RE_Primary_DT): New entity. |
| (RE_Signature): New entity. |
| (RE_SSD): New entity. |
| (RE_TSD): New entity. |
| (RE_Type_Specific_Data): New entity. |
| (RE_Tag_Kind): New entity. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the |
| C imported variable. |
| (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set |
| on entry. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-tienio.adb (Get): Adjust buffer size to accomodate one extra |
| character |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * a-tifiio.adb (Put, internal): For negative numbers, check that there |
| is room for at least one digit and the minus sign. |
| (Put.Put_Character): Never put a character outside of the range of |
| string To. |
| |
| 2007-06-06 Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * utils2.c (build_allocator): Provide the extra arguments to |
| make_aligning_type for super-aligned objects allocated from the default |
| pool. Leave enough room for a pointer before the aligning field, and |
| store the system's allocator return value there. |
| (build_call_alloc_dealloc): When releasing a super-aligned object, |
| retrieve the system's allocator return value from where build_allocator |
| has stored it, just ahead of the adjusted address we are passed. |
| (build_call_raise): Handle properly the generation of line numbers when |
| the node is marked No_Location. |
| (compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort |
| by using DECL_UID on ties. |
| (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same |
| main variant. |
| (build_call_raise): Handle converting exception into goto; support new |
| argument KIND. |
| (build_component_ref): Add new arg to build_call_raise. |
| |
| 2007-06-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse |
| "." in the case of nnn.xxx when nnn terminates with an underscore. |
| Parse the remaining "#" or ":" in the case of nnn#.xxx# |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when |
| needed. |
| (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute |
| ((destructor)) for adafinal, even when switch -a is used. |
| Do not issue pragma Linker_Destructor for adafinal when switch -a is |
| used. |
| (Gen_Object_Files_Options): Add formatting of Linker Options, when |
| Output_Linker_Option_List is set. Suppress this formatting when |
| Zero_Formatting is set. |
| Add case for CLI_Target. |
| (System_Restrictions_Used): New flag, used to avoid generating with of |
| System_Restrictions and initialization of the data unless there is |
| some use of System.Restrictions in the partition. |
| (Check_System_Restrictions_Used): New procedure |
| |
| * s-stalib.adb: Remove with of System.Restrictions. No longer needed |
| since we only with this unit in the binder file if it is used elsewhere |
| in the partition. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * bindusg.adb: Add line for @<response file> |
| Add lines for new switches -R and -Z |
| |
| * gnatbind.adb (Gnatbind): Do not include sources from the GNAT |
| hierarchy in the list of files of the closure when -R is used |
| (Gnatbind): Accept arguments starting with '@' to indicate response |
| files and take the arguments from the response files. |
| If List_Closure is set, display the referenced files |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in |
| which the address-clause is applied to in-mode actuals (allowed by |
| 13.1(22)). |
| (Apply_Discriminant_Check): Do not generate a check if the type is |
| constrained by a current instance. |
| (Activate_Division_Check): New procedure |
| (Activate_Overflow_Check): New procedure |
| (Activate_Range_Check): New procedure |
| Call these new Activate procedures instead of setting flags directly |
| (Apply_Array_Size_Check): Removed, no longer needed. |
| Code clean up: remove obsolete code related to GCC 2. |
| (Get_E_Length): Protect against bomb in case scope is standard |
| (Selected_Range_Checks): If the node to be checked is a conversion to |
| an unconstrained array type, and the expression is a slice, use the |
| bounds of the slice to construct the required constraint checks. |
| Improve NOT NULL error messages |
| (Apply_Constraint_Check): If the context is a null-excluding access |
| type, diagnose properly the literal null. |
| |
| 2007-06-06 Pascal Obry <obry@adacore.com> |
| |
| * clean.adb (Clean_Archive): Use untouched casing for the archive name |
| and the corresponding .deps file. |
| (Clean_Interface_Copy_Directory): Use untouched casing for the library |
| src directory. Minor code-clean-up. Use untouched casing for files |
| read into the library src dir. |
| (Clean_Library_Directory): Idem. |
| (Parse_Cmd_Line): Accept new switch -aP |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * einfo.ads, einfo.adb (Available_View): New synthesized attribute |
| applicable to types that have the With_Type flag set. Returns the |
| non-limited view of the type, if available, otherwise the type itself. |
| For class-wide types, there is no direct link in the tree, so we have |
| to retrieve the class-wide type of the non-limited view of the Etype. |
| New attributes Static_Initialization and Static_Elaboration_Desired. |
| Remove the pragma Thread_Body, and the associated flag |
| Is_Thread_Body in entities, and all related code. |
| (Suppress_Value_Tracking_On_Call): New flag |
| E_Exception has Esize and Alignment fields |
| (Universal_Aliasing): New function. |
| (Set_Universal_Aliasing): New procedure. |
| (Write_Entity_Flags): Deal with Universal_Aliasing flag. |
| (Check_Nested_Access): New procedure. |
| (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures. |
| (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access. |
| (Related_Interface): New attribute. Present in dispatch table pointer |
| components of records. Set to point to the entity of the corresponding |
| interface type. |
| (Is_By_Reference_Type): Recurse on the full view of an incomplete type. |
| (Original_Access_Type): Remove, not needed. |
| (Root_Type): Handle properly subtypes of class-wide-types. |
| Update comments. |
| |
| * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for |
| class-wide types visible through limited-with clauses. |
| (Try_Primitive_Operation): When examining all primitive operations of a |
| tagged type, do not consider subprograms labeled as hidden unless they |
| belong to a private generic type with a tagged parent. |
| (Try_Object_Operation): Extensive rewriting, to handle properly various |
| overloading cases, when several ancestors may have class-wide operations |
| that are possible candidates, and when the overloaded functions return |
| array types and have defaulted parameters so that the call may be |
| interpreted as an indexing. |
| (Analyze_Allocator): Remove Mark_Allocator and its invocation. |
| (Process_Function_Call): use Next, rather than Next_Actual, to analyze |
| successive actuals before analyzing the call itself. |
| (Try_Primitive_Operation): A primitive operation is compatible with the |
| prefix if the prefix has a synchronized type and the type of the formal |
| is its corresponding record, as can be the case when the primitive |
| operation is declared outside of the body of the type. |
| (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to |
| perform homonym traversal, looking for class-wide operation matches |
| (formerly done in statements of Try_Class_Wide_Operation). Matches on |
| access parameters are now restricted to anonymous access types. |
| (Mark_Allocator): An allocator with a discriminant association parent is |
| a coextension. |
| (Try_One_Prefix_Interpretation): If the type of the object is |
| incomplete, as can be happen when it is a limited view obtained through |
| a limited_with_clause, the selected component is not part of a prefixed |
| call. |
| (Complete_Object_Operation): Diagnose properly an object that is not |
| aliased when the corresponding controlling formal is an access |
| parameter. |
| (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly |
| ambiguous calls in prefixed notation, where two primitives differ only |
| in that the controlling argument of one is an access parameter. |
| |
| * sem_ch6.adb (Has_Single_Return): Add guard in code that determines |
| whether a function that returns an unconstrained type can be inlined. |
| (Process_Formals): Diagnose properly the illegal use of an incomplete |
| type in the profile of an access_to_subprogram declaration. |
| (Check_Synchronized_Overriding): Nothing check for concurrent types, the |
| operations are attached to the corresponding record. |
| (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ. |
| When processing a primitive of a concurrent type which implements an |
| interface change the type of all controlling formals to that of the |
| corresponding record type. |
| (Check_Synchronized_Overriding): Relax the conditional logic when trying |
| to determine the tagged type to which a primitive belongs. |
| (Check_Conventions): Capture condition to ignore a primitive operation |
| (which is shared between the loop in Check_Conventions and the one in |
| Check_Convention) in a new local function Skip_Check. |
| (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible |
| confusion with Check_Conventions' own Prim_Op local variable. |
| (Create_Extra_Formals): Test for a tagged result type rather than a |
| controlling result when determining whether to add a BIP_Alloc_Form |
| formal and a BIP_Final_List formal to the function. |
| (Check_Conformance); For parameters that are anonymous access types, |
| subtype conformance requires that the not null and the constant |
| indicators must match |
| (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery |
| to retrieve the appropriate type when processing a concurrent type |
| declared within a generic. Minor comment reformatting. Change invocation |
| of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri- |
| mitive. |
| (Analyze_Subprogram_Body): If the return type of a function is an |
| anonymous access to the limited view of a class-wide type, and the |
| non-limited view of the type is available, update the type of the |
| function so that code can be generated. |
| (Process_Formals): In case of access-subtype itype whose designated |
| type is also an itype (situation that happens now with access to |
| subprograms) we mark the access-type itype with the Has_Delayed_Freeze |
| attribute to avoid backend problems. |
| (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in |
| init of R_Stm_Type_Is_Anon_Access. Also check that base types of the |
| anonymous types' designated types are same before testing |
| Subtypes_Statically_Match. |
| (Create_Extra_Formals): Test for a named access parameter that is a |
| controlling formal as an additional condition for adding an |
| accessibility level formal. This can occur in the subp type created for |
| dispatching calls in Expand_Dispatching_Call, and allows calling |
| Create_Extra_Formals from that procedure rather than special-casing the |
| extra formals there. |
| (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals |
| when the function has a controlling result. |
| (Check_Returns): Add much more knowledge of the optimization of local |
| raise statements to gotos, to retain proper warnings in this case. |
| (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label |
| nodes when looking for last statement. |
| |
| * sem_type.ads, sem_type.adb (Specific_Type): Add support for |
| class-wide types visible through limited with clauses. |
| (Add_One_Interp): If the operands are anonymous access types, the |
| predefined operator on universal_access is immediately visibles |
| (Find_Unique_Type): Handle anonymous access to subprogram types just as |
| other anonymous access types. |
| (Disambiguate): Take into account CIL convention. |
| (Interface_Present_In_Ancestor): Add support for class-wide interfaces. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb, |
| sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads, |
| elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure. |
| Fix lower bound of tables. |
| Add rep clauses. |
| |
| * nlists.adb: Ditto. |
| (Prev_Node, Next_Node): Change index type to Int so that it properly |
| covers the range First_Node_Id - 1 up. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_aggr.ads, exp_aggr.adb: |
| (Build_Record_Aggr_Code): Add missing initialization of secondary tags |
| in extension aggregates. |
| (Flatten): Other conditions being met, an aggregate is static if the |
| low bound given by component associations is different from the low |
| bound of the base index type. |
| (Packed_Array_Aggregate_Handled): If the component type is itself a |
| packed array or record, the front-end must expand into assignments. |
| (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to |
| Init_Pr, instead of Ancestor_Is_Expression. |
| (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a |
| coextension chain root, either generate a list controller or use the |
| already existing one. |
| (Static_Array_Aggregate): New procedure to construct a positional |
| aggregate that can be handled by the backend, when all bounds and |
| components are compile-time known constants. |
| (Expand_Record_Aggregate): Force conversion of aggregates of tagged |
| types covering interface types into assignments. |
| (Replace_Type): move to Build_Record_Aggr_Code. |
| (Expand_Record_Aggr_Code): if the target of the aggregate is an |
| interface type, convert to the definite type of the aggregate itself, |
| so that needed components are visible. |
| (Convert_Aggr_In_Object_Decl): If the aggregate has controlled |
| components and the context is an extended return statement do not |
| create a transient block for it, to prevent premature finalization |
| before the return is executed. |
| (Gen_Assign): Do not generate a call to deep adjust routine if the |
| component type is itself an array of controlled (sub)-components |
| initialized with an inner aggregate. |
| (Component_Check): New name for Static_Check. This name is now more |
| appropriate, and documentation is added which was missing. |
| (Component_Check): Add test for bit aligned component value |
| (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_ |
| Tagged_Comps, name is more appropriate given added function below. |
| (Component_Not_OK_For_Backend): Check for bit aligned component ref. |
| |
| 2007-06-06 Hristian Kirtchev <kirtchev@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and |
| Terminated: Add unchecked type conversion from System.Address to |
| System.Tasking.Task_Id when calling the predefined primitive |
| _disp_get_task_id. |
| Disable new Ada 05 accessibility check for JVM.NET targets, which |
| cannot be implemented in a practical way. |
| (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in |
| the sources always references the tag of the actual object. Therefore, |
| if 'Tag is applied in the sources to class-wide interface objects we |
| generate code that displaces "this" to reference the base of the object. |
| (Expand_N_Attribute_Reference, case Size): Return specified size if |
| known to front end. |
| (Expand_N_Attribute_Reference): The expansion of the 'Address attribute |
| has code that displaces the pointer of the object to manage interface |
| types. However this code must not be executed when the prefix is a |
| subprogram. This bug caused the wrong expansion of the internally |
| generated assignment that fills the dispatch table when the primitive |
| is a function returning a class-wide interface type. |
| (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to |
| Set_Attribute_Name for Name_Unaligned_Valid. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address): |
| If the initialization is the equivalent aggregate of the initialization |
| procedure of the type, do not remove it. |
| (Expand_N_Attribute_Definition_Clause): Exclude access variables |
| initialized to null from having their expression reset to empty and |
| note this exception in the comment. |
| |
| 2007-06-06 Hristian Kirtchev <kirtchev@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames. |
| Add "with" and "use" clauses for Sem_Attr. |
| (Expand_Current_Value): Do not replace occurences of attribute |
| references where the prefix must be a simple name. |
| |
| * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for |
| Namet. Add new arrays Attribute_Name_Modifies_Prefix and |
| Attribute_Requires_Simple_Name_Prefix. |
| (Name_Modifies_Prefix): Body of new function. |
| (Requires_Simple_Name_Prefix): Body of new function. |
| (Resolve_Attribute, case Access): Improve error message for case of |
| mismatched conventions. |
| (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an |
| incomplete type. |
| (Analyze_Attribute, case 'Access): If the type of the prefix is a |
| constrained subtype for a nominal unconstrained type, use its base type |
| to check for conformance with the context. |
| (Resolve_Attribute): Remove test of the access type being associated |
| with a return statement from condition for performing accessibility |
| checks on access attributes, since this case is now captured by |
| Is_Local_Anonymous_Access. |
| (Analyze_Access_Attribute): Set Address_Taken on entity |
| (Analyze_Attribute, case Address): Set Address_Taken on entity |
| (OK_Self_Reference): Traverse tree to locate enclosing aggregate when |
| validating an access attribute whose prefix is a current instance. |
| (Resolve_Attribute): In case of attributes 'Code_Address and 'Address |
| applied to dispatching operations, if freezing is required then we set |
| the attribute Has_Delayed_Freeze in the prefix's entity. |
| (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in |
| current scope if access of local subprogram taken |
| (Analyze_Access_Attribute): Check legality of self-reference even if the |
| expression comes from source, as when a single component association in |
| an aggregate has a box association. |
| (Resolve_Attribute, case 'Access): Do not apply accessibility checks to |
| the prefix if it is a protected operation and the attribute is |
| Unrestricted_Access. |
| (Resolve_Attribute, case 'Access): Set the Etype of the attribute |
| reference to the base type of the context, to force a constraint check |
| when the context is an access subtype with an explicit constraint. |
| (Analyze_Attribute, case 'Class): If the prefix is an interface and the |
| node is rewritten as an interface conversion. leave unanalyzed after |
| resolution, to ensure that type checking against the context will take |
| place. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a |
| wrapper when the full view of the controlling type of an inherited |
| function that dispatches on result implements interfaces. |
| (Expand_N_Object_Declaration): In cases where the type of the |
| declaration is anonymous access, create finalization list for it. |
| (Expand_N_Object_Declaration): Generate a persistent_bss directive only |
| if the object has no explicit initialization, to match description of |
| functionality of pragam Persistent_BSS. |
| (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate): |
| new function to build static aggregates, to replace initialization call |
| when static initialization is desired. |
| (Freeze_Type): Generate a list controller for an access type whenever |
| its designated type has controlled anonymous access discriminants. |
| (Build_Equivalent_Aggregate): New procedure to compute a static |
| aggregate to be used as default initialization for composite types, |
| instead of a generating a call to the initialization procedure for the |
| type. |
| (Build_Initialization_Call): When available, replace a call to the |
| initialization procedure with a copy of the equivalent static aggregate |
| for the type. |
| (Expand_N_Object_Declaration): Use New_Occurrence_Of in generated |
| declarations for objects of a class-wide interface type, rather than |
| just identifiers, to prevent visibility problems. |
| (Expand_N_Object_Declaration): When expanding the declaration for an |
| object of a class-wide interface type, preserve the homonym chain of |
| the original entity before exchanging it with that of the generated |
| renaming declaration. |
| (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation |
| active, because there is no way to handle the exception. |
| (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT |
| to do a minimum decoration of the Access_Disp_Table list. |
| (Expand_Record_Controller): Avoid the addition of the controller between |
| the component containing the tag of a secondary dispatch table and its |
| adjacent component that stores the offset to the base of the object. |
| This latter component is only generated when the parent type has |
| discriminants ---documented in Add_Interface_Tag_Components). |
| (Apply_Array_Size_Check): Removed, no longer needed. |
| (Expand_N_Full_Type_Declaration): If the type has anonymous access |
| components, create a Master_Entity for it only if it contains tasks. |
| (Build_Init_Procedure): Suppress the tag assignment compiling under |
| no run-time mode. |
| (Freeze_Record_Type): Remove code associated with creation of dispatch |
| table. |
| (Init_Secondary_Tags): Update type of actuals when generating calls to |
| Ada.Tags.Set_Offset_To_Top |
| (Stream_Operation_OK): Disable use of streams compiling under no |
| run-time mode |
| (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization |
| if Has_Init_Expression set. |
| (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to |
| Register_Primitive, which provides the same functionality. |
| (Requires_Init_Proc): Return false in case of interface types. |
| (Add_Secondary_Tables): Use the new attribute Related_Interface to |
| cleanup the code. |
| (Predefined_Primitive_Freeze): Do not assume that an internal entity |
| is always associated with a predefined primitive because the internal |
| entities associated with interface types are not predefined primitives. |
| Therefore, the call to Is_Internal is replaced by a call to the |
| function Is_Predefined_Dispatching_Operation. |
| (Make_Eq_If): When generating the list of comparisons for the |
| components of a given variant, omit the controller component that is |
| present if the variant has controlled components. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to |
| handle the creation of finalization lists and calls for nested |
| coextensions when the root of the chains is part of a return statement. |
| (Inside_A_Return_Statement): New function inside Complete_Coextension_ |
| Finalization. |
| (Expand_Record_Equality): Skip components that are interface types. |
| (Displace_Allocator_Pointer): Add missing support for interface subtypes |
| (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant |
| with Rewrite_Coextension. Change the condition for detecting coextension |
| root nodes. |
| (Is_Local_Access_Discriminant): Removed. |
| (Rewrite_Coextension): New routine which rewrites a static coextension |
| as a temporary and uses its unrestricted access in the construction of |
| the outer object. |
| (Complete_Coextension_Finalization): New routine. Generate finalization |
| attachment calls to all delayed coextensions. |
| (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever |
| the allocator is not a coextension itself and has delayed coextensions. |
| If the current allocator is controlled, but also a coextension, delay |
| the generation of the finalization attachment call. |
| Rename local variable "Node" to "Nod" in order to avoid confusion with |
| "Elists.Node". |
| (Expand_Allocator_Expression): Call Adjust for initialized allocators of |
| limited types that are not inherently limited. Such an allocator is |
| illegal, but is generated by the expander for a return statement, to |
| copy the result onto the secondary stack. This is the only case where a |
| limited object can be copied. Generate code to displace the pointer |
| to the object if the qualified expression is a class-wide interface |
| object. Such displacement was missing and hence the copy of the object |
| was wrong. |
| (Apply_Accessibility_Check): Handle allocated objects initialized in |
| place. |
| (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator |
| and Expand_Allocator_Expression. Allocating class-wide interface objects |
| this routine displaces the pointer to the allocated object to reference |
| the component referencing the corresponding secondary dispatch table. |
| Expand_Allocator_Expression): Add missing support to allocate class-wide |
| interface objects initialized with a qualified expression. |
| (Get_Allocator_Final_List): Test for an anonymous access type that is a |
| function result type, and use the finalization list associated with the |
| function scope in that case (such an anonymous type should not be |
| treated like an access parameter's type). |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a |
| controlled type, use Make_Handler_For_Ctrl_Operation to construct the |
| required exception handler. |
| (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle |
| properly the case of a function whose return type is a limited |
| class-wide interface type. Modify the code of the accessibility |
| check to handle class-wide interface objects. In this case we need to |
| displace "this" to reference the primary dispatch table to get access |
| to the TSD of the object (to evaluate its accessibility level). |
| (Expand_N_Extended_Return_Statement): Test for a tagged result type |
| rather than a controlling result as one of the conditions for |
| generating tests of the implicit BIP_Alloc_Form formal. The |
| initialization assignment is also handled according to whether the |
| result is tagged instead of controlling. |
| In the case where the init assignment is inserted in the "then" part of |
| the allocation conditional, rewrite the target to be a dereference of |
| the implicit BIP_Object_Access formal. |
| If the returned value is unconstrained and created on the secondary |
| stack, mark the enclosing block and function so that the secondary |
| stack is not reclaimed on return. |
| Treat returns from functions with controlling results similarly to |
| returns from functions with unconstrained result subtypes. |
| If the object returned is unconstrained, and an allocator must be |
| created for it, analyze the allocator once the block for the extended |
| return is installed, to ensure that finalizable components |
| of the expression use the proper finalization list. Guard the call to |
| Move_Final_List with a check that there is something to finalize. |
| (Make_Tag_Ctrl_Assignment): Use "old" handling |
| of controlled type assignment for virtual machines, since new code uses |
| unsupported features (such as direct access to bytes in memory). |
| |
| 2007-06-06 Gary Dismukes <dismukes@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra |
| accessibility actual, check for the case of an aliased object that has |
| been rewritten as an Access attribute, and assign Prev to Prev_Orig so |
| we fall into processing for the attribute rather than the name of the |
| object. |
| (Expand_Inline_Call): If an actual is a literal, and the corresponding |
| formal has its address taken in the body, create a temporary to capture |
| value. If the return type is a limited interface, do not treat the |
| return value as Controlled. |
| (Is_In_Place_Function): If the return type is a limited interface, |
| treat as returning in place. The actual returned object may not always |
| be limited, but the caller has to assume that it is returned in place. |
| (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the |
| context of an allocator, use the correct finalization chain (that is, |
| the chain belonging to the access type, rather than the chain belonging |
| to the current scope). |
| (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged |
| result type rather than a controlling result as a precondition for |
| adding an allocation form actual to a build-in-place call. |
| (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto. |
| (Freeze_Subprogram): Code cleanup. Remove all the code that register the |
| primitive in the dispatch tables. This work is now done by Make_DT when |
| the type is frozen. |
| (Register_Predefined_DT_Entry): Removed. |
| (Add_Return): If end label is not present, use sloc of last statement |
| for generated return statement in procedure, for better gdb behavior |
| on expanded code. |
| (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the |
| object address nodes to ensure proper processing by routines like |
| Insert_After*. |
| (Expand_Call): Fix generation of validity check for parameter |
| (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing |
| the allocation form parameter if the result subtype is constrained, |
| except when the function has a controlling result. |
| (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type |
| rather than Is_Controlled and Has_Controlled_Component, since we want to |
| include class-wide result types in this treatment. Also test for a |
| controlling result, since that also requires passing a finalization |
| list. |
| (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_* |
| even when the result subtype is constrained, to handle calls involving |
| controlling results. |
| (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_* |
| is now called even when the result subtype is constrained, to handle |
| calls involving controlling results. |
| (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained |
| on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure |
| now performs the test). |
| (Make_Build_In_Place_Call_In_Object_Declaration): |
| Add_Alloc_Form_Actual_* is now called even when the result subtype is |
| constrained, to handle calls involving controlling results. |
| (Add_Return): Accomodate rewritten pattern from local raise to goto |
| transformation, so that we still recognize an transfer statement |
| and do the right thing here in that case. |
| (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start |
| and end of subprogram code. |
| (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing |
| support for primitives that are functions (without formals) with a |
| controlling result. |
| (Inherited_From_Formal): If the actual subtype has not generic parent |
| type, it is not an actual for a formal derived type, and there is no |
| operation to inherit from the formal. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of |
| inserted cleanup code appropriately for GDB use. |
| (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create |
| exception handler for Deep_Adjust or Deep_Finalize. |
| (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity |
| Raise_From_Controlled_Operation is available, use a call to that |
| subprogram instead of a plain "raise Program_Error" node to raise |
| Program_Error if an exception is propagated from an Adjust or Finalize |
| operation. |
| (Insert_Actions_In_Scope_Around): If the statement to be wrapped |
| appears in the optional statement list of a triggering alternative, the |
| scope actions can be inserted directly there, and not in the list that |
| includes the asynchronous select itself. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of |
| generated exception handler appropriately when debugging generated code. |
| Deal properly with No_Exception_Propagation restriction mode. |
| (Expand_N_Abort_Statement): Add an unchecked type conversion from |
| System.Address to System.Tasking.Task_Id when processing the result of |
| the predefined primitive _disp_get_task_id. |
| (Expand_N_Asynchronous_Select): Clarify comment. |
| (Expand_N_Protected_Type_Declaration): Minor code cleanup. |
| (Find_Parameter_Type): New routine inside Type_Conformant_Parameters. |
| (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup. |
| (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for |
| privals and for generated call to Complete_Entry_Body, for better gdb |
| behavior. |
| (Copy_Result_Type): Utility to construct a parameter and result profile |
| for protected functions whose return type is an anonymous access to |
| subprogram. |
| (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type): |
| call the above. |
| (Build_Task_Activation_Call): Insert Activate_Tasks call at proper |
| point when the local-raise-to-goto transformation has taken place. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Nicolas Setton <setton@adacore.com> |
| |
| * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its |
| functionality when the backend is generating code. |
| Otherwise any serious error |
| reported by the backend calling the frontend routine Error_Msg |
| changes the Compilation_Mode to Check_Semantics, disables the |
| functionality of this routine and causes the generation of |
| spureous additional errors. |
| |
| * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the |
| debugging information now generated by the compiler for fat-pointer |
| types. |
| Document the contents of DW_AT_producer in the GNAT Vendor extensions to |
| DWARF2/3. |
| Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram |
| (GARLIC_Support.Build_Subprogram_Receiving_Stubs, |
| PolyORB_Support.Build_Subprogram_Receiving_Stubs): |
| For a remote call to a function with a classwide return type, apply an |
| E.4(18) check to the returned value. |
| (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for |
| stream attributes of the designated type of an RACW, as they are not |
| dispatching primitive operations. |
| |
| 2007-06-06 Geert Bosch <bosch@adacore.com> |
| |
| * exp_fixd.adb (Integer_Literal): Add optional argument to construct a |
| negative literal |
| (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always |
| positive |
| (Do_Divide_Fixed_Universal): Handle case of negative Frac. |
| (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always |
| positive |
| (Do_Multiply_Fixed_Universal): Handle case of negative Frac. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| |
| * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this |
| attribute compiling package Ada.Tags under No_Run_Time_Mode. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| |
| * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for |
| deallocation of class-wide interface objects. |
| (Expand_Dispatching_Constructor_Call): Take into account that if the |
| result of the dispatching constructor is an interface type, the |
| function returns a class-wide interface type; otherwise the returned |
| object would be actual. The frontend previously accepted returning |
| interface types because Expand_Interface_Actuals silently performed |
| the management of the returned type "as if" it were a class-wide |
| interface type. |
| (Expand_Dispatching_Constructor_Call): Replace call to |
| Make_DT_Access_Action by direct call to Make_Function_Call. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to |
| compute masking constant, since we now set Esize properly to the |
| underlying size. |
| (Create_Packed_Array_Type): Set proper Esize value adjusted as required |
| to match the alignment. |
| (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for |
| packed arrays of 8 bits or less. |
| |
| * freeze.adb (Freeze_Entity): When freezing the formals of a |
| subprogram, freeze the designated type of a parameter of an access type |
| only if it is an access parameter. |
| Increase size of C convention enumeration object |
| (Freeze_Entity, array type case): Make sure Esize value is properly |
| adjusted for the alignment if it is known. |
| (Freeze_Entity, array type case): When checking bit packed arrays for |
| the size being incorrect, check RM_Size, not Esize. |
| (Freeze_Record_Type): Check for bad discriminated record convention |
| (In_Exp_Body): Return true if the body is generated for a subprogram |
| renaming, either an attribute renaming or a renaming as body. |
| (Check_Itype): If the designated type of an anonymous access component |
| is a non-protected subprogram type, indicate that it is frozen, to |
| prevent out-of-scope freeze node at some subsequent call. |
| (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism |
| only if the subprogram is neither imported nor exported, as well as the |
| NCA descriptor class if the subprogram is exported. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a |
| default initialization on an imported object, when there is no |
| initialization call generated for it. |
| (Expand_Pragma_Assert): Add handling of No_Exception_Propagation |
| restriction |
| |
| * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma |
| Static_Elaboration_Desired. |
| Remove pragma Thread_Body. |
| Implement a new pragma No_Body |
| Removes the Explicit_Overriding pragma |
| Remove Optional_Overriding pragma |
| (Prag): Deal with Universal_Aliasing. |
| (Name_CIL, Name_CIL_Constructor, Convention_CIL, |
| Pragma_CIL_Constructor): New names. |
| |
| * sem_cat.adb (Validate_Object_Declaration): An initialization that |
| uses the equivalent aggregate of a type must be treated as an implicit |
| initialization. |
| (Get_Categorization): Check a unit for pragma Preelaborate only if it |
| has none of the other categories. |
| (Process_Import_Or_Interface_Pragma): Report an error for an attempt |
| to apply Import to an object renaming declaration. |
| |
| * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported |
| from a C++ class should be declared as limited and that it will be |
| considererd limited. |
| (Analyze_Pragma): Warn that a type specified with pragma CPP_Class |
| should be declared as limited and that it will be considererd limited. |
| (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas |
| (Analyze_Pragma, case Export): Diagnose export of enumeration literal |
| (Analyze_Pragma): Deal with Universal_Aliasing. |
| (Sig_Flags): Likewise. |
| (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP. |
| (Overflow_Checks_Unsuppressed): New flag. |
| (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed. |
| (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in |
| case of JVM or .NET targets, and compiling user code. |
| Add debugging convenience routine rv |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that |
| are interface type. |
| (Build_Elementary_Input_Call): For floating-point use right type in the |
| absence of strange size or stream size clauses. |
| (Build_Elementary_Write_Call): Same fix |
| (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute |
| set to value that does not match base type size. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an |
| object of a limited type can be initialized with a call to a function |
| that returns in place. If the limited type has unknown discriminants, |
| and the underlying type is a constrained composite type, build an actual |
| subtype from the function call, as is done for private types. |
| (Side_Effect_Free): An expression that is the renaming of an object or |
| whose prefix is the renaming of a object, is not side-effect free |
| because it may be assigned through the renaming and its value must be |
| captured in a temporary. |
| (Has_Controlled_Coextensions): New routine. |
| (Expand_Subtype_From_Expr): Do nothing if type is a limited interface, |
| as is done for other limited types. |
| (Non_Limited_Designated_Type): new predicate. |
| (Make_CW_Equivalent_Type): Modified to handle class-wide interface |
| objects. |
| Remove all handling of with_type clauses. |
| |
| * par-ch10.adb: Remove all handling of with_type clauses. |
| |
| * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the |
| checksum if the main source could not be parsed. |
| (Loat_Unit): When processing a child unit, determine properly whether |
| the parent unit is a renaming when the parent is itself a child unit. |
| Remove handling of with_type clauses. |
| |
| * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function. |
| (Set_Is_Static_Coextension): New procedure. |
| (Has_Local_Raise): New function |
| (Set_Has_Local_Raise): New procedure |
| (Renaming_Exception): New field |
| (Has_Init_Expression): New flag |
| (Delay_Finalize_Attach): Remove because flag is obsolete. |
| (Set_Delay_Finalize_Attach): Remove because flag is obsolete. |
| Remove all handling of with_type clauses. |
| (Exception_Junk): Can now be set in N_Block_Statement |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * frontend.adb (Frontend): Return immediately if the main source could |
| not be parsed, because of preprocessing errors. |
| |
| * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully. |
| (Gnat1drv): Exit with errors if the main source could not be parsed, |
| because of preprocessing errors. |
| (Check_Rep_Info): New procedure |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * g-hesorg.ads, g-heasor.ads, |
| g-busorg.ads, g-bubsor.ads: Update documentation |
| GNAT.Heap/Bubble_Sort_G is now pure |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * g-catiio.ads, g-catiio.adb (Image): Check for null picture string |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * g-comlin.ads, g-comlin.adb: |
| Add new warning for renaming of function return objects |
| |
| * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size |
| (Tree_Read): Use size of object instead of type'object_size, since the |
| latter is incorrect for packed array types. |
| (Tree_Write): Same fix |
| |
| * opt.ads: Add new warning for renaming of function return objects |
| (Generating_Code): New boolean variable used to indicate that the |
| frontend as finished its work and has called the backend to process |
| the tree and generate the object file. |
| (GCC_Version): Is now private |
| (Static_Dispatch_Tables): New constant declaration. |
| (Overflow_Checks_Unsuppressed): New flag. |
| (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed. |
| (List_Closure): New flag for gnatbind (-R) |
| Zero_Formatting: New flag for gnatbind (-Z) |
| (Special_Exception_Package_Used): New flag. |
| (Warn_On_Unrepped_Components): New flag. |
| |
| * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed |
| unit is a compilation unit, rather than relying on its scope, so that |
| Standard can be renamed. |
| (Analyze_Object_Renaming): Add new warning for renaming of function |
| return objects. |
| Also reject attempt to rename function return object in Ada 83 mode. |
| (Attribute_Renaming): In case of tagged types, add the body of the |
| generated function to the freezing actions of the type. |
| (Find_Type): A protected type is visible right after the reserved word |
| "is" is encountered in its type declaration. Set the entity and type |
| rather than emitting an error message. |
| (New_Scope): Properly propagate Discard_Names to inner scopes |
| (Check_Nested_Access): New procedure. |
| (Has_Nested_Access, Set_Has_Nested_Access): New procedures. |
| (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access. |
| |
| * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning |
| Add new warning for renaming of function return objects |
| (Check_References): Suppress warnings for objects whose type or |
| base type has Warnings suppressed. |
| (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C |
| (Set_Warning_Switch): Include new -gnatwc in -gnatwa |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| Emmanuel Briot <briot@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the |
| absolute value of Header.Block_Size when displaying the freed physical |
| memory in traces. |
| (Allocate): Compute Storage_Address using Integer_Address, not |
| Storage_Offset, because the range of Storage_Offset may not be large |
| enough. |
| (Configure): New parameter Low_Level_Traces |
| (Allocate, Deallocation, Free_Physically): Added low-level traces |
| (Configure): new parameter Errors_To_Stdout. |
| (Output_File): new subprogram |
| (Deallocate, Dereference): Send error messages to the proper stream |
| (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as |
| documented. Previous code would send it to the current output file |
| defined in GNAT.IO, which might not be stdout |
| (Is_Valid): Adjust comment to mention that a positive reply means that |
| Header_Of may be used to retrieve the allocation header associated with |
| the subprogram Storage address argument. Return False early if this |
| address argument is misaligned. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept |
| switch -P |
| (ASIS_Main): New global variable |
| (Get_Closure): New procedure |
| (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat |
| check, metric or pretty. Call Get_Closure in this case. |
| (Check_Files): For GNAT LIST, check all sources of all projects when |
| All_Projects is True. |
| (GNATCmd): Accept -U for GNAT LIST |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK= |
| has been specified |
| Correct error message when invocation of the linker fails |
| Add explicit size clause for the C imported variables |
| Object_List_File_Supported and Using_GNU_Linker to emphasize that |
| we expect char size. |
| Read target parameters earlier, since this is needed to set |
| Target_VM properly. Also do not use -static/shared-libgcc for non GCC |
| targets. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: |
| Add 3 spaces before the default project directory when displaying |
| the project search path. |
| Add new command line switch '-l' to display license information. |
| |
| 2007-06-06 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * gmem.c: Add support for timestamps on memory operations. |
| |
| * memtrack.adb, gnatmem.adb: Add support for timestamps on memory |
| operations (not used currently, just foundation for future |
| enhancements). Add possibility to perform full dump of gmem.out file. |
| (Print_Back_Traces): Declare accesses to root arrays constants since |
| they aren't modified. |
| (Print_Back_Traces): allocate root arrays on the heap rather than stack. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * gnatsym.adb: Update Copyright notice |
| (Parse_Cmd_Line): Accept new switch -D |
| (Gnatsym): In Direct policy (switch -D) copy reference file to symbol |
| file. |
| |
| * prj.ads (Policy): New policy Direct |
| (Yes_No_Unknown): New enumeration type |
| (Project_Data): New component Libgnarl_Needed |
| |
| * prj-nmsc.adb (Check_For_Source): When recording a source file make |
| use the untouched pathname casing. |
| (Get_Directories): Ensure that the Display_Exec_Directory is using the |
| proper casing on non case-sensitive platforms like Windows. |
| (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s) |
| on all platforms, as it is not possible to know which one is allowed |
| before processing the project files. |
| (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is |
| specified when symbol policy is Direct. Check that when there is a |
| symbol file defined (either by default or with attribute |
| Library_Symbol_File) it is not the same as the reference symbol file. |
| (Check_Stand_Alone_Library): Recognize new symbol policy Direct. |
| (Look_For_Sources): Allow Locally_Removed_Files to be declare in non |
| extending projects. |
| (Record_Ada_Source): Record a source that has been locally removed in an |
| imported project. |
| |
| * symbols.ads (Policy): New policy Direct |
| |
| * symbols-vms.adb (Initialize): Take new policy Direct in case |
| statement |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory): |
| Correct obvious bug (return Dir; instead of return Directory;). |
| (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * g-pehage.adb (Produce): Open output files in Binary mode, so that |
| they have UNIX line endings (LF only) even on Windows, and thus pass |
| all GNAT style checks. |
| |
| 2007-06-06 Emmanuel Briot <briot@adacore.com> |
| |
| * g-regpat.adb (Quote): Fix improper quoting of '.' |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by |
| default, set False on a per-runtime basis. |
| (Need_Netdb_Buffer): New constant. |
| |
| * g-socket.ads, g-socket.adb: Import new package |
| GNAT.Sockets.Thin.Task_Safe_NetDB. |
| (Raise_Host_Error): Use Host_Error_Message from platform-specific thin |
| binding to obtain proper message. |
| (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close. |
| Replace various occurrences of Arry (Arry'First)'Address with the |
| equivalent Arry'Address (GNAT always follows implementation advice from |
| 13.3(14)). |
| (Get_Host_By_Address, Get_Host_By_Name, |
| Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock; |
| instead, rely on platform-specific task safe netdb operations provided |
| by g-socthi. |
| |
| * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal |
| parameter Process_Blocking_IO. |
| (Host_Error_Messages): Add stub body. |
| (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. |
| (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname, |
| Safe_Getservbyport): Move functions into new child package |
| Task_Safe_NetDB. |
| (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr, |
| Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines. |
| (In_Addr): Add alignment clause. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * g-trasym.ads, g-traceb.ads: Update list of supported targets |
| Add note about symbolic traceback |
| |
| 2007-06-06 Pascal Obry <obry@adacore.com> |
| |
| * hostparm.ads (Normalized_CWD): Use the host directory separator |
| instead of the hardcoded forward slash which is not the proper |
| character on Windows for example. |
| (Java_VM): Removed. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * a-clrefi.adb, a-clrefi.ads: New files |
| |
| * impunit.adb: Add s-os_lib in the list of user visible units. |
| (Non_Imp_File_Names_95): Add a-clrefi to this list |
| Remove obsolete run-time entries. |
| (Non_Imp_File_Names_05): Add Ada 2005 entries for: |
| "a-exetim" -- Ada.Execution_Time |
| "a-extiti" -- Ada.Execution_Time.Timers |
| |
| * mlib-prj.ads, mlib-prj.adb |
| (Build_Library): Use untouched object dir and library dir. At the |
| same time makes sure that the checks are done using the canonical |
| form. Removes hard-coded directory separator and use the proper host |
| one instead. |
| (Process_Project): Do not look in object directory to check if libgnarl |
| is needed for a library, if there is no object directory. |
| (Build_Library): Scan the ALI files to decide if libgnarl is needed for |
| linking. |
| (Build_Library): When invoking gnatbind, use a response file if the |
| total size of the arguments is too large. |
| |
| * Makefile.rtl: (g-sttsne): New object file. |
| Add entry for a-clrefi, s-utf_32, System.Exceptions |
| |
| * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o. |
| (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o. |
| (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o |
| Change g-string to s-string, g-os_lib to s-os_lib |
| Change all g-utf_32 references to s-utf_32 |
| |
| 2007-06-06 Tristan Gingold <gingold@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * init.c: Do not adjust IP of an imported VMS exception of ia64. |
| LIB$STOP is called to raise an exception and the IP of the exception |
| is the instruction right after the call. |
| (__gnat_adjust_context_for_raise, AIX): Implement. |
| (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call |
| adjust_context_for_raise before Raise_From_Signal_Hanler. |
| (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure |
| siginfo is passed to the handler, necessary to let the zcx propagation |
| engine unwind past it. |
| |
| 2007-06-06 Olivier Hainque <hainque@adacore.com> |
| |
| * initialize.c (__gnat_initialize for vxworks): Update documentation |
| on the ZCX support, using different sets of crtstuff objects than with |
| GCC 3.4. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package |
| spec from body |
| (Layout_Type): Fix recomputation of size from alignment. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Associations): Diagnose use of an others |
| association in an instance. |
| (Copy_Generic_Node): If the node is a string literal, no need to copy |
| its descendants. |
| (Is_Generic_Formal): For a formal subprogram, the declaration is the |
| grandparent of the entity. |
| (Analyze_Formal_Interface_Type): Transform into a full type declaration, |
| to simplify handling of formal interfaces that derive from other formal |
| interfaces. |
| (Instantiate_Subprogram_Body): The defining unit name of the body of |
| the instance should be a defining identifier. |
| (Install_Formal_Packages): make global to the package, for use in |
| instantiations of child units. |
| (Analyze_Package_Instantiation): Do not attempt to set information on an |
| enclosing master of an entry when expansion is disabled. |
| (Instantiate_Type): If the actual is a tagged synchronized type and the |
| generic ancestor is an interface, create a generic actual for the |
| corresponding record. |
| (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type |
| declaration, to ensure that the interface list is processed correctly. |
| (Inline_Instance_Body): If enclosing scope is an instance body, remove |
| its entities from visibiility as well. |
| (Pre_Analyze_Actuals): if the actual is an allocator with constraints |
| given with a named association, analyze the expression only, not the |
| discriminant association itself. |
| (Reset_Entity): If the analysis of a selected component is transformed |
| into an expanded name in the prefix of a call with parameters, do not |
| transform the original node into an expanded name, to prevent visibility |
| errors in the case of nested generics. |
| (Check_Private_View): For an array type, check whether the index types |
| may need exchanging. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java, |
| since both are separated. |
| Add support for imported CIL packages. |
| Add further special handling of "value_type" for CIL. |
| Add special handling of pragma Import for CIL. |
| |
| * make.ads, make.adb: When switch -eS is used, direct all outputs to |
| standard output instead of standard error, except errors. |
| (Absolute_Path): Use untouched casing for the parent directory. |
| (Add_Library_Search_Dir): Use the untouched directory name. |
| (Add_Source_Search_Dir): Idem. |
| (Change_To_Object_Directory): Update output to use proper casing. |
| (Create_Binder_Mapping_File): Use the untouched filename to set |
| ALI_Name. |
| (Gnatmake): Use untouched library and executable directory names. |
| (Insert_Project_Sources): Use untouched filename for spec and body. |
| (Is_In_Object_Directory): Use untouched object directory. |
| (Mark_Directory): Idem. |
| (Collect_Arguments_And_Compile): Ensure that Full_Source_File always |
| contains the non-canonical filename in all cases. |
| (Change_To_Object_Directory): In verbose mode, display the name of the |
| object directory we're changing to. |
| (Compile_Sources): Make sure, when a project file is used, to compile |
| the body of the unit, when there is one, even when only the spec is |
| recorded in an ALI file. |
| (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the |
| spec to the body. |
| (Report_Compilation_Failed): New procedure |
| (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg): |
| procedures moved from the spec to the body. |
| (Extract_Failure): Removed, not used |
| Replace explicit raises of exception Bind_Failed and Link_Failed with |
| calls to Make_Failed with the proper message. |
| Replace explicit raises of exception Compilation_Failed with calls to |
| procedure Report_Compilation_Failed. |
| (Initialize): Create mapping files unconditionally when using project |
| files. |
| |
| * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL, |
| Pragma_CIL_Constructor): New names. |
| |
| * targparm.ads, targparm.adb |
| (Compiler_System_Version): Removed, no longer used. |
| (Get_Target_Parameters): Relax checks on system.ads validity. Add |
| handling of two new system flags: JVM and CLI. |
| |
| 2007-06-06 Jose Ruiz <ruiz@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run |
| time, use the default s-interr body that provides interrupt support |
| based on signals. |
| (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of |
| a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b}, |
| g-soccon.ads, and s-taprop.adb for the marte run time. |
| (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and |
| timers are supported on marte. |
| (EH_MECHANISM for marte): Do not use ZCX. |
| (THREADSLIB for marte): Use -lmarte. |
| Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS |
| Add mlib-tgt-specific.o to gnatmake objects |
| mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no |
| longer of MLib.Tgt. |
| (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks |
| 6, either kernel or rtp, use a specialized version of s-osinte.ads. |
| |
| 2007-06-06 Pascal Obry <obry@adacore.com> |
| |
| * mkdir.c (__gnat_mkdir): Add support for UTF-8. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory |
| separator, use instead the proper host directory separator. |
| (Copy_ALI_Files): Make sure that an already existing ALI file in the |
| ALI copy dir is writable, before doing the copy. |
| |
| * mlib-utl.ads, mlib-utl.adb: |
| (Gcc): If length of command line is too long, put the list of object |
| files in a response file, if this is supported by the platform. |
| (Ar): If invocation of the archive builder is allowed to be done in |
| chunks and building it in one shot would go above an OS dependent |
| limit on the number of characters on the command line, build the archive |
| in chunks. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name |
| of specified object file is not equal to base name of source. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to |
| the full type declaration. |
| (Analyze_Component_Declaration): Add local variable E to capture the |
| initialization expression of the declaration. Replace the occurences of |
| Expression (N) with E. |
| (OK_For_Limited_Init_In_05): Allow initialization of class-wide |
| limited interface object with a function call. |
| (Array_Type_Declaration): If the declaration lacks subtype marks for |
| indices, create a simple index list to prevent cascaded errors. |
| (Is_Null_Extension): Ignore internal components created for secondary |
| tags when checking whether a record extension is a null extension. |
| (Check_Abstract_Interfaces): Add missing support for interface subtypes |
| and generic formals. |
| (Derived_Type_Declaration): Add missing support for interface subtypes |
| and generic formals. |
| (Analyze_Object_Declaration): If an initialization expression is |
| present, traverse its subtree and mark all allocators as static |
| coextensions. |
| (Add_Interface_Tag_Component): When looking for components that may be |
| secondary tags, ignore pragmas that can appear within a record |
| declaration. |
| (Check_Abstract_Overriding): an inherited function that dispatches on |
| result does not need to be overriden if the controlling type is a null |
| extension. |
| (Mentions_T): Handle properly a 'class attribute in an anonymous access |
| component declaration, when the prefix is an expanded name. |
| (Inherit_Component): If the derivation is for a private extension, |
| inherited components remain visible and their ekind should not be set |
| to Void. |
| (Find_Type_Of_Object): In the case of an access definition, always set |
| Is_Local_Anonymous_Access. We were previously not marking the anonymous |
| access type of a return object as a local anonymous type. |
| (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete |
| range with character literal bounds. |
| (Constrain_Array): Initialize the Packed_Array_Type field to Empty. |
| (Access_Subprogram_Declaration): Indicate that the type declaration |
| depends on an incomplete type only if the incomplete type is declared |
| in an open scope. |
| (Analyze_Subtype_Declaration): Handle properly subtypes of |
| synchronized types that are tagged, and that may appear as generic |
| actuals. |
| (Access_Subprogram_Declaration): An anonymous access to subprogram can |
| appear as an access discriminant in a private type declaration. |
| (Add_Interface_Tag_Components): Complete decoration of the component |
| containing the tag of a secondary dispatch table and the component |
| containing the offset to the base of the object (this latter component |
| is only generated when the parent type has discriminants --as documented |
| in this routine). |
| (Inherit_Components): Use the new decoration of the tag components to |
| improve the condition that avoids inheriting the components associated |
| with secondary tags of the parent. |
| (Build_Discriminanted_Subtype): Indicate to the backend that the |
| size of record types associated with dispatch tables is known at |
| compile time. |
| (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed. |
| (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface |
| to include task, protected, and synchronized interfaces as limited |
| interfaces. |
| (Process_Discriminants): Remove the setting of |
| Is_Local_Anonymous_Access on the type of (anonymous) access |
| discriminants of nonlimited types. |
| (Analyze_Interface_Type_Declaration): Complete the decoration of the |
| class-wide entity it is is already present. This situation occurs if |
| the limited-view has been previously built. |
| (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep |
| field. |
| (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute |
| Related_Interface. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components |
| of the type that specify the position of interface tags when the type |
| inherits discriminated array components from the parent type. |
| If a component is initialized with a box, check for the presence of a |
| default expression in its declaration before using its default |
| initialization procedure. |
| (Resolve_Record_Aggregate): If a component is box-initialized, and the |
| component type has a discriminants, create a partial aggregate for it |
| by copying the discriminants of the component subtype. |
| Reject attempt to initialize a discriminant with a box. |
| (Array_Aggr_Subtype): Indicate to the backend that the size of arrays |
| associated with dispatch tables is known at compile time. |
| (Get_Value): If an association in a record aggregate has a box |
| association, and the corresponding record component has a default |
| expression, always copy the default expression, even when the |
| association has a single choice, in order to create a proper |
| association for the expanded aggregate. |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * par-ch12.adb (P_Generic_Associations): The source position of an |
| Others association is that of the others keyword, not that of the token |
| that follows the box. |
| (P_Formal_Type_Definition): Handle formal access types that carry a |
| not null indicator. |
| |
| * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If |
| multiple identifier are present, save Scan_State before scanning the |
| colon, to ensure that separate trees are constructed for each |
| declaration. |
| (P_Identifier_Declarations): For object declaration, set new flag |
| Has_Init_Expression if initialization expression present. |
| (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL |
| Improve NOT NULL error messages |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch4.adb: (P_Name): Recover from literal used as name |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * prep.ads, prep.adb (Expression): New Boolean parameter Complemented, |
| defaulted to False. |
| In the "not" case, recursive call with Complemented set to True. |
| Do not allow "or" or "and" operators when Complemented is True. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * prj.adb (Project_Empty): Gives default value for new component |
| Libgnarl_Needed |
| |
| * prj-attr.ads: Minor reformatting |
| |
| * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object |
| directory using the untouched casing. |
| (For_All_Source_Dirs): Idem. |
| |
| * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record |
| directories specified with switches -aP. |
| (Add_Search_Project_Directory): New procedure |
| (Initialize_Project_Path): Put the directories in table |
| Search_Directories in the project search path. |
| (Initialize_Project_Path): For VMS, transform into canonical form the |
| project path. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return |
| true if configurable run-time or No_Run_Time is set. |
| (Set_Restriction): Avoid setting restriction No_Elaboration_Code when |
| processing an unit which is not the one being compiled. |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax. |
| Replace UC by Ada.UC |
| |
| * s-bitops.adb: Get rid of System.Pure_Exceptions. |
| Replace UC by Ada.UC |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * scng.adb: (Check_End_Of_Line): Deal with very long lines |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names |
| Remove no longer used nodes. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check |
| on obsolescent withed unit in case of limited-withed units. |
| (Analyze_Compilation_Unit): Add guard to code that removed an |
| instantiation from visibility, to prevent compiler aborts when |
| instantiation is abandoned early on. |
| (Install_Limited_Withed_Unit): Recognize a limited-with clause on the |
| current unit being analyzed, and Distinguish local incomplete types |
| from limited views of types declared elsewhere. |
| (Build_Limited_Views.Decorate_Tagged_Type): Add documentation |
| to state that the class-wide entity is shared by the limited-view |
| and the full-view. |
| (Analyze_With_Clause): Improve placement of flag for case of |
| unimplemented unit. |
| (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a |
| manner similar to GNAT.Current_Exception. This is a violation of |
| restriction (No_Exception_Propagation), and also inhibits the |
| optimization of local raise to goto. |
| (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed, |
| and if so set Most_Recent_Exception_Used flag in Opt, and also check |
| for violation of restriction No_Exception_Propagation. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the |
| use of entity Exception_Occurrence if it is not available in the |
| target run-time. |
| |
| * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When |
| concurrent types are declared within an Ada 2005 generic, build their |
| corresponding record types since they are needed for overriding-related |
| semantic checks. |
| (Analyze_Protected_Type): Rearrange and simplify code for testing that a |
| protected type does not implement a task interface or a nonlimited |
| interface. |
| (Analyze_Task_Type): Rearrange and simplify code for testing that a task |
| type does not implement a protected interface or a nonlimited interface. |
| (Single_Task_Declaration, Single_Protected_Declaration): use original |
| entity for variable declaration, to ensure that debugging information |
| is correcty generated. |
| (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander |
| routines if the expander is not active. |
| (Analyze_Task_Body): Mark all handlers to stop optimization of local |
| raise, since special things happen for task exception handlers. |
| |
| * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for |
| concurrent types declared within a generic. |
| (Check_Dispatching_Operation): Do not emit warning about late interface |
| operations in the context of an instance. |
| (Check_Dispatching_Call): Remove restriction against calling a |
| dispatching operation with a limited controlling result. |
| (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and |
| Register_Interface_DT_Entry by calls to Register_Primitive. |
| (Check_Dispatching_Formals): Handle properly a function with a |
| controlling access result. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size): |
| Check for restriction No_Implementation_Attributes if in Ada 95 mode. |
| (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available |
| (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error |
| message when using a VM, since this attribute is not supported. |
| (Analyze_Record_Representation_Clause): Give unrepped component warnings |
| |
| * usage.adb: Add new warning for renaming of function return objects |
| Indicate that -gnatwp and -gnatwP concern front-end inlining |
| Add line for -gnatyg |
| Add usage information for -gnatw.c/C |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb |
| (Find_Var): Do not consider function call in test for infinite loop |
| warning if warnings set off for function entity. |
| (One_Bound): Do not create a temporary for a loop bound if it is a |
| character literal. |
| (Analyze_Assignment): Traverse the right hand side of an assignment and |
| mark all allocators as static coextensions. |
| (Analyze_Assignment): Exempt assignments involving a dispatching call |
| to a function with a controlling access result from the check requiring |
| the target to be class-wide. |
| |
| 2007-06-06 Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the |
| chain of coextensions when an allocator serves as the root of such a |
| chain. |
| (Propagate_Coextensions): Remove the test for the root being an |
| allocator. |
| (Resolve_Allocator): Add condition to ensure that all future decoration |
| occurs on an allocator node. Add processing and cleanup for static |
| coextensions. |
| (Valid_Conversion): If the operand type is the limited view of a |
| class-wide type, use the non-limited view is available to determine |
| legality of operation. |
| (Ambiguous_Character): move to spec, for use elsewhere. |
| (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode |
| (Resolve_Range): Diagnose properly an ambiguous range whose bounds are |
| character literals. |
| (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting |
| Do_Division_Check flag explicitly. |
| (Resolve_Actuals): If the actual is of a synchronized type, and the |
| formal is of the corresponding record type, this is a call to a |
| primitive operation of the type, that is declared outside of the type; |
| the actual must be unchecked-converted to the type of the actual |
| (Resolve_Call): Kill all current values for any subprogram call if |
| flag Suppress_Value_Tracking_On_Call is set. |
| (Resolve_Type_Conversion): Generate error message the the operand |
| or target of interface conversions come from a limited view. |
| (Check_Infinite_Recursion): Ignore generated calls |
| (Check_Allocator_Discrim_Accessibility): New procedure for checking |
| that an expression that constrains an access discriminant in an |
| allocator does not denote an object with a deeper level than the |
| allocator's access type. |
| (Resolve_Allocator): In the case of an allocator initialized by an |
| aggregate of a discriminated type, check that associations for any |
| access discriminants satisfy accessibility requirements by calling |
| Check_Allocator_Discrim_Accessibility. |
| (Resolve_Equality_Op): Handle comparisons of anonymous access to |
| subprogram types in the same fashion as other anonymous access types. |
| (Resolve_Concatenation_Arg): Remove initial character '\' in an error |
| message that is not a continuation message. |
| (Resolve_Type_Conversion): Add missing support for conversion to |
| interface type. |
| (Resolve_Actuals): Introduce a transient scope around the call if an |
| actual is a call to a function returning a limited type, because the |
| resulting value must be finalized after the call. |
| (Resolve_Actuals): If the call was given in prefix notations, check |
| whether an implicit 'Access reference or implicit dereference must be |
| added to make the actual conform to the controlling formal. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body |
| (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit |
| overriding of an inherited private subprogram now there is no need to |
| inherit its dispatching slot and reduce the size of the dispatch table. |
| Set_All_DT_Position now ensures that the same slot is now assigned to |
| both entities. This is required to statically build the dispatch table. |
| (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need |
| of calling Set_All_DT_Position to re-evaluate the position of the |
| entries in the dispatch table. Such reevaluation is not desired if |
| the tagged type is already frozen. |
| |
| 2007-06-06 Hristian Kirtchev <kirtchev@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute |
| reference acts as an lvalue when the attribute name modifies the prefix |
| (Is_Coextension_Root): New routine. |
| (Mark_Static_Coextensions): New routine. |
| (Type_Access_Level): Revise code for checking the level of the |
| anonymous access type of a return object. |
| (Safe_To_Capture_Value): Not safe to capture if Address_Taken |
| (Matches_Prefixed_View_Profile): Remove the no longer necessary |
| retrieval of the corresponding controlling record type. |
| (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of |
| concurrent types declared within a generic as well as class wide types. |
| Emit a mode incompatibility error whenever a protected entry or routine |
| override an interface routine whose first parameter is not of mode |
| "out", "in out" or access to variable. |
| (Overrides_Synchronized_Primitive): Rename to |
| Find_Overridden_Synchronized_Primitive. |
| (Collect_Interface_Components): New subprogram that collects all the |
| components of a tagged record containing tags of secondary dispatch |
| tables. |
| (Add_Global_Declaration): New procedure |
| (Abstract_Interface_List): Handle properly the case of a subtype of a |
| private extension. |
| (Type_Access_Level): In the case of a type whose parent scope is a |
| return statement, call Type_Access_Level recursively on the enclosing |
| function's result type to determine the level of the return object's |
| type. |
| (Build_Elaboration_Entity): Build name of elaboration entity from the |
| scope chain of the entity, rather than the unit name of the file name. |
| (Check_Nested_Access): New procedure. |
| (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures. |
| (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access. |
| (Get_Renamed_Entity): Utility routine for performing common operation |
| of chasing the Renamed_Entity field of an entity. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on |
| elaboration model |
| (Check_A_Call): Add check for entry call which was causing blowup |
| |
| 2007-06-06 Olivier Hainque <hainque@adacore.com> |
| |
| * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add |
| special code on ia64-vms to handle major incompatibilities between the |
| GCC unwinding ABI and the VMS Condition Handling Facility, both calling |
| this routine with a very different set of arguments and expectations on |
| the return value. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * socket.c (__gnat_close_signalling_fd): New function. |
| (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname, |
| __gnat_safe_getservbyname, __gnat_safe_getservbyport): |
| New supporting functions for task safe Netdb operations. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * a-except-2005.ads, a-except-2005.adb |
| (Raise_From_Controlled_Operation): New procedure in |
| (private part of) Ada.Exceptions (standard runtime version). Used to |
| provide informational exception message when Program_Error is raised as |
| a result of an Adjust or Finalize operation propagating an exception. |
| (Rmsg_28): Fix description for E.4(18) check. |
| (Raise_Current_Excep): Call Debug_Raise_Exception just before |
| propagation starts, to let debuggers know about the event in a reliable |
| fashion. |
| Take the address of E and dereference to make sure it is homed on stack |
| and prevent the stores from being deleted, necessary for proper |
| debugger behavior on "break exception" hits. |
| (Local_Raise): Moved to System.Exceptions |
| |
| * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate |
| exception message from the current occurrence and raise Program_Error |
| has been moved to Ada.Exceptions.Raise_From_Controlled_Operation. |
| |
| 2007-06-06 Jose Ruiz <ruiz@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * s-taprob.adb (Unlock): Change the ceiling priority of the underlying |
| lock, if needed. |
| |
| * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling |
| priority associated to a lock. |
| |
| * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax |
| assertion to take into account case of no abort restriction. |
| (Initialize_Protection_Entries): Add initialization for the field |
| New_Ceiling associated to the protected object. |
| (Unlock_Entries): Change the ceiling priority of the underlying lock, if |
| needed. |
| |
| * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest, |
| since this function needs to be set consistently with Update_Exception. |
| |
| * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest, |
| since this function needs to be set consistently with Update_Exception. |
| |
| * s-taskin.ads: Update comments on |
| Interrupt_Server_Blocked_On_Event_Flag. |
| (Unbind_Handler): Fix handling of server_task wakeup |
| (Server_Task): Set self's state so that Unbind_Handler can take |
| appropriate actions. |
| (Common_ATCB): Now use a constant from System.Parameters to determine |
| the max size of the Task_Image field. |
| |
| * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the |
| Initialize_Analyzer function. |
| ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to |
| take into account case of no abort restriction. |
| ([Vulnerable_]Complete_Master): Modify assertion. |
| |
| * s-tataat.adb (Finalize): Use the nestable versions of |
| Defer/Undefer_Abort. |
| |
| * s-tpobop.adb (Protected_Entry_Call): Relax assertion. |
| |
| * s-tpobop.ads: Update comments. |
| |
| * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead |
| of locking the object manually, to avoid inconsistencies between |
| Lock/Unlock_Entry assertions. |
| |
| * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when |
| terminating |
| application and System.Parameters.No_Abort is True. |
| Update comments on Interrupt_Server_Blocked_On_Event_Flag. |
| (Unbind_Handler): Fix handling of server_task wakeup |
| (Server_Task): Set self's state so that Unbind_Handler can take |
| appropriate actions. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure |
| declarations instead of an explicit null body, for conciseness. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an |
| illegal aggregate and the type is still Any_Composite. |
| (Subtypes_Statically_Match): Fix problem of empty discriminant list |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, |
| to prevent subsequent expansion. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body |
| |
| 2007-06-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for |
| exceptions. |
| (Write_Itype): Handle case of string literal subtype, which |
| comes up in this context. |
| (Update_Itype): when debugging expanded code, update sloc of itypes |
| associated with defining_identifiers and ranges, for gdb use. |
| (Sprint_Node_Actual): Add static keyword to object or exception |
| declaration output if Is_Statically_Allocated is True. |
| (Sprint_End_Label): Set entity of end marker for a subprogram, package, |
| or task body, so that the tree carries the proper Sloc information for |
| debugging use. |
| (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes |
| |
| 2007-06-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-secsta.adb (Chunk): Ensure this object has a static size known at |
| compile time, to avoid dynamic memory allocation |
| (Elaboration code): Only use dynamic memory allocation when needed. |
| |
| 2007-06-06 Quentin Ochem <ochem@adacore.com> |
| |
| * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter |
| "Overflow_Guard". |
| (Stack_Analyzer): Added field "Overflow_Guard" |
| (Task_Result): Added field "Overflow_Guard". |
| (Index_Str): New constant. |
| (Task_Name_Str): New constant. |
| (Actual_Size_Str): New constant. |
| (Pattern_Array_Element_Size): New constant. |
| (Get_Usage_Range): New subprogram. |
| (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len. |
| Now align the output. |
| Added comments. |
| (Initialize): Added value for Overflow_Guard. |
| (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant. |
| Update the value of the overflow guard according to the actual |
| beginning of the pattern array. |
| (Initialize_Analyzer): Added parameter Overflow_Guard. |
| Take this parameter into accound when computing the max size. |
| (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant. |
| (Report_Result): Removed extra useless procedure. |
| Updated call to Output_Result. |
| Moved full computation of the Task_Result here. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * g-soccon-darwin.ads, gen-soccon.c: Add new constant |
| Thread_Blocking_IO, always True by default, set False on a per-runtime |
| basis. |
| Add Windows-specific constants |
| Add new constant Need_Netdb_Buffer. |
| Add new macros to indicate whether getXXXbyYYY is thread safe and, if |
| not, whether to use getXXXbyYYY_r. |
| |
| * gsocket.h: Add new constant Need_Netdb_Buffer. |
| Add new macros to indicate whether getXXXbyYYY is thread safe and, if |
| not, whether to use getXXXbyYYY_r. |
| |
| 2007-06-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier |
| than their first call. |
| Add type Dummy_Communication_Block used in the generation of the pre- |
| defined dispatching primitive _disp_asynchronous_select. |
| (Storage_Element): Put Pragma Universal_Aliasing on it. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean |
| function. |
| |
| * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive |
| letter if it is not followed by a '/' or a '\'. |
| (Windows): New Boolean function |
| |
| * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma |
| Ada 2005. |
| (Containing_Directory): On Windows, keep at least one '/' or '\' after a |
| drive letter. |
| (Containing_Directory): Raise Use_Error when the directory is a root |
| directory. |
| (Extension): When returning the result, use a conversion to Result_Type, |
| not a qualification. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure |
| (Set_Style_Check_Options): Recognize new -gnatyg style switch |
| |
| * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set |
| Warn_On_Non_Local_Exception to False, to turn off warnings for |
| No_Exception_Propagation in ZFP runtime. |
| (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC |
| back-ends. |
| (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * switch-b.adb (Scan_Binder_Switches): Add processing for new |
| switches -R and -Z |
| |
| * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E |
| (Scan_Make_Switches): Recognize new switch -aP |
| |
| 2007-06-06 Matthew Gingell <gingell@adacore.com> |
| Jose Ruiz <ruiz@adacore.com> |
| |
| * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the |
| VxWorks task descriptor in the Ada run time, call a C subprogram |
| (__gnat_get_stack_info) that extracts the required information. |
| |
| * sysdep.c: Back out temporary lynxos workaround. |
| (__gnat_get_stack_info): Add this procedure that passes to the Ada run |
| time the stack information associated to the currently executing task. |
| Only VxWorks systems require this function. |
| |
| 2007-06-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not |
| add the stack bias if the offset is computed from a frame address. |
| (__gnat_backtrace): Adjust for above change. |
| |
| 2007-06-06 Thomas Quinot <quinot@adacore.com> |
| |
| * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to |
| PE_Non_Transportable_Actual. |
| (By_Descriptor_Last): New constant. |
| (By_Copy_Return): Likewise. |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| |
| * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as |
| is. |
| |
| * vms_data.ads: Add entries for -gnatw.x and -gnatw.X |
| /STYLE_CHECKS=GNAT: Change meaning to -gnatyg |
| /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg |
| Add missing comment for /OPTIMIZE=SPACE |
| Add entry for OPTIMIZE=SPACE |
| Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST |
| Add documentation for new qualifiers corresponding to -gnatw.c/.C |
| |
| 2007-06-06 Vincent Celier <celier@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and |
| -gnatw.C) |
| |
| * gnat_ugn.texi: Fix ordering of -g switch for gnatmake |
| Document gnatbind switch -a |
| (case Constructions): Document that variables declarations are allowed |
| for previously declared variables. |
| Fix external lib project example |
| -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL |
| Indicate that "#if not X or Y then" is not allowed in input files to |
| gnatprep. |
| Document gnatw.x and gnatw.X warning flags |
| Mention -Winline switch to activate warnings when back-end inlining is |
| ineffective. |
| Add gnatcheck rule descriptions |
| Describe how to use the GNAT driver to call a tool on a closure. |
| Describe how to run project-wide checks or metrics. |
| Document gnatbind's -R option |
| Updated to account for Ada 2005 support |
| |
| * gnat_rm.texi (Case Construction): Allow variable declarations for |
| previously declared variables. |
| (Representation Clauses and Pragmas): Lift restriction on alignment |
| clauses for record types. |
| (Ada.Characters.*): Fix typo in reference to A.3.3(27). |
| Document No_Exception_Propagation restriction |
| Document No_Body pragma |
| Updated to account for Ada 2005 support; corrected some typos |
| (Implementation Defined Pragmas): Document pragma Universal_Aliasing. |
| |
| * gnat-style.texi: Make it clear that we never use mode IN for |
| procedures or functions |
| |
| * ug_words: Add entries for -gnatw.x and -gnatw.X |
| Add entries for -gnatw.c/.C |
| |
| 2007-06-06 Pascal Obry <obry@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * makegpr.adb (Add_Archive_Path): Use untouched object and library |
| dirs and library name. |
| (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate |
| comments. |
| (Build_Library): Idem. |
| (Compile_Individual_Sources): Idem. |
| (Compile_Link_With_Gnatmake): Idem. |
| (Compile_Sources): Idem. |
| (Get_Imported_Directories): Idem. |
| (Link_Executables): Idem. Same change for the executable dir. |
| (Check_Compilation_Needed): C_Source_Path new variable containing |
| the canonical form of Source_Path to check against the source names |
| in the dependency file. |
| (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In |
| verbose mode, display the name of the object directory we're changing |
| to. |
| (Saved_Switches): New name of table X_Switches |
| (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches |
| (Usage): New line for switch -aP |
| (Get_Imported_Directories.Add): Make sure that Add_Arg is True before |
| testing if a directory should be added to the search path. |
| |
| 2007-06-06 Javier Miranda <miranda@adacore.com> |
| |
| * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads, |
| a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object |
| declaration after freezing point of all its associated tagged types; |
| otherwise such types are frozen too early. |
| |
| 2007-06-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-reatim.adb: Documentation addition |
| |
| * g-cgideb.adb: Minor code reorganization |
| |
| * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb, |
| mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads, |
| s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting. |
| |
| * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete |
| function. Change name New_Scope to Push_Scope |
| (Get_Debug_Flag_K): Remove unused obsolete function. |
| |
| * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to |
| Push_Scope. |
| |
| * makeusg.adb: Update Copyright notice |
| Add line for switch -aP |
| |
| * makeusg.adb: Fix wording of some usage messages |
| |
| * s-assert.adb (Raise_Assert_Failure): Add call to |
| Debug_Raise_Assert_Failure. |
| |
| * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min |
| (2, Standard'Alignment) for compatibility with AAMP (where alignment |
| is restricted to 1). |
| |
| * s-wchjis.adb: Remove use of System.Pure_Exceptions |
| |
| * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the |
| node location to No_Location when we're not debugging the expanded |
| code. |
| |
| 2007-05-22 Alexandre Oliva <aoliva@redhat.com> |
| |
| * misc.c (enumerate_modes): Consider log2_b to always be one. |
| |
| 2007-05-14 Rafael Avila de Espindola <espindola@google.com> |
| |
| * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove. |
| |
| 2007-05-02 Pascal Obry <obry@adacore.com> |
| |
| * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation |
| to use Stream_IO.File_Type. This is needed to make use of the UTF-8 |
| encoding support of Stream_IO. |
| (Write_Unit): Idem. |
| |
| * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the |
| filename and corresponding encoding to match the OS requirement. |
| (__gnat_file_exists): Do not call __gnat_stat() on Windows as this |
| routine will fail on specific devices like CON: AUX: ... |
| |
| PR ada/29856: Add missing braces |
| |
| 2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| |
| PR ada/31660 |
| * ada-tree.h (lang_tree_node): Fix typo in chain_next. |
| |
| 2007-04-21 Jan Hubicka <jh@suse.cz> |
| |
| * misc.c (gnat_expand_body): Don't call target for destructors, |
| avoid redundant check on syntax errors. |
| |
| 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| |
| * ada-tree.h (lang_tree_node): Use GENERIC_NEXT |
| instead of checking GIMPLE_STMT_P in chain_next. |
| |
| 2007-04-17 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| PR ada/31576 |
| * system-linux-alpha.ads: Disable constant condition warning for the |
| Default_Bit_Order variable. |
| * system-linux-s390.ads: Likewise. |
| * system-linux-s390x.ads: Likewise. |
| * system-linux-sparc.ads: Likewise. |
| |
| 2007-04-06 Javier Miranda <miranda@adacore.com> |
| Matt Heaney <heaney@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, |
| a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads, |
| a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb, |
| a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads, |
| a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads, |
| a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads, |
| a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads, |
| a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads, |
| a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, |
| a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads, |
| a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads, |
| a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads, |
| a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads, |
| a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads, |
| a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads, |
| a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads, |
| a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads, |
| i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads, |
| unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads, |
| a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads, |
| a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads, |
| a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads, |
| expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads, |
| s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb, |
| s-taprop-tru64.adb, s-taprop-irix.adb, |
| s-taprop-hpux-dce.adb, s-traceb-hpux.adb, |
| s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb, |
| s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb, |
| s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb, |
| s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads, |
| a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb, |
| a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads, |
| g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads, |
| s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb, |
| s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads, |
| s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, |
| s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, |
| s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb, |
| s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb, |
| a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads, |
| a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads, |
| a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb, |
| a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, |
| a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads, |
| a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous |
| access types. |
| Update documentation. |
| Minor rewording. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| |
| * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, |
| system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads, |
| system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads, |
| system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads, |
| system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads, |
| system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, |
| system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, |
| system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads, |
| system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads, |
| system-hpux-ia64.ads, targparm.adb, |
| targparm.ads (Functions_Return_By_DSP_On_Target): Removed |
| |
| * system.ads: Move Functions_Return_By_DSP to obsolete section, |
| kept for bootstrap purposes only. |
| |
| 2007-04-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, |
| s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads, |
| s-taprop-posix.adb (Create_Task): Fix handling of Task_Info. |
| (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb |
| (Local_Raise): New dummy procedure called when a raise is converted |
| to a local goto. Used for debugger to detect that the exception |
| is raised. |
| |
| * debug.adb: Document new d.g flag (expand local raise statements to |
| gotos even if pragma Restriction (No_Exception_Propagation) is not set) |
| |
| * exp_sel.adb: Use Make_Implicit_Exception_Handler |
| |
| * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to |
| suppress warnings for unused handlers. |
| (Warn_If_No_Propagation): Use new flag -gnatw.x to suppress |
| warnings for raise statements not handled locally. |
| (Get_RT_Exception_Entity): New function |
| (Get_Local_Call_Entity): New function |
| (Find_Local_Handler): New function |
| (Warn_If_No_Propagation): New procedure |
| (Expand_At_End_Handler): Call Make_Implicit_Handler |
| (Expand_Exception_Handlers): Major additions to deal with local handlers |
| (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error, |
| Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling |
| for local raise |
| |
| * exp_ch11.ads (Get_RT_Exception_Entity): New function |
| (Get_Local_Call_Entity): New function |
| |
| * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list |
| of restrictions that the binder will never suggest adding. |
| |
| * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field |
| to No_Elist. |
| |
| * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not |
| be with'ed in the presence of pragma Restriction |
| (No_Exception_Propagation). |
| |
| * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes |
| |
| * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice |
| parameter, then the handler is not a suitable target for a local raise, |
| and this is a violation of restriction No_Exception_Propagation. |
| (Analyze_Handled_Statements): Analyze choice parameters in exception |
| handlers before analyzing statement sequence (needed for proper |
| detection of local raise statements). |
| (Analyze_Raise_Statement): Reraise statement is a violation of the |
| No_Exception_Propagation restriction. |
| |
| * s-rident.ads: Add new restriction No_Exception_Propagation |
| |
| * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New |
| function, like Make_Exception_Handler but sets Local_Raise_Statements |
| to No_List. |
| (Add_Unique_Serial_Number): Deal with case where this is called during |
| processing of configuration pragmas. |
| |
| 2007-04-06 Thomas Quinot <quinot@adacore.com> |
| Pat Rogers <rogers@adacore.com> |
| Pascal Obry <obry@adacore.com> |
| |
| * g-stsifd-sockets.adb: New file. |
| |
| * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb, |
| g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads, |
| g-socthi-vms.adb: Move signalling |
| fd management to a nested package, so that they can conveniently be |
| moved to a subunit that is shared across Windows, VMS, and VxWorks |
| (Ada implementation) or completed with imported bodies from socket.c |
| (UNIX case). |
| (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New |
| subprograms. |
| (Check_Selector): Use Read_Signalling_Fd to read and discard data from |
| the signalling file descriptor. |
| (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the |
| signalling file descriptor. |
| (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds |
| instead of creating a pair of sockets for signalling here. |
| |
| * g-socthi.adb: Ditto. |
| Set the runtime process to ignore SIGPIPEs on platforms that support |
| neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality. |
| |
| * g-socthi-mingw.adb: Ditto. |
| (WS_Version): Use Windows 2.2. |
| Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API. |
| |
| * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support. |
| Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API. |
| |
| * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb. |
| added GNAT byte swapping facility |
| Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6. |
| |
| * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files. |
| |
| * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd): |
| New subprograms. |
| (__gnat_create_signalling_fds): New subprogram. |
| Set the runtime process to ignore SIGPIPEs on platforms that support |
| neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality. |
| |
| 2007-04-06 Hristian Kirtchev <kirtchev@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb: |
| New version of Ada.Calendar which supports the new upper bound of Ada |
| time (2399-12-31 86_399.999999999). |
| The following modifications have been made to the package: |
| - New representation of time as count of nanoseconds since the start of |
| Ada time (1901-1-1 0.0). |
| - Target independent Split and Time_Of routines which service both |
| Ada 95 and Ada 2005 code. |
| - Target independent interface to the Ada 2005 children of Calendar. |
| - Integrated leap seconds into Ada 95 and Ada 2005 mode. |
| - Handling of non-leap centenial years. |
| - Updated clock function. |
| - Updated arithmetic and comparison operators. |
| |
| * a-caldel.adb (To_Duration): Add call to target independent routine in |
| Ada.Calendar to handle the conversion of time to duration. |
| |
| * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off |
| (UTC Offset). |
| If timezone is obviously incorrect (outside of -14 hours .. 14 hours), |
| set off to 0. |
| (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these |
| targets do not have a natural time zone, GMT is used as a default. |
| (__gnat_get_task_options): New. |
| |
| * a-direct.adb (Modification_Time): Add with and use clauses for |
| Ada.Calendar and Ada. |
| Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion |
| since it is no longer needed. |
| (Duration_To_Time): Removed. |
| (OS_Time_To_Long_Integer): Removed. |
| (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar. |
| Formatting Time_Of routines which automatically handle time zones, |
| buffer periods and leap seconds. |
| |
| * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to |
| target independent routines in Ada.Calendar. |
| |
| * a-calfor.ads, a-calfor.adb: |
| Code cleanup and addition of validity checks in various routines. |
| (Day_Of_Week, Split, Time_Of): Add call to target independent routine in |
| Ada.Calendar. |
| |
| * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target |
| independent routine in Ada.Calendar. |
| |
| 2007-04-06 Olivier Hainque <hainque@adacore.com> |
| |
| * adaint.c: |
| (convert_addresses): Adjust prototype and dummy definition to expect an |
| extra file_name argument. |
| |
| * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses, |
| filling the now expected file_name argument with the appropriate |
| argv[0] expansion. |
| (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it. |
| (tracebk): Array of void * instead of char *, corresponding to what |
| convert_addresses expects. |
| (exename): New static global, to hold the executable file name to be |
| used in all convert_addresses invocations. |
| (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type |
| change. |
| (__gnat_gmem_a2l_initialize): Resolve exename. |
| (__gnat_convert_addresses): Use exename as the convert_addresses |
| file_name argument. |
| |
| * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported |
| "convert_addresses", now expecting a filename argument. Import the |
| necessary entities to compute the filename to use and pass it to |
| convert_addresses. |
| |
| 2007-04-06 Matt Gingell <gingell@adacore.com> |
| |
| * system-aix.ads: Back out previous change. |
| (Functions_Return_By_DSP): Removed |
| |
| 2007-04-06 Pascal Obry <obry@adacore.com> |
| |
| * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one |
| or the monotonic used by Ada.Real_Time) to compute the sleep duration |
| on Windows. |
| |
| 2007-04-06 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this |
| function. Its value changes in different VxWorks versions, and it is |
| now handled by the function __gnat_get_task_options. |
| |
| * s-taprop-vxworks.adb (Create_Task): Call the function |
| __gnat_get_task_options to get the required options for creating a task. |
| |
| 2007-04-06 Pascal Obry <obry@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when |
| dealing with filename. |
| (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the |
| filename from a standard string to a wide-string depending on the |
| encoding value. |
| (__gnat_freopen): Idem. |
| (__gnat_current_time): New function (wrapper for time(3) standard C |
| function). |
| |
| * g-os_lib.ads (Current_Time): New function. Returns the current |
| system time as an OS_Time value. |
| |
| * s-osprim.ads (Clock): Add more precise definition of UNIX epoch. |
| (Monotonic_Clock): Same. |
| |
| 2007-04-06 Quentin Ochem <ochem@adacore.com> |
| |
| * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is |
| not on a natural. |
| (Scan_ALI): Cancel the xref line if there has been a reading ALI error. |
| |
| 2007-04-06 Jose Ruiz <ruiz@adacore.com> |
| |
| * a-retide.adb: Add elaboration code to ensure that the tasking run |
| time is initialized when using delay operations even when no task is |
| created. |
| |
| 2007-04-06 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove |
| component Num_Prim_Ops. |
| (Set_Num_Prim_Ops): Removed. |
| Remove all the assertions because all the routines of this |
| package are inline always. |
| (Get_Offset_Index): Add support to primary dispatch tables. |
| Move the documentation about the dispatch table to a-tags.ads |
| (Set_External_Tag): Removed |
| (Inherit_TSD): Removed. |
| (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations |
| moved to a-tags.ads |
| (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags, |
| Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences |
| of the TSD field "Table" because this field has been renamed to |
| "Ifaces_Table". |
| (Inherit_CPP_DT): Removed. |
| (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature, |
| Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These |
| declarations have been moved to a-tags.ads |
| (Check_Size): Removed. |
| (Expanded_Name): Updated to get access to the new field of TSD |
| containing the address of the expanded name. |
| (Get_Access_Level/Set_Access_Level): Removed. |
| (Get_Predefined_Prim_Op_Address): Removed. |
| (Set_Predefined_Prim_Op_Address): Removed. |
| (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed. |
| (Get_Remotely_Callable/Set_Remotely_Callable): Removed. |
| (Set_Expanded_Name): Removed. |
| (Inherit_DT): Removed. |
| (Inherit_CPP_DT): Removed. |
| (Set_RC_Offset): Removed. |
| (Set_TSD): Removed. |
| (Base_Address): New function that displaces "this" to point to the base |
| of the object (that is, to point to the primary tag of the object). |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an |
| anonymous access component, do not create a master_id if type already |
| has one, as may happen if the type is a subcomponent of a packed array |
| type. |
| (Build_Init_Procedure, Component_Needs_Simple_Initialization, |
| Initialize_Tag): Remove code associated with the old CPP pragmas. |
| CPP_Virtual and CPP_Vtable are no longer supported. |
| (Build_Offset_To_Top_Internal): Add support for concurrent record types |
| (Build_Offset_To_Top_Functions): Add support for concurrent record types |
| (Freeze_Record_Type): Remove call to |
| Init_Predefined_Interface_Primitives. |
| (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the |
| code required to initialize the tags of the secondary dispatch tables. |
| This leaves the algoritm more clear. |
| (Init_Secondary_Tags): Add support for concurrent record types |
| (Make_Predefined_Primitive_Specs): Code cleanup. |
| (Predefined_Primitive_Bodies): Code cleanup. |
| (Build_Master_Renaming): New local subprogram. |
| (Expand_N_Full_Type_Declaration): Build the master_id associated with |
| anonymous access to task type components. |
| (Expand_N_Subtype_Indication): The bounds of a range constraint in a |
| subtype indication are resolved during analysis, and must not be done |
| here. |
| (Stream_Operation_OK): Check Restriction_Active before RTE_Available. |
| |
| 2007-04-06 Geert Bosch <bosch@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing |
| for conversion of a Float_Type'Truncation to integer. |
| |
| * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to |
| check if a node is an attribute that can be handled directly by the |
| back end. |
| (Expand_N_Attribute_Reference): Suppress expansion of floating-point |
| attributes that can be handled directly by the back end. |
| (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access): |
| use new predicate Is_Access_Protected_Subprogram_Type. |
| (Expand_N_Attribute_Reference, case 'Write): The reference is legal for |
| and Unchecked_Union if it is generated as part of the default Output |
| procedure for a type with default discriminants. |
| (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls |
| if we are compiling under restriction No_Dispatching_Calls. |
| (Constrained): Use Underlying_Type, in case the type is private without |
| discriminants, but the full type has discriminants. |
| (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by |
| call to Build_Get_Access_Level. |
| (Expand_N_Attribute_Reference): The use of 'Address with class-wide |
| interface objects requires a call to the run-time subprogram that |
| returns the base address of the object. |
| (Valid_Conversion): Improve error message on illegal attempt to store |
| an anonymous access to subprogram value into a record component. |
| |
| * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access = |
| null". |
| (Simplify_Type_Conversion): New procedure that performs simplification |
| of Int_Type (Float_Type'Truncation (X)). |
| (Resolve_Type_Conversion): Call above procedure after resolving operand |
| and before performing checks. This replaces the existing ineffective |
| code in Exp_Ch4. |
| (Set_String_Literal_Subtype): When creating the internal static lower |
| bound subtype for a string literal, use a newly created copy of the |
| subtree representing the lower bound. |
| (Resolve_Call): Exclude build-in-place function calls from transient |
| scope treatment. Update comments to describe this exception. |
| (Resolve_Equality_Op): In case of dispatching call check violation of |
| restriction No_Dispatching_Calls. |
| (Resolve_Call): If the call returns an array, the context imposes the |
| component type of the array, and the function has one non-defaulted |
| parameter, rewrite the call as the indexing of a call with a single |
| parameter, to handle an Ada 2005 syntactic ambiguity for calls written |
| in prefix form. |
| (Resolve_Actuals): If an actual is an allocator for an access parameter, |
| the master of the created object is the innermost enclosing statement. |
| (Remove_Conversions): For a binary operator, check if type of second |
| formal is numeric, to check if an abstract interpretation is present |
| in the case of exponentiation as well. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When |
| copying a parameter list in a call, set properly the First_Named_Formal |
| and Next_Named_Formal fields in the new list and in the enclosing call. |
| (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten |
| names, to ease typing in the debugger. Improve comments. |
| (Watch_Node): New variable, intended to be set in the debugger. |
| (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on, |
| called when the watched node is created. |
| (New_Node_Debugging_Output): Combined version of local procedures |
| New_Node_Debugging_Output and New_Entity_Debugging_Output, now global, |
| with a parameter so that conditional breakpoints like "if Node = 12345" |
| work. |
| (New_Node, New_Entity): Call the global New_Node_Debugging_Output. |
| Add Elist1 function |
| |
| 2007-04-06 Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * checks.ads, checks.adb (Selected_Range_Checks): No range check is |
| required for a conversion between two access-to-unconstrained-array |
| types. |
| (Expr_Known_Valid): Validity checks do not apply to discriminants, but |
| to discriminant constraints on discriminant objects. This rule must |
| apply as well to discriminants of protected types in private components. |
| (Null_Exclusion_Static_Checks): If No_Initialization is set on an |
| object of a null-excluding access type then don't require the |
| the object declaration to have an expression and don't emit a |
| run-time check. |
| |
| 2007-04-06 Arnaud Charlet <charlet@adacore.com> |
| Eric Botcazou <botcazou@adacore.com> |
| |
| * gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type |
| and made constant. |
| |
| * comperr.ads, comperr.adb (Compiler_Abort): Add third parameter |
| Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't |
| carry any. |
| |
| * fe.h (Compiler_Abort): Add third parameter. |
| |
| * misc.c (internal_error_function): Build third argument from current |
| input location and pass it to Compiler_Abort. |
| |
| 2007-04-06 Gary Dismukes <dismukes@adacore.com> |
| |
| * cstand.adb (Create_Standard): When the target's storage unit size is |
| greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on |
| Standard_String. |
| |
| 2007-04-06 Nicolas Roche <roche@adacore.com> |
| |
| * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which |
| absolute path can have the following form: device:/a/b. In this case |
| '/' should be inserted between the path and the filename. |
| |
| 2007-04-06 Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <botcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external |
| VAR_DECL to a CONST_DECL we make for a public constant when we know the |
| corresponding definition has created the so made visible variable. |
| Handle anonymous access to protected subprogram. |
| (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an |
| object with an address clause volatile. Re-enable original fix. |
| <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type |
| too. |
| (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL |
| associated with either the Equivalent or Root type, instead of the |
| naked type node. |
| (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET |
| subtree for every field of a global record type. |
| (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has |
| discriminants, invoke again variable_size on its newly computed sizes. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function |
| (Next_Component_Or_Discriminant): New function and procedure |
| (First_Index, First_Literal, Master_Id, |
| Set_First_Index, Set_First_Literal, Set_Master_Id): |
| Add missing Ekind assertions. |
| (Is_Access_Protected_Subprogram_Type): New predicate. |
| (Has_RACW): New entity flag, set on package entities to indicate that |
| the package contains the declaration of a remote accecss-to-classwide |
| type. |
| (E_Return_Statement): This node type has the Finalization_Chain_Entity |
| attribute, in case the result type has controlled parts. |
| (Requires_Overriding): Add this new flag, because "requires |
| overriding" is subtly different from "is abstract" (see AI-228). |
| (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and |
| Is_Abstract_Type. Make sure these are called only when appropriate. |
| (Has_Pragma_Unreferenced_Objects): New flag |
| |
| * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is |
| class-wide, the tag of the right-hand side must be an exact match, not |
| an ancestor of that of the object on left-hand side. |
| (Move_Activation_Chain): New procedure to create the call to |
| System.Tasking.Stages.Move_Activation_Chain. |
| (Expand_N_Extended_Return_Statement): Generate code to call |
| System.Finalization_Implementation.Move_Final_List at the end of a |
| return statement if the function's result type has controlled parts. |
| Move asserts to Build_In_Place_Formal. |
| (Move_Final_List): New function to create the call statement. |
| (Expand_N_Assignment_Statement): In case of assignment to a class-wide |
| tagged type, replace generation of call to the run-time subprogram |
| CW_Membership by call to Build_CW_Membership. |
| (Expand_N_Return_Statement): Replace generation of call to the run-time |
| subprogram Get_Access_Level by call to Build_Get_Access_Level. |
| (Expand_N_Simple_Function_Return): Replace generation of call to the |
| run-time subprogram Get_Access_Level by call to Build_Get_Access_Level. |
| |
| * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate |
| Is_Access_Protected_Subprogram_Type, to handle both named and anonymous |
| access to protected operations. |
| (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the |
| master and chain actual parameters to a build-in-place function call |
| involving tasks. |
| (BIP_Formal_Suffix): Add new enumeration literals to complete the case |
| statement. |
| (Make_Build_In_Place_Call_In_Allocator, |
| Make_Build_In_Place_Call_In_Anonymous_Context, |
| Make_Build_In_Place_Call_In_Assignment, |
| Make_Build_In_Place_Call_In_Object_Declaration): Call |
| Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master. |
| (Expand_Inlined_Call): If the subprogram is a null procedure, or a |
| stubbed procedure with a null body, replace the call with a null |
| statement without using the full inlining machinery, for efficiency |
| and to avoid invalid values in source file table entries. |
| |
| * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for |
| renamings of calls to build-in-place functions. |
| |
| * rtsfind.adb (RTE_Record_Component_Available): New subprogram that |
| provides the functionality of RTE_Available to record components. |
| (RTU_Entity): The function Entity has been renamed to RTU_Entity |
| to avoid undesired overloading. |
| (Entity): New subprogram that returns the entity for the referened |
| unit. If this unit has not been loaded, it returns Empty. |
| (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities. |
| Remove no longer used entities. |
| (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities. |
| (RE_Type_Specific_Data): New entity. |
| (RE_Move_Any_Value): New entity. |
| (RE_TA_A, RE_Get_Any_Type): New entities. |
| (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count, |
| RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable, |
| RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added. |
| (Entity): New subprogram that returns the entity for the referened |
| unit. If this unit has not been loaded, it returns Empty. |
| (RTE): Addition of a new formal that extends the search to the scopes |
| of the record types found in the chain of the package. |
| |
| * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print |
| "abstract subprograms must be visible" message, whether or not the type |
| is an interface; that is, remove the special case for interface types. |
| (Analyze_Function_Return): Remove error message "return of task objects |
| is not yet implemented" because this is now implemented. |
| (Create_Extra_Formals): Add the extra master and activation chain |
| formals in case the result type has tasks. |
| Remove error message "return of limited controlled objects is not yet |
| implemented". |
| (Create_Extra_Formals): Add the extra caller's finalization list formal |
| in case the result type has controlled parts. |
| (Process_Formals): In case of access formal types there is no need |
| to continue with the analysis of the formals if we already notified |
| errors. |
| (Check_Overriding_Indicator): Add code to check overriding of predefined |
| operators. |
| (Create_Extra_Formals): Prevent creation of useless Extra_Constrained |
| flags for formals that do not require them,. |
| (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless |
| hidden entity is use visible or directly visible. |
| (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body, |
| Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification, |
| Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator, |
| New_Overloaded_Entity): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. |
| |
| * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move |
| a return statement's finalization list to the caller's list, used for |
| build-in-place functions with result type with controlled parts. |
| Remove no longer used entities. |
| |
| * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no |
| longer needed, because the full type is now limited, and therefore a |
| pass-by-reference type. |
| (Foreign_Task_Level): New constant. |
| |
| * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to |
| move tasks from the activation chain belonging to a return statement to |
| the one passed in by the caller, and update the master to the one |
| passed in by the caller. |
| (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master |
| of unactivated tasks, so we don't kill the ones that are being returned |
| by a build-in-place function. |
| (Create_Task): Ignore AI-280 for foreign threads. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * errout.adb (Unwind_Internal_Type): Use predicate |
| Is_Access__Protected_Subprogram_Type. |
| |
| * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant |
| (Freeze_Entity, packed array case): Do not override explicitly set |
| alignment and size clauses. |
| (Freeze_Entity): An entity declared in an outer scope can be frozen if |
| the enclosing subprogram is a child unit body that acts as a spec. |
| (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type. |
| (Freeze_Record_Type): New Ada 2005 processing for reverse bit order |
| Remove all code for DSP option |
| |
| * layout.adb (Layout_Record_Type): Use First/ |
| Next_Component_Or_Discriminant |
| (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type, |
| to handle properly the anonymous access case. |
| |
| * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type |
| for all access attributes, because overload resolution should work the |
| same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This |
| causes the error message for the ambiguous "X'Access = Y'Access" and |
| "X'Unrestricted_Access = Y'Access" and so forth to match. |
| (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type, |
| now that anonymous access to protected operations have their own kind. |
| (Resolve_Attribute): In case of dispatching call check the violation of |
| restriction No_Dispatching_Calls. |
| (Check_Array_Type): Check new -gnatyA array index style option |
| |
| * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an |
| attempt to derive from a synchronized tagged type. |
| (Analyze_Type_Declaration): If there is a incomplete tagged view of the |
| type, inherit the class-wide type already created, because it may |
| already have been used in a self-referential anonymous access component. |
| (Mentions_T): Recognize self-referential anonymous access components |
| that use (a subtype of) the class-wide type of the enclosing type. |
| (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass |
| Derived_Type for Prev formal on call to |
| Check_Anonymous_Access_Components rather than Empty. |
| (Make_Incomplete_Type_Declaration): Add test for case where the type has |
| a record extension in deciding whether to create a class-wide type, |
| rather than just checking Tagged_Present. |
| (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies |
| to stand-alone object declarations as well as component declarations. |
| (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to |
| prevent accidental overwriting when enclosing package appears in |
| a limited_with_clause. |
| (Array_Type_Declaration): If the component type is an anonymous access, |
| the associated_node for the itype is the type declaration itself. |
| (Add_Interface_Tag_Components): Modified to support concurrent |
| types with abstract interfaces. |
| (Check_Abstract_Interfaces): New subprogram that verifies the ARM |
| rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2). |
| (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration |
| to complete the decoration of synchronized interface types. Add also |
| a call to Check_Abstract_Interfaces to verify the ARM rules. |
| (Derive_Interface_Subprograms): Modified to support concurrent types |
| with abstract interfaces. |
| (Analyze_Subtype_Indication): Resolve the range with the given subtype |
| mark, rather than delaying the full resolution depending on context. |
| (Analyze_Component_Declaration,Analyze_Interface_Declaration, |
| Analyze_Object_Declaration,Analyze_Subtype_Declaration, |
| Array_Type_Declaration,Build_Derived_Record_Type, |
| Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion, |
| Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type, |
| Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are |
| called only when appropriate. |
| (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type |
| to private type. |
| (Analyze_Subtype_Declaration): For an access subtype declaration, create |
| an itype reference for the anonymous designated subtype, to prevent |
| scope anonmalies in gigi. |
| (Build_Itype_Reference): New utility, to simplify construction of such |
| references. |
| |
| 2007-04-06 Vincent Celier <celier@adacore.com> |
| |
| * errutil.adb (Initialize): Initialize warnings table, if all warnings |
| are suppressed, supply an initial dummy entry covering all possible |
| source locations. |
| |
| * make.adb (Scan_Make_Arg): Reject options that should start with "--" |
| and start with only one, such as "-RTS=none". |
| (Collect_Arguments): Do not check for sources outside of projects. |
| Do not collect arguments if project is externally built. |
| (Compile_Sources): Do nothing, not even check if the source is up to |
| date, if its project is externally built. |
| (Compile): When compiling a predefined source, add -gnatpg |
| as the second switch, after -c. |
| (Compile_Sources): Allow compilation of Annex J renames without -a |
| (Is_In_Object_Directory): Check if the ALI file is in the object |
| even if there is no project extension. |
| (Create_Binder_Mapping_File): Only put a unit in the mapping file for |
| gnatbind if the ALI file effectively exists. |
| (Initialize): Add the directory where gnatmake is invoked in front of |
| the path if it is invoked from a bin directory, even without directory |
| information, so that the correct GNAT tools will be used when spawned |
| without directory information. |
| |
| * makeusg.adb: Change switch -S to -eS |
| Add lines for new switches -we, -wn and -ws |
| Add line for new switch -p |
| |
| * prj-proc.adb (Process): Set Success to False when Warning_Mode is |
| Treat_As_Error and there are warnings. |
| |
| * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip |
| -gnatww Change gnatmake switch -S to -eS |
| (Scan_Make_Switches): Code reorganisation. Process separately multi |
| character switches and single character switches. |
| (Scan_Make_Switches): New Boolean out parameter Success. Set Success to |
| False when switch is not recognized by gnatmake. |
| (Scan_Make_Switches): Set Setup_Projects True when -p or |
| --create-missing-dirs is specified. |
| |
| * fname.adb (Is_Predefined_File_Name): Return True for annex J |
| renamings Calendar, Machine_Code, Unchecked_Conversion and |
| Unchecked_Deallocation only when Renamings_Included is True. |
| |
| * par.adb: Allow library units Calendar, Machine_Code, |
| Unchecked_Conversion and Unchecked_Deallocation to be recompiled even |
| when -gnatg is not specified. |
| (P_Interface_Type_Definition): Remove the formal Is_Synchronized because |
| there is no need to generate always a record_definition_node in case |
| of synchronized interface types. |
| (SIS_Entry_Active): Initialize global variable to False |
| (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to |
| indicate cases where AI-447 says "not null" is legal. |
| |
| * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function |
| |
| * makegpr.adb (Check_Compilation_Needed): Take into account dependency |
| files with with several lines starting with the object fileb name. |
| (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs |
| is specified. |
| (Initialize): Add the directory where gprmake is invoked in front of the |
| path, if it is invoked from a bin directory or with directory |
| information, so that the correct GNAT tools will be used when invoked |
| directly. |
| (Check_Compilation_Needed): Process correctly backslashes on Windows. |
| |
| * vms_data.ads: Update switches/qualifiers |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * exp_aggr.adb: |
| If the array component is a discriminated record, the array aggregate |
| is non-static even if the component is given by an aggregate with |
| static components. |
| (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant |
| (Convert_Aggr_In_Allocator): If the allocator is for an access |
| discriminant and the type is controlled. do not place on a finalization |
| list at this point. The proper list will be determined from the |
| enclosing object. |
| (Build_Record_Aggr_Code): If aggregate has box-initialized components, |
| initialize record controller if needed, before the components, to ensure |
| that they are properly finalized. |
| (Build_Record_Aggr_Code): For the case of an array component that has a |
| corresponding array aggregate in the record aggregate, perform sliding |
| if required. |
| |
| 2007-04-06 Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the |
| run-time subprogram Set_External_Tag by call to Build_Set_External_Tag. |
| |
| * exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time |
| accessibility on class-wide allocators if the allocator occurs at the |
| same scope level as the allocator's type. The check is guaranteed to |
| succeed in that case, even when the expression originates from a |
| parameter of the containing subprogram. |
| (Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling |
| under No_Dispatching_Calls restriction. During the semantic analysis |
| we already notified such violation. |
| (Tagged_Membership): Constant folding. There is no need to check |
| the tag at run-time if the type of the right operand is non |
| class-wide abstract. |
| Replace call to Is_Ancestor by call to Is_Parent |
| to support concurrent types with interface types. |
| (Expand_N_Allocator): Add an assertion associated with the generation |
| of the master_id. |
| (Expand_N_Slice): Do not enable range check to nodes associated |
| with the frontend expansion of the dispatch table. |
| (Is_Local_Access_Discriminant): Subsidiary function to |
| Expand_N_Allocator. |
| (Tagged_Membership): Replace generation of call to the run-time |
| subprogram CW_Membership by call to Build_CW_Membership. |
| (Expand_Allocator_Expression): Replace generation of call to the |
| run-time subprogram Get_Access_Level by call to Build_Get_Access_Level. |
| |
| * exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to |
| initialize most the TSD components by means of an aggregate. |
| Modify the declaration of the object containing the TSD |
| because we now expand code that has a higher level of abstraction. |
| The TSD has a discriminant containing the Inheritance Depth Level, |
| value that is used in the membership test but also to fix the size |
| of the table of ancestors. |
| (Expand_Interface_Conversion): Insert function body at the closest place |
| to the conversion expression, to prevent access-before-elaboration |
| errors in the backend. |
| Code improved to reduce the size of the dispatch table if |
| compiling under restriction No_Dispatching_Calls plus code cleanup. |
| Code reorganization plus removal of calls to Set_Num_Prim_Ops |
| (Make_Secondary_DT): Remove call to Set_Num_Prim_Ops. |
| (Expand_Dispatching_Call): Minor code reorganization plus addition of |
| code to return immediately if compiling under No_Dispatching_Calls |
| restriction. |
| (Set_All_DT_Position): Remove code associated with the old CPP pragmas. |
| CPP_Virtual and CPP_Vtable are no longer supported. |
| (Expand_Interface_Conversion): Add missing support for interface type |
| derivations. |
| (Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to |
| Is_Parent to support concurrent types with interfaces. |
| (Init_Predefined_Interface_Primitives): Removed. |
| (Make_Secondary_DT): Modified to support concurrent record types. |
| (Set_All_DT_Position): Modified to support concurrent record types. |
| (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated |
| with Get_External_Tag, Inherit_TSD, Set_External_Tag. |
| (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated |
| with CW_Membership. |
| (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated |
| with Get_Access_Level, Get_Predefined_Prim_Op_Address, |
| Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT, |
| Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address, |
| Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD. |
| (Expand_Dispatching_Call): Replace generation of call to the run-time |
| subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by |
| calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_ |
| Address. |
| (Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to |
| the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_ |
| Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and |
| Build_Set_Prim_Op_Address. |
| (Get_Remotely_Callable): Subprogram removed. |
| (Init_Predefined_Interface_Primitives): Replace generation of call to |
| the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_ |
| Prims. |
| |
| * sem_elab.adb (Set_Elaboration_Constraint): Replace the call to |
| First (Parameter_Associations ()) with the call to First_Actual that |
| returns an actual parameter expression for both named and positional |
| associations. |
| |
| * sem_disp.adb (Check_Dispatching_Call): In case of dispatching call |
| check violation of restriction No_Dispatching_Calls. |
| (Check_Controlling_Type): A formal of a tagged incomplete type is a |
| controlling argument. |
| |
| * exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use |
| First/Next_Component_Or_Discriminant |
| (Insert_Actions): Add entries for new N_Push and N_Pop nodes |
| (Find_Implemented_Interface): Removed. All the calls to this subprogram |
| specify Any_Limited_Interface, and this functionality is already |
| provided by the function Has_Abstract_Interfaces. |
| (Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to |
| support concurrent types implementing interfaces. |
| (Find_Implemented_Interface): Removed. All the calls to this subprogram |
| specify kind Any_Limited_Interface, and this functionality is already |
| provided by the function Has_Abstract_Interfaces. |
| (Remove_Side_Effects): replace Controlled_Type by |
| CW_Or_Controlled_Type whenever the issue is related to |
| using or not the secondary stack. |
| |
| * par-ch12.adb (P_Formal_Type_Definition): Update calls to |
| P_Interface_Type_Definition to fulfill the new interface (the formal |
| Is_Synchronized is no longer required). |
| |
| * Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o |
| Update dependencies. |
| |
| * exp_atag.ads, exp_atag.adb: New file |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Cyrille Comar <comar@adacore.com> |
| |
| * exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is |
| anonymous, use finalization list of enclosing dynamic scope. |
| (Expand_N_Package_Declaration): For a library package declaration |
| without a corresponding body, generate RACW subprogram bodies in the |
| spec (just as we do for the task activation call). |
| (Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and |
| Is_Abstract_Type. Make sure these are called only when appropriate. |
| Remove all code for DSP option |
| (CW_Or_Controlled_Type): new subprogram. |
| |
| 2007-04-06 Eric Botcazou <botcazou@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean |
| parameter. If it is set to true, return a result capped according to |
| the global upper bound for the index of an entry family. |
| (Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset |
| (Build_Find_Body_Index): Adjust for above change. |
| (Entry_Index_Expression): Likewise. |
| (Is_Potentially_Large_Family): New function extracted from... |
| (Collect_Entry_Families): ...here. Call it to detect whether the family |
| is potentially large. |
| (Build_Entry_Count_Expression): If the family is potentially large, call |
| Family_Size with 'Cap' set to true. |
| (Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate |
| a protected version of an operation declared in the private part of |
| a protected object, because they may be invoked through a callback. |
| (Set_Privals): If the type of a private component is an anonymous access |
| type, do not create a new itype for each protected body. |
| If the body of a protected operation creates |
| controlled types (including allocators for class-widetypes), the |
| body of the corresponding protected subprogram must include a |
| finalization list. |
| (Build_Activation_Chain_Entity): Build the chain entity for extended |
| return statements. |
| (Type_Conformant_Parameters): Use common predicate Conforming_Types |
| to determine whether operation overrides an inherited primitive. |
| (Build_Wrapper_Spec): Add code to examine the parents while looking |
| for a possible overriding candidate. |
| (Build_Simple_Entry_Call): Set No_Initialization on the object used to |
| hold an actual parameter value since its initialization is separated |
| from the the declaration. Prevents errors on null-excluding access |
| formals. |
| |
| 2007-04-06 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call): |
| Do an Unchecked_Conversion to handle the passage from the Underlying |
| Type to the Base Type when calling Build_To_Any_Call and |
| Build_From_Any_Call. |
| (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or |
| E_Constant, depending upon Variable formal. |
| (GARLIC_Support.Build_Subprogram_Receiving_Stubs, |
| PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal |
| parameter that requires an extra constrained parameter, declare |
| temporary for actual as a variable, not a constant. |
| (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when |
| the unit being compiled is the one that contains the stub type. |
| Change primitive operation name for the RACW associated with a RAS |
| from Call to _Call so it cannot clash with any legal identifier. |
| (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant |
| Is_RAS. |
| (Append_RACW_Bodies): New subprogram. |
| (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to |
| Add_Receiving_Stubs_To_Declarations functions. |
| When expanding a package body, this list correspond to the |
| statements in the HSS at the end of the pacakge. |
| When expanding a package spec, this list correspond to the |
| spec declarations. |
| (Add_Receiving_Stubs_To_Declarations): Append the function |
| registering the receiving stubs at the end of the 'Stmts' list. |
| (RCI_Package_Locator): Pass the new Version generic formal when |
| instantiating a RCI_Locator package. |
| (Build_From_Any_Function): To compute the High bound for an |
| unconstrained array actual, we add the Low bound with the length. |
| Thus we must convert the low bound and the length to an appropriate |
| type before doing the sum. |
| (Build_Subprogram_Receiving_Stubs, PolyORB): |
| * Retrieve the extra formals parameters at the |
| end of the parameter stream. |
| * Use Move_Any_Value to write back out parameters |
| after executing the request as it is more efficient |
| than Copy_Any_Value. |
| * Build the any containing Extra Formals with the |
| appropriate typecode. |
| (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an |
| empty Component_List. |
| (Build_Actual_Object_Declaration): New subprogram. Build and insert into |
| the tree the declaration for an object that serves as actual parameter |
| in server-side stubs. |
| (GARLIC_Support.Build_Subprogram_Receiving_Stubs, |
| PolyORB_Support.Build_Subprogram_Receiving_Stubs): |
| Use Build_Actual_Object_Declaration to prepare the actuals. |
| (Add_Parameter_To_NVList): Set the parameter mode to In for |
| Extra Constrained Parameters. |
| (Build_General_Calling_Stubs): Set the parameter type to boolean for |
| Extra Constrained parameters. |
| (Build_To_Any_Function, Build_From_Any_Function, |
| Built_TypeCode_Function): When Typ is implicit, call the correct |
| function with the first not implicit parent type. |
| (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element, |
| (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the |
| typecode from the Etype. Therefore we retrieve the correct typecode |
| with a call to Get_Any_Type. |
| (Copy_Specification): Do controlling formal type substitution based on |
| Is_Controlling_Formal flag, instead of caller-provided object type. |
| (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for |
| a RACW primitive operation, we might get a subprogram declaration for an |
| ancestor of the RACW designated type (not for the designated type |
| itself), in the case where this operation is inherited. In this case we |
| have no easy means of determining the original tagged type for which |
| the primitive was declared, so instead we now rely on |
| Copy_Specification to use the Is_Controlling_Formal flag to determine |
| which formals require type substitution. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_intr.adb (Expand_Exception_Call): Calls to subprograms in |
| GNAT.Current_Exception are not allowed if pragma Restrictions |
| (No_Exception_Propagation) is set and in any case make the associated |
| handler unsuitable as a target for a local raise statement. |
| (Expand_Dispatching_Constructor_Call): Replace generation of call to the |
| run-time subprogram CW_Membership by call to Build_CW_Membership. |
| (Expand_Dispatching_Constructor_Call): If the dispatching tag is given |
| by a function call, a temporary must be created before expanding the |
| Constructor_Call itself, to prevent out-of-order elaboration in the |
| back-end when stack checking is enabled.. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the |
| result are the bounds of the left operand, not the right. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_strm.adb |
| (Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use |
| discriminant defaults. |
| (Build_Record_Or_Elementary_Output_Procedure): Ditto. |
| (Make_Component_List_Attributes): Ditto. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat |
| an association with a box as providing a value even though the |
| initialization procedure for the type is not available. |
| (Resolve_Record_Aggregate): Check that a choice of an association with a |
| box corresponds to a component of the type. |
| (Resolve_Record_Aggregate): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. |
| |
| * exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for |
| assert. |
| |
| * inline.adb (Add_Inlined_Body): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are |
| called only when appropriate. |
| |
| 2007-04-06 Olivier Hainque <hainque@adacore.com> |
| |
| * g-alleve.ads (Low Level Vector type definitions): Map each to the |
| associated vector view instead of all to the unsigned char view. |
| |
| * g-altcon.adb (Generic_Conversions): New internal generic package, |
| offering facilities for all the Vector/View conversion routines |
| implemented by this unit. |
| (To_View/To_Vector - all versions): Reimplemented in a systematic |
| manner, using the internal Generic_Conversions facilities. |
| |
| 2007-04-06 Pascal Obry <obry@adacore.com> |
| |
| * g-arrspl.adb (Free) [Element_Access]: New routine to free the source |
| string. |
| (Create): Free the source string before storing the new one. |
| |
| 2007-04-06 Vincent Celier <celier@adacore.com> |
| |
| * g-debpoo.adb (Validity): New package with a complete new |
| implementation of subprograms Is_Valid and Set_Valid. |
| (Is_Valid): Move to local package Validity |
| (Set_Valid): Move to local package Validity |
| |
| 2007-04-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * g-expect.adb (Get_Command_Output): When expanding the output buffer |
| we must ensure that there is enough place for the new data we are going |
| to copy in. |
| |
| 2007-04-06 Thomas Quinot <quinot@adacore.com> |
| |
| * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding |
| computation. |
| |
| 2007-04-06 Jose Ruiz <ruiz@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (B_Start): Add prefix of binder generated file. |
| (Stack_String): Add this String that contains the name of the Stack |
| package in the project file. |
| (Packages_To_Check_By_Stack): Add this list that contains the packages |
| to be checked by gnatstack, which are the naming and the stack packages. |
| (Check_Files): If no .ci files were specified for gnatstack we add all |
| the .ci files belonging to the projects, including binder generated |
| files. |
| (Non_VMS_Usage): Document that gnatstack accept project file switches. |
| (GNATCmd): Update the B_Start variable if we are in a VMS environment. |
| Add gnatstack to the list of commands that use project file related |
| switches, and get the single attribute Switches from the stack package |
| in a project file when calling gnatstack. Parse the -U flag for |
| processing files belonging to all projects in the project tree. |
| Remove all processing for command Setup |
| |
| * prj-attr.adb: Add new package Stack with single attribute Switches |
| |
| * vms_conv.ads (Command_Type): Add command Stack. |
| Move to body declarations that are only used in the body: types Item_Id, |
| Translation_Type, Item_Ptr, Item and its subtypes. |
| |
| * vms_conv.adb: (Initialize): Add data for new command Stack. |
| Add declarations moved from the spec: types Item_Id, Translation_Type, |
| Item_Ptr, Item and its subtypes. |
| (Cargs_Buffer): New table |
| (Cargs): New Boolean global variable |
| (Process_Buffer): New procedure to create arguments |
| (Place): Put character in table Buffer or Cargs_Buffer depending on the |
| value of Cargs. |
| (Process_Argument): Set Cargs when processing qualifiers for GNAT |
| COMPILE |
| (VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not |
| empty, for table Cargs_Buffer. |
| (Initialize): Remove component Setup in Command_List |
| |
| 2007-04-06 Vincent Celier <celier@adacore.com> |
| |
| * gprep.adb (Process_Files.Process_One_File): Use full file name when |
| issuing pragma Source_Reference. |
| |
| 2007-04-06 Emmanuel Briot <briot@adacore.com> |
| |
| * g-regpat.adb (Parse_Posix_Character_Class): Fix handling of |
| [[:xdigit:]] character class. |
| Also raise an exception when an invalid character class is used. |
| |
| 2007-04-06 Pascal Obry <obry@adacore.com> |
| |
| * i-cstrea.ads: (fopen): Add encoding parameter. |
| (freopen): Idem. |
| Change reference from a-sysdep.c to sysdep.c in comment. |
| Update copyright notice. |
| This set of patch add support for the encoding form parameter. |
| |
| * mingw32.h (S2WSU): New macro to convert from a string to a |
| wide-string using the UTF-8 encoding. The S2WS macro supports now only |
| standard 8bits encoding. |
| (WS2SU): As above but converting from wide-sring to string. |
| This is needed as it is necessary to have access to both versions in the |
| runtime for the form parameter encoding support. |
| This set of patch add support for the encoding form parameter. |
| (S2WS): Improve implementation to handle cases where the filename is not |
| UTF-8 encoded. In this case we default to using the current code page |
| for the conversion. |
| |
| * s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration |
| type (UTF8, ASCII_8bits). This enumeration has a rep clause to match |
| the constants defined in adaint.h. |
| (fopen): Add encoding parameter. |
| (freopen): Idem. |
| |
| * s-ficobl.ads (AFCB): Add Encoding field to record the filename |
| encoding. This is needed for the Reset routine (freopen low level-call). |
| |
| * s-fileio.adb (Open): Decode encoding form parameter and set the |
| corresponding encoding value into AFCB structure. |
| (Reset): Pass the encoding value to freopen. |
| (Close): Move the call to Lock_Task to the beginning of the procedure. |
| |
| 2007-04-06 Geert Bosch <bosch@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * i-fortra.ads: Add Double_Complex type. |
| |
| * impunit.adb: (Is_Known_Unit): New function |
| Add Gnat.Byte_Swapping |
| Add GNAT.SHA1 |
| Add new Ada 2005 units |
| Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays, |
| Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays, |
| Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays, |
| Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays |
| |
| * impunit.ads (Is_Known_Unit): New function |
| |
| * a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb, |
| a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads, |
| a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb, |
| g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads, |
| s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, |
| s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads: |
| New files. |
| |
| * Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio |
| |
| * a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units. |
| |
| 2007-04-06 Eric Botcazou <botcazou@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except |
| __gnat_adjust_context_for_raise. |
| (__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same |
| implementation of floating point operations as native x86 targets. |
| So the FPU should be initialized in the same way using finit. Fix |
| floating point operations accuracy issues. |
| (__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction |
| member in struct sigaction, so as to avoid warning for incompatible |
| pointer types. |
| |
| 2007-04-06 Serguei Rybin <rybin@adacore.com> |
| |
| * lib.ads, lib.adb (Tree_Read): Release the memory occupied by the |
| switches from previously loaded tree |
| |
| 2007-04-06 Thomas Quinot <quinot@adacore.com> |
| |
| * lib-writ.adb (Write_With_Lines): Factor duplicated code between the |
| cases where a given dependency has a body or not. |
| (Write_With_File_Names): New subprogram, common code for the two cases |
| above. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * lib-xref.ads, lib-xref.adb: |
| Modify the loop that collects type references, to include interface |
| types that the type implements. List each of these interfaces when |
| building the entry for the type. |
| (Generate_Definition): Initialize component Def and Typ of new entry |
| in table Xrefs, to avoid to have these components unitialized. |
| (Output_References): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. |
| (Generate_Reference): Add barrier to do not generate the warning |
| associated with Ada 2005 entities with entities generated by the |
| expander. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation |
| Update 'Exception Handling Control' chapter which was outdated. |
| Minor fix to documentation of -gnatwq |
| Remove section "Adapting the Run Time to a New C++ Compiler" because |
| it is now obsolete. |
| Add passage on need of -nostart-files in some non-ada-main cases. |
| Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake |
| Update documentation about Interfacing with C++ |
| Add documentation for new gnatmake switch -p |
| Add missing protocol part in URLs. |
| Document -gnatyA |
| Document pragma Compile_Time_Error |
| Add documentation for Object_Size indicating that stand alone |
| objects can have a larger size in some cases. |
| Add node for GNAT.Byte_Swapping, GNAT.SHA1 |
| Update reference to the Ravenscar profile. |
| Document pragma Unreferenced_Objects |
| |
| * gnat-style.texi: Fix typo |
| |
| 2007-04-06 Vincent Celier <celier@adacore.com> |
| |
| * mlib.adb (Building_Library): Only output "building a library..." in |
| verbose mode |
| |
| * mlib-prj.adb (Build_Library): Only output lists of object and ALI |
| files in verbose mode. |
| |
| * mlib-utl.adb (Ar): Only output the first object files when not in |
| verbose mode. |
| (Gcc): Do not display all the object files if not in verbose mode, only |
| the first one. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| |
| * namet.ads, namet.adb (wn): Improve this debugging routine. Calling |
| it no longer destroys the contents of Name_Buffer or Name_Len and |
| non-standard and invalid names are handled better. |
| (Get_Decoded_Name_String): Improve performance by using |
| Name_Has_No_Encodings flag in the name table. |
| (Is_Valid_Name): New function to determine whether a Name_Id is valid. |
| Used for debugging printouts. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location |
| (P_Interface_Type_Definition): Remove the formal Is_Synchronized because |
| there is no need to generate always a record_definition_node in case |
| of synchronized interface types. |
| (P_Type_Declaration): Update calls to P_Interface_Type_Definition. |
| (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being |
| illegal in Ada 95, in cases where it is legal. Change the warnings to |
| errors in other cases. Don't give the error unless the "not null" |
| parses properly. Correct the source position at which the error occurs. |
| (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to |
| P_Null_Exclusion, to suppress "not null" warnings. |
| (P_Identifier_Declarations): Code cleanup. Removed unrequired label and |
| associated goto statements. |
| |
| * par-endh.adb (Pop_End_Context): Allow more flexibility in placement |
| of END RECORD |
| |
| * scans.ads (Type_Token_Location): New flag |
| |
| * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS |
| (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to |
| P_Null_Exclusion, to suppress "not null" warnings. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error |
| (Extensions_Allowed): No longer sets Ada_Version |
| Entry for pragma Unreferenced_Objects |
| |
| * sem_prag.adb (Analyze_Pragma, case Priority): Force with of |
| system.tasking if pragma priority used in a procedure |
| (Analyze_Pragma, case Warning): Handle dot warning switches |
| (Process_Compile_Time_Warning_Or_Error): New procedure |
| (Analyze_Pragma): Add processing for Compile_Time_Error |
| Add support for extra arguments External_Name and Link_Name. |
| Remove code associated with pragmas CPP_Virtual and CPP_Vtable. |
| (Process_Import_Or_Interface): Add support for the use of pragma Import |
| with tagged types. |
| (Extensions_Allowed): No longer affects Ada_Version |
| (Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and |
| Is_Abstract_Type. Make sure these are called only when appropriate. |
| Add processing for pragma Unreferenced_Objects |
| |
| * snames.h, snames.ads, snames.adb: Add entry for pragma |
| Compile_Time_Error |
| Add new standard name Minimum_Binder_Options for new gprmake |
| Add new standard names for gprmake: Archive_Suffix, |
| Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported, |
| Library_Support, Library_Version_Options, |
| Shared_Library_Minimum_Options, |
| Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported. |
| Change Name_Call to Name_uCall so that it cannot clash with a legal |
| subprogram name. |
| Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix |
| Append C_Plus_Plus to convention identifiers as synonym for CPP |
| Add new standard names Stack and Builder_Switches |
| Add new standard names: Compiler_Minimum_Options, Global_Config_File, |
| Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File, |
| Run_Path_Option, Toolchain_Version. |
| Entry for pragma Unreferenced_Objects |
| |
| * switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD |
| switches, without repetition of "eD". Make sure that last character of |
| -gnatep= switch is not taken as -gnat switch character. |
| Complete rewrite of circuit for handling saving compilation options |
| Occasioned by need to support dot switchs for -gnatw, but cleans up |
| things in general. |
| -gnatX does not affect Ada_Version |
| Include -gnatyA in -gnatg style switches |
| |
| * sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude |
| warnings on return objects. |
| (Warn_On_Useless_Assignment): Exclude warnings on return objects |
| (Set_Dot_Warning_Switch): New procedure |
| (Check_References): Add missing case of test for |
| Has_Pragma_Unreferenced_Objects |
| (Output_Unreferenced_Messages): Implement effect of new pragma |
| Unreferenced_Objects, remove special casing of limited controlled |
| variables. |
| |
| 2007-04-06 Vincent Celier <celier@adacore.com> |
| |
| * prj-ext.adb (Initialize_Project_Path): New procedure that initialize |
| the default project path, initially done during elaboration of the |
| package. |
| If the prefix returned by Sdefault is null, get the prefix from a call |
| to Executable_Prefix_Path. |
| (Project_Path): Call Initialize_Project_Path if Current_Project_Path is |
| null. |
| |
| * prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non |
| canonical directory name to open the directory from which files are |
| retrieved. |
| (Record_Other_Sources): Idem. |
| (Locate_Directory): Add the possibility to create automatically missing |
| directories when Setup_Projects is True. |
| Call Locate_Directory so that the directory will be created when |
| Setup_Projects is True, for object dir, library dir, library ALI dir, |
| library source copy dir and exec dir. |
| |
| * prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older |
| versions of GNAT. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): |
| Use First/Next_Component_Or_Discriminant |
| (Analyze_Record_Representation_Clause): |
| Use First/Next_Component_Or_Discriminant |
| (Check_Component_Overlap): Use First/Next_Component_Or_Discriminant |
| (Analyze_Attribute_Definition_Clause, case Value_Size): Reject |
| definition if type is unconstrained. |
| (Adjust_Record_For_Reverse_Bit_Order): New procedure |
| (Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. |
| (Adjust_Record_For_Reverse_Bit_Order): New procedure |
| |
| * repinfo.adb (List_Record_Info): Use First/ |
| Next_Component_Or_Discriminant. |
| |
| * style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index): |
| New procedure. |
| |
| * stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch |
| Include -gnatyA in default switches |
| |
| * opt.ads: (Warn_On_Non_Local_Exception): New flag |
| (Warn_On_Reverse_Bit_Order): New flag |
| (Extensions_Allowed): Update the documentation. |
| (Warn_On_Questionable_Missing_Parens): Now on by default |
| |
| * usage.adb: Add documentation of -gnatw.x/X switches |
| Document new -gnatyA style switch |
| -gnatq warnings are on by default |
| |
| 2007-04-06 Ed Falis <falis@adacore.com> |
| |
| * s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last |
| full word is no longer compared twice. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Install_Limited_Context_Clauses. |
| Expand_Limited_With_Clause): Use a new copy of selector name in the |
| call to Make_With_Clause. This fixes the tree structure for ASIS |
| purposes. Nothing is changed in the compiler behaviour. |
| (Process_Body_Clauses): Handle properly use clauses whose prefix is |
| a package renaming. |
| (Install_Limited_With_Clauses): Do not install non-limited view when it |
| is still incomplete. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual |
| when capturing size information, instead of base type, which for a |
| formal array type will be the unconstrained type. |
| (Analyze_Formal_Object_Declaration): Add check for illegal default |
| expressions for a formal in object of a limited type. |
| (Instantiate_Object): Ditto. |
| (Check_Formal_Package_Instance): Skip entities that are formal objects, |
| because they were defaulted in the formal package and no check applies |
| to them. |
| (Check_Formal_Package_Instance): Extend conformance check to other |
| discrete types beyond Integer. |
| (Process_Default): Copy directly the unmatched formal. A generic copy |
| has already been performed in Analyze_Formal_Package. |
| (Analyze_Associations): If a formal subprogram has no match, check for |
| partial parametrization before looking for a default, to prevent |
| spurious errors. |
| (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do |
| not set the instantiation environment before analyzing the actuals. |
| Fixes regression on 8515-003 with implementation of AI-133. |
| Set_Instance_Env checks whether the generic unit is a predefined |
| unit, in which case the instance must be analyzed with the latest Ada |
| mode. This setting must take place after analysis of the actuals, |
| because the actuals must be analyzed and frozen in the Ada mode extant |
| outside of the current instantiation. |
| (Save_Env, Restore_Env): Preserve and restore the configuration |
| parameters so that predefined units can be compiled in the proper Ada |
| mode. |
| (Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram, |
| Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram |
| and Is_Abstract_Type. |
| (Analyze_Formal_Package): For better error recovery, Add exception |
| handler to catch Instantion_Error, which can be raised in |
| Analyze_Associations |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch4.adb (Try_Primitive_Operation): The call is legal if the |
| prefix type is a discriminated subtype of the type of the formal. |
| (Analyze_Allocator): Collect all coextensions regardless of the context. |
| Whether they can be allocated statically is determined in exp_ch4. |
| (Analyze_Selected_Component): If the prefix is a limited view and the |
| non-limited view is available, use the non-limited one. |
| (Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and |
| therefore illegal), suggest a qualified expression rather than a type |
| conversion, because a type conversion would be illegal in this context. |
| (Anayze_Allocator): Trace recursively all nested allocators so that all |
| coextensions are on the corresponding list for the root. Do no mark |
| coextensions if the root allocator is within a declaration for a stack- |
| allocated object, because the access discriminants will be allocated on |
| the stack as well. |
| (Analyze_Call): Remove restriction on calls to limited functions for the |
| cases of generic actuals for formal objects, defaults for formal objects |
| and defaults for record components. |
| (Analyze_Allocator): Before analysis, chain coextensions on the proper |
| element list. Their expansion is delayed until the enclosing allocator |
| is processed and its finalization list constructed. |
| (Try_Primitive_Operation): If the prefix is a concurrent type, looks |
| for an operation with the given name among the primitive operations of |
| the corresponding record type. |
| (Analyze_Selected_Component): If the prefix is a task type that |
| implements an interface, and there is no entry with the given name, |
| check whether there is another primitive operation (e.g. a function) |
| with that name. |
| (Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle |
| properly the indexing of a function call written in prefix form, where |
| the function returns an array type, and all parameters of the function |
| except the first have defaults. |
| (Analyze_Equality_Op): If this is a call to an implicit inequality, keep |
| the original operands, rather than relocating them, for efficiency and |
| to work properly when an operand is overloaded. |
| (Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split |
| Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type. |
| (Analyze_Selected_Component): If the prefix is a private extension, only |
| scan the visible components, not those of the full view. |
| (Try_Primitive_Operation): If the operation is a procedure, collect all |
| possible interpretations, as for a function, because in the presence of |
| classwide parameters several primitive operations of the type can match |
| the given arguments. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a |
| tag-indeterminate call to an abstract function, when the left-hand side |
| is not classwide. |
| (Analyze_Loop_Statement): Improve detection of infinite loops |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move |
| out of Analyze_Package_Declaration, because processing must be applied |
| to package bodies as well, for deferred constants completed by pragmas. |
| (Analyze_Package_Declaration): When the package declaration being |
| analyzed does not require an explicit body, call Check_Completion. |
| (May_Need_Implicit_Body): An implicit body is required when a package |
| spec contains the declaration of a remote access-to-classwide type. |
| (Analyze_Package_Body): If the package contains RACWs, append the |
| pending subprogram bodies generated by exp_dist at the end of the body. |
| (New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. |
| (Preserve_Full_Attributes): The full entity list is not an attribute |
| that must be preserved from full to partial view. |
| |
| * sem_dist.adb (Add_RAS_Dereference_TSS): |
| Change primitive name to _Call so it cannot clash with any legal |
| identifier, and be special-cased in Check_Completion. |
| Mark the full view of the designated type for the RACW associated with |
| a RAS as Comes_From_Source to get proper view switching when installing |
| private declarations. |
| Provite a placeholder nested package body along with the nested spec |
| to have a place for Append_RACW_Bodies to generate the calling stubs |
| and stream attributes. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch8.adb (Has_Components): If the argument is an incomplete type |
| that is a limited view, check the non-limited view if available. |
| (Undefined): Refine error message for missing with of Text_IO |
| (Find_Expanded_Name): Use Is_Known_Unit for more accurate error message |
| to distinguish real missing with cases. |
| Fix format of all missing with messages |
| (Analyze_Subprogram_Renaming): Emit proper error message on illegal |
| renaming as body when renamed entity is abstract. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make |
| predicate recursive, to handle complex expressions on literals whose |
| spurious ambiguity comes from the abstract interpretation of some |
| subexpression. |
| (Interface_Present_In_Ancestor): Add support to concurrent record |
| types. |
| (Add_One_Interp,Disambiguate): Split Is_Abstract flag into |
| Is_Abstract_Subprogram and Is_Abstract_Type. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a |
| dereference of a local object R created as a reference to another |
| object O, use the access level of O. |
| (Matches_Prefixed_View_Profile): Use common predicate Conforming_Types, |
| rather than local Same_Formal_Type, to check whether protected operation |
| overrides an inherited one. |
| (Same_Formal_Type): New predicate, used when matching signatures of |
| overriding synchronized operations, to handle the case when a formal |
| has a type that is a generic actual. |
| (Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by |
| predicate Is_Concurrent_Type. This ensures supportin case of subtypes. |
| (Needs_One_Actual): New predicate, for Ada 2005 use, to resolve |
| syntactic ambiguities involving indexing of function calls that return |
| arrays. |
| (Abstract_Interface_List): New subprogram that returns the list of |
| abstract interfaces associated with a concurrent type or a |
| concurrent record type. |
| (Interface_Present_In_Parent): New subprogram used to check if a |
| given type or some of its parents implement a given interface. |
| (Collect_Abstract_Interfaces): Add support for concurrent types |
| with interface types. |
| (Has_Abstract_Interfaces): Add support for concurrent types with |
| interface types. |
| (Is_Parent): New subprogram that determines whether E1 is a parent |
| of E2. For a concurrent type its parent is the first element of its |
| list of interface types; for other types this function provides the |
| same result than Is_Ancestor. |
| (Enclosing_Subprogram): Add test for N_Extended_Return_Statement. |
| (Collect_Synchronized_Interfaces): Removed because the subprogram |
| Collect_Abstract_Interfaces provides this functionality. |
| (Collect_Abstract_Interfaces): Minor update to give support to |
| concurrent types and thus avoid undesired code duplication. |
| (Get_Subprogram_Entity): Handle entry calls. |
| (May_Be_Lvalue): Include actuals that appear as in-out parameters in |
| entry calls. |
| (Enter_Name): Do not give -gnatwh hiding warning for record component |
| entities, they never result in hiding. |
| |
| 2007-04-06 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators, |
| to chain nested components that are allocators for access discriminants |
| of the enclosing object. |
| Add N_Push and N_Pop nodes |
| New field Exception_Label added |
| (Local_Raise_Statements): New field in N_Exception_Handler_Node |
| (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node |
| (Is_Coextension): New flag for allocators, to mark allocators that |
| correspond to access discriminants of dynamically allocated objects. |
| (N_Block_Statement): Document the fact that the corresponding entity |
| can be an E_Return_Statement. |
| (Is_Coextension): New flag for allocators. |
| Remove all code for DSP option |
| |
| * sprint.ads, sprint.adb: Display basic information for class_wide |
| subtypes. Add handling of N_Push and N_Pop nodes |
| |
| 2007-04-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion |
| before propagating exception. |
| |
| 2007-04-06 Olivier Hainque <hainque@adacore.com> |
| |
| * tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield |
| an address always within the call instruction from a return address. |
| |
| 2007-04-06 Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <botcazou@adacore.com> |
| |
| * trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an |
| expression with a COMPOUND_EXPR including the call instead of emitting |
| the call directly here. |
| (gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the |
| high bound is constant and the slice is empty. Tidy. |
| (tree_transform, case N_Op_Not): Handle properly the case where the |
| operation applies to a private type whose full view is a modular type. |
| (Case_Statement_To_gnu): If an alternative is an E_Constant with an |
| Address_Clause, use the associated Expression as the GNAT tree |
| representing the choice value to ensure the corresponding GCC tree is |
| of the proper kind. |
| (maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole |
| instead of just the operands, as the base GCC stabilize_reference does. |
| <CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not |
| requested; otherwise fail. |
| (addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P. |
| |
| 2007-04-06 Thomas Quinot <quinot@adacore.com> |
| |
| * uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous |
| implementation of UI_Div. |
| (UI_Div): Reimplement as a call to UI_Div_Rem. |
| (UI_Rem): Take advantage of the fact that UI_Div_Rem provides the |
| remainder, avoiding the cost of a multiplication and a subtraction. |
| (UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem |
| provides both quotient and remainder in a single computation. |
| (UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic |
| functions for uint. |
| (UI_Modular_Inverse): Add a note that the behaviour of this subprogram |
| is undefined if the given n is not inversible. |
| |
| 2007-04-06 Olivier Hainque <hainque@adacore.com> |
| |
| * utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and |
| BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion |
| opcodes. |
| |
| 2007-04-06 Eric Botcazou <botcazou@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs |
| when updating the contents of the old pointer to an unconstrained array. |
| (end_subprog_body): Set error_gnat_node to Empty. |
| (write_record_type_debug_info): Do not be unduly sparing with our bytes. |
| (unchecked_convert): For subtype to base type conversions, require that |
| the source be a subtype if it is an integer type. |
| (builtin_decls): New global, vector of available builtin functions. |
| (gnat_pushdecl): Add global builtin function declaration nodes to the |
| builtin_decls list. |
| (gnat_install_builtins): Adjust comments. |
| (builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before |
| calling gnat_pushdecl, so that it knows when it handed a builtin |
| function declaration node. |
| (builtin_decl_for): Search the builtin_decls list. |
| |
| 2007-04-06 Eric Botcazou <botcazou@adacore.com> |
| |
| * s-stchop-vxworks.adb: |
| (Stack_Check): Raise Storage_Error if the argument has wrapped around. |
| |
| 2007-04-06 Robert Dewar <dewar@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * a-diroro.ads: Inserted the pragma Unimplemented_Unit |
| |
| * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start |
| of files |
| Add mention of -Sev (set initialize_scalars option from environment |
| variable at run time) in gnatbind usage message. |
| |
| * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure |
| |
| * fname-uf.ads: Minor comment fix |
| |
| * osint.ads: Change pragma Elaborate to Elaborate_All |
| |
| * par-load.adb: Add documentation. |
| |
| * sem_cat.ads, sem_cat.adb: Minor code reorganization |
| |
| * s-parint.ads (RCI_Locator) : Add 'Version' generic formal |
| |
| * s-secsta.ads: Extra comments |
| |
| * s-soflin.ads: Minor comment fixes |
| |
| * s-stratt.ads (Block_Stream_Ops_OK): Removed. |
| |
| * s-wchcon.ads: Minor comment addition |
| |
| * treepr.adb: Minor change in message |
| (Print_Name,Print_Node): Make these debug printouts more robust: print |
| "no such..." instead of crashing on bad input. |
| |
| 2007-03-30 Rafael Avila de Espindola <espindola@google.com> |
| |
| * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type |
| instead of gnat_signed_or_unsigned_type. |
| * utils.c (gnat_signed_or_unsigned_type): Remove. |
| * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove |
| * gigi.h (gnat_signed_or_unsigned_type): Remove |
| |
| 2007-03-09 Roger Sayle <roger@eyesopen.com> |
| |
| * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling |
| fold with the result of buildN. |
| * decl.c (gnat_to_gnu_entity): Likewise. |
| * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise. |
| * utils.c (finish_record_type, merge_sizes, max_size, convert): |
| Likewise. |
| * utils2.c (gnat_truthvalue_conversion, compare_arrays, |
| nonbinary_modular_operation, build_binary_op, build_unary_op, |
| build_cond_expr): Likewise. |
| |
| * utils.c (convert): Use fold_build1 when casting values to void. |
| * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and |
| fold_convert instead of convert when appropriate. |
| |
| 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * Make-lang.in: Add install-pdf target as copied from |
| automake v1.10 rules. |
| |
| 2007-02-28 Andreas Schwab <schwab@suse.de> |
| |
| * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on |
| $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi. |
| (doc/gnat-style.info): Likewise. |
| |
| 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * gnat-style.texi: Standardize title page. |
| * gnat_rm.texi: Likewise. |
| * gnat_ugn.texi: Likewise. |
| |
| 2007-02-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * decl.c (annotate_value): Adjust for refactoring of tree_map |
| hierarchy. |
| |
| 2007-02-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * decl.c (annotate_value): Adjust for refactoring of tree_map |
| hierarchy. |
| |
| 2007-02-21 Ed Schonberg <schonberg@adacore.com> |
| |
| PR ada/18819 |
| * sem_ch3.adb (Create_Constrained_Components): for a subtype of an |
| untagged derived type, add hidden components to keep discriminant |
| layout consistent, when a given discriminant of the derived type |
| constraints several discriminants of the parent type. |
| |
| 2007-02-16 Eric Botcazou <ebotcazou@adacore.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * trans.c (call_to_gnu): Use build_call_list instead of build3 to |
| build the call expression. |
| (gnat_stabilize_reference_1): Handle tcc_vl_exp. |
| * utils.c (max_size) <tcc_exceptional>: Delete. |
| <tcc_vl_exp>: New case. |
| <tcc_expression>: Delete CALL_EXPR subcase. |
| (build_global_cdtor): Use build_call_nary instead of build3. |
| * utils2.c (build_call_1_expr): Likewise. |
| (build_call_2_expr): Likewise. |
| (build_call_0_expr): Likewise. |
| (build_call_alloc_dealloc): Likewise. |
| |
| 2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * raise-gcc.c (get_region_description_for, get_call_site_action_for, |
| get_action_description_for): Replace _Unwind_Word with _uleb128_t |
| and _Unwind_SWord with _sleb128_t. |
| |
| 2007-02-06 Paolo Bonzini <bonzini@gnu.org> |
| |
| * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency. |
| * decl.c: Include gt-ada-decl.h. |
| (annotate_value_cache): New. |
| (annotate_value): Use it instead of TREE_COMPLEXITY. |
| |
| 2007-02-03 Kazu Hirata <kazu@codesourcery.com> |
| |
| * misc.c, utils2.c: Fix comment typos. |
| |
| 2007-01-24 Roger Sayle <roger@eyesopen.com> |
| |
| * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of |
| TREE_CONSTANT_OVERFLOW. |
| (allocatable_size_p, annotate_value): Likewise. |
| * trans.c (gnat_to_gnu): Likewise. |
| * utils.c (unchecked_convert): Likewise. |
| * utils2.c (build_simple_component_ref): Likewise. |
| |
| 2007-01-23 Richard Guenther <rguenther@suse.de> |
| |
| PR bootstrap/30541 |
| * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE). |
| (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX. |
| (gnatboot3): Likewise. |
| (GNATBIND): Do not define. |
| * Makefile.in (GNATBIND): Do not define. |
| |
| 2007-01-08 Richard Guenther <rguenther@suse.de> |
| |
| * cuintp.c (build_cst_from_int): Use built_int_cst_type. |
| * trans.c (gnat_to_gnu): Likewise. |
| |
| 2006-12-07 Geoffrey Keating <geoffk@apple.com> |
| |
| * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE. |
| * adaint.c: Likewise. |
| |
| 2006-12-05 Aldy Hernandez <aldyh@redhat.com> |
| |
| Merge from gimple-tuples-branch: |
| 2006-11-02 Aldy Hernandez <aldyh@redhat.com> |
| |
| * ada-tree.h (lang_tree_node): Handle gimple tuples. |
| * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with |
| GIMPLE_MODIFY_STMT. |
| |
| 2006-12-02 Kazu Hirata <kazu@codesourcery.com> |
| |
| * Makefile.in, mingw32.h, trans.c: Fix comment typos. |
| * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions. |
| Fix typos. |
| |
| 2006-11-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/27936 |
| * trans.c (add_decl_expr): Do not dynamically elaborate padded objects |
| if the initializer takes into account the padding. |
| |
| 2006-11-11 Richard Guenther <rguenther@suse.de> |
| |
| * trans.c (maybe_stabilize_reference): Remove handling of |
| FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR. |
| |
| 2006-11-05 Arnaud Charlet <charlet@adacore.com> |
| |
| PR ada/29707 |
| * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads |
| (To_Target_Priority): New function. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb, |
| a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb, |
| s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb, |
| a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, |
| a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, |
| a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb, |
| a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb, |
| a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb, |
| a-szbzha.adb: Minor reformatting. Fix header. |
| |
| * a-numaux-x86.adb: Add parentheses for use of unary minus |
| * a-ngcefu.adb: Supply missing parentheses for unary minus |
| * a-ngcoty.adb: Add parens for use of unary minus |
| * a-ngelfu.adb: Add missing parens for unary minus |
| * a-tifiio.adb: Add parentheses for uses of unary minus |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus |
| with multiplying operator. |
| (Expected_Type_Is_Any_Real): New function to determine from the Parent |
| pointer whether the context expects "any real type". |
| (Resolve_Arithmetic_Op): Do not give an error on calls to the |
| universal_fixed "*" and "/" operators when they are used in a context |
| that expects any real type. Also set the type of the node to |
| Universal_Real in this case, because downstream processing requires it |
| (mainly static expression evaluation). |
| Reword some continuation messages |
| Add some \\ sequences to continuation messages |
| (Resolve_Call): Refine infinite recursion case. The test has been |
| sharpened to eliminate some false positives. |
| Check for Current_Task usage now includes entry barrier, and is now a |
| warning, not an error. |
| (Resolve): If the call is ambiguous, indicate whether an interpretation |
| is an inherited operation. |
| (Check_Aggr): When resolving aggregates, skip associations with a box, |
| which are priori correct, and will be replaced by an actual default |
| expression in the course of expansion. |
| (Resolve_Type_Conversion): Add missing support for conversion from |
| a class-wide interface to a tagged type. Minor code cleanup. |
| (Valid_Tagged_Converion): Add support for abstact interface type |
| conversions. |
| (Resolve_Selected_Component): Call Generate_Reference here rather than |
| during analysis, and use May_Be_Lvalue to distinguish read/write. |
| (Valid_Array_Conversion): New procedure, abstracted from |
| Valid_Conversion, to incorporate accessibility checks for arrays of |
| anonymous access types. |
| (Valid_Conversion): For a conversion to a numeric type occurring in an |
| instance or inlined body, no need to check that the operand type is |
| numeric, since this has been checked during analysis of the template. |
| Remove legacy test for scope name Unchecked_Conversion. |
| |
| * sem_res.ads: Minor reformatting |
| |
| * a-except.adb, a-except-2005.adb: Turn off subprogram ordering |
| (PE_Current_Task_In_Entry_Body): New exception code |
| (SE_Restriction_Violation): Removed, not used |
| |
| * a-except.ads: Update comments. |
| |
| * types.h, types.ads: Add definition for Validity_Check |
| (PE_Current_Task_In_Entry_Body): New exception code |
| (SE_Restriction_Violation): Removed, not used |
| |
| 2006-10-31 Thomas Quinot <quinot@adacore.com> |
| |
| * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned |
| error status. |
| |
| 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| Jose Ruiz <ruiz@adacore.com> |
| |
| * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private |
| part of Ada.Calendar: all subprogram raise Unimplemented. |
| (Split_W_Offset): Temp function body, raising Unimplemented |
| |
| * a-calend.ads, a-calend-vms.ads: |
| Add imported variable Invalid_TZ_Offset used to designate targets unable |
| to support time zones. |
| (Unimplemented): Temporary function raised by the body of new |
| subprograms below. |
| (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This |
| unit provides handling of leap seconds and is used by the new Ada 2005 |
| packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting. |
| (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This |
| version returns an extra value which is the offset to UTC. |
| |
| * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff. |
| (Leap_Sec_Ops): New body for package in private part of Ada.Calendar. |
| (Split_W_Offset): New function body. |
| (Time_Of): When a date is close to UNIX epoch, compute the time for |
| that date plus one day (that amount is later substracted after |
| executing mktime) so there are no problems with time zone adjustments. |
| |
| * a-calend-mingw.adb: Remove Windows specific version no longer needed. |
| |
| * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb, |
| a-catizo.ads, a-catizo.adb: New files. |
| |
| * impunit.adb: Add new Ada 2005 entries |
| |
| * sysdep.c: Add external variable __gnat_invalid_tz_offset. |
| Rename all occurences of "__gnat_localtime_r" to |
| "__gnat_localtime_tzoff". |
| (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time |
| zone data and calculate the GMT offset. |
| (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64): |
| Use the field "tm_gmtoff" to extract the GMT offset. |
| (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use |
| the external variable "timezone" to calculate the GMT offset. |
| |
| 2006-10-31 Arnaud Charlet <charlet@adacore.com> |
| Jose Ruiz <ruiz@adacore.com> |
| |
| * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb, |
| s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads, |
| s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads, |
| s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from |
| System.Any_Priority to a POSIX priority on the target. |
| |
| * system-linux-ia64.ads: |
| Extend range of Priority types on Linux to use the whole range made |
| available by the system. |
| |
| * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New |
| function maps from System.Any_Priority to a POSIX priority on the |
| target. |
| (PTHREAD_PRIO_PROTECT): Set real value. |
| (PTHREAD_PRIO_INHERIT): Now a function. |
| (SIGCPUFAIL): New signal. |
| (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals |
| are documented as reserved by the OS. |
| |
| * system-aix.ads: Use the full range of priorities provided by the |
| system on AIX. |
| |
| * s-taprop-posix.adb: Call new function To_Target_Priority. |
| (Set_Priority): Take into account Task_Dispatching_Policy and |
| Priority_Specific_Dispatching pragmas when determining if Round Robin |
| must be used for scheduling the task. |
| |
| * system-linux-x86_64.ads, system-linux-x86.ads, |
| system-linux-ppc.ads: Extend range of Priority types on Linux to use |
| the whole range made available by the system. |
| |
| * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb, |
| s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb, |
| s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache |
| when deallocating the TCB in order to avoid potential references to |
| deallocated data. |
| (Set_Priority): Take into account Task_Dispatching_Policy and |
| Priority_Specific_Dispatching pragmas when determining if Round Robin |
| or FIFO within priorities must be used for scheduling the task. |
| |
| * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in |
| the Thread field (to be used internally by the run-time system) and the |
| kernel-level task id in the LWP field (to be used by the debugger). |
| (Create_Task): Reorganize to unify the calls to taskSpawn into a single |
| instance, and propagate the current task options to the spawned task. |
| (Set_Priority): Take into account Priority_Specific_Dispatching pragmas. |
| (Initialize): Set Round Robin dispatching when the corresponding pragma |
| is in effect. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, |
| system-linux-hppa.ads, system-hpux-ia64.ads, |
| system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads, |
| system-vxworks-sparcv9.ads, system-solaris-x86.ads, |
| system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, |
| system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads, |
| system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, |
| system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, |
| system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off, |
| Default_Bit_Order) to kill constant condition warnings for references |
| to this switch. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb, |
| mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, |
| mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of |
| Ext_To, when building the library file name |
| |
| * mlib-tgt-vxworks.adb: ditto. |
| (Get_Target_Suffix): Add support for x86 targets. |
| |
| * mlib-fil.ads, mlib-fil.adb: (Append_To): New function |
| |
| * mlib-tgt-darwin.adb: |
| Use Append_To, instead of Ext_To, when building the library file name |
| (Flat_Namespace): New global variable. |
| (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options. |
| (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options. |
| (Link_Shared_Libgcc): Delete. |
| (Build_Dynamic_Library): Adjust for above changes. |
| Use Opt package. |
| (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later. |
| |
| 2006-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer. |
| (Initialize): Add type conversions required by above change. |
| |
| 2006-10-31 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-osinte-vxworks.ads, s-osinte-vxworks.adb: |
| (getpid): New body for this function that uses the underlying taskIdSelf |
| function for VxWorks 5 and VxWorks 6 in kernel mode. |
| (unsigned_int): New type, modular to allow logical bit operations. |
| (taskOptionsGet): New imported function. |
| |
| * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP |
| field to be compliant with the type used by the corresponding operating |
| system primitive. |
| |
| 2006-10-31 Pascal Obry <obry@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the |
| ASCII version of the registry API. This is needed as the GNAT runtime |
| is now UNICODE by default. |
| Include version.h. |
| (get_gcc_version): Do not hardcode the return value. |
| (__gnat_file_time_name): On Windows properly set the default returned |
| value to -1 which corresponds to Invalid_Time. |
| (__gnat_fopen): New routine. A simple wrapper on all plateforms |
| except on Windows where it does conversion for unicode support. |
| (__gnat_freopen): Idem. |
| (__gnat_locate_exec_on_path): If environment variable PATH does not |
| exist, return a NULL pointer |
| |
| * adaint.h: (__gnat_fopen): Declare. |
| (__gnat_freopen): Likewise. |
| |
| * mingw32.h (_tfreopen): Define this macro here for older MingW |
| version. |
| Activate the unicode support on platforms using a MingW runtime |
| version 3.9 or newer. |
| |
| * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen. |
| This is needed for proper unicode support on Windows. |
| (freopen): Idem. |
| |
| 2006-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| Nicolas Setton <setton@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * gigi.h: (tree_code_for_record_type): Declare. |
| (add_global_renaming_pointer): Rename to record_global_renaming_pointer. |
| (get_global_renaming_pointers): Rename to |
| invalidate_global_renaming_pointers. |
| (static_ctors): Delete. |
| (static_dtors): Likewise. |
| (gnat_write_global_declarations): Declare. |
| (create_var_decl): Adjust descriptive comment to indicate that the |
| subprogram may return a CONST_DECL node. |
| (create_true_var_decl): Declare new function, similar to |
| create_var_decl but forcing the creation of a VAR_DECL node. |
| (get_global_renaming_pointers): Declare. |
| (add_global_renaming_pointer): Likewise. |
| |
| * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro. |
| |
| * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type |
| tree before setting TREE_ADDRESSABLE for by-reference return mechanism |
| processing. |
| (gnat_to_gnu_entity): Remove From_With_Type from computation for |
| imported_p. |
| <E_Access_Type>: Use the Non_Limited_View as the full view of the |
| designated type if the pointer comes from a limited_with clause. Make |
| incomplete designated type if it is in the main unit and has a freeze |
| node. |
| <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and |
| Underlying_Full_View similarly. Return earlier if the full view already |
| has an associated tree. |
| (gnat_to_gnu_entity) <E_Record_Type>: Restore comment. |
| (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type. |
| (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the |
| reference type built for objects with an address clause. |
| Use create_true_var_decl with const_flag set for |
| DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with |
| TREE_READONLY set. |
| (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME |
| for Character and Wide_Character types. This info is read by the |
| dwarf-2 writer, and is needed to be able to use the command "ptype |
| character" in the debugger. |
| (gnat_to_gnu_entity): When generating a type representing |
| a Character or Wide_Character type, set the flag TYPE_STRING_FLAG, |
| so that debug writers can distinguish it from ordinary integers. |
| (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in |
| addition to TREE_READONLY to assert the constantness of variables for |
| elaboration purposes. |
| (gnat_to_gnu_entity, subprogram cases): Change loops on formal |
| parameters to call new Einfo function First_Formal_With_Extras. |
| (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a |
| protected type with its corresponding discriminant, to obtain a usable |
| declaration |
| (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared |
| for a multiple elaboration of the "equivalent" type. |
| (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer |
| into record_global_renaming_pointer. |
| (gnat_to_gnu_entity) <E_Array_Type>: Do not force |
| TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate. |
| <E_Array_Subtype>: Likewise. |
| (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular |
| incomplete subtypes and incomplete subtypes of incomplete types visible |
| through a limited with clause. |
| (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of |
| the base index type for the maximum size of the array only if they are |
| constant. |
| (gnat_to_gnu_entity, renaming object case): Do not wrap up the |
| expression into a SAVE_EXPR if stabilization failed. |
| |
| * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of |
| a result decl into DECL_BY_REFERENCE on this decl, now what is expected |
| by lower level compilation passes. |
| (gnat_genericize): New function, lowering a function body to GENERIC. |
| Turn the type of RESULT_DECL into a real reference type if the decl |
| has been marked DECL_BY_REFERENCE, and adjust references to the latter |
| accordingly. |
| (gnat_genericize_r): New function. Tree walking callback for |
| gnat_genericize. |
| (convert_from_reference, is_byref_result): New functions. Helpers for |
| gnat_genericize_r. |
| (create_type_decl): Call gnat_pushdecl before calling |
| rest_of_decl_compilation, to make sure that field TYPE_NAME of |
| type_decl is properly set before calling the debug information writers. |
| (write_record_type_debug_info): The heuristics which compute the |
| alignment of a field in a variant record might not be accurate. Add a |
| safety test to make sure no alignment is set to a smaller value than |
| the alignment of the field type. |
| (make_dummy_type): Use the Non_Limited_View as the underlying type if |
| the type comes from a limited_with clause. Do not loop on the full view. |
| (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros. |
| (dummy_node_table): New global variable, moved from decl.c. |
| (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros. |
| (save_gnu_tree): Use above macros. |
| (get_gnu_tree): Likewise. |
| (present_gnu_tree): Likewise. |
| (init_dummy_type): New function, moved from decl.c. Use above macros. |
| (make_dummy_type): Likewise. |
| (tree_code_for_record_type): New function extracted from make_dummy_type |
| (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc. |
| (static_ctors): Change it to a vector, make static. |
| (static_dtors): Likewise. |
| (end_subprog_body): Adjust for above change. |
| (build_global_cdtor): Moved from trans.c. |
| (gnat_write_global_declarations): Emit global constructor and |
| destructor, and call cgraph_optimize before emitting debug info for |
| global declarations. |
| (global_decls): New global variable. |
| (gnat_pushdecl): Store the global declarations in global_decls, for |
| later use. |
| (gnat_write_global_declarations): Emit debug information for global |
| declarations. |
| (create_var_decl_1): Former create_var_decl, with an extra argument to |
| state whether the creation of a CONST_DECL is allowed. |
| (create_var_decl): Behavior unchanged. Now a wrapper around |
| create_var_decl_1 allowing CONST_DECL creation. |
| (create_true_var_decl): New function, similar to create_var_decl but |
| forcing the creation of a VAR_DECL node (CONST_DECL not allowed). |
| (create_field_decl): Do not always mark the field as addressable |
| if its type is an aggregate. |
| (global_renaming_pointers): New static variable. |
| (add_global_renaming_pointer): New function. |
| (get_global_renaming_pointers): Likewise. |
| |
| * misc.c (gnat_dwarf_name): New function. |
| (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name. |
| (gnat_post_options): Add comment about structural alias analysis. |
| (gnat_parse_file): Do not call cgraph_optimize here. |
| (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations. |
| |
| * trans.c (process_freeze_entity): Don't abort if we already have a |
| non dummy GCC tree for a Concurrent_Record_Type, as it might |
| legitimately have been elaborated while processing the associated |
| Concurrent_Type prior to this explicit freeze node. |
| (Identifier_to_gnu): Do not make a variable referenced in a SJLJ |
| exception handler volatile if it is of variable size. |
| (process_type): Remove bypass for types coming from a limited_with |
| clause. |
| (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT |
| actual, convert the corresponding gnu_actual to the real destination |
| type when necessary. |
| (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables |
| originally TREE_READONLY but whose elaboration cannot be performed |
| statically. |
| Part of fix for F504-021. |
| (tree_transform, subprogram cases): Change loops on formal parameters to |
| call new Einfo function First_Formal_With_Extras. |
| (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow |
| stemming from type conversion for the lhs. |
| (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the |
| number of bits per unit for components of records. |
| (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed. |
| (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated |
| with At_End_Proc after the SJLJ EH cleanup. |
| (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main |
| compilation unit. |
| (elaborate_all_entities): Do not retest type_annotate_only. |
| (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the |
| result type of an abstract subprogram, which may be an itype associated |
| with an anonymous access result (related to AI-318-02). |
| (build_global_cdtor): Move to utils.c. |
| (Case_Statement_to_gnu): Avoid adding the choice of a when statement if |
| this choice is not a null tree nor an integer constant. |
| (gigi): Run unshare_save_expr via walk_tree_without_duplicates |
| on the body of elaboration routines instead of mark_unvisited. |
| (add_stmt): Do not mark the tree. |
| (add_decl_expr): Tweak comment. |
| (mark_unvisited): Delete. |
| (unshare_save_expr): New static function. |
| (call_to_gnu): Issue an error when making a temporary around a |
| procedure call because of non-addressable actual parameter if the |
| type of the formal is by_reference. |
| (Compilation_Unit_to_gnu): Invalidate the global renaming pointers |
| after building the elaboration routine. |
| |
| 2006-10-31 Bob Duff <duff@adacore.com> |
| |
| * a-filico.adb (Finalize(List_Controller)): Mark the finalization list |
| as finalization-started, so we can raise Program_Error on 'new'. |
| |
| * s-finimp.adb: Raise Program_Error on 'new' if finalization of the |
| collection has already started. |
| |
| * s-finimp.ads (Collection_Finalization_Started): Added new special |
| flag value for indicating that a collection's finalization has started. |
| |
| * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to |
| create a task whose master has already waited for dependent tasks. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * lib.adb, lib.ads: (In_Predefined_Unit): New functions |
| |
| * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads, |
| a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads, |
| a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads, |
| a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads, |
| a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads, |
| a-except-2005.ads: Add pragma Preelaborable_Warning |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Jose Ruiz <ruiz@adacore.com> |
| |
| * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files. |
| |
| * ali.adb (Get_Name): Properly handle scanning of wide character names |
| encoded with brackets notation. |
| (Known_ALI_Lines): Add S lines to this list. |
| (Scan_ALI): Acquire S (priority specific dispatching) lines. |
| New flag Elaborate_All_Desirable in unit table |
| |
| * ali.ads (Priority_Specific_Dispatching): Add this range of |
| identifiers to be used for Priority_Specific_Dispatching table entries. |
| (ALIs_Record): Add First_Specific_Dispatching and |
| Last_Specific_Dispatching that point to the first and last entries |
| respectively in the priority specific dispatching table for this unit. |
| (Specific_Dispatching): Add this table for storing each S (priority |
| specific dispatching) line encountered in the input ALI file. |
| New flag Elaborate_All_Desirable in unit table |
| |
| * bcheck.adb: (Check_Configuration_Consistency): Add call to |
| Check_Consistent_Dispatching_Policy. |
| (Check_Consistent_Dispatching_Policy): Add this procedure in charge of |
| verifying that the use of Priority_Specific_Dispatching, |
| Task_Dispatching_Policy, and Locking_Policy is consistent across the |
| partition. |
| |
| * bindgen.adb: (Public_Version_Warning): function removed. |
| (Set_PSD_Pragma_Table): Add this procedure in charge of getting the |
| required information from ALI files in order to initialize the table |
| containing the specific dispatching policy. |
| (Gen_Adainit_Ada): Generate the variables required for priority specific |
| dispatching entries (__gl_priority_specific_dispatching and |
| __gl_num_specific_dispatching). |
| (Gen_Adainit_C): Generate the variables required for priority specific |
| dispatching entries (__gl_priority_specific_dispatching and |
| __gl_num_specific_dispatching). |
| (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching |
| pragma entries. |
| (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed. |
| (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures. |
| (Tab_To): Removed. |
| (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of |
| a call to gnat_set_globals. |
| Generate a string containing settings from |
| Priority_Specific_Dispatching pragma entries. |
| (Gen_Object_Files_Options): Do not include the runtime libraries when |
| pragma No_Run_Time is specified. |
| |
| * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for |
| consistency with s-intman-posix.adb. |
| (__gnat_error_handler, case FreeBSD): Account for the fact that the |
| handler is installed with SA_SIGINFO. |
| (__gnat_adjust_context_for_raise, FreeBSD case): New function for |
| FreeBSD ZCX support, copied from Linux version. |
| Add MaRTE-specific definitions for the linux target. Redefine sigaction, |
| sigfillset, and sigemptyset so the routines defined by MaRTE. |
| (__gl_priority_specific_dispatching): Add this variable that stores the |
| string containing priority specific dispatching policies in the |
| partition. |
| (__gl_num_specific_dispatching): Add this variable that indicates the |
| highest priority for which a priority specific dispatching pragma |
| applies. |
| (__gnat_get_specific_dispatching): Add this routine that returns the |
| priority specific dispatching policy, as set by a |
| Priority_Specific_Dispatching pragma appearing anywhere in the current |
| partition. The input argument is the priority number, and the result |
| is the upper case first character of the policy name. |
| (__gnat_set_globals): Now a dummy function. |
| (__gnat_handle_vms_condition): Feed adjust_context_for_raise with |
| mechargs instead of sigargs, as the latter can be retrieved from the |
| former and sigargs is not what we want on ia64. |
| (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the |
| mechargs argument. |
| (__gnat_adjust_context_for_raise, ia64-vms): New function. |
| (tasking_error): Remove unused symbol. |
| (_abort_signal): Move this symbol to the IRIX specific part since this |
| is the only target that uses this definition. |
| (Check_Abort_Status): Move this symbol to the IRIX specific part since |
| this is the only target that uses this definition. |
| (Lock_Task): Remove unused symbol. |
| (Unlock_Task): Remove unused symbol. |
| |
| * lib-writ.adb (Write_ALI): Output new S lines for |
| Priority_Specific_Dispatching pragmas. |
| Implement new flag BD for elaborate body desirable |
| |
| * lib-writ.ads: Document S lines for Priority Specific Dispatching. |
| (Specific_Dispatching): Add this table for storing the entries |
| corresponding to Priority_Specific_Dispatching pragmas. |
| Document new BD flag for elaborate body desirable |
| |
| * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list |
| of known pragmas. |
| |
| 2006-10-31 Javier Miranda <miranda@adacore.com> |
| |
| * a-tags.ads, a-tags.adb: |
| (Predefined_DT): New function that improves readability of the code. |
| (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address, |
| Inherit_DT): Use the new function Predefined_DT to improve code |
| readability. |
| (Register_Interface_Tag): Update assertion. |
| (Set_Interface_Table): Update assertion. |
| (Interface_Ancestor_Tags): New subprogram required to implement AI-405: |
| determining progenitor interfaces in Tags. |
| (Inherit_CPP_DT): New subprogram. |
| |
| * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the |
| analysis of the thunk code. |
| (Expand_Interface_Conversion): Handle run-time conversion of |
| access to class wide types. |
| (Expand_Dispatching_Call): When generating the profile for the |
| subprogram itype for a dispatching operation, properly terminate the |
| formal parameters chaind list (set the Next_Entity of the last formal |
| to Empty). |
| (Collect_All_Interfaces): Removed. This routine has been moved to |
| sem_util and renamed as Collect_All_Abstract_Interfaces. |
| (Set_All_DT_Position): Hidden entities associated with abstract |
| interface primitives are not taken into account in the check for |
| 3.9.3(10); this check is done with the aliased entity. |
| (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for |
| interfacing with CPP by default. |
| (Expand_Interface_Conversion): Add missing support for static conversion |
| from an interface to a tagged type. |
| (Collect_All_Interfaces): Add new out formal containing the list of |
| abstract interface types to cleanup the subprogram Make_DT. |
| (Make_DT): Update the code to generate the table of interfaces in case |
| of abstract interface types. |
| (Is_Predefined_Dispatching_Alias): New function that returns true if |
| a primitive is not a predefined dispatching primitive but it is an |
| alias of a predefined dispatching primitive. |
| (Make_DT): If the ancestor of the type is a CPP_Class and we are |
| compiling under full ABI compatibility mode we avoid the generation of |
| calls to run-time services that fill the dispatch tables because under |
| this mode we currently inherit the dispatch tables in the IP subprogram. |
| (Write_DT): Emit an "is null" indication for a null procedure primitive. |
| (Expand_Interface_Conversion): Use an address as the type of the formal |
| of the internally built function that handles the case in which the |
| target type is an access type. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * binde.adb (Better_Choice, Worse_Choice): Implement new preferences. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * bindusg.ads, bindusg.adb: |
| Change to package and rename procedure as Display, which |
| now ensures that it only outputs usage information once. |
| |
| 2006-10-31 Jose Ruiz <ruiz@adacore.com> |
| |
| * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when |
| using RTPs. |
| |
| * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater |
| when using RTPs. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * treepr.adb: Use new subtype N_Membership_Test |
| |
| * checks.ads, checks.adb: Add definition for Validity_Check |
| (Range_Or_Validity_Checks_Suppressed): New function |
| (Ensure_Valid): Test Validity_Check suppressed |
| (Insert_Valid_Check): Test Validity_Check suppressed |
| (Insert_Valid_Check): Preserve Do_Range_Check flag |
| (Validity_Check_Range): New procedure |
| (Expr_Known_Valid): Result of membership test is always valid |
| (Selected_Range_Checks): Range checks cannot be applied to discriminants |
| by themselves. Disabling those checks must also be done for task types, |
| where discriminants may be used for the bounds of entry families. |
| (Apply_Address_Clause_Check): Remove side-effects if address expression |
| is non-static and is not the name of a declared constant. |
| (Null_Exclusion_Static_Checks): Extend to handle Function_Specification. |
| Code cleanup and new error messages. |
| (Enable_Range_Check): Test for some cases of suppressed checks |
| (Generate_Index_Checks): Suppress index checks if index checks are |
| suppressed for array object or array type. |
| (Apply_Selected_Length_Checks): Give warning for compile-time detected |
| length check failure, even if checks are off. |
| (Ensure_Valid): Do not generate a check on an indexed component whose |
| prefix is a packed boolean array. |
| * checks.adb: (Alignment_Checks_Suppressed): New function |
| (Apply_Address_Clause_Check): New procedure, this is a completely |
| rewritten replacement for Apply_Alignment_Check |
| (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that |
| we request a discriminal value only in case of discriminants. |
| (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for |
| assignments where the target subtype is unconstrained and the target |
| object is a parameter or dereference (other aliased cases are known |
| to be unconstrained). |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads, |
| prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads, |
| vms_conv.adb: Fix bad table increment values (much too small) |
| |
| * table.adb (Realloc): Make sure we get at least some new elements |
| Defends against silly small values for table increment |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all |
| entities. Move other fields around to make this possible |
| (Is_Derived_Type): Add missing call to Is_Type. |
| (Extra_Formals): New function for subprograms, entries, subprogram |
| types. |
| (Set_Extra_Formals): New procedure for subprograms, entries, subp types. |
| (First_Formal_With_Extras): New function for subprogs, entries, subp |
| types. |
| (Write_Field28_Name): New procedure for node display of "Extra_Formals". |
| Add node information for E_Return_Statement. |
| (Elaborate_Body_Desirable): New flag |
| (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type |
| to be Is_Inherently_Limited_Type, because return-by-reference has |
| no meaning in Ada 2005. |
| (E_Return_Statement): New entity kind. |
| (Return_Applies_To): Field of E_Return_Statement. |
| (Is_Return_Object): New flag in object entities. |
| (Is_Dynamic_Scope): Make it True for E_Return_Statement. |
| (Must_Have_Preelab_Init): New flag |
| (Known_To_Have_Preelab_Init): New flag |
| (Is_Formal_Object): Move from Sem_Ch8 body to Einfo |
| (Is_Visible_Formal): New flag on entities in formal packages. |
| (Low_Bound_Known): New flag |
| (Non_Limited_View, Set_Non_Limited_View): Add membership test agains |
| Incomplete_Kind. |
| (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name |
| output when Id is an incomplete subtype. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m |
| Avoid abbreviation Creat |
| (Finalize): List all sources in extended mail source if -gnatl |
| switch is active. |
| Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set |
| (Finalize): Implement new -gnatl=xxx switch to output listing to file |
| (Set_Specific_Warning_On): New procedure |
| (Set_Specific_Warning_Off): New procedure |
| Add implementation of new insertion \\ |
| (Error_Msg_Internal): Add handling for Error_Msg_Line_Length |
| (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram |
| types. |
| (Error_Msg_Internal): Make sure that we set Last_Killed to |
| True when a message from another package is suppressed. |
| Implement insertion character ~ (insert string) |
| (First_Node): Minor adjustments to get better placement. |
| |
| * frontend.adb: |
| Implement new -gnatl=xxx switch to output listing to file |
| |
| * gnat1drv.adb: |
| Implement new -gnatl=xxx switch to output listing to file |
| |
| * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch |
| (Commands_To_Stdout): New flag |
| Implement new -gnatl=xxx switch to output listing to file |
| New switch Dump_Source_Text |
| (Warn_On_Deleted_Code): New warning flag for -gnatwt |
| Define Error_Msg_Line_Length |
| (Warn_On_Assumed_Low_Bound): New switch |
| |
| * osint.ads, osint.adb |
| (Normalize_Directory_Name): Fix bug. |
| Implement new -gnatl=xxx switch to output listing to file |
| (Concat): Removed, replaced by real concatenation |
| Make use of concatenation now allowed in compiler |
| (Executable_Prefix.Get_Install_Dir): First get the full path, so that |
| we find the 'lib' or 'bin' directory even when the tool has been |
| invoked with a relative path. |
| (Executable_Name): New function taking string parameters. |
| |
| * osint-c.ads, osint-c.adb: |
| Implement new -gnatl=xxx switch to output listing to file |
| |
| * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File |
| |
| * switch-c.adb: |
| Implement new -gnatl=xxx switch to output listing to file |
| Recognize new -gnatL switch |
| (no longer keep in old warning about old style usage) |
| Use concatenation to simplify code |
| Recognize -gnatjnn switch |
| (Scan_Front_End_Switches): Clean up handling of -gnatW |
| (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure |
| (Set_Specific_Warning_Off): New procedure |
| (Warning_Specifically_Suppressed): New function |
| (Validate_Specific_Warnings): New procedure |
| (Output_Msg_Text): Complete rewrite to support -gnatjnn |
| |
| * err_vars.ads: Implement insertion character ~ (insert string) |
| |
| 2006-10-31 Bob Duff <duff@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if |
| the parent part is a build-in-place function call, generate assignments. |
| (Expand_Record_Aggregate): Call Convert_To_Assignments if any components |
| are build-in-place function calls. |
| (Replace_Self_Reference): New subsidiary of |
| Make_OK_Assignment_Statement, to replace an access attribute that is a |
| self-reference into an access to the appropriate component of the |
| target object. Generalizes previous mechanism to handle self-references |
| nested at any level. |
| (Is_Self_Referential_Init): Remove, not needed. |
| (Is_Self_Referential_Init): New predicate to simplify handling of self |
| referential components in record aggregates. |
| (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to |
| check for presence of entity before checking for self-reference. |
| (Has_Default_Init_Comps): Return True if a component association is a |
| self-reference to the enclosing type, which can only come from a |
| default initialization. |
| (Make_OK_Assignment_Statement): If the expression is of the form |
| Typ'Acc, where Acc is an access attribute, the expression comes from a |
| default initialized self-referential component. |
| (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type |
| that has been derived from several abstract interfaces we must also |
| initialize the tags of the secondary dispatch tables. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb: |
| (Expand_Access_To_Protected_Op): If the context indicates that an access |
| to a local operation may be transfered outside of the object, create an |
| access to the wrapper operation that must be used in an external call. |
| (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP |
| target, pass the Valid attribute applied to a floating-point prefix on |
| to the back end without expansion. |
| (Storage_Size): Use the new run-time function Storage_Size to retrieve |
| the allocated storage when it is specified by a per-object expression. |
| (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type. |
| Nothing to do here, the attribute has been rewritten during semantic |
| analysis. |
| (Expand_Attribute_Reference): Handle expansion of the new Priority |
| attribute |
| (Find_Fat_Info): Handle case of universal real |
| (Expand_Access_To_Protected_Op): Fix use of access to protected |
| subprogram from inside the body of a protected entry. |
| (Expand_Access_To_Protected_Op): Common procedure for the expansion of |
| 'Access and 'Unrestricted_Access, to transform the attribute reference |
| into a fat pointer. |
| (Is_Constrained_Aliased_View): New predicate to help determine whether a |
| subcomponent's enclosing variable is aliased with a constrained subtype. |
| (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05, |
| test Is_Constrained_Aliased_View rather than Is_Aliased_View, because |
| an aliased prefix must be known to be constrained in order to use True |
| for the attribute value, and now it's possible for some aliased views |
| to be unconstrained. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue |
| (Expand_Entity_Reference): Correct error of not handling subprogram |
| formals in current_value processing. |
| |
| 2006-10-31 Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not |
| register in the final list objects containing class-wide interfaces; |
| otherwise we incorrectly register the tag of the interface in the final |
| list. |
| (Make_Controlling_Function_Wrappers): Add missing barrier to do not |
| generate the wrapper if the parent primitive is abstract. This is |
| required to report the correct error message. |
| (Expand_N_Subtype_Indication): Do validity checks on range |
| (Clean_Task_Names): If an initialization procedure includes a call to |
| initialize a task (sub)component, indicate that the procedure will use |
| the secondary stack. |
| (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI |
| compatibility for interfacing with CPP by default. |
| (Expand_N_Object_Declaration): Only build an Adjust call when the |
| object's type is a nonlimited controlled type. |
| * exp_ch3.adb: Add with and use of Exp_Ch6. |
| (Expand_N_Object_Declaration): Check for object initialization that is a |
| call to build-in-place function and apply Make_Build_In_Place_Call_In_ |
| Object_Declaration to the call. |
| (Freeze_Type): When the designated type of an RACW was not frozen at the |
| point where the RACW was declared, validate the primitive operations |
| with respect to E.2.2(14) when it finally is frozen. |
| (Build_Initialization_Call,Expand_Record_Controller): Rename |
| Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because |
| return-by-reference has no meaning in Ada 2005. |
| (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top |
| to register tag of the immediate ancestor interfaces in the |
| run-time structure. |
| (Init_Secondary_Tags): Moved to the specification to allow the |
| initialization of extension aggregates with abstract interfaces. |
| (Build_Master_Renaming): Make public, for use by function declarations |
| whose return type is an anonymous access type. |
| (Freeze_Record_Type): Replace call to Insert_List_Before by call to |
| Insert_List_Before_And_Analyze after the generation of the specs |
| associated with null procedures. |
| (Expand_Tagged_Root): Update documentation in its specification. |
| (Init_Secondary_Tags): Update documentation. |
| (Build_Init_Procedure): If we are compiling under CPP full ABI compa- |
| tibility mode and the immediate ancestor is a CPP_Pragma tagged type |
| then generate code to inherit the contents of the dispatch table |
| directly from the ancestor. |
| (Expand_Record_Controller): Insert controller component after tags of |
| implemented interfaces. |
| (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to |
| create null procedure overridings when null procedures are inherited |
| from interfaces. |
| (Make_Null_Procedure_Specs): New procedure to generate null procedure |
| declarations for overriding null primitives inherited from interfaces. |
| (Is_Null_Interface_Procedure): New function in |
| Make_Null_Procedure_Specs. |
| (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the |
| immediate ancestor of a tagged type is an abstract interface type we |
| must generate the specification of the predefined primitives associated |
| with controlled types (because the dispatch table of the ancestor is |
| null and hence these entries cannot be inherited). This is required to |
| elaborate well the dispatch table. |
| |
| 2006-10-31 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type |
| conversion. |
| (Expand_N_In): Do validity checks on range |
| (Expand_Selected_Component): Use updated for of Denotes_Discriminant. |
| (Expand_N_Allocator): For "new T", if the object is constrained by |
| discriminant defaults, allocate the right amount of memory, rather than |
| the maximum for type T. |
| (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects |
| when the allocator is initialized by a build-in-place call, since the |
| allocator is already rewritten as a reference to the function result, |
| and this prevents an unwanted duplication of the function call. |
| Add with and use of Exp_Ch6. |
| (Expand_Allocator_Expresssion): Check for an allocator whose expression |
| is a call to build-in-place function and apply |
| Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and |
| untagged designated types). |
| (Expand_N_Unchecked_Type_Conversion): Do not do integer literal |
| optimization if source or target is biased. |
| (Expand_N_Allocator): Add comments for case of an allocator within a |
| function that returns an anonymous access type designating tasks. |
| (Expand_N_Allocator): apply discriminant checks for access |
| discriminants of anonymous access types (AI-402, AI-416) |
| |
| 2006-10-31 Bob Duff <duff@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure. |
| |
| * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range |
| (Expand_N_Assignment_Statement): Call |
| Make_Build_In_Place_Call_In_Assignment if the right-hand side is a |
| build-in-place function call. Currently, this can happen only for |
| assignments that come from aggregates. |
| Add -gnatd.l --Use Ada 95 semantics for limited function returns, |
| in order to alleviate the upward compatibility introduced by AI-318. |
| (Expand_N_Extended_Return_Statement): Add support for handling the |
| return object as a build-in-place result. |
| (Expand_Non_Function_Return): Implement simple return statements nested |
| within an extended return. |
| (Enable_New_Return_Processing): Turn on the new processing of return |
| statements. |
| (Expand_Non_Function_Return): For a return within an extended return, |
| don't raise Program_Error, because Sem_Ch6 now gives a warning. |
| (Expand_N_Extended_Return_Statement): Implement AI-318 |
| (Expand_Simple_Function_Return): Ditto. |
| (Expand_N_If_Statement): Handle new -gnatwt warning |
| (Expand_N_Case_Statement): Handle new -gnatwt warning |
| (Expand_N_Assignment): Handle assignment to the Priority attribute of |
| a protected object. |
| (Expand_N_Assignment_Statement): Implement -gnatVe/E to control |
| validity checking of assignments to elementary record components. |
| (Expand_N_Return_Statement): return Class Wide types on the secondary |
| stack independantly of their controlled status since with HIE runtimes, |
| class wide types are not potentially controlled anymore. |
| |
| * expander.adb (Expand): Add case for new N_Extended_Return_Statement |
| node kind. |
| |
| * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid |
| Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because |
| it expects a block, procedure, or task. The return statement will get |
| turned into a block, and Expand_Cleanup_Actions will happen then. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression |
| capability. |
| (Expand_Inlined_Call): Tagged types are by-reference types, and |
| therefore should be replaced by a renaming declaration in the expanded |
| body, as is done for limited types. |
| (Expand_Call): If this is a call to a function with dispatching access |
| result, propagate tag from context. |
| (Freeze_Subprogram): Enable full ABI compatibility for interfacing with |
| CPP by default. |
| (Make_Build_In_Place_Call_In_Assignment): New procedure to do |
| build-in-place when the right-hand side of an assignment is a |
| build-in-place function call. |
| (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion |
| of the explicit dereference of the allocator to the result subtype of |
| the build-in-place function. This is needed to satisfy type checking |
| in cases where the caller's return object is created by an allocator for |
| a class-wide access type and the type named in the allocator is a |
| specific type. |
| (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked |
| conversion of the reference to the declared object to the result subtype |
| of the build-in-place function. This is needed to satisfy type checking |
| in cases where the declared object has a class-wide type. Also, in the |
| class-wide case, change the type of the object entity to the specific |
| result subtype of the function, to avoid passing a class-wide object |
| without explicit initialization to the back end. |
| (Register_Interface_DT_Entry): Moved outside the body of |
| Freeze_Subprogram because this routine is now public; it is called from |
| Check_Dispatching_Overriding to handle late overriding of abstract |
| interface primitives. |
| (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for |
| adding an implicit access actual on a call to a build-in-place function. |
| (Expand_Actuals): Test for an actual parameter that is a call to a |
| build-in-place function and apply |
| Make_Build_In_Place_Call_In_Anonymous_Context to the call. |
| (Is_Build_In_Place_Function): New function to determine whether an |
| entity is a function whose calls should be handled as build-in-place. |
| (Is_Build_In_Place_Function_Call): New function to determine whether an |
| expression is a function call that should handled as build-in-place. |
| (Make_Build_In_Place_Call_In_Allocator): New procedure for handling |
| calls to build-in-place functions as the initialization of an allocator. |
| (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for |
| handling calls to build-in-place functions in contexts that do not |
| involve init of a separate object (for example, actuals of subprogram |
| calls). |
| (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for |
| handling calls to build-in-place functions as the initialization of an |
| object declaration. |
| (Detect_Infinite_Recursion): Add explicit parameter Process to |
| instantiation of Traverse_Body to avoid unreferenced warning. |
| (Check_Overriding_Inherited_Interfaces): Removed. |
| (Register_Interface_DT_Entry): Code cleanup. |
| (Register_Predefined_DT_Entry): Code cleanup. |
| (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around |
| inlined statements if within a transient scope. |
| (Expand_Inlined_Call.Process_Formals): When replacing occurrences of |
| formal parameters with occurrences of actuals in inlined body, establish |
| visibility on the proper view of the actual's subtype for the body's |
| context. |
| (Freeze_Subprogram): Do nothing if we are compiling under full ABI |
| compatibility mode and we have an imported CPP subprogram because |
| for now we assume that imported CPP primitives correspond with |
| objects whose constructor is in the CPP side (and therefore we |
| don't need to generate code to register them in the dispatch table). |
| (Expand_Actuals): Introduce copy of actual, only if it might be a bit- |
| aligned selected component. |
| (Add_Call_By_Copy_Node): Add missing code to handle the case in which |
| the actual of an in-mode parameter is a type conversion. |
| (Expand_Actuals): If the call does not come from source and the actual |
| is potentially misaligned, let gigi handle it rather than rejecting the |
| (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning |
| Class Wide types as returning by reference independantly of their |
| controlled status since with HIE runtimes class wide types are not |
| potentially controlled anymore. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch9.adb (Update_Prival_Types): Simplify code for entity |
| references that are private components of the protected object. |
| (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function |
| (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc |
| instantiation to deal with warnings. |
| (Initialize_Protection): If expression for priority is non-static, use |
| System_Priority as its expected type, in case the expression has not |
| been analyzed yet. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing |
| initialization of Homonym_Len. |
| (Fully_Qualify_Name): Remove kludge to eliminate anonymous block |
| names from fully qualified name. Fixes problem of duplicate |
| external names differing only in the presence of such a block name. |
| |
| 2006-10-31 Thomas Quinot <quinot@adacore.com> |
| Pablo Oliveira <oliveira@adacore.com> |
| |
| * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign |
| subprogram Ids, even if they are not yet assigned. |
| (Build_Subprogram_Id): It is now this function that will take care of |
| calling Assign_Subprogram_Ids if necessary. |
| (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids |
| should be done only once they are assigned. |
| (Build_From_Any_Function, case of tagged types): Add missing call to |
| Allocate_Buffer. |
| (Corresponding_Stub_Type): New subprogram. Returns the associated stub |
| type for an RACW type. |
| (Add_RACW_Features): When processing an RACW declaration for which the |
| designated type is already frozen, enforce E.2.2(14) rules immediately. |
| (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any |
| special reordering of controlling formals. |
| |
| * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the |
| associated stub type for an RACW type. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of |
| fixed-point operations in an integer context, i.e. as operands of a |
| conversion to an integer type, indicate that result must be rounded. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character |
| cases, pass the encoding method, since it is now required by the run |
| time. |
| |
| * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid |
| assumption that Str'First = 1. |
| (Value_Wide_Character): Takes EM (encoding method) parameter and passes |
| it on to the Value_Wide_Wide_Character call. |
| (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and |
| properly handles a string of the form quote-encoded_wide_char-quote. |
| |
| * s-wchcnv.adb: Minor reformatting |
| |
| 2006-10-31 Javier Miranda <miranda@adacore.com> |
| |
| * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing |
| run-time membership test to ensure that the constructed object |
| implements the target abstract interface. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * exp_prag.adb (Expand_Pragma_Common_Object): Use a single |
| Machine_Attribute pragma internally to implement the user pragma. |
| Add processing for pragma Interface so that it is now completely |
| equivalent to pragma Import. |
| |
| * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma |
| so that it can be applied to all entities, including record components |
| and enumeration literals. |
| (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether |
| priority ranges are correct, verify compatibility against task |
| dispatching and locking policies, and if everything is correct an entry |
| is added to the table containing priority specific dispatching entries |
| for this compilation unit. |
| (Delay_Config_Pragma_Analyze): Delay processing |
| Priority_Specific_Dispatching pragmas because when processing the |
| pragma we need to access run-time data, such as the range of |
| System.Any_Priority. |
| (Sig_Flags): Add Pragma_Priority_Specific_Dispatching. |
| Allow pragma Unreferenced as a context item |
| Add pragma Preelaborable_Initialization |
| (Analyze_Pragma, case Interface): Interface is extended so that it is |
| now syntactically and semantically equivalent to Import. |
| (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on |
| insertion characters. |
| Add handling for Pragma_Wide_Character_Encoding |
| (Process_Restrictions_Restriction_Warnings): Ensure that a warning |
| never supercedes a real restriction, and that a real restriction |
| always supercedes a warning. |
| (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of |
| appropriate form. |
| |
| 2006-10-31 Bob Duff <duff@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs, |
| Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be |
| Is_Inherently_Limited_Type, because return-by-reference has no meaning |
| in Ada 2005. |
| (Find_Node_To_Be_Wrapped): Use new method of determining the result |
| type of the function containing a return statement, because the |
| Return_Type field was removed. We now use the Return_Applies_To field. |
| |
| * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test |
| (Build_Task_Image_Decl): If procedure is not called from an |
| initialization procedure, indicate that function that builds task name |
| uses the sec. stack. Otherwise the enclosing initialization procedure |
| will carry the indication. |
| (Insert_Actions): Remove N_Return_Object_Declaration. We now use |
| N_Object_Declaration instead. |
| (Kill_Dead_Code): New interface to implement -gnatwt warning for |
| conditional dead code killed, and change implementation accordingly. |
| (Insert_Actions): Add N_Return_Object_Declaration case. |
| Correct comment to mention N_Extension_Aggregate node. |
| (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad |
| attempts to save information for global variables which cannot be |
| safely tracked. |
| (Get_Current_Value_Condition): Handle conditions the other way round |
| (constant on left). Also handle right operand of AND and AND THEN |
| (Set_Current_Value_Condition): Corresponding changes |
| (Append_Freeze_Action): Remove unnecessary initialization of Fnode. |
| (Get_Current_Value_Condition): Handle simple boolean operands |
| (Get_Current_Value_Condition): Handle left operand of AND or AND THEN |
| (Get_Current_Value_Condition): If the variable reference is within an |
| if-statement, does not appear in the list of then_statments, and does |
| not come from source, treat it as being at unknown location. |
| (Get_Current_Value_Condition): Enhance to allow while statements to be |
| processed as well as if statements. |
| (New_Class_Wide_Subtype): The entity for a class-wide subtype does not |
| come from source. |
| (OK_To_Do_Constant_Replacement): Allow constant replacement within body |
| of loop. This is safe now that we fixed Kill_Current_Values. |
| (OK_To_Do_Constant_Replacement): Check whether current scope is |
| Standard, before examining outer scopes. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target. |
| When True, apply VMS treatment to children of packages A, G, I and S. |
| For F320-016 |
| |
| * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb: Add handling of Last_Assignment field |
| (Warn_Overlay): Supply missing continuation marks in error msgs |
| (Freeze_Entity): Add check for Preelaborable_Initialization |
| |
| * g-comlin.adb: Add Warnings (Off) to prevent new warning |
| |
| * g-expect.adb: Add Warnings (Off) to prevent new warning |
| |
| * lib-xref.adb: Add handling of Last_Assignment field |
| (Generate_Reference): Centralize handling of pragma Obsolescent here |
| (Generate_Reference): Accept an implicit reference generated for a |
| default in an instance. |
| (Generate_Reference): Accept a reference for a node that is not in the |
| main unit, if it is the generic body corresponding to an subprogram |
| instantiation. |
| |
| * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings |
| |
| * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for |
| -gnatwq/Q. |
| (Warn_On_Useless_Assignment): Suppress warning if enclosing inner |
| exception handler. |
| (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on |
| use clauses, to avoid messages on packages used to qualify, and also |
| to avoid messages from obsolescent units. |
| (Warn_On_Useless_Assignments): Don't generate messages for imported |
| and exported variables. |
| (Warn_On_Useless_Assignments): New procedure |
| (Output_Obsolescent_Entity_Warnings): New procedure |
| (Check_Code_Statement): New procedure |
| |
| * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag |
| Change name Is_Ada_2005 to Is_Ada_2005_Only |
| (Last_Assignment): New field for useless assignment warning |
| |
| 2006-10-31 Olivier Hainque <hainque@adacore.com> |
| |
| * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the |
| closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16. |
| |
| 2006-10-31 Bob Duff <duff@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * g-awk.adb (Default_Session, Current_Session): Compile this file in |
| Ada 95 mode, because it violates the new rules for AI-318. |
| |
| * g-awk.ads: Use overloaded subprograms in every case where we used to |
| have a default of Current_Session. This makes the code closer to be |
| correct for both Ada 95 and 2005. |
| |
| * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005 |
| code, relying on the fact that the compiler generates a warning |
| instead of an error in -gnatg mode. |
| |
| * lib-xref.ads (Xref_Entity_Letters): Add entry for new |
| E_Return_Statement entity kind. |
| Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters. |
| |
| * par.adb (P_Interface_Type_Definition): Addition of one formal to |
| report an error if the reserved word abstract has been previously found. |
| (SS_End_Type): Add E_Return for new extended_return_statement syntax. |
| |
| * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for |
| parenthesized range attribute usage |
| (P_Expression_No_Right_Paren): Add missing comment about error recovery. |
| |
| * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant" |
| in the syntax for extended_return_statement. This is not in the latest |
| RM, but the ARG is expected to issue an AI allowing this. |
| (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove |
| N_Return_Object_Declaration. We now use N_Object_Declaration instead. |
| (P_Return_Object_Declaration, P_Return_Subtype_Indication, |
| P_Return_Statement): Parse the new syntax for extended_return_statement. |
| |
| * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected, |
| Output_End_Missing): Add error-recovery code for the new |
| extended_return_statement syntax; that is, the new E_Return entry on |
| the scope stack. |
| |
| * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from |
| limited to nonlimited, because otherwise we violate the new Ada 2005 |
| rules about returning limited types in function Create_AST_Handler in |
| s-asthan.adb. |
| |
| * sem.adb (Analyze): Add cases for new node kinds |
| N_Extended_Return_Statement and N_Return_Object_Declaration. |
| |
| * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component |
| type is in the same category as type of context before applying check, |
| to prevent anomalies in instantiations. |
| (Resolve_Aggregate): Remove test for limited components in aggregates. |
| It's unnecessary in Ada 95, because if it has limited components, then |
| it must be limited. It's wrong in Ada 2005, because limited aggregates |
| are now allowed. |
| (Resolve_Record_Aggregate): Move check for limited types later, because |
| OK_For_Limited_Init requires its argument to have been resolved. |
| (Get_Value): When copying the component default expression for a |
| defaulted association in an aggregate, use the sloc of the aggregate |
| and not that of the original expression, to prevent spurious |
| elaboration errors, when the expression includes function calls. |
| (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates |
| were missing. We also didn't handle qualified expressions. Now also |
| allow function calls. Use new common routine OK_For_Limited_Init. |
| (Resolve_Extension_Aggregate): Minor fix to bad error message (started |
| with space can upper case letter). |
| |
| * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set |
| Has_Static_Discriminants flag |
| (Record_Type_Declaration): Diagnose an attempt to declare an interface |
| type with discriminants. |
| (Process_Range_Expr_In_Decl): Do validity checks on range |
| (Build_Discriminant_Constraints): Use updated form of |
| Denotes_Discriminant. |
| (Process_Subtype): If the subtype is a private subtype whose full view |
| is a concurrent subtype, introduce an itype reference to prevent scope |
| anomalies in gigi. |
| (Build_Derived_Record_Type, Collect_Interface_Primitives, |
| Record_Type_Declaration): The functionality of the subprograms |
| Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces |
| is now performed by a single routine. |
| (Build_Derived_Record_Type): If the type definition includes an explicit |
| indication of limitedness, then the type must be marked as limited here |
| to ensure that any access discriminants will not be treated as having |
| a local anonymous access type. |
| (Check_Abstract_Overriding): Issue a detailed error message when an |
| abstract subprogram was not overridden due to incorrect mode of its |
| first parameter. |
| (Analyze_Private_Extension_Declaration): Add support for the analysis of |
| synchronized private extension declarations. Verify that the ancestor is |
| a limited or synchronized interface or in the generic case, the ancestor |
| is a tagged limited type or synchronized interface and all progenitors |
| are either limited or synchronized interfaces. |
| Derived_Type_Declaration): Check for presence of private extension when |
| dealing with synchronized formal derived types. |
| Process_Full_View): Enchance the check done on the usage of "limited" by |
| testing whether the private view is synchronized. |
| Verify that a synchronized private view is completed by a protected or |
| task type. |
| (OK_For_Limited_Init_In_05): New function. |
| (Analyze_Object_Declaration): Move check for limited types later, |
| because OK_For_Limited_Init requires its argument to have been resolved. |
| Add -gnatd.l --Use Ada 95 semantics for limited function returns, |
| in order to alleviate the upward compatibility introduced by AI-318. |
| (Constrain_Corresponding_Record): If the constraint is for a component |
| subtype, mark the itype as frozen, to avoid out-of-scope references to |
| discriminants in the back-end. |
| (Collect_Implemented_Interfaces): Protect the recursive algorithm of |
| this subprogram against wrong sources. |
| (Get_Discr_Value, Is_Discriminant): Handle properly references to a |
| discriminant of limited type completed with a protected type, when the |
| discriminant is used to constrain a private component of the type, and |
| expansion is disabled. |
| (Find_Type_Of_Object): Do not treat a return subtype that is an |
| anonymous subtype as a local_anonymous_type, because its accessibility |
| level is the return type of the enclosing function. |
| (Check_Initialization): In -gnatg mode, turn the error "cannot |
| initialize entities of limited type" into a warning. |
| (OK_For_Limited_Init): Return true for generated nodes, since it |
| sometimes violates the legality rules. |
| (Make_Incomplete_Declaration): If the type for which an incomplete |
| declaration is created happens to be the currently visible entity, |
| preserve the homonym chain when removing it from visibility. |
| (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of |
| inherited subprograms. |
| (Access_Definition): If this is an access to function that is the return |
| type of an access_to_function definition, context is a type declaration |
| and the scope of the anonymous type is the current one. |
| (Analyze_Subtype_Declaration): Add the defining identifier of a regular |
| incomplete subtype to the set of private dependents of the original |
| incomplete type. |
| (Constrain_Discriminated_Type): Emit an error message whenever an |
| incomplete subtype is being constrained. |
| (Process_Incomplete_Dependents): Transform an incomplete subtype into a |
| corresponding subtype of the full view of the original incomplete type. |
| (Check_Incomplete): Properly detect invalid usage of incomplete types |
| and subtypes. |
| |
| 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * g-catiio.ads, g-catiio.adb (Value): New function. |
| Given an input String, try and parse a valid Time value. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * g-debpoo.adb (Is_Valid): Correctly compute Offset using |
| Integer_Address arithmetic, as in Set_Valid. |
| |
| 2006-10-31 Arnaud Charlet <charlet@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of |
| handling executable extension manually and duplicating code. |
| |
| * make.adb: Implement new -S switch |
| (Gnatmake): Use new function Osint.Executable_Name instead |
| of handling executable extension manually. |
| |
| * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix |
| is specified, the executable name ends with this suffix. |
| Take advantage of Osint.Executable_Name instead of duplicating code. |
| |
| * switch-m.adb: Recognize new gnatmake -S switch |
| |
| * targparm.ads, targparm.adb (Executable_Extension_On_Target): New |
| variable. |
| (Get_Target_Parameters): Set Executable_Extension_On_Target if |
| available. |
| |
| * makeusg.adb: Add line for gnatmake -S switch |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc, |
| call it with -static-libgcc, as there are some platforms, such as |
| Darwin, where one of these two switches is compulsory to link. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined, |
| instead of ADA_PROJECT_PATH, for the project path. |
| (Gnatls): When displaying the project path directories, use host dir |
| specs. |
| |
| * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path |
| names in the project path, as absolute paths may correspond to |
| multi-valued VMS logical names. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an |
| absolute path name. |
| (Locate_Regular_File): Ditto |
| (Change_Dir): Remove, no longer used |
| (Normalize_Pathname): Do not use Change_Dir to get the drive letter |
| on Windows. Get it calling Get_Current_Dir. |
| (OpenVMS): Remove imported boolean, no longer needed. |
| (Normalize_Pathname)[VMS]: Do not resolve directory names. |
| (Pid_To_Integer): New function to convert a Process_Id to Integer |
| |
| 2006-10-31 Thomas Quinot <quinot@adacore.com> |
| |
| * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling |
| sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components |
| to No_Socket. |
| (Selector_Type): Add default value of No_Socket for R_Sig_Socket and |
| W_Sig_Socket. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * g-speche.ads, g-speche.adb: Add special case to recognize misspelling |
| initial letter o as a zero. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * layout.adb (Layout_Record_Type): Deal with non-static subtypes of |
| variant records |
| (Layout_Variant_Record): Retrieve the discriminants from the entity |
| rather than from the type definition, because in the case of a full |
| type for a private type we need to take the discriminants from the |
| partial view. |
| (Layout_Component_List): When applying the Max operator to variants with |
| a nonstatic size, check whether either operand is static and scale that |
| operand from bits to storage units before applying Max. |
| (Layout_Type): In VMS, if a C-convention access type has no explicit |
| size clause (and does not inherit one in the case of a derived type), |
| then the size is reset to 32 from 64. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * lib-load.adb (Load_Unit): Skip the test for a unit not found when |
| its file has already been loaded, according to the unit being loaded, |
| not to the current value of Multiple_Unit_Index. |
| |
| 2006-10-31 Thomas Quinot <quinot@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * Makefile.in: Set EH mechanism to ZCX for FreeBSD. |
| (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if |
| possible. |
| (a-except.o): Pass it to the compiler. |
| (gnatlib-shared-vms): Removed -nostartfiles switch in link step. |
| (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific |
| a-calend-mingw.adb version. |
| |
| * Makefile.rtl: Added s-dsaser. |
| Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones] |
| (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and |
| Ada.Dispatching.Round_Robin. |
| Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists |
| |
| * Make-lang.in: Remove all references to gt-ada-decl.h. |
| Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler |
| sources. |
| Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects. |
| Update dependencies. |
| |
| * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * mlib-utl.adb (Initialized): Remove, no longer used |
| (Initialize): Remove, no longer used |
| (Ar): If Ar_Exec is null, get the location of the archive builder and, |
| if there is one, the archive indexer. Fail if the archive builder cannot |
| be found. |
| (Gcc): If the driver path is unknown, get it. Fail if the driver cannot |
| be found. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs, |
| Process_Body_Clauses): If the context of a body includes a use clause |
| for P.Q then a with_clause for P in the same body is not redundant, |
| even if the spec also has a with_clause on P. |
| Add missing continuation mark to error msg |
| (Build_Limited_Views): A limited view of a type is tagged if its |
| declaration includes a record extension. |
| (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit |
| node, even if the subunit has errors. This avoids malfunction by |
| Lib.Check_Same_Extended_Unit in the presence of syntax errors. |
| (Analyze_Compilation_Unit): Add circuit to make sure we get proper |
| generation of obsolescent messages for with statements (cannot do |
| this too early, or we cannot implement avoiding the messages in the |
| case of obsolescent units withing obsolescent units). |
| (Install_Siblings): If the with_clause is on a remote descendant of |
| an ancestor of the current compilation unit, find whether there is |
| a sibling child unit that is immediately visible. |
| (Remove_Private_With_Clauses): New procedure, invoked after completing |
| the analysis of the private part of a nested package, to remove from |
| visibility the private with_clauses of the enclosing package |
| declaration. |
| (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is |
| now centralized in Generate_Reference. |
| (Install_Limited_Context_Clauses): Remove superfluous error |
| message associated with unlimited view visible through use |
| and renamings. In addition, at the point in which the error |
| is reported, we add the backslash to the text of the error |
| to ensure that it is reported as a single error message. |
| Use new // insertion for some continuation messages |
| (Expand_Limited_With_Clause): Use copy of name rather than name itself, |
| to create implicit with_clause for parent unit mentioned in original |
| limited_with_clause. |
| (Install_Limited_With_Unit): Set entity of parent identifiers if the |
| unit is a child unit. For ASIS queries. |
| (Analyze_Subunit): If the subunit appears within a child unit, make all |
| ancestor child units directly visible again. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch10.adb (P_Context_Clause): Minor error message fix |
| |
| 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * par-ch12.adb: Grammar update and cleanup. |
| (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add |
| support for synchronized derived type definitions. |
| Add the new actual Abstract_Present to every call to |
| P_Interface_Type_Definition. |
| (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of |
| a formal object declaration with an access definition or a subtype mark |
| with a null exclusion. |
| (P_Generic_Association): Handle association with box, and others_choice |
| with box, to support Ada 2005 partially parametrized formal packages. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses |
| (P_Type_Declaration): Remove barrier against the reserved word "limited" |
| after "abstract" to give support to the new syntax of AARM 3.4 (2/2). |
| (P_Type_Declaration): Minor code cleanup. Add support for synchronized |
| private extensions. |
| (P_Type_Declaration): Add the new actual Abstract_Present to every call |
| to P_Interface_Type_Definition. |
| (P_Interface_Type_Definition): Addition of one formal to report an error |
| if the reserved word abstract has been previously found. |
| (P_Identifier_Declarations): Update grammar rules. Handle parsing of an |
| object renaming declaration with an access definition or subtype mark |
| with a possible null exclusion. |
| |
| * par-ch9.adb: Minor error msg fix |
| |
| * par-load.adb: Add missing continuation mark to error msg |
| |
| * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for |
| unknown attribute in unknown package or in package that does not need |
| to be checked. |
| (Parse_Package_Declaration): Do not issue warning for unknown package in |
| quiet output. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant |
| (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter |
| Packages_To_Check. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S |
| on VMS, change "__" to '.' before checking the name. |
| (Record_Ada_Source): Always add the source file name in the list of |
| of sources, even if it is not the first time, as it is for another |
| source index. |
| (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single |
| dot, instead of replacing only the first '_'. |
| |
| * prj-part.adb (Parse): Convert project file path to canonical form |
| |
| * prj-proc.adb (Recursive_Process): Make sure that, when a project is |
| extended, the project id of the project extending it is recorded in its |
| data, even when it has already been processed as an imported project. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * repinfo.adb (List_Entities): Don't list entities from renaming |
| declarations. |
| |
| 2006-10-31 Arnaud Charlet <charlet@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * restrict.ads, restrict.adb (Restriction_Active): Now returns False if |
| only a restriction warning is active for the given restriction. This is |
| desirable because we do not want to modify code in the case where only |
| a warning is set. |
| (Set_Profile_Restrictions): Make sure that a Profile_Warnings never |
| causes overriding of real restrictions. |
| Take advantage of new No_Restrictions constant. |
| |
| * raise.h: (__gnat_set_globals): Change profile. |
| |
| 2006-10-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * rtsfind.adb: Remove s-polint from comment as it exists no more. |
| |
| * rtsfind.ads: |
| Move entity RE_Get_Active_Partition_Id to package System.DSA_Services. |
| Move all the entities in obsolete package System.PolyORB_Interface to |
| System.Partition_Interface. |
| (RE_Storage_Size): New function in System.Tasking. |
| (RE_Get_Ceiling): New entity. |
| (RE_Set_Ceiling): New entity. |
| (RO_PE_Get_Ceiling): New entity. |
| (RO_RE_Set_Ceiling): New entity. |
| (Inherit_CPP_DT): New entity |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * scng.adb (Scan, case of numeric literal): Better msg for identifier |
| starting with a digit. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose |
| properly an attempt to apply Unchecked_Access to a protected operation. |
| (OK_Self_Reference): New subprogram to check the legality of an access |
| attribute whose prefix is the type of an enclosing aggregate. |
| Generalizes previous mechanism to handle attribute references nested |
| arbitrarily deep within the aggregate. |
| (Analyze_Access_Attribute): An access attribute whose prefix is a type |
| can appear in an aggregate if this is a default-initialized aggregate |
| for a self-referential type. |
| (Resolve_Attribute, case Access): Ditto. |
| Add support for new implementation defined attribute Stub_Type. |
| (Eval_Attribute, case Attribute_Stub_Type): New case. |
| (Analyze_Attribute, case Attribute_Stub_Type): New case. |
| (Stream_Attribute_Available): Implement using new subprogram from |
| sem_cat, Has_Stream_Attribute_Definition, instead of incorrect |
| Has_Specified_Stream_Attribute flag. |
| Disallow Storage_Size and Storage_Pool for access to subprogram |
| (Resolve_Attribute, case 'Access et al): Take into account anonymous |
| access types of return subtypes in extended return statements. Remove |
| accessibility checks on anonymous access types when Unchecked_Access is |
| used. |
| (Analyze_Attribute): Add support for the use of 'Class to convert |
| a class-wide interface to a tagged type. |
| Add support for the attribute Priority. |
| (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for |
| whether the designated type is discriminated with a constrained partial |
| view and require static matching in that case. |
| Add local variable Des_Btyp. The Designated_Type |
| of an access to incomplete subtype is either its non-limited view if |
| coming from a limited with or its etype if regular incomplete subtype. |
| |
| * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): |
| Fix predicate to identify and allow cases of (expander-generated) |
| references to tag of designated object of a RACW. |
| (Validate_Static_Object_Name): In Ada 2005, a formal object is |
| non-static, and therefore cannot appear as a primary in a preelaborable |
| package. |
| (Has_Stream_Attribute_Definition): New subprogram, abstracted from |
| Has_Read_Write_Attributes. |
| (Has_Read_Write_Attributes): Reimplement in termes of |
| Has_Stream_Attribute_Definition. |
| (Missing_Read_Write_Attributes): When checking component types in a |
| record, unconditionally call Missing_Read_Write_Attributes recursively |
| (remove guard checking for Is_Record_Type / Is_Access_Type). |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch11.adb (Analyze_Handled_Statements): Move final test for |
| useless assignments here and conditionalize it on absence of exception |
| handlers. |
| (Analyze_Exception_Handlers): Small code reorganization of error |
| detection code, for new handling of formal packages. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator |
| that has been constant-folded, preserve information of original tree, |
| for ASIS uses. |
| (Analyze_Formal_Derived_Type): Set the limited present flag of the newly |
| generated private extension declaration if the formal derived type is |
| synchronized. Carry synchronized present over to the generated private |
| extension. |
| (Validate_Derived_Type_Instance): Ensure that the actual of a |
| synchronized formal derived type is a synchronized tagged type. |
| (Instantiate_Formal_Package): When creating the instantiation used to |
| validate the actual package of a formal declared without a box, check |
| whether the formal itself depends on a prior actual. |
| (Instantiate_Formal_Subprogram): Create new entities for the defining |
| identifiers of the formals in the renaming declaration, for ASIS use. |
| (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating |
| a renaming declaration or a subtype declaration for an actual in an |
| instance, capture location information of declaration in generic, for |
| ASIS use. |
| (Instantiate_Formal_Package): Add comments on needed additional tests. |
| AI-317 (partial parametrization) is fully implemented. |
| (Validate_Private_Type_Instance): Add check for actual which |
| must have preelaborable initialization |
| Use new // insertion for some continuation messages |
| (Analyze_Formal_Object_Declaration): Change usage of Expression to |
| Default_Expression. Add type retrieval when the declaration has an |
| access definition. Update premature usage of incomplete type check. |
| (Check_Access_Definition): New subsidiary routine. Check whether the |
| current compilation version is Ada 05 and the supplied node has an |
| access definition. |
| (Instantiate object): Alphabetize local variables. Handle the creation |
| of new renaming declarations with respect to the kind of definition |
| used - either an access definition or a subtype mark. Guard against |
| unnecessary error message in the context of anonymous access types after |
| they have been resolved. Add check for required null exclusion in a |
| formal object declaration. |
| (Switch_View): A private subtype of a non-private type needs to be |
| switched (the base type can have been switched without its private |
| dependents because of the last branch of Check_Private_View. |
| (Check_Private_View): Do not recompute Base_Type (T), instead use cached |
| value from BT. |
| (Instantiate_Type): Emit an error message whenever a class-wide type of |
| a tagged incomplete type is used as a generic actual. |
| (Find_Actual_Type): Extend routine to handle a component type in a child |
| unit that is imported from a formal package in a parent. |
| (Validate_Derived_Type_Instance): Check that analyzed formal and actual |
| agree on constrainedness, rather than checking against ultimate ancestor |
| (Instantiate_Subprogram_Body): Create a cross-reference link to the |
| generic body, for navigation purposes. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * sem_ch13.adb: Storage pool cannot be given for access to subprogram |
| type. |
| (New_Stream_Subprogram): When processing an attribute definition clause |
| for a stream-oriented subprogram, record an entity node occurring at |
| the point of clause to use for checking the visibility of the clause, |
| as defined by 8.3(23) as amended by AI-195. |
| (New_Stream_Subprogram): New procedure, factoring behaviour from both |
| New_Stream_Function and New_Stream_Procedure. |
| (New_Stream_Function, New_Stream_Procedure): Removed. |
| (Analyze_Attribute_Definition_Clause, case Address): Check new |
| Alignment_Check check |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we |
| generate the same errors compiling under -gnatc. |
| (Try_Object_Operation): If no candidate interpretation succeeds, but |
| there is at least one primitive operation with the right name, report |
| error in call rather than on a malformed selected component. |
| (Analyze_Selected_Component): If the prefix is an incomplete type from |
| a limited view, and the full view is available, use the full view to |
| determine whether this is a prefixed call to a primitive operation. |
| (Operator_Check): Verify that a candidate interpretation is a binary |
| operation before checking the type of its second formal. |
| (Analyze_Call): Add additional warnings for function call contexts not |
| yet supported. |
| (Analyze_Allocator): Move the check for "initialization not allowed for |
| limited types" after analyzing the expression. This is necessary, |
| because OK_For_Limited_Init looks at the structure of the expression. |
| Before analysis, we don't necessarily know what sort of expression it |
| is. For example, we don't know whether F(X) is a function call or an |
| indexed component; the former is legal in Ada 2005; the latter is not. |
| (Analyze_Allocator): Correct code for AI-287 -- extension aggregates |
| were missing. We also didn't handle qualified expressions. Now also |
| allow function calls. Use new common routine OK_For_Limited_Init. |
| (Analyze_Type_Conversion): Do not perform some legality checks in an |
| instance, because the error message will be redundant or spurious. |
| (Analyze_Overloaded_Selected_Component): Do not do style check when |
| setting an entity, since we do not know it is the right entity yet. |
| (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res |
| (Analyze_Overloaded_Selected_Component): Same change |
| (Analyze_Selected_Component): Remove unnecessary prefix type retrieval |
| since regular incomplete subtypes are transformed into corresponding |
| subtypes of their full views. |
| (Complete_Object_Operation): Treat name of transformed subprogram call |
| as coming from source, for browsing purposes. |
| (Try_Primitive_Operation): If formal is an access parameter, compare |
| with base type of object to determine whether it is a primitive |
| operation. |
| (Operator_Check): If no interpretation of the operator matches, check |
| whether a use clause on any candidate might make the operation legal. |
| (Try_Class_Wide_Operation): Check whether the first parameter is an |
| access type whose designated type is class-wide. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to |
| warn on infinite loops. |
| Add \\ to some continuation messages |
| (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment |
| (Process_Bounds): If the bounds are integer literals that result from |
| constant-folding, and they carry a user-defined type, preserve that type |
| rather than treating this as an integer range. |
| (Analyze_Exit_Statement): Test for E_Return_Statement in legality check. |
| (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check. |
| (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for |
| left hand side of assignment. |
| (Analyze_Assignment): Add suport to manage assigments to the attribute |
| priority of a protected object. |
| (Check_Possible_Current_Value_Condition): Allow fully qualified names |
| not just identifiers. |
| (Check_Possible_Current_Value_Condition): Acquire left operand of AND |
| or AND THEN for possible tracking. |
| (Analyze_Iteration_Scheme): Check for setting Current_Value for the |
| case of while loops so we can track values in the loop body. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null |
| procedure cannot be a protected operation (it is a basic_declaration, |
| not a subprogram_declaration). |
| (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_ |
| Subp. Add logic for entry processing. |
| (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity. |
| Determine whether an entry or subprogram of a protected or task type |
| override an inherited primitive of an implemented interface. |
| (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding. |
| Update the actual used in calls to Check_Overriding_Indicator. |
| (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit, |
| generate the proper reference to the parent unit, for cross-reference. |
| (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with |
| Is_Formal. |
| Add -gnatd.l --Use Ada 95 semantics for limited function returns, |
| (Add_Extra_Formal): Revise procedure to allow passing in associated |
| entity, scope, and name suffix, and handle setting of the new |
| Extra_Formals field. |
| (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to |
| pass new parameters. Add support for adding the new extra access formal |
| for functions whose calls are treated as build-in-place. |
| (Analyze_A_Return_Statement): Correct casing in error message. |
| Move Pop_Scope to after Analyze_Function_Return, because an extended |
| return statement really is a full-fledged scope. Otherwise, visibility |
| doesn't work right. Correct use of "\" for continuation messages. |
| (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than |
| evilly trying to call Analyze_Object_Declaration directly. Otherwise, |
| the node doesn't get properly marked as analyzed. |
| (Analyze_Subprogram_Body): If subprogram is a function that returns |
| an anonymous access type that denotes a task, build a Master Entity |
| for it. |
| (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify |
| proper usage of null exclusion in a result definition. |
| (Process_Formals): Code cleanup and new error message. |
| (Process_Formals): Detect incorrect application of null exclusion to |
| non-access types. |
| (Conforming_Types): Handle conformance between [sub]types and itypes |
| generated for entities that have null exclusions applied to them. |
| (Maybe_Primitive_Operation): Add an additional type retrieval when the |
| base type is an access subtype. This case arrises with null exclusions. |
| (New_Overloaded_Entity): Do not remove the overriden entity from the |
| homonym chain if it corresponds with an abstract interface primitive. |
| (Process_Formals): Replace membership test agains Incomplete_Kind with a |
| call to the synthesized predicate Is_Incomplete_Type. |
| (Analyze_Subprogram_Body): Check wrong placement of abstract interface |
| primitives. |
| (Analyze_Subprogram_Declaration): Check that abstract interface |
| primitives are abstract or null. |
| (Analyze_Subprogram_Specification): Remove previous check for abstract |
| interfaces because it was not complete. |
| (Has_Interface_Formals): Removed. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary |
| of Analyze_Package_Body, to create Itype references for anonymous |
| access types created in the package declaration, whose designated types |
| may have only a limited view. |
| (Analyze_Package_Specification): For the private part of a nested |
| package, install private_with_clauses of enclosing compilation unit if |
| we are in its visible part. |
| (Declare_Inherited_Private_Subprograms): Complete barrier |
| to ensure that the primitive operation has an alias to some parent |
| primitive. This is now required because, after the changes done for the |
| implementation of abstract interfaces, the contents of the list of |
| primitives has entities whose alias attribute references entities of |
| such list of primitives. |
| (Analyze_Package_Specification): Simplify code that handles parent units |
| of instances and formal packages. |
| (Uninstall_Declarations): Check the convention consistency among |
| primitive overriding operations of a tagged record type. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb: Minor error msg rewording |
| (Undefined): When checking for misspellings, invert arguments (to get |
| expected and found set right) |
| (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated |
| (Analyze_Generic_Renaming): Same fix |
| (Use_One_Package): Do not take into account the internal entities of |
| abstract interfaces during the analysis of entities that are marked |
| as potentially use-visible. |
| (Find_Type): Handle the case of an attribute reference for |
| implementation defined attribute Stub_Type (simply let the analysis of |
| the attribute reference rewrite it). |
| (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a |
| type that appears in a Use_Type clause. |
| (Analyze_Object_Renaming): Add support for renaming of the Priority |
| attribute. |
| (Find_Type): In Ada 2005, a task type can be used within its own body, |
| when it appears in an access definition. |
| (Analyze_Object_Renaming): Remove warning on null_exclusion. |
| (Analyze_Object_Renaming): Introduce checks for required null exclusion |
| in a formal object declaration or in a subtype declaration. |
| (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion. |
| (Check_Null_Exclusion): New local routine to |
| Analyze_Subprogram_Renaming. Check whether the formals and return |
| profile of a renamed subprogram have required null exclusions when |
| their counterparts of the renaming already impose them. |
| (In_Generic_Scope): New local routine to Analyze_Object_Renaming. |
| Determine whether an entity is inside a generic scope. |
| (In_Open_Scope): First pass of documentation update. |
| (Find_Expanded_Name): Add support for shadow entities associated with |
| limited withed packages. This is required to handle nested packages. |
| (Analyze_Package_Renaming): Remove the restriction imposed by AI-217 |
| that makes a renaming of a limited withed package illegal. |
| |
| 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch9.adb (Analyze_Protected_Definition): Remove call to |
| Check_Overriding_Indicator. |
| (Analyze_Task_Definition): Ditto. |
| (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup. |
| (Check_Overriding_Indicator): To find overridden interface operation, |
| examine only homonyms that have an explicit subprogram declaration, not |
| inherited operations created by an unrelated type derivation. |
| (Check_Overriding_Indicator): When checking for the presence of "null" |
| in a procedure, ensure that the queried node is a procedure |
| specification. |
| (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter |
| type when the formal is an access to variable. |
| (Analyze_Protected_Type): Add check for Preelaborable_Initialization |
| (Analyze_Task_Type): Same addition |
| (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to |
| provide navigation capabilities for entries. |
| |
| 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms |
| inherited from an interface ancestor by another interface in the |
| context of an instance as 'late'. |
| (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference |
| of a call to a function that dispatches on access result. |
| (Check_Dispatching_Operation): In case of late overriding of a primitive |
| that covers abstract interface subprograms we register it in all the |
| secondary dispatch tables associated with abstract interfaces. |
| (Check_Dispatching_Call): Add check that a dispatching call is not made |
| to a function with a controlling result of a limited type. This is a |
| current implementation restriction. |
| (Check_Controlling_Formal): Remove bogus checks for E.2.2(14). |
| (Check_Dispatching_Operation): Do no emit a warning if the controlling |
| argument is an interface type that is a generic formal. |
| (Is_Interface_Subprogram): Removed. |
| (Check_Dispatching_Operation): If the subprogram is not a dispatching |
| operation, check the formals to handle the case in which it is |
| associated with an abstract interface type. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure |
| Add new calls to this procedure during traversal |
| (Activate_Elaborate_All_Desirable): Do not set elaboration flag on |
| another unit if expansion is disabled. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.adb (Compile_Time_Compare): Make use of information from |
| Current_Value in the conditional case, to evaluate additional |
| comparisons at compile time. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve |
| subprogram type to provide better diagnostics in case of ambiguity. |
| (Covers): Handle coverage of formal and actual anonymous access types in |
| the context of generic instantiation. |
| (Covers/Interface_Present_In_Ancestors): Use the base type to manage |
| abstract interface types; this is required to handle concurrent types |
| with discriminants and abstract interface types. |
| (Covers): Include type coverage of both regular incomplete subtypes and |
| incomplete subtypes of incomplete type visibles through a limited with |
| clause. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning |
| messages for entities in packages which are not used. |
| (Collect_Synchronized_Interfaces): New procedure. |
| (Overrides_Synchronized_Primitive): New function. |
| (Denotes_Discriminant): Extend predicate to apply to task types. |
| Add missing continuation marks in error msgs |
| (Unqualify): New function for removing zero or more levels of |
| qualification from an expression. There are numerous places where this |
| ought to be used, but we currently only deal properly with zero or one |
| level. |
| (In_Instance); The analysis of the actuals in the instantiation of a |
| child unit is not within an instantiation, even though the parent |
| instance is on the scope stack. |
| (Safe_To_Capture_Value): Exclude the case of variables that are |
| renamings. |
| (Check_Obsolescent): Removed |
| (Is_Aliased_View): A reference to an enclosing instance in an aggregate |
| is an aliased view, even when rewritten as a reference to the target |
| object in an assignment. |
| (Get_Subprogram_Entity): New function |
| (Known_To_Be_Assigned): New function |
| (Type_Access_Level): Compute properly the access level of a return |
| subtype that is an anonymous access type. |
| (Explain_Limited_Type): Correct use of "\" for continuation messages. |
| (Is_Transfer): The new extended_return_statement causes a transfer of |
| control. |
| (Has_Preelaborable_Initialization): New function |
| (Has_Null_Exclusion): New function. Given a node N, determine whether it |
| has a null exclusion depending on its Nkind. |
| Change Is_Lvalue to May_Be_Lvalue |
| (May_Be_Lvalue): Extensive additional code to deal with subprogram |
| arguments (IN parameters are not Lvalues, IN OUT parameters are). |
| (Safe_To_Capture_Value): Extend functionality so it can be used for |
| the current value condition case. |
| (Has_Compatible_Alignment): New function |
| (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable |
| objects to handle the Ada 2005 case, where aliasedness no longer implies |
| that the object is constrained. In particular, for dereferenced names, |
| the designated object must be assumed to be unconstrained. |
| (Kill_Current_Values): Properly deal with the case where we encounter |
| a loop in the scope chain. |
| (Safe_To_Capture_Value): Do not let a loop stop us from capturing |
| a value. |
| (Compile_Time_Constraint_Error): Improve error message in error case |
| |
| * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node |
| associated with entities of abstract interface primitives. |
| Call Apply_Address_Clause_Check instead of Apply_Alignment_Check |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * s-osinte-tru64.adb: |
| Mark Asm statements Volatile to prevent warnings (seems a |
| reasonable change anyway) |
| Fixes new warnings |
| |
| * s-mastop-irix.adb: Add Volatile to Asm statements |
| Suppresses warning, and seems appropriate in any case |
| |
| * s-osinte-vms.adb: Add Volatile to Asm statement |
| |
| * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements |
| |
| * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be |
| returned. |
| Add call to Check_Code_Statement |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * sinfo.ads, sinfo.adb (Set_Synchronized_Present, |
| Synchronized_Present): Add Formal_Derived_Type_Definition and |
| Private_Extension_Declaration to the list of assertions. |
| (Is_Entry_Barrier_Function): New flag |
| (Has_Self_Reference): New flag on aggregates, to indicate that they |
| contain a reference to the enclosing type, inserted through a default |
| initialization. |
| (Next_Rep_Item): Move from Node4 to Node5. |
| (Entity): Add this field for N_Attribute_Definition_Clause. |
| (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement |
| (N_Return_Object_Declaration): Remove this node kind. We now use |
| N_Object_Declaration instead. |
| (Actual_Designated_Subtype): Move to a different place to make room in |
| N_Extended_Return_Statement. |
| (Procedure_To_Call): Move to a different place to make room in |
| N_Extended_Return_Statement. |
| (Return_Type): Removed this field to make room in return statements |
| (both kinds). |
| (Return_Statement_Entity): New field in return statements, in part to |
| replace Return_Type, and in part to support the fact that return |
| statements are now pushed on the scope stack during semantic analysis. |
| (Return_Object_Declarations): New field to support extended return |
| statements. |
| (N_Extended_Return_Statement): New node for extended_return_statement |
| nonterminal. |
| (N_Return_Object_Declaration): New node for part of |
| extended_return_statement nonterminal. Needed because all the necessary |
| fields won't fit in N_Extended_Return_Statement. |
| Generic_associations now carry the Box_Present flag, to indicate a |
| default for an actual in a partially parametrized formal package. |
| |
| * snames.h, snames.ads, snames.adb: Add definition for Validity_Check |
| (Preset_Names): Add entries for Priority_Specific_Dispatching pragma |
| and for the new predefined dispatching policies: EDF_Across_Priorities, |
| Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities. |
| Introduce new name Stub_Type for implementation defined attribute. |
| Add pragma Preelaborable_Initialization |
| Add entry for Priority attribute. |
| Add Pragma_Wide_Character_Encoding |
| (Get_Convention_Name): Given a convention id, this function returns the |
| corresponding name id from the names table. |
| |
| 2006-10-31 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Bob Duff <duff@adacore.com> |
| |
| * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not |
| print null exclusion twice in the case of an access definition, |
| Implement new -gnatL switch |
| Remove N_Return_Object_Declaration. We now use |
| N_Object_Declaration instead. Implement the case for |
| N_Extended_Return_Statement. Alphabetize the cases. |
| Add cases for new nodes N_Extended_Return_Statement and |
| N_Return_Object_Declaration. The code is not yet written. |
| Update the output for N_Formal_Object_Declaration |
| and N_Object_Renaming_Declaration. |
| (Write_Itype): Account for the case of a modular integer subtype whose |
| base type is private. |
| |
| 2006-10-31 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-restri.ads, s-restri.adb: Mark this package as Preelaborate. |
| Remove elaboration code, now done in the binder. |
| |
| * s-rident.ads: Make this unit Preelaborate. |
| (No_Restrictions): New constant used to clean up code and follow |
| preelaborate constraints. |
| |
| * s-stalib.adb: |
| Add System.Restrictions dependence, referenced directly from the |
| binder generated file. |
| |
| 2006-10-31 Gary Dismukes <dismukes@adacore.com> |
| |
| * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set |
| True when AAMP extended floating-point is in use (48-bit). Change type |
| ByteLF to ByteLLF, add new array type ByteLF and condition the size of |
| the two byte array types on AFloat. Change type of IV_Ilf overlay |
| variable from Byte8 to ByteLF. Add appropriate initializations of |
| floating-point overlays for AAMP cases. |
| |
| 2006-10-31 Javier Miranda <miranda@adacore.com> |
| |
| * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb |
| (Get_Ceiling): New subprogram that returns |
| the ceiling priority of the protected object. |
| (Set_Ceiling): New subprogram that sets the new ceiling priority of |
| the protected object. |
| |
| * s-tarest.adb: (Create_Restricted_Task): Fix potential CE. |
| |
| * s-taskin.ads, s-taskin.adb: (Storage_Size): New function. |
| |
| 2006-10-31 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when |
| requeuing to the same protected object to give higher priority tasks |
| the opportunity to execute. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| |
| * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding, |
| add more precise check for the character sequence that follows '[' to |
| avoid possible confusion in case if '[' is the last character of a |
| string literals. |
| (Scan_Wide): Always allow brackets encoding |
| |
| 2006-10-31 Olivier Hainque <hainque@adacore.com> |
| |
| * s-stchop.ads: make this unit preelaborate. This is desirable in |
| general and made mandatory by the use of this unit by s-taprop which |
| is itself preelaborate. |
| |
| * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add |
| Td_Events component. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed |
| in file names. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005 |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * makegpr.adb (Check_Compilation_Needed): Take into account path names |
| with spaces. |
| (Check_Compilation_Needed): When checking a C or C++ source, do not |
| resolve symbolic links. |
| (Display_Command): New Boolean parameter Ellipse, defaulted to False. |
| When not in verbose mode and Ellipse is True, display "..." for the |
| first argument with Display set to False. |
| (Build_Global_Archive): Always set Display True for the first object |
| file. Call Display_Command with Ellipse set to True. |
| |
| 2006-10-31 Matt Heaney <heaney@adacore.com> |
| |
| * a-crbtgo.ads: Commented each subprogram |
| |
| * a-crbtgo.adb: Added reference to book from which algorithms were |
| adapted. |
| |
| * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to |
| indicate which child. |
| (Generic_Conditional_Insert): changed parameter name from "Success" to |
| "Inserted". |
| (Generic_Unconditional_Insert_With_Hint): improved algorithm |
| |
| * a-coorse.adb (Replace_Element): changed parameter name in call to |
| conditional insert operation. |
| |
| * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment |
| |
| * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in |
| Generic_Iteration |
| |
| * a-ciorse.adb (Replace_Element): changed parameter name in call to |
| conditional insert operation. |
| |
| * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in |
| Generic_Iteration. |
| |
| * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in |
| instead of mode inout. |
| |
| * a-chtgop.adb (Adjust): modified comments to reflect current AI-302 |
| draft |
| (Generic_Read): preserve existing buckets array if possible |
| (Generic_Write): don't send buckets array length anymore |
| |
| * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in |
| instead of mode inout. |
| |
| * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets |
| (Iterate): manipulate busy-bit here, instead of in Generic_Iteration |
| |
| * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets |
| (Iterate): manipulate busy-bit here, instead of in Generic_Iteration |
| (Replace_Element): local operation is now an instantiation |
| |
| * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually |
| check current length. |
| (Generic_Replace_Element): new operation |
| |
| 2006-10-31 Doug Rupp <rupp@adacore.com> |
| |
| * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function. |
| Call TBK$SYMBOLIZE without omitting parameters. |
| |
| 2006-10-31 Vincent Celier <celier@adacore.com> |
| |
| * symbols-processing-vms-ia64.adb, |
| symbols-processing-vms-alpha.adb (Process): Do not include symbols |
| that come from generic instantiations in bodies. |
| |
| 2006-10-31 Pat Rogers <rogers@adacore.com> |
| |
| * a-rttiev.ads, a-rttiev.adb: |
| This is a significant redesign primarily for the sake of automatic |
| timer task termination but also to fix a design flaw. |
| Therefore we are now using an RTS lock, instead of a protected |
| object, to provide mutual exclusion to the queue of pending events |
| and the type Timing_Event is no longer a protected type. |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Cyrille Comar <comar@adacore.com> |
| Ben Brosgol <brosgol@adacore.com> |
| |
| * debug.adb: Update flags documentation |
| |
| * gnat_ugn.texi: Add documentation for new -gnatwq switch |
| Clean up documentation for several other warning switches |
| Clarify how task stack size can be specified with various |
| versions of Windows. |
| Add note that -gnatVo includes ranges including loops |
| Add documentation for -gnatL switch |
| Add note on elaboration warning for initializing variables |
| Add documentation for new -gnatwt warning switch |
| Document new form of pragma Warnings (On|Off, string) |
| Add comment on use of pragma Warnings to control warnings |
| Add documentation for -gnatjnn switch |
| Modify section on interfacing with C for VMS 64-bit. |
| Add doc for -gnatVe/E |
| Add documentation of new warning flags -gnatww/-gnatwW |
| Add warnings about address clause overlays to list of warnings |
| (Exception Handling Control): Document that the option --RTS must be |
| used consistently for gcc and gnatbind. |
| Clarify that inlining is not always possible |
| Update documentation on pragma Unchecked_Union. |
| |
| * gnat_rm.texi: |
| Add documentation for new extended version of pragma Obsolescent |
| Add documentation for implementation defined attribute 'Stub_Type. |
| Add note on use of Volatile in asm statements |
| Add documentation on use of pragma Unreferenced in context clause |
| Document new form of pragma Warnings (On|Off, pattern) |
| Document pragma Wide_Character_Encoding |
| Add note that pragma Restrictions (No_Elaboration_Code) is only fully |
| enforced if code generation is active. |
| Add section on pragma Suppress to document GNAT specific check |
| Alignment_Check |
| Clarify difference between No_Dispatching_Calls & No_Dispatch. |
| Add documentation for pragma Restrictions (No_Elaboration_Code) |
| |
| * gnat-style.texi: |
| Add comments on layout of subprogram local variables in the |
| presence of nested subprograms. |
| |
| * ug_words: Resync. |
| |
| * elists.ads: Minor reformatting |
| Node returns Node_Or_Entity_Id (doc change only) |
| |
| * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION |
| |
| * g-arrspl.ads (Create): Update comments. |
| |
| * sem.ads: Add details on the handling of the scope stack. |
| |
| * usage.adb: Update documentation. |
| |
| * validsw.ads, validsw.adb: |
| Add definition of Validity_Check_Components and implement -gnatVe/E |
| |
| * vms_data.ads: Add missing VMS qualifiers. |
| |
| * s-addope.ads: Add documentation on overflow and divide by zero |
| |
| 2006-10-31 Robert Dewar <dewar@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * fmap.adb: Put routines in alpha order |
| |
| * g-boumai.ads: Remove redundant 'in' keywords |
| |
| * g-cgi.adb: Minor reformatting |
| |
| * g-cgi.ads: Remove redundant 'in' keywords |
| |
| * get_targ.adb: Put routines in alpha order |
| |
| * prj-attr.ads: Minor reformatting |
| |
| * s-atacco.ads: Minor reformatting |
| |
| * scn.adb: Put routines in alpha order |
| |
| * sinput-l.adb: Minor comment fix |
| |
| * sinput-p.adb: Minor comment fix |
| |
| * s-maccod.ads: Minor reformatting |
| |
| * s-memory.adb: Minor reformatting |
| |
| * s-htable.adb: Fix typo in comment. |
| |
| * s-secsta.adb: Minor comment update. |
| |
| * s-soflin.adb: Minor reformatting |
| |
| * s-stoele.ads: |
| Add comment about odd qualification in Storage_Offset declaration |
| |
| * s-strxdr.adb: |
| Remove unnecessary 'in' keywords for formal parameters. |
| |
| * treeprs.adt: Minor reformatting |
| |
| * urealp.adb: Put routines in alpha order |
| |
| * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version |
| taking string. |
| |
| * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords |
| |
| * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords |
| |
| * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so |
| workaround as on other platforms. |
| |
| * g-eacodu-vms.adb: Remove redundant 'in' keywords |
| * g-expect-vms.adb: Remove redundant 'in' keywords |
| |
| * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a |
| clear error message if the list-of-files file cannot be opened. |
| |
| * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the |
| equality operator is always visible. |
| |
| * lang.opt: Woverlength-strings: New option. |
| |
| * nmake.adt: |
| Update copyright, since nmake.ads and nmake.adb have changed. |
| |
| * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function . |
| (Binder_Output_Time_Stamps_Set): removed. |
| (Old_Binder_Output_Time_Stamp): idem. |
| (New_Binder_Output_Time_Stamp): idem. |
| (Recording_Time_From_Last_Bind): idem. |
| (Recording_Time_From_Last_Bind): Make constant. |
| |
| * output.ads, output.adb (Write_Str): Allow LF characters |
| (Write_Spaces): New procedure |
| |
| * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100% |
| |
| * inline.adb: Minor reformatting |
| |
| * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords |
| |
| * s-mastop-vms.adb: Remove redundant 'in' keywords |
| |
| * s-osprim-vms.adb: Remove redundant 'in' keywords |
| |
| * s-trafor-default.adb: Remove redundant 'in' keywords |
| |
| * 9drpc.adb: Remove redundant 'in' keywords |
| |
| * s-osinte-mingw.ads: Minor reformatting |
| |
| * s-inmaop-posix.adb: Minor reformatting |
| |
| * a-direio.ads: Remove quotes from Compile_Time_Warning message |
| |
| * a-exexda.adb: Minor code reorganization |
| |
| * a-filico.adb: Minor reformatting |
| |
| * a-finali.adb: Minor reformatting |
| |
| * a-nudira.ads: Remove quote from Compile_Time_Warning message |
| |
| * a-numeri.ads: Minor reformatting |
| |
| * a-sequio.ads: Remove quotes from Compile_Time_Warning message |
| |
| * exp_pakd.ads: Fix obsolete comment |
| |
| * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb, |
| a-wtenio.adb (Put): Avoid assuming low bound of string is 1. |
| Probably not a bug, but certainly neater and more efficient. |
| |
| * a-tienio.adb: Minor reformatting |
| |
| * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start |
| Avoid assuming low bound of string is 1. |
| |
| * gnatbind.adb: Change Bindusg to package and rename procedure as |
| Display, which now ensures that it only outputs usage information once. |
| (Scan_Bind_Arg): Avoid assuming low bound of string is 1. |
| |
| * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by |
| Table'First. |
| |
| * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill |
| warning. |
| (Match): Add pragma Assert to ensure that Matches'First is zero |
| |
| * g-regpat.ads (Match): Document that Matches lower bound must be zero |
| |
| * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check |
| documented preconditions (also kills warnings about bad indexes). |
| |
| * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First |
| is 1. |
| (Build_Import_Library): Ditto; |
| |
| * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1 |
| |
| * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1. |
| |
| * sem_case.adb (Analyze_Choices): Add pragma Assert to check that |
| lower bound of choice table is 1. |
| |
| * sem_case.ads (Analyze_Choices): Document that lower bound of |
| Choice_Table is 1. |
| |
| * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of |
| string is 1. |
| |
| * uintp.adb (Init_Operand): Document that low bound of Vec is always 1, |
| and add appropriate Assert pragma to suppress warnings. |
| |
| * atree.h, atree.ads, atree.adb |
| Change Elist24 to Elist25 |
| Add definitions of Field28 and Node28 |
| (Traverse_Field): Use new syntactic parent table in sinfo. |
| |
| * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only |
| |
| * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only |
| |
| * exp_tss.adb: Put routines in alpha order |
| |
| * fe.h: Remove redundant declarations. |
| |
| 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com> |
| |
| * utils.c (builtin_function): Rename to gnat_builtin_function. |
| Move common code to add_builtin_function. |
| * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as |
| gnat_builtin_function. |
| * gigi.h (builtin_function): Rename to gnat_builtin_function. |
| Change the signature. |
| |
| 2006-10-16 Brooks Moses <bmoses@stanford.edu> |
| |
| * Makefile.in: Add TEXI2PDF definition. |
| * Make-lang.in: Add "ada.pdf" target. |
| |
| 2006-10-03 Kazu Hirata <kazu@codesourcery.com> |
| |
| * decl.c, utils.c: Fix comment typos. |
| * utils.c: Fix a typo. |
| |
| 2006-09-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag |
| on "pure" Ada subprograms if SJLJ exceptions are used. |
| * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING |
| on the declaration node of JMPBUF_SAVE. |
| * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes |
| of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception. |
| * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS. |
| |
| 2006-08-20 Laurent GUERBY <laurent@guerby.net> |
| |
| PR ada/28716 |
| g-socket.adb (Bind_Socket): Call Set_Address. |
| |
| 2006-09-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/15802 |
| * decl.c (same_discriminant_p): New static function. |
| (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent |
| subtype and we have discriminants, fix up the COMPONENT_REFs |
| for the discriminants to make them reference the corresponding |
| fields of the parent subtype after it has been built. |
| |
| 2006-09-15 Roger Sayle <roger@eyesopen.com> |
| |
| PR ada/18817 |
| * utils.c (max_size): Perform constant folding of (A ? B : C) - D |
| into A ? B - D : C - D when calculating the size of a MINUS_EXPR. |
| |
| 2006-09-13 Olivier Hainque <hainque@adacore.com> |
| |
| PR ada/29025 |
| * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address |
| of a SAVE_EXPR, just make the operand addressable/not-readonly and |
| let the common gimplifier code make and propagate a temporary copy. |
| (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable |
| out/in-out actuals and defer setting the addressable/readonly bits |
| to the gimplifier. |
| |
| 2006-09-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/28591 |
| * decl.c (components_to_record): Defer emitting debug info for the |
| record type associated with the variant until after we are sure to |
| actually use it. |
| |
| 2006-09-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/21952 |
| * gigi.h (gnat_internal_attribute_table): Declare. |
| * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above. |
| * utils.c (gnat_internal_attribute_table): New global variable. |
| (builtin_function): Always call decl_attributes on the builtin. |
| (handle_const_attribute): New static function. |
| (handle_nothrow_attribute): Likewise. |
| |
| 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies. |
| |
| 2006-06-23 Olivier Hainque <hainque@adacore.com> |
| |
| * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have |
| not been able to get a constant upper bound from TYPE_SIZE_UNIT. |
| |
| 2006-06-20 James A. Morrison <phython@gcc.gnu.org> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/18692 |
| * Make-lang.in: Add check-gnat to lang_checks. Rename existing |
| check-gnat into check-acats. |
| |
| 2006-06-17 Karl Berry <karl@gnu.org> |
| |
| * gnat-style.texi (@dircategory): Use "Software development" |
| instead of "Programming", following the Free Software Directory. |
| |
| 2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR ada/27944 |
| * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'. |
| |
| 2006-06-06 Laurent GUERBY <laurent@guerby.net> |
| |
| PR ada/27769 |
| mlib-utl.adb: Use Program_Name. |
| |
| 2006-05-28 Kazu Hirata <kazu@codesourcery.com> |
| |
| * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c, |
| sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c, |
| trans.c, utils.c: Fix comment typos. Follow spelling |
| conventions. |
| * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling |
| conventions. |
| |
| 2006-05-19 Nicolas Setton <setton@adacore.com> |
| |
| * misc.c (gnat_dwarf_name): New function. |
| (LANG_HOOKS_DWARF_NAME): Define to it. |
| |
| 2006-05-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H). |
| (ada/misc.o): Likewise. |
| (ada/utils.o): Likewise. |
| |
| 2006-04-08 Aurelien Jarno <aurel32@debian.org> |
| |
| * Makefile.in: Add Ada support for GNU/kFreeBSD. |
| * s-osinte-kfreebsd-gnu.ads: New file. |
| |
| 2006-03-29 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * Make-lang.in: Rename docdir to gcc_docdir. |
| |
| 2006-03-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gigi.h (get_ada_base_type): Delete. |
| * utils2.c (get_ada_base_type): Likewise. |
| * trans.c (convert_with_check): Operate in the real base type. |
| |
| 2006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * uintp.adb (Num_Bits): Handle Uint_Int_First specially. |
| |
| 2006-03-02 Richard Sandiford <richard@codesourcery.com> |
| |
| * utils.c (create_var_decl): Use have_global_bss_p when deciding |
| whether to make the decl common. |
| |
| 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
| |
| * Make-lang.in (Ada): Remove. |
| (.PHONY): Remove Ada |
| |
| 2006-02-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an |
| aggregate, check the interpretations of the other operand to find one |
| that may be a boolean array. |
| |
| (Analyze_Selected_Component): Fix flow-of-control typo in case where |
| the prefix is a private extension. |
| |
| 2006-02-17 Eric Botcazou <botcazou@adacore.com> |
| |
| PR ada/26315 |
| * utils2.c (find_common_type): If both input types are BLKmode and |
| have the same constant size, keep using the first one. |
| |
| * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround. |
| |
| * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant. |
| |
| * misc.c (gnat_handle_option): New case for -Woverlength-strings. |
| |
| 2006-02-17 Jose Ruiz <ruiz@adacore.com> |
| |
| * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, |
| s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, |
| s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb, |
| s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add |
| Abort_Defer/Undefer pairs to avoid the possibility of a task being |
| aborted while owning a lock. |
| |
| 2006-02-17 Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed |
| through an access to class-wide interface we force the displacement of |
| the pointer to the allocated object to reference the corresponding |
| secondary dispatch table. |
| (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2, |
| if Long_Shifts are supported on the target, even if 64 bit divides |
| are not supported (configurable run time mode). |
| (Expand_N_Type_Conversion): Do validity check if validity checks on |
| operands are enabled. |
| (Expand_N_Qualified_Expression): Do validity check if validity checks |
| on operands are enabled. |
| |
| 2006-02-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity |
| must be materialized when the renamed expression is an explicit |
| dereference. |
| |
| 2006-02-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Statically_Discriminated_Components): Return false if |
| the bounds of the type of the discriminant are not static expressions. |
| |
| * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if |
| the bounds of the discriminant type are not static. |
| |
| 2006-02-17 Robert Dewar <dewar@adacore.com> |
| |
| * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD, |
| then we close To if it is valid. |
| |
| 2006-02-17 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * init.c (facility_resignal_table): new array |
| (__gnat_default_resignal_p): enhance default predicate to resignal if |
| VMS condition has one of the predefined facility codes. |
| |
| 2006-02-17 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * Makefile.in: Use VMS64 specialized versions of several units in |
| Interfaces.C hierarchy to be compatible with HP C default size choices. |
| Use the default version of Ada.Synchronous_Task_Control for VxWorks 653. |
| |
| 2006-02-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram |
| instantiation, the corresponding entity is the related_instance of the |
| wrapper package created for the instance. |
| |
| 2006-02-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if |
| the current instance is nested within another instance in a child unit. |
| |
| 2006-02-17 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent |
| type we cannot inherit the primitive operations; we inherit the |
| Corresponding_Record_Type (which has the list of primitive operations). |
| (Check_Anonymous_Access_Types): When creating anonymous access types for |
| access components, use Rewrite in order to preserve the tree structure, |
| for ASIS use. |
| (Analyze_Object_Declaration): For limited types with access |
| discriminants with defaults initialized by an aggregate, obtain |
| subtype from aggregate as for other mutable types. |
| (Derived_Type_Declaration): If the derived type is a limited interface, |
| set the corresponding flag (Is_Limited_Record is not sufficient). |
| |
| 2006-02-17 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order |
| to inline a function that returns an unconstrained type, the return |
| expression must be the first variable declared in the body of the |
| function. |
| |
| 2006-02-17 Javier Miranda <miranda@adacore.com> |
| |
| * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an |
| abstract interface type, the static analysis is not enough to know if |
| the interface is implemented or not by the source tagged type. Hence |
| we must pass the work to the expander to generate the required code to |
| evaluate the conversion at run-time. |
| (Resolve_Equality_Op): Do not apply previous |
| transformation if expansion is disasbled, to prevent anomalies when |
| locating global references in a generic unit. |
| |
| 2006-02-17 Vincent Celier <celier@adacore.com> |
| |
| * snames.ads, snames.adb: New standard names for new project attributes: |
| archive_builder, archive_indexer, compiler_pic_option, |
| config_body_file_name, config_body_file_name_pattern, |
| config_file_switches, config_file_unique, config_spec_file_name, |
| config_spec_file_name_pattern, default_builder_switches, |
| default_global_compiler_switches, default_language, |
| dependency_file_kind, global_compiler_switches, include_path, |
| include_path_file, language_kind, linker_executable_option, |
| linker_lib_dir_option, linker_lib_name_option, mapping_file_switches, |
| roots, runtime_project. |
| |
| 2006-02-17 Matthew Heaney <heaney@adacore.com> |
| |
| * a-convec.ads, a-convec.adb: |
| (operator "&"): handle potential overflow for large index types |
| (Insert): removed Contraint_Error when using large index types |
| (Insert_Space): removed Constraint_Error for large index types |
| (Length): moved constraint check from Length to Insert |
| |
| * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared |
| as not null access. |
| Explicit raise statements now include an exception message. |
| (operator "&"): handle potential overflow for large index types |
| (Insert): removed Contraint_Error when using large index types |
| (Insert_Space): removed Constraint_Error for large index types |
| (Length): moved constraint check from Length to Insert |
| |
| 2006-02-17 Robert Dewar <dewar@adacore.com> |
| |
| * s-wchcnv.adb: Document handling of [ on output (we do not change |
| this to ["5B"] and the new comments say why not. |
| |
| * gnat_ugn.texi: |
| Add note for -gnatVo that this now includes the cases of type |
| conversions and qualified expressions. |
| Add comments on handling of brackets encoding for Text_IO |
| |
| 2006-02-17 Ramon Fernandez <fernandez@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * expander.adb: Fix typo in comment |
| |
| * exp_pakd.adb: Fix typo |
| Minor comment reformatting. |
| |
| * g-dyntab.adb: Minor reformatting |
| |
| * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of |
| aliased subprograms to look for the abstract interface subprogram. |
| |
| 2006-02-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * env.c (__gnat_setenv): Use size_t. |
| (__gnat_unsetenv): Likewise. |
| (__gnat_clearenv): Likewise. |
| |
| 2006-02-16 Arnaud Charlet <charlet@adacore.com> |
| |
| * opt.ads (Ada_Version_Default): Set to Ada 2005 by default. |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads, |
| g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads, |
| i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb, |
| s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb, |
| s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb, |
| s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb, |
| s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb, |
| s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads, |
| s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed, |
| no longer used. |
| |
| 2006-02-13 Jose Ruiz <ruiz@adacore.com> |
| |
| * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit |
| protection against race conditions is not needed. |
| (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the |
| fallback handler. |
| (Set_Specific_Handler): Add mutual exclusive access to the specific |
| handler. |
| (Specific_Handler): Add mutual exclusive access for retrieving the |
| specific handler. |
| |
| * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall |
| back handler. |
| |
| * s-taskin.ads (Common_ATCB): Remove pragma Atomic for |
| Fall_Back_Handler and Specific_Handler. |
| |
| * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task |
| termination handlers. |
| Set two different owerflow depending on the maximal stack size. |
| |
| * s-solita.adb (Task_Termination_Handler_T): Document why explicit |
| protection against race conditions is not needed when executing the |
| task termination handler. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb, |
| a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb, |
| a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads, |
| a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb, |
| a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb, |
| a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads, |
| a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads, |
| a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb, |
| a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads, |
| a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb, |
| a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb, |
| a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads, |
| a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb, |
| a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb, |
| a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb, |
| a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb, |
| a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, |
| a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb, |
| a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads, |
| a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb, |
| g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb, |
| g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb, |
| mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb, |
| prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb, |
| s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb, |
| s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads, |
| s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb, |
| s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb, |
| s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads, |
| s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb, |
| a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb, |
| fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb, |
| par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb, |
| system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor |
| reformatting. |
| |
| 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb, |
| s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb, |
| s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb, |
| s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb, |
| a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb, |
| s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb, |
| a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb, |
| s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb, |
| s-tataat.adb, s-tpobop.adb: Remove redundant with clauses. |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads, |
| s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads, |
| s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, |
| s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, |
| s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads, |
| s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed, |
| replaced by anonymous access type. |
| (pthread_sigmask): Now take an access sigset_t |
| |
| * s-osinte-hpux.ads: Ditto. |
| (pthread_mutex_t, pthread_cond_t): Update definitions to support |
| properly 32 and 64 bit ABIs. |
| |
| 2006-02-13 Pascal Obry <obry@adacore.com> |
| |
| * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, |
| s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, |
| s-taprop-linux.adb, s-taprop-solaris.adb, |
| s-taprop-vms.adb (Create_Task): Remove task adjustment code. This |
| adjustement is already done when calling this routine. |
| |
| 2006-02-13 Pascal Obry <obry@adacore.com> |
| |
| * system-mingw.ads (Underlying_Priorities): Update the priority mapping |
| table to take advantage of the 16 priority levels available on Windows |
| 2000 and XP. On NT4 there are only 7 priority levels, this is properly |
| supported by this new mapping. |
| |
| 2006-02-13 Nicolas Setton <setton@adacore.com> |
| |
| * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types. |
| (get_encoding): New subprogram. Extracts the encodings from an encoded |
| Ada name. |
| |
| 2006-02-13 Pascal Obry <obry@adacore.com> |
| Nicolas Roche <roche@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode |
| support. |
| (__gnat_try_lock): Add unicode support by using a specific section on |
| Windows. |
| (__gnat_get_current_dir): Idem. |
| (__gnat_open_read): Idem. |
| (__gnat_open_rw): Idem. |
| (__gnat_open_create): Idem. |
| (__gnat_create_output_file): Idem. |
| (__gnat_open_append): Idem. |
| (__gnat_open_new): Idem. |
| (__gnat_file_time_name): Idem. |
| (__gnat_set_file_time_name): Idem. |
| (__gnat_stat): Idem. |
| (win32_no_block_spawn): Idem. |
| (__gnat_locate_exec_on_path): Idem. |
| (__gnat_opendir): New routine. |
| (__gnat_closedir): Idem. |
| (__gnat_readdir): Add new parameter length (pointer to int). Update |
| implementation to use it and add specific Win32 code for Unicode |
| support. |
| (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c |
| (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c |
| (convert_addresses): Do not define this dummy routine on VMS. |
| |
| * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT |
| runtime Unicode support will be activated. |
| (S2WS): String to Wide-String conversion. This version just copy a |
| string in non Unicode version. |
| (WS2S): Wide-String to String conversion. This version just copy a |
| string in non Unicode version. |
| |
| * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c. |
| (Open): Now import __gnat_opendir from adaint.c. |
| (Read): Change the implementation to support unicode characters. It is |
| not possible to use strlen() on Windows as this version supports only |
| standard ASCII characters. So the length of the directory entry is now |
| returned from the imported __gnat_readdir routine. |
| Update copyright notice. |
| |
| * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c. |
| (opendir): Moved to adaint.c. |
| |
| * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation. |
| (Get_Directory): Fix wrong indexing. |
| (Getenv): replace __gnat_get_env_value_ptr from adaint.c by |
| __gnat_getenv from env.c |
| (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv |
| from env.c |
| |
| * env.h, env.c: New file. |
| |
| * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from |
| adaint.c by __gnat_getenv from env.c |
| |
| * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from |
| adaint.c by __gnat_getenv from env.c |
| |
| * Make-lang.in: Add env.o in the list of C object needed by gnat1 |
| and gnatbind. |
| Update dependencies. |
| |
| 2006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted. |
| |
| * gigi.h (value_factor_p): Add prototype and description, now public. |
| |
| * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type |
| promotion for field with rep clause if the associated size was proven |
| to be in error. |
| Expand comments describing attempts to use a packable type. |
| (gnat_to_gnu_entity) <E_Signed_Integer_Subtype, |
| E_Floating_Point_Subtype>: Inherit alias set of what we are making a |
| subtype of to ensure conflicts amongst all subtypes in a hierarchy, |
| necessary since these are not different types and pointers may |
| actually designate any subtype in this hierarchy. |
| (gnat_to_gnu_entity, case E_Record_Type): Always make fields for |
| discriminants but put them into record only if not Unchecked_Union; |
| pass flag to components_to_record showing Unchecked_Union. |
| (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no |
| components before variants; don't set TYPE_UNCHECKED_UNION_P. |
| (components_to_record): New argument UNCHECKED_UNION. |
| Remove special case code for Unchecked_Union and instead use main code |
| with small changes. |
| |
| PR ada/26096 |
| (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning |
| variable with the expression being built, only its inner field. |
| |
| * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to |
| emit_sequence_entry_statements. |
| (emit_sequence_entry_statements, body_with_handlers_p): Delete. |
| (establish_gnat_vms_condition_handler): Move before |
| Subprogram_Body_to_gnu. |
| (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler |
| for a subprogram if it has a foreign convention or is exported. |
| (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is |
| substituted for a CONST_DECL. |
| (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass |
| Etype to assoc_to_constructor. |
| (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore |
| discriminants of Unchecked_Union. |
| (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses |
| don't need cluttering preprocessor directives. |
| (establish_gnat_vms_condition_handler): New function. Establish the GNAT |
| condition handler as current in the compiled function. |
| (body_with_handlers_p): New function. Tell whether a given sequence of |
| statements node is attached to a package or subprogram body and involves |
| exception handlers possibly nested within inner block statements. |
| (emit_sequence_entry_statements): New function, to emit special |
| statements on entry of sequences when necessary. Establish GNAT |
| condition handler in the proper cases for VMS. |
| (Handled_Sequence_Of_Statements_to_gnu): Start block code with |
| emit_sequence_entry_statements. |
| |
| * utils2.c (find_common_type): If both input types are BLKmode and |
| have a constant size, use the smaller one. |
| (build_simple_component_ref): Also match if FIELD and NEW_FIELD are |
| the same. |
| |
| * utils.c (value_factor_p): Make public, to allow uses from other gigi |
| units. |
| (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types. |
| (convert, case UNION_TYPE): Remove special treatment for unchecked |
| unions. |
| |
| PR ada/18659 |
| (update_pointer_to): Update variants of pointer types to unconstrained |
| arrays by attaching the list of fields of the main variant. |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * a-exexpr.adb, a-exexpr-gcc.adb |
| (Process_Raise_Exception): Removed, merged with Propagate_Exception. |
| (Propagate_Exception): Now take extra From_Signal_Handler parameter. |
| Remove code unused for exception propagation for the compiler itself |
| from a-except.adb and update to still share separate packages. |
| |
| * a-except.ads, a-except.adb: Ditto. |
| Add comments that this version is now used only by the compiler and |
| other basic tools. The full version that includes the Ada 2005 stuff |
| is in separate files a-except-2005.ads/adb. The reason is that we do |
| not want to cause bootstrap problems with compilers not recognizing |
| Wide_Wide_String. |
| Add exception reason code PE_Implicit_Return |
| Add new exception reason code (Null Exception_Id) |
| |
| * a-except-2005.adb, a-except-2005.ads: New files. |
| |
| * s-wchcon.ads: (Get_WC_Encoding_Method): New function. |
| |
| * s-wchcon.adb: New file. |
| |
| * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c. |
| (traceback.o deps): Likewise. |
| (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris. |
| Activate build of GMEM instrumentation library on VMS targets. |
| (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib. |
| Use a-except-2005.ads/adb for all run-time library builds unless |
| specified otherwise. |
| [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to |
| s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads. |
| Use s-parame.adb on all native platforms. |
| Use s-parame-vxworks.adb on all vxworks platforms. |
| Add env.c env.h in LIBGNAT_SRCS |
| Add env.o in LIBGNAT_OBJS |
| (GNATMAKE_OBJS): Remove ctrl_c.o object. |
| (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of |
| s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that |
| supports VxWorks 6 RTPs. |
| (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of |
| i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs. |
| |
| * types.h, types.ads (Terminate_Program): New exception |
| Add comment on modifying multiple versions of a-except.adb when the |
| table of exception reasons is modified. |
| Add exception reason code PE_Implicit_Return |
| Add new exception reason code (Null Exception_Id) |
| |
| * clean.adb (Initialize): Get the target parameters before checking |
| if target is OpenVMS. Move the OpenVMS specific code here from package |
| body elaboration code. |
| |
| 2006-02-13 Thomas Quinot <quinot@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * ali-util.adb (Get_File_Checksum): Update to account for change in |
| profile of Initialize_Scanner. |
| |
| * gprep.adb (Gnatprep): Update to account for change in profile of |
| Initialize_Scanner. |
| (Process_One_File): Same. |
| |
| * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the |
| common code between Get_Code_Unit and Get_Source_Unit. Reimplement |
| that behaviour using the new Unit information recorded in the source |
| files table, rather than going through all units every time. |
| (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit. |
| (Get_Source_Unit): Same. |
| |
| * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for |
| change in profile of Initialize_Scanner. |
| (Prepare_To_Preprocess): Same. |
| |
| * lib.ads: Fix typo in comment (templace -> template). |
| |
| * prj-part.adb (Parse_Single_Project): Update to account for change in |
| profile of Initialize_Scanner. |
| |
| * scn.adb (Initialize_Scanner): Account for change in profile of |
| Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng. |
| Also record the association of the given Source_File_Index to the |
| corresponding Unit_Number_Type. |
| |
| * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove |
| procedure. |
| (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords. |
| Remove Unit formal for generic scanner: this formal |
| is only relevant to Scn (the scanner instance used to parse Ada source |
| files), not to other instances. Update comment accordingly. |
| (Scan): Use new function Snames.Is_Keyword_Name. |
| |
| * sinfo-cn.adb: Fix typo in comment. |
| |
| * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute |
| Unit. |
| |
| * sinput.ads (Source_File_Record): New component Unit, used to capture |
| the unit identifier (if any) associated to a source file. |
| |
| * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component |
| Unit in Source_File_Record. |
| |
| * sinput-p.adb (Source_File_Is_Subunit): Update to account for change |
| in profile of Initialize_Scanner. |
| |
| * scans.adb (Initialize_Ada_Keywords): New procedure |
| |
| * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the |
| Ada keywords in the Namet table, without the need to call |
| Initialize_Scanner. |
| |
| * snames.adb: Add pragma Ada_2005 (synonym for Ada_05) |
| (Is_Keyword_Name): New function |
| |
| * snames.ads: Add subtype Configuration_Pragma_Names |
| Add pragma Ada_2005 (synonym for Ada_05) |
| (Is_Keyword_Name): New function |
| |
| * snames.h: Add pragma Ada_2005 (synonym for Ada_05) |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice |
| index. |
| |
| * a-stwima.adb (To_Set): Add extra check when N = 0. |
| |
| * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow. |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-parame-mingw.adb, s-parame-linux.adb, |
| s-parame-solaris.adb: Removed, replaced by s-parame.adb |
| |
| * s-parame-vxworks.ads: Fix typo. |
| |
| * s-parame-vxworks.adb: New file. |
| |
| * s-parame.adb: Version now used by all native platforms. |
| (Default_Stack_Size): Use 2 megs for default stack size and use |
| __gl_default_stack_size when available. |
| (Minimum_Stack_Size): Use 12K. |
| |
| * s-taprop-mingw.adb: Set default stack size linker switch to 2megs. |
| (Create_Task): Refine implementation taking advantage of the XP stack |
| size support. On XP, we now create the thread using the flag |
| STACK_SIZE_PARAM_IS_A_RESERVATION. |
| |
| * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant. |
| |
| * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows |
| XP and 0 on older Windows versions. |
| |
| * interfac-vms.ads: Removed, no longer used. |
| |
| 2006-02-13 Matthew Heaney <heaney@adacore.com> |
| |
| * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb, |
| a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb, |
| a-cohase.adb: All explicit raise statements now include an exception |
| message. |
| |
| * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb |
| (Update_Element_Preserving_Key): renamed op to just Update_Element. |
| Explicit raise statements now include an exception message |
| |
| * a-cihase.ads, a-cohase.ads: Removed comment. |
| |
| * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb, |
| a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads, |
| a-szbzha.adb, a-szfzha.ads: New files. |
| |
| 2006-02-13 Matthew Heaney <heaney@adacore.com> |
| |
| * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of |
| quicksort. |
| |
| 2006-02-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * lang.opt: Wvariadic-macros: New option. |
| Wold-style-definition: Likewise. |
| Wmissing-format-attribute: Likewise. |
| |
| * misc.c (gnat_handle_option): New cases for -Wvariadic-macros, |
| -Wold-style-definition and -Wmissing-format-attribute. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec) |
| |
| * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files. |
| |
| 2006-02-13 Nicolas Roche <roche@adacore.com> |
| |
| * a-envvar.adb, a-envvar.ads: New files. |
| |
| 2006-02-13 Douglas Rupp <rupp@adacore.com> |
| |
| * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads |
| |
| * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files. |
| |
| 2006-02-13 Pat Rogers <rogers@adacore.com> |
| |
| * a-rttiev.adb, a-rttiev.ads: New files. |
| |
| 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb, |
| a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files. |
| |
| * impunit.adb, Makefile.rtl: Added new Ada 2005 units. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb, |
| sem_case.adb: Minor code reorganization (not Present should be No) |
| |
| 2006-02-13 Geert Bosch <bosch@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of |
| 0, since the lower bound of the actual string may be greater than one. |
| |
| PR ada/20753 |
| * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid |
| layout is requested. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * back_end.adb (Scan_Compiler_Arguments): Check if |
| Search_Directory_Present is True and, if it is, add the argument in |
| the source search directory path. |
| |
| * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set |
| Search_Directory_Present to True. |
| |
| 2006-02-13 Joel Brobecker <brobecke@adacore.com> |
| |
| * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as |
| volatile, to tell the compiler to preserve this variable at any level |
| of optimization. |
| (Gen_Versions_Ada): Temporarily work around codegen bug. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke |
| gcc to link with option -shared-libgcc. |
| (Gnatlink): Remove duplicate switches -shared-libgcc |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * gnatvsn.ads (Current_Year): New constant, used to easily update |
| copyright on all GNAT tools. |
| |
| * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed |
| copyright notice. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space |
| after hyphen (small aesthetic change useful for a range of numbers |
| using ^-^. |
| Suppress range checks for a couple of assignments which otherwise |
| cause validity checks with validity checking turned on. |
| |
| * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size): |
| Improvement in error message for object. |
| (Rep_Item_Too_Late): Remove '!' in warning message. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * err_vars.ads: Suppress range checks for a couple of assignments |
| which otherwise cause validity checks with validity checking turned on. |
| Update comments. |
| |
| * errout.adb (Error_Msg_Internal): Do not suppress warning messages. |
| Make message unconditional if it is a warning. |
| (Error_Msg_NEL): Always output warning messages. |
| Suppress range checks for a couple of assignments which otherwise |
| cause validity checks with validity checking turned on. |
| |
| * errout.ads (Message Insertion Characters): Document that '!' is |
| implied by '?' in error messages. |
| |
| * gnat1drv.adb: (Bad_Body): Remove '!' in warning message. |
| (Gnat1drv): Use a goto to end of main subprogram instead of |
| Exit_Program (E_Success) so that finalization can occur normally. |
| |
| 2006-02-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has |
| wrapped around. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New |
| Unchecked_Conversion functions. |
| (Modification_Time): Use direct conversion of OS_Time to Calendar time |
| when OpenVMS returns False. |
| |
| * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads, |
| a-dirval.adb (OpenVMS): New Boolean function |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| |
| * checks.adb (Build_Discriminant_Checks): If the expression being |
| checks is an aggregate retrieve the values of its discriminants to |
| generate the check, rather than creating a temporary and a reference |
| to it. |
| (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag |
| (Install_Null_Excluding_Check): Ditto |
| (Selected_Length_Checks): Build actual subtype for the original Ck_Node, |
| not for the renamed object, so that the actual itype is attached in the |
| proper context. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| Vincent Celier <celier@adacore.com> |
| |
| * debug.adb: Eliminate numeric switches for binder/gnatmake |
| |
| * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug |
| switches for the compiler. |
| (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake |
| (Scan_Make_Switches): When failing with an illegal switch, output an |
| error message with the full switch. |
| Eliminate numeric switches for binder/gnatmake |
| |
| * switch.ads, switch.adb (Bad_Switch): New procedure |
| |
| * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches. |
| Remove 0-9 as debug flag character possibilities |
| -d is now controlling the primary stack size when its value is a |
| positive. Also add checks against invalid values, and support for kb, |
| mb. Ditto for -D switch. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| Serguei Rybin <rybin@adacore.com> |
| |
| * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with |
| save/restore routines. |
| Properly handle Ada_Version_Explicit and Ada_Version_Config, which |
| were not always properly handled previously. |
| Since we are changing the tree format anyway, also get rid of the |
| junk obsolete Immediate_Errors flag. |
| (Tree_Read): Change the way of reading Tree_Version_String - now we |
| read the version string from the tree even if its length is not the |
| same as the length of the version string computed from Gnatvsn. |
| (Search_Directory_Present): New Boolean flag for the compiler. |
| Define Tree_Version_String as a dynamic string. |
| (Default_Stack_Size): new variable, used to handle switch -d. |
| |
| * par-prag.adb: |
| For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit |
| only for main unit. |
| Add pragma Ada_2005 (synonym for Ada_05) |
| Properly handle Ada_Version_Explicit and Ada_Version_Config, which |
| were not always properly handled previously. |
| |
| * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change |
| explicit Ada_95 to Ada_2005. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend |
| against errors in the source program: a private types for which the |
| corresponding full type declaration is missing and pragma CPP_Virtual |
| is used. |
| (Is_Unchecked_Union): Check flag on Implementation_Base_Type. |
| (Is_Known_Null): New flag |
| (Has_Pragma_Pure): New flag |
| (No_Return): Present in all entities, set only for procedures |
| (Is_Limited_Type): A type whose ancestor is an interface is limited if |
| explicitly declared limited. |
| (DT_Offset_To_Top_Func): New attribute that is present in E_Component |
| entities. Only used for component marked Is_Tag. If present it stores |
| the Offset_To_Top function used to provide this value in tagged types |
| whose ancestor has discriminants. |
| |
| * exp_ch2.adb: Update status of new Is_Known_Null flag |
| |
| * sem_ch7.adb: Maintain status of new Is_Known_Null flag |
| |
| * sem_cat.adb (Get_Categorization): Don't treat function as Pure in |
| the categorization sense if Is_Pure was set by pragma Pure_Function. |
| |
| 2006-02-13 Quentin Ochem <ochem@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * bindusg.adb: Updated documentation for -d and -D switches. |
| |
| * raise.h (__gnat_set_globals): added new parameter for |
| Default_Stack_Size. |
| |
| * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement. |
| (__gnat_handle_vms_condition): Adjust context before raise. |
| (__gnat_install_handler): Restore the global vector setup for GCC |
| versions before 3.4, as the frame based circtuitry is not available |
| in this case. |
| (__gnat_set_globals): added a parameter default_stack_size |
| (__gl_default_stack_size): new variable. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable |
| "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept |
| does not exist in the Ada RM. |
| (Compatible_Int_Bounds): Determine whether two integer range bounds |
| are of equal length and have the same start and end values. |
| (Is_Int_Range_Bounds): Determine whether a node is an integer range. |
| (Build_Record_Aggr_Code): Perform proper sliding of a nested array |
| aggregate when it is part of an object declaration. |
| (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that |
| constrains discriminants of its parent, add explicitly the discriminant |
| constraints of the ancestor by retrieving them from the |
| stored_constraint of the parent. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If |
| attribute Mechanism_Code is applied to renamed subprogram, modify |
| prefix to point to base subprogram. |
| Max/Min attributes now violate Restriction No_Implicit_Conditionals |
| |
| * sinfo.ads: Document that Mechanism_Code cannot be applied to |
| renamed subprograms so that the front-end must replace the prefix |
| appropriately. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for |
| availability of RE_Interface_Tag. |
| (Build_Initialization_Call): Fix wrong access to the discriminant value. |
| (Freeze_Record_Type): Do not generate the tables associated with |
| timed and conditional dispatching calls through synchronized |
| interfaces if compiling under No_Dispatching_Calls restriction. |
| When compiling for Ada 2005, for a nonabstract |
| type with a null extension, call Make_Controlling_Function_Wrappers |
| and insert the wrapper function declarations and bodies (the latter |
| being appended as freeze actions). |
| (Predefined_Primitive_Bodies): Do not generate the bodies of the |
| predefined primitives associated with timed and conditional |
| dispatching calls through synchronized interfaces if we are |
| compiling under No_Dispatching_Calls. |
| (Build_Init_Procedure): Use RTE_Available to check if a run-time |
| service is available before generating a call. |
| (Make_Controlling_Function_Wrappers): New procedure. |
| (Expand_N_Full_Type_Declaration): Create a class-wide master for |
| access-to-limited-interfaces because they can be used to reference |
| tasks that implement such limited interface. |
| (Build_Offset_To_Top_Functions): Build the tree corresponding to the |
| procedure spec and body of the Offset_To_Top function that is generated |
| when the parent of a type with discriminants has secondary dispatch |
| tables. |
| (Init_Secondary_Tags): Handle the case in which the parent of the type |
| containing secondary dispatch tables has discriminants to generate the |
| correct arguments to call Set_Offset_To_Top. |
| (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions. |
| |
| * a-tags.ads, a-tags.adb: (Check_Index): Removed. |
| Add Wide_[Wide_]Expanded_Name. |
| (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly |
| the same functionality of Get_Prim_Op_Address but applied to predefined |
| primitive operations because the pointers to the predefined primitives |
| are now saved in a separate table. |
| (Parent_Size): Modified to get access to the separate table of primitive |
| operations or the parent type. |
| (Set_Predefined_Prim_Op_Address): New subprogram that provides the same |
| functionality of Set_Prim_Op_Address but applied to predefined primitive |
| operations. |
| (Set_Signature): New subprogram used to store the signature of a DT. |
| (Displace): If the Offset_To_Top value is not static then call the |
| function generated by the expander to get such value; otherwise use |
| the value stored in the table of interfaces. |
| (Offset_To_Top): The type of the actual has been changed to Address to |
| give the correct support to tagged types with discriminants. In this |
| case this value is stored just immediately after the tag field. |
| (Set_Offset_To_Top): Two new formals have been added to indicate if the |
| offset_to_top value is static and hence pass this value to the run-time |
| to store it in the table of interfaces, or else if this value is dynamic |
| and then pass to the run-time the address of a function that is |
| generated by the expander to provide this value for each object of the |
| type. |
| |
| * rtsfind.ads (Default_Prin_Op_Count): Removed. |
| (Default_Prim_Op_Count): New entity |
| (Get_Predefined_Prim_Op_Address): New entity |
| (Set_Predefined_Prim_Op_Address): New entity |
| (RE_Set_Signature): New entity |
| |
| 2006-02-13 Thomas Quinot <quinot@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to |
| Make_Adjust_Call done for a newly-allocated object. |
| |
| * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements |
| in a subprogram are wrapped in a cleanup block, indicate that the |
| subprogram contains an inner block with an exception handler. |
| (Make_Adjust_Call): New Boolean formal Allocator indicating whether the |
| Adjust call is for a newly-allocated object. In that case we must not |
| assume that the finalization list chain pointers are correct (since they |
| come from a bit-for-bit copy of the original object's pointers) so if |
| the attach level would otherwise be zero (no change), we set it to 4 |
| instead to cause the pointers to be reset to null. |
| |
| * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning |
| reset chain pointers to null. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a |
| string, and the context requires a loop for the assignment (e.g. |
| because the left-hand side is packed), generate a unique name for the |
| temporary that holds the string, to prevent spurious name clashes. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that |
| return unconstrained arrays. |
| Update comments. |
| (Expand_Call): An indirect call through an access parameter of a |
| protected operation is not a protected call. |
| Add circuit to raise CE in Ada 2005 mode following call |
| to Raise_Exception. |
| (Register_DT_Entry): Do nothing if |
| the run-time does not give support to abstract interfaces. |
| (Freeze_Subprogram): In case of dispatching operations, do not generate |
| code to register the operation in the dispatch table if the source |
| is compiled with No_Dispatching_Calls. |
| (Register_Predefined_DT_Entry): Generate code that calls the new |
| run-time subprogram Set_Predefined_Prim_Op_Address instead of |
| Set_Prim_Op_Address. |
| |
| * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks |
| on array assignments if the right-hand side is a function call that has |
| been inlined. Check is performed on the assignment in the block. |
| (Process_Bounds): If bounds and range are overloaded, apply preference |
| rule for root operations to disambiguate, and diagnose true ambiguity. |
| (Analyze_Assignment): Propagate the tag for a class-wide assignment with |
| a tag-indeterminate right-hand side even when Expander_Active is True. |
| Needed to ensure that dispatching calls to T'Input are allowed and |
| get the tag of the target class-wide object. |
| |
| * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override |
| an inherited primitive operation that already overrides several |
| abstract interface primitives. For transitivity, the new entity must |
| also override all the abstract interface primitives covered by the |
| inherited overriden primitive. |
| Emit warning if new entity differs from homograph in same scope only in |
| that one has an access parameter and the other one has a parameter of |
| a general access type with the same designated type, at the same |
| position in the signature. |
| (Make_Inequality_Operator): Use source locations of parameters and |
| subtype marks from corresponding equality operator when creating the |
| tree structure for the implicit declaration of "/=". This does not |
| change anything in behaviour except that the decoration of the |
| components of the subtree created for "/=" allows ASIS to get the |
| string images of the corresponding identifiers. |
| (Analyze_Return_Statement): Remove '!' in warning message. |
| (Check_Statement_Sequence): Likewise. |
| (Analyze_Subprogram_Body): For an access parameter whose designated type |
| is an incomplete type imported through a limited_with clause, use the |
| type of the corresponding formal in the body. |
| (Check_Returns): Implicit return in No_Return procedure now raises |
| Program_Error with a compile time warning, instead of beging illegal. |
| (Has_Single_Return): Function returning unconstrained type cannot be |
| inlined if expression in unique return statement is not an identifier. |
| (Build_Body_To_Inline): It is possible to inline a function call that |
| returns an unconstrained type if all return statements in the function |
| return the same local variable. Subsidiary procedure Has_Single_Return |
| verifies that the body conforms to this restriction. |
| |
| * sem_res.adb (Resolve_Equality_Op): If the operands do not have the |
| same type, and one of them is of an anonymous access type, convert |
| the other operand to it, so that this is a valid binary operation for |
| gigi. |
| (Resolve_Type_Conversion): Handle subtypes of protected types and |
| task types when accessing to the corresponding record type. |
| (Resolve_Allocator): Add '\' in 2-line warning message. |
| Remove '!' in warning message. |
| (Resolve_Call): Add '\' in 2-line warning message. |
| (Valid_Conversion): Likewise. |
| (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the |
| resulting type may be an access type with an implicit dereference. |
| Obtain the proper component from the designated type. |
| (Make_Call_Into_Operator): Handle properly a call to predefined equality |
| given by an expanded name with prefix Standard, when the operands are |
| of an anonymous access type. |
| (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_ |
| Explicit_Dereference and Resolve_Selected_Component, to verify that the |
| prefix of the expression is not of an incomplete type. Allows full |
| diagnoses of all semantic errors. |
| (Resolve_Actuals): If the actual is an allocator whose directly |
| designated type is a class-wide interface we build an anonymous |
| access type to use it as the type of the allocator. Later, when |
| the subprogram call is expanded, if the interface has a secondary |
| dispatch table the expander will add a type conversion to force |
| the displacement of the pointer. |
| (Resolve_Call): If a function that returns an unconstrained type is |
| marked Inlined_Always and inlined, the call will be inlined and does |
| not require the creation of a transient scope. |
| (Check_Direct_Boolean_Op): Removed |
| (Resolve_Comparison_Op): Remove call to above |
| (Resolve_Equality_Op): Remove call to above |
| (Resolve_Logical_Op): Inline above, since this is only call. |
| (Valid_Conversion): Handle properly conversions between arrays of |
| convertible anonymous access types. |
| |
| PR ada/25885 |
| (Set_Literal_String_Subtype): If the lower bound is not static, wrap |
| the literal in an unchecked conversion, because GCC 4.x needs a static |
| value for a string bound. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the |
| components of the corresponding record, take into account component |
| definitions that are access definitions. |
| (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a |
| procedure is not considered a dispatching call and will be expanded |
| properly. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the |
| controlling argument of the dispatching call is an abstract interface |
| class-wide type then we use it directly. |
| Check No_Dispatching_Calls restriction. |
| (Default_Prim_Op_Position): Remove the code that looks for the last |
| entity in the list of aliased subprograms. This code was wrong in |
| case of renamings. |
| (Fill_DT_Entry): Add assertion to avoid the use of this subprogram |
| when the source is compiled with the No_Dispatching_Calls restriction. |
| (Init_Predefined_Interface_Primitives): No need to inherit primitives |
| if we are compiling with restriction No_Dispatching_Calls. |
| (Make_Disp_XXX): Addition of assertion to avoid the use of all these |
| subprograms if we are compiling under No_Dispatching_Calls restriction. |
| (Make_DT): Generate a dispatch table with a single dummy entry if |
| we are compiling with the No_Dispatching_Calls restriction. In |
| addition, in this case we don't generate code that calls to the |
| following run-time subprograms: Set_Type_Kind, Inherit_DT. |
| (Make_Select_Specific_Data_Table): Add assertion to avoid the use |
| of this subprogram if compiling with the No_Dispatching_Calls |
| restriction. |
| (Expand_Type_Conversion): Instead of using the actual parameter, |
| the argument passed as parameter to the conversion function was |
| erroneously referenced by the expander. |
| (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address, |
| Set_Predefined_Primitive_Op_Address and Set_Signature. |
| (Expand_Dispatching_Call): Generate call to |
| Get_Predefined_Prim_Op_Address for predefined primitives. |
| (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for |
| predefined primitives. |
| (Make_DT, Make_Secondary_DT): If the tagged type has no user defined |
| primitives we reserve one dummy entry to ensure that the tag does not |
| point to some memory that is associated with some other object. In |
| addition, remove all the old code that generated the assignments |
| associated with the signature of the dispatch table and replace them |
| by a call to the new subprogram Set_Signature. |
| (Set_All_DT_Position): Change the algorithm because now we have a |
| separate dispatch table associated with predefined primitive operations. |
| (Expand_Interface_Conversion): In case of non-static offset_to_top |
| add explicit dereference to get access to the object after the call |
| to displace the pointer to the object. |
| (Expand_Interface_Thunk): Modify the generation of the actual used |
| in the calls to the run-time function Offset_To_Top to fulfil its |
| new interface. |
| (Make_DT): Add the new actuals required to call Set_Offset_To_Top. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_dist.adb (Copy_Specification): For access parameters, copy |
| Null_Exclusion flag, which will have been set for stream subprograms |
| in Ada2005 mode. |
| |
| 2006-02-13 Pascal Obry <obry@adacore.com> |
| |
| * expect.c (__gnat_expect_portable_execvp): New implementation. The |
| previous implementation was using the C runtime spawnve routine but |
| the corresponding wait was using directly the Win32 API. This was |
| causing some times a lock when waiting for an event using |
| WaitForSingleObject in __gnat_waitpid. This new implementation uses |
| the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32 |
| API fixes this problem. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze |
| call. |
| |
| 2006-02-13 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_pakd.ads: Fix typos in comments. |
| |
| * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed |
| array reference that is an explicit dereference, mark the converted |
| (packed) array reference as analyzed to prevent a forthcoming |
| reanalysis from resetting its type to the original (non-packed) array |
| type. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_util.ads, exp_util.adb (Find_Prim_Op, |
| Is_Predefined_Primitive_Operation): When |
| searching for the predefined equality operator, verify that operands |
| have the same type. |
| (Is_Predefined_Dispatching_Operation): Remove the code that looks |
| for the last entity in the list of aliased subprograms. This code |
| was wrong in case of renamings. |
| (Set_Renamed_Subprogram): New procedure |
| (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the |
| Exp_Type constant computed when entering this subprogram. |
| (Known_Null): New function |
| (OK_To_Do_Constant_Replacement): New function |
| (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag |
| (Side_Effect_Free): An attribute reference 'Input is not free of |
| side effect, unlike other attributes that are functions. (from code |
| reading). |
| (Remove_Side_Effects): Expressions that involve packed arrays or records |
| are copied at the point of reference, and therefore must be marked as |
| renamings of objects. |
| (Is_Predefined_Dispatching_Operation): Return false if the operation is |
| not a dispatching operation. |
| |
| PR ada/18819 |
| (Remove_Side_Effects): Lift enclosing type conversion nodes for |
| elementary types in all cases. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| |
| * freeze.adb (Freeze_Entity): Handle subtypes of protected types and |
| task types when accessing to the corresponding record type. |
| Remove '!' in warning message. |
| |
| 2006-02-13 Olivier Hainque <hainque@adacore.com> |
| |
| * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment), |
| to avoid useless and space inefficient overalignments on targets where |
| Max_Alignment is larger than 16. |
| |
| 2006-02-13 Pascal Obry <obry@adacore.com> |
| |
| * g-catiio.adb (Sec_Number): New type used to compute the number of |
| seconds since 1-1-1970. |
| (Image) [Natural]: The parameter was an Integer, as we can't deal with |
| negative numbers (years, months...) it is better to have a Natural here. |
| Code clean-up. |
| (Image) [Number]: Change parameter from Long_Integer to Number. |
| (Image): Use Number type to compute the seconds since 1-1-1970 to fix an |
| overflow for dates past year 2038. |
| |
| 2006-02-13 Matthew Heaney <heaney@adacore.com> |
| |
| * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise |
| Constraint_Error. |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and |
| native platforms. |
| (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that |
| finalization can occur normally. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (Rules_Switches): New table |
| (Add_To_Rules_Switches): New procedure |
| (GNATCmd): For command CHECK, put all options following "-rules" in the |
| Rules_Switches table. Append these -rules switches after the -cargs |
| switches. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM): |
| These two cases were generating incorrect output, and if this unit |
| was built with checks on, generated a discriminant mismatch constraint |
| error. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * lib-xref.adb (Get_Type_Reference): For a private type whose full |
| view is an array type, indicate the component type as well, for |
| navigation purposes. |
| (Generate_Reference): Don't consider array ref on LHS to be a case |
| of violating pragma Unreferenced. |
| Do not give Ada 2005 warning except on real reference. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the |
| main source, add switch -mdebug-main=_ada_ so that the executable can |
| be debugged by the standard VMS debugger. |
| (Gnatmake): Set No_Main_Subprogram to True when there is no main |
| subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly. |
| Exit the Multi_Main_Loop when Unique_Compile is True after compilation |
| of the last source, as the binding and linking phases are never |
| performed. |
| Set all executable obsolete when rebuilding a library. |
| |
| * makeutl.adb (Linker_Options_Switches): Do not process empty linker |
| options. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| |
| PR ada/23973 |
| * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the |
| code to improve the error message reported when the program has |
| declarations of abstract interface types and it is not compiled with |
| the -gnat05 switch. |
| (P_Access_Definition): Reorganize the code to improve the error |
| message reported when the new Ada 2005 syntax for anonymous |
| access types is used and the program is not compiled with the |
| -gnat05 switch. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb, |
| stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch |
| (MODE_IN) |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| |
| * par-endh.adb (Explicit_Start_Label): Add code to protect the parser |
| against source containing syntax errors. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * prj.adb (Reset): Initialize the first element of table Namings with |
| the standard naming data. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * prj.ads (Error_Warning): New enumeration type |
| |
| * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is |
| unknown, use the location of the project to report the error. |
| (When_No_Sources): New global variable |
| (Report_No_Ada_Sources): New procedure |
| (Check): New parameter When_No_Sources. Set value of global variable |
| When_No_Sources, |
| (Find_Sources): Call Report_No_Ada_Sources when appropriate |
| (Get_Sources_From_File): Ditto |
| (Warn_If_Not_Sources): Better warning messages indicating the unit name |
| and the file name. |
| |
| * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources. |
| Call Prj.Proc.Process with parameter When_No_Sources. |
| |
| * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources. |
| Call Recursive_Check with parameter When_No_Sources. |
| (Recursive_Check): New parameter When_No_Sources. Call itself and |
| Prj.Nmsc.Check with parameter When_No_Sources. |
| (Process): New parameter When_No_Sources. Call Check with parameter |
| When_No_Sources. |
| (Copy_Package_Declarations): New procedure to copy renamed parameters |
| and setting the location of the declared attributes to the location |
| of the renamed package. |
| (Process_Declarative_Items): Call Copy_Package_Declarations for renamed |
| packages. |
| |
| 2006-02-13 Vincent Celier <celier@adacore.com> |
| |
| * prj-makr.adb (Make): Preserve the comments from the original project |
| file. |
| When removing nodes (attributes Source_Dirs, Source_Files, |
| Source_List_File and package Naming), save the comments and attach the |
| saved comments to the newly created nodes. |
| Do not add a with clause for the naming package if one already exists. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * restrict.ads (No_Dispatching_Calls): New GNAT restriction. |
| |
| * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of |
| aliased entities to look for the overriden abstract interface |
| subprogram. |
| (Is_Interface_Subprogram): Complete documentation. |
| (Check_Dispatching_Operation): Do not generate code to register the |
| operation in the dispatch table if the source is compiled with |
| restriction No_Dispatching_Calls. |
| (Override_Dispatching_Operation): Check for illegal attempt to override |
| No_Return procedure with procedure that is not No_Return |
| (Check_Dispatching_Call): Suppress the check for an abstract operation |
| when the original node of an actual is a tag-indeterminate attribute |
| call, since the attribute, which must be 'Input, can never be abstract. |
| (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a |
| call to the Input attribute (even when rewritten). |
| (Propagate_Tag): Augment comment to indicate the possibility of a call |
| to an Input attribute. |
| |
| * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow |
| calling it from Exp_Ch3.Make_Controlling_Function_Wrappers. |
| |
| * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction. |
| No_Wide_Characters is no longer partition-wide |
| No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257) |
| rather than GNAT |
| |
| 2006-02-13 Douglas Rupp <rupp@adacore.com> |
| |
| * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that |
| handles default-initialized components to keep separate the management |
| of this feature but also avoid the unrequired resolution and |
| expansion of components that do not have partially initialized |
| values. |
| (Collect_Aggr_Bounds): Add '\' in 2-line warning message. |
| (Check_Bounds): Likewise. |
| (Check_Length): Likewise. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an |
| abstract interface type call analyze_and_resolve to expand the type |
| conversion into the corresponding displacement of the |
| reference to the base of the object. |
| (Eval_Attribute, case Width): For systems where IEEE extended precision |
| is supported, the maximum exponent occupies 4 decimal digits. |
| (Accessibility_Message): Add '\' in 2-line warning message. |
| (Resolve_Attribute): Likewise. |
| (case Attribute_Access): Significantly revise checks |
| for illegal access-to-subprogram Access attributes to properly enforce |
| the rules of 3.10.2(32/2). |
| Diagnose use of current instance with an illegal attribute. |
| |
| * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal |
| to a Node_Id. |
| (Enclosing_Generic_Unit): New function to return a node's innermost |
| enclosing generic declaration node. |
| (Compile_Time_Constraint_Error): Remove '!' in warning messages. |
| (Type_Access_Level): The accessibility level of anonymous acccess types |
| associated with discriminants is that of the current instance of the |
| type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)). |
| (Compile_Time_Constraint_Error): Handle case of conditional expression. |
| (Kill_Current_Values_For_Entity): New function |
| (Enter_Name): Change formal type to Entity_Id |
| |
| 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch10.adb (Check_Redundant_Withs): New procedure in |
| Analyze_Compilation_Unit. |
| Detect and warn on redundant with clauses detected in a package spec |
| and/or body when -gnatwr is used. |
| (Analyze_Context): Analyze config pragmas before other items |
| (Install_Context_Items): Don't analyze config pragmas here |
| (Install_Limited_Withed_Unit): Set limited entity of package in |
| with_clause so that cross-reference information or warning messages on |
| unused packages can be properly generated |
| (Is_Visible_Through_Renamings): Return false if the limited_with_clause |
| has Error_Posted set. Prevent infinite loops in illegal programs. |
| (Check_Private_Child_Unit): Move test for a nonprivate with clause down |
| to the point of the error test requiring the current unit to be private. |
| This ensures that private with clauses are not exempted from the basic |
| checking for being a descendant of the same library unit parent as a |
| withed private descendant unit. |
| (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to |
| handle private with clauses properly, as well as to account for cases |
| where the withed unit is a public descendant of a private ancestor |
| (in which case the current unit must be a descendant of the private |
| ancestor's parent). The spec comments were updated accordingly. Also, |
| the old error message in this subprogram was replaced with error |
| messages that mirror the errors tested and reported by |
| Check_Private_Child_Unit. |
| Parameter and variable names improved for readability. |
| (Install_Limited_Context_Clauses): Remove test for a withed unit being |
| private as the precondition for calling |
| Check_Private_Limited_Withed_Unit since that subprogram has been |
| revised to test public units as well as private units. |
| |
| 2006-02-13 Thomas Quinot <quinot@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption |
| that Scope_Stack.First = 1. |
| Properly handle Ada_Version_Explicit and Ada_Version_Config, which |
| were not always properly handled previously. |
| (Formal_Entity): Complete rewrite, to handle properly some complex case |
| with multiple levels of parametrization by formal packages. |
| (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator |
| to the corresponding derived type declaration for proper semantics. |
| |
| * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message. |
| (Check_Component): Enforce restriction on components of |
| unchecked_unions: a component in a variant cannot contain tasks or |
| controlled types. |
| (Unchecked_Union): Allow nested variants and multiple discriminants, to |
| conform to AI-216. |
| Add pragma Ada_2005 (synonym for Ada_05) |
| Properly handle Ada_Version_Explicit and Ada_Version_Config, which |
| were not always properly handled previously. |
| Document that pragma Propagate_Exceptions has no effect |
| (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure |
| (Set_Convention_From_Pragma): Check that if a convention is |
| specified for a dispatching operation, then it must be |
| consistent with the existing convention for the operation. |
| (CPP_Class): Because of the C++ ABI compatibility, the programmer is no |
| longer required to specify an vtable-ptr component in the record. For |
| compatibility reasons we leave the support for the previous definition. |
| (Analyze_Pragma, case No_Return): Allow multiple arguments |
| |
| * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a |
| non-overrideen inherited operation with a controlling result as |
| illegal only its implicit declaration comes from the derived type |
| declaration of its result's type. |
| (Check_Possible_Deferred_Completion): Relocate the object definition |
| node of the subtype indication of a deferred constant completion rather |
| than directly analyzing it. The analysis of the generated subtype will |
| correctly decorate the GNAT tree. |
| (Record_Type_Declaration): Check whether this is a declaration for a |
| limited derived record before analyzing components. |
| (Analyze_Component_Declaration): Diagnose record types not explicitly |
| declared limited when a component has a limited type. |
| (Build_Derived_Record_Type): Code reorganization to check if some of |
| the inherited subprograms of a tagged type cover interface primitives. |
| This check was missing in case of a full-type associated with a private |
| type declaration. |
| (Constant_Redeclaration): Check that the subtypes of the partial and the |
| full view of a constrained deferred constant statically match. |
| (Mentions_T): A reference to the current type in an anonymous access |
| component declaration must be an entity name. |
| (Make_Incomplete_Type_Declaration): If type is tagged, set type of |
| class_wide type to refer to full type, not to the incomplete one. |
| (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not |
| available. Required to give support to the certified run-time. |
| (Analyze_Component_Declaration): In case of anonymous access components |
| perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2). |
| (Process_Discriminants): For an access discriminant, use the |
| discriminant specification as the associated_node_for_itype, to |
| simplify accessibility checks. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no |
| abstract interpretations on an operator, remove interpretations that |
| yield Address or a type derived from it, if one of the operands is an |
| integer literal. |
| (Try_Object_Operation.Try_Primitive_Operation, |
| Try_Object_Operation.Try_Class_Wide_Operation): Set proper source |
| location when creating the new reference to a primitive or class-wide |
| operation as a part of rewriting a subprogram call. |
| (Try_Primitive_Operations): If context requires a function, collect all |
| interpretations after the first match, because there may be primitive |
| operations of the same type with the same profile and different return |
| types. From code reading. |
| (Try_Primitive_Operation): Use the node kind to choose the proper |
| operation when a function and a procedure have the same parameter |
| profile. |
| (Complete_Object_Operation): If formal is an access parameter and prefix |
| is an object, rewrite as an Access reference, to match signature of |
| primitive operation. |
| (Find_Equality_Type, Find_One_Interp): Handle properly equality given |
| by an expanded name with prefix Standard, when the operands are of an |
| anonymous access type. |
| (Remove_Abstract_Operations): If the operation is abstract because it is |
| inherited by a user-defined type derived from Address, remove it as |
| well from the set of candidate interpretations of an overloaded node. |
| (Analyze_Membership_Op): Membership test not applicable to cpp-class |
| types. |
| |
| 2006-02-13 Bob Duff <duff@adacore.com> |
| |
| * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about |
| redundant use clauses. |
| In particular, if the scope of two use clauses overlaps, but one is not |
| entirely included in the other, we should not warn. This can happen |
| with nested packages. |
| (Analyze_Subprogram_Renaming): Protect the compiler against previously |
| reported errors. The bug was reported when the compiler was built |
| with assertions enabled. |
| (Find_Type): If the node is a 'Class reference and the prefix is a |
| synchronized type without a corresponding record, return the type |
| itself. |
| |
| 2006-02-13 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that |
| if this is the full-declaration associated with a private declaration |
| that implement interfaces, then the private type declaration must be |
| limited. |
| (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object |
| as aliased. The use of the 'access attribute is not available for such |
| object (for this purpose the object should be explicitly marked as |
| aliased, but being an anonymous type this is not possible). |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sem_elab.adb (Same_Elaboration_Scope): A package that is a |
| compilation unit is an elaboration scope. |
| (Add_Task_Proc): Add '\' in 2-line warning message. |
| (Activate_All_Desirable): Deal with case of unit with'ed by parent |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| |
| * sem_type.adb (Write_Overloads): Improve display of candidate |
| interpretations. |
| (Add_One_Interp): Do not add to the list of interpretations aliased |
| entities corresponding with an abstract interface type that is an |
| immediate ancestor of a tagged type; otherwise we have a dummy |
| conflict between this entity and the aliased entity. |
| (Disambiguate): The predefined equality on universal_access is not |
| usable if there is a user-defined equality with the proper signature, |
| declared in the same declarative part as the designated type. |
| (Find_Unique_Type): The universal_access equality operator defined under |
| AI-230 does not cover pool specific access types. |
| (Covers): If one of the types is a generic actual subtype, check whether |
| it matches the partial view of the other type. |
| |
| 2006-02-13 Thomas Quinot <quinot@adacore.com> |
| |
| * sinput-d.adb (Write_Line): Update the Source_Index_Table after each |
| line. This is necessary to allow In_Extended_Main_Unit to provide |
| correct results for itypes while writing out expanded source. |
| (Close_File): No need to update the source_index_table here since it's |
| now done for each line. |
| |
| 2006-02-13 Ed Schonberg <schonberg@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to |
| preserve the source unit where the itype is declared, and prevent a |
| backend abort. |
| (Note_Implicit_Run_Time_Call): New procedure |
| (Write_Itype): Handle missing cases (E_Class_Wide_Type and |
| E_Subprogram_Type) |
| |
| * sprint.ads: Document use of $ for implicit run time routine call |
| |
| 2006-02-13 Quentin Ochem <ochem@adacore.com> |
| |
| * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of |
| task name. |
| |
| 2006-02-13 Bob Duff <duff@adacore.com> |
| |
| * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of |
| Scan_Unsigned, so we do not scan leading blanks and sign twice. |
| Integer'Value("- 5") and Integer'Value("-+5") now correctly |
| raise Constraint_Error. |
| |
| * s-vallli.adb (Scan_Long_Long_Integer): Call |
| Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we |
| do not scan leading blanks and sign twice. |
| Integer'Value("- 5") and Integer'Value("-+5") now correctly |
| raise Constraint_Error. |
| |
| * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned, |
| Scan_Long_Long_Unsigned): Split out most of the processing from |
| Scan_Long_Long_Unsigned out into |
| Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version. |
| This prevents scanning leading blanks and sign twice. |
| Also fixed a bug: Modular'Value("-0") should raise Constraint_Error |
| See RM-3.5(44). |
| |
| * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split |
| out most of the processing from Scan_Unsigned out into |
| Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version. |
| This prevents scanning leading blanks and sign twice. |
| |
| * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for |
| use with Modular'Value attribute. |
| (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value |
| attribute. |
| |
| 2006-02-13 Robert Dewar <dewar@adacore.com> |
| |
| * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value |
| |
| 2006-02-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1. |
| (PPC VxWorks): Likewise. |
| (Generic unwinder): Define FORCE_CALL to 0 if not already defined. |
| (forced_callee): Make non-inlinable and non-pure. |
| (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1. |
| |
| 2006-02-13 Arnaud Charlet <charlet@adacore.com> |
| Ben Brosgol <brosgol@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64 |
| support. |
| Document that gnatbind -M option is for cross environments only. |
| Added description of using gnatmem to trace gnat rtl allocs and deallocs |
| Add note on use of $ to label implicit run time calls |
| Add documentation for -gnatyI (check mode IN) |
| Updated chapter on compatibility with HP Ada |
| VMS-oriented edits. |
| Ran spell and corrected errors |
| Add documentation for gnatbind -d and rework documentation of -D |
| at the same time. |
| Add subprogram/data elimination section. |
| Minor editing of annex A. |
| Add section for gnatcheck. |
| Add documentation for restriction No_Dispatching_Calls |
| Add documentation for pragma Ada_2005 |
| Remove mention of obsolete pragma Propagate_Exceptions |
| Document that pragma Unreferenced can appear after DO in ACCEPT |
| Clarify Pure_Function for library level units |
| Mention Max/Min in connection with No_Implicit_Conditionals |
| No_Wide_Characters restriction is no longer partition-wide |
| Add a nice example for Universal_Literal_String attribute |
| Document that pragma No_Return can take multiple arguments |
| |
| * ug_words: Added entry for gnatcheck |
| |
| * g-ctrl_c.ads (Install_Handler): Enhance comments |
| |
| * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination |
| |
| * g-trasym.ads: Add documentation on how to do off line symbolic |
| traceback computation. |
| |
| * s-fatgen.adb: Add comments for Unaligned_Valid |
| |
| * stand.ads: Fix typo in comment |
| |
| 2006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * Make-lang.in (check-gnat): Run run_acats with $(SHELL). |
| |
| 2006-02-06 Roger Sayle <roger@eyesopen.com> |
| |
| * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE. |
| |
| 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/25926 |
| * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target |
| implementation that calls __main. |
| |
| 2006-01-25 Peter O'Gorman <peter@pogma.com> |
| |
| PR bootstrap/25859 |
| * Makefile.in (GCC_LINK): Remove quotes. |
| (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)" |
| or $(GCC_LINK). |
| |
| (powerpc-darwin): Pass -shared-libgcc when building shared library. |
| |
| 2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR ada/24533 |
| * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. |
| |
| 2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t. |
| |
| 2005-12-12 Arnaud Charlet <charlet@adacore.com> |
| |
| * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer |
| needed. |
| |
| 2005-12-12 Arnaud Charlet <charlet@adacore.com> |
| |
| * Make-lang.in: Update dependencies |
| |
| 2005-12-12 Arnaud Charlet <charlet@adacore.com> |
| |
| * Make-lang.in: Add rule for ada/exp_sel.o |
| |
| 2005-12-12 Arnaud Charlet <charlet@adacore.com> |
| |
| * Makefile.in (mingw section): Remove EH_MECHANISM setting. |
| |
| 2005-12-09 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnatvsn.ads (Library_Version): Bump to version 4.2 |
| (ASIS_Version_Number): Bumped. |
| |
| 2005-12-09 Doug Rupp <rupp@adacore.com> |
| |
| * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change |
| Ada bind file prefix on VMS from b$ to b__. |
| (Build_Dynamic_Library): Change Init file suffix on VMS from $init to |
| __init. |
| |
| * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to |
| Targparm.OpenVMS_On_Target. |
| (Object_Suffix): Initialize with target object suffix. |
| (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__. |
| |
| * butil.adb: Change some Hostparm.OpenVMS checks to |
| Targparm.OpenVMS_On_Target. |
| |
| * clean.adb: Change some Hostparm.OpenVMS checks to |
| Targparm.OpenVMS_On_Target. |
| (Object_Suffix): Initialize with call to Get_Target_Object_Suffix. |
| ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change |
| Ada bind file prefix on VMS from b$ to b__. |
| |
| * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in |
| --GCC so that Get_Target_Parameters can find system.ads. |
| (Gnatlink): Call Get_Target_Parameters in mainline. |
| Initialize standard packages for Targparm. |
| Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. |
| (Process_Args): Also Check for object files with target object |
| extension. |
| (Make_Binder_File_Names): Create with target object extension. |
| (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$ |
| to b__. |
| |
| * mlib-prj.adb: Change some Hostparm.OpenVMS checks to |
| Targparm.OpenVMS_On_Target. |
| ({declaration},Build_Library,Check_Library): Change Ada bind file |
| prefix on VMS from b$ to b__. |
| |
| * osint-b.adb: Change some Hostparm.OpenVMS checks to |
| Targparm.OpenVMS_On_Target. |
| (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to |
| b__. |
| |
| * targext.c: New file. |
| |
| * Makefile.in: add support for vxworks653 builds |
| (../../vxaddr2line): gnatlink with targext.o. |
| (TOOLS_LIBS): Move targext.o to precede libgnat. |
| (init.o, initialize.o): Minor clean up in dependencies. |
| (GNATLINK_OBJS): Add targparm.o, snames.o |
| Add rules fo building targext.o and linking it explicitly with all |
| tools. |
| Also add targext.o to gnatlib. |
| |
| * Make-lang.in: Add rules for building targext.o and linking it in |
| with gnat1 and gnatbind. |
| Add entry for exp_sel.o. |
| |
| * osint.adb Change some Hostparm.OpenVMS checks to |
| Targparm.OpenVMS_On_Target. |
| (Object_File_Name): Use target object suffix. |
| |
| * osint.ads (Object_Suffix): Remove, no longer used. |
| (Target_Object_Suffix): Initialize with target object suffix. |
| |
| * rident.ads: Add special exception to license. |
| |
| * targparm.adb (Get_Target_Parameters): Set the value of |
| Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive |
| value. |
| (Get_Target_Parameters): Set OpenVMS_On_Target if openvms. |
| |
| * targparm.ads: Add special exception to license. |
| |
| * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New |
| function. |
| (Copy_File): Make sure from file is closed if error on to file |
| (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions. |
| |
| * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix. |
| (Executable_Suffix): Intialize with Get_Target_Executable_Suffix. |
| |
| * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with |
| target object suffix. |
| |
| 2005-12-09 Jose Ruiz <ruiz@adacore.com> |
| Quentin Ochem <ochem@adacore.com> |
| Florian Villoing <villoing@adacore.com> |
| |
| * a-taster.ads, a-taster.adb: New files. |
| |
| * a-elchha.adb (Last_Chance_Handler): Change the task termination soft |
| link to the version that does nothing. This way the task termination |
| routine is not executed twice for the environment task when finishing |
| because of an unhandled exception. |
| |
| * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination |
| handler because of an unhandled exception. |
| |
| * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from |
| System.Tasking.Utilities instead of that in System.Tasking.Stages. |
| |
| * s-finimp.adb (initialization code): Modify the soft link for the |
| finalization of the global list instead of Adafinal. |
| |
| * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this |
| non-tasking version of the soft link for task termination. We do |
| nothing since if we are using the non-tasking version it |
| means that the task termination functionality is not used. |
| (Null_Finalize_Global_List): Add this null version for the procedure |
| in charge of finalizing the global list for controlled objects. |
| (Null_Adafinal): Remove this procedure. Adafinal_NT has been created |
| instead for handling run-time termination in a more flexible way. |
| (Adafinal_NT): This new procedure will take care of finalizing the |
| global list for controlled objects if needed, but no tasking |
| finalization. |
| |
| * s-tarest.adb (Task_Lock): Do not try to lock again the |
| Global_Task_Lock if we already own it. Otherwise, we get blocked in |
| some run-time operations. |
| (Task_Unlock): Do not try to actually unlock the Global_Task_Lock |
| until all nested locks have been released. |
| (Task_Wrapper): Call the fall-back task termination handler. It |
| applies to all tasks but the environment task. |
| (Finalize_Global_Tasks): Add the call for the task termination |
| procedure for the environment task. |
| (Task_Wrapper): suppress warnings around declaration of |
| Secondary_Stack_Address. |
| |
| * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been |
| moved to the Common_ATCB record. |
| (Task_Lock): Global_Task_Lock_Nesting has been moved to the |
| Common_ATCB record. |
| (Task_Unlock): Global_Task_Lock_Nesting has been moved to the |
| Common_ATCB record. |
| |
| * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting, |
| Fall_Back_Handler, and Specific_Handler. |
| |
| * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already |
| defined in Ada.Task_Termination, to avoid circular dependencies. |
| (Termination_Handler): Redefine this type here, alredy defined in |
| Ada.Task_Termination, for avoiding circular dependencies. |
| (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required |
| for storing task termination handlers. In addition, |
| Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to |
| Common_ATCB because it is used by both the regular and the restricted |
| run times. |
| (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to |
| Common_ATCB because it is used by both the regular and the restricted |
| run times. |
| (Common_ATCB): Added a dynamic task analyzer field. |
| |
| * s-tassta.adb (Abort_Tasks): Move the code in charge of checking |
| potentially blocking operations to System.Tasking.Utilities.Abort_Tasks. |
| (Task_Wrapper): Call the task termination handler. It applies to all |
| tasks but the environment task. |
| (Finalize_Global_Tasks): Call the task termination procedure for the |
| environment task. The call to Finalize_Global_List is now performed |
| using the soft links mechanism. |
| (Task_Wrapper): added dynamic stack analysis. |
| |
| * s-tasuti.adb (Abort_Tasks): The code in charge of checking |
| potentially blocking operations has been moved from |
| System.Tasking.Stages.Abort_Tasks to this procedure. There can be |
| direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass |
| through System.Tasking.Stages.Abort_Tasks, and we do not want to miss |
| this run-time check. |
| |
| * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version |
| of task termination procedure. |
| (Init_Tasking_Soft_Links): Install the task-safe version of the soft |
| link for the task termination procedure. |
| |
| * bindusg.adb: (Bindusg): Added documentation for -u option. |
| |
| * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis. |
| (Get_Main_C): Add handling of dynamic stack analysis. |
| (Gen_Output_File_C): Add external functions for dynamic stack analysis. |
| |
| * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination). |
| (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis |
| (GNATRTL_NONTASKING_OBJS): Add AltiVec files. |
| |
| * opt.ads: Added flags used by dynamic stack measurement. |
| (Max_Line_Length): Remove (not used anymore) |
| |
| * s-io.ads, s-io.adb (Standard_Error): new subprogram |
| (Standart_Output): new subprogram |
| (Set_Output): new subprogram |
| (Put): now uses the value of Current_Out to know if the output has to be |
| send to stderr or stdout. |
| |
| * s-stausa.ads: Complete implementation. |
| |
| * switch-b.adb: Added handling of -u switch for dynamic stack analysis. |
| |
| * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the |
| list of Ada 05 files. |
| (GNAT Library Units): Add AltiVec files. |
| |
| * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb, |
| g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads |
| g-alvety.ads, g-alvevi.ads: New files providing altivec API. |
| |
| 2005-12-09 Nicolas Setton <setton@adacore.com> |
| |
| * adaint.c (__gnat_locate_regular_file): Return immediately if |
| file_name is empty. |
| |
| 2005-12-09 Javier Miranda <miranda@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body |
| to the specification because the frontend generates code that uses this |
| subprogram. |
| (Set_Interface_Table): Add missing assertion. |
| Update documentation describing the run-time structure. |
| (Displace): New subprogram that displaces the pointer to the object |
| to reference one of its secondary dispatch tables. |
| (IW_Membership): Modified to use the new table of interfaces. |
| (Inherit_TSD): Modified to use the new table of interfaces. |
| (Register_Interface_Tag): Use the additional formal to fill the |
| contents of the new table of interfaces. |
| (Set_Interface_Table): New subprogram that stores in the TSD the |
| pointer to the table of interfaces. |
| (Set_Offset_To_Top): Use the additional formal to save copy of |
| the offset value in the table of interfaces. |
| Update structure of GNAT Primary and Secondary dispatch table diagram. |
| Add comment section on GNAT dispatch table prologue. |
| (Offset_To_Signature): Update the constant value of the Signature field. |
| (Dispatch_Table): Update comment on hidden fields in the prologue. |
| (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD, |
| Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change |
| the type of formal parameter T to Tag, introduce additional assertions. |
| (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type |
| conversion. |
| (Get_Tagged_Kind, Set_Tagged_Kind): New bodies. |
| |
| * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual |
| in all the calls to Expand_Interface_Thunk. Instead of referencing the |
| record component containing the tag of the secondary dispatch table we |
| have to use the Offset_To_Top run-time function to get this information; |
| otherwise if the pointer to the base of the object has been displace |
| we get a wrong value if we use the 'position attribute. |
| |
| * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in |
| all the calls to Expand_Interface_Thunk. |
| (Make_Secondary_DT): Secondary dispatch tables do not have a table of |
| interfaces; hence the call to Set_Interface_Table was clearly wrong. |
| (Collect_All_Interfaces): Modify the internal subprogram Collect to |
| ensure that the interfaces implemented by the ancestors are placed |
| at the header of the generated list. |
| (Expand_Interface_Conversion): Handle the case in which the displacement |
| associated with the interface conversion is not statically known. In |
| this case we generate a call to the new run-time subprogram Displace. |
| (Make_DT): Generate and fill the new table of interfaces. |
| (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for |
| Get_Tagged_Kind and Set_Tagged_Kind. |
| (Tagged_Kind): New function that determines the tagged kind of a type |
| with respect to limitedness and concurrency and returns a reference to |
| RE_Tagged_Kind. |
| (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body, |
| Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the |
| primary dispatch table for a type. |
| (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and |
| secondary dispatch table respectively of a tagged type. |
| |
| * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal. |
| (Expand_Interface_Conversion): New subprogram to indicate if the |
| displacement of the type conversion is statically known. |
| (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind. |
| |
| * rtsfind.ads (RE_Offset_To_Top): New entity |
| (RTU_Id): Add Ada_Task_Termination to the list so that it is made |
| accessible to users. |
| (Re_Displace): New entity |
| (RE_Interface_Data): New entity |
| (RE_Set_Interface_Data): New_Entity |
| (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind, |
| Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged, |
| RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected, |
| RE_TK_Tagged, RE_TK_Task. |
| |
| * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram |
| Init_Secondary_Tags_Internal to allow its use with interface types and |
| also to generate the code for the new additional actual required |
| by Set_Offset_To_Top. |
| (Build_Init_Statements): In case of components associated with abstract |
| interface types there is no need to generate a call to its IP. |
| (Freeze_Record_Type): Generate Select Specific Data tables only for |
| concurrent types. |
| (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate |
| the bodies and specifications of the predefined primitive operations |
| dealing with dispatching selects and abort, 'Callable, 'Terminated only |
| for concurrent types. |
| |
| * exp_sel.ads, exp_sel.adb: New files. |
| |
| * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body, |
| Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle |
| properly protected objects and attach handler in the case of the |
| restricted profile. |
| Move embeded package Select_Expansion_Utilities into a separate external |
| package. |
| (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select, |
| Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel. |
| (Build_K, Build_S_Assignment): New subprograms, part of the select |
| expansion utilities. |
| (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call, |
| Expand_N_Timed_Entry_Call): Optimize expansion of select statements |
| where the trigger is a dispatching procedure of a limited tagged type. |
| |
| 2005-12-09 Olivier Hainque <hainque@adacore.com> |
| |
| * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand |
| pointer initialization values. Make a SAVE_EXPR instead. Add comments |
| about the use and expansion of SAVE_EXPRs in the various possible |
| renaming handling cases. |
| (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by |
| abusing DECL_FCONTEXT. |
| |
| 2005-12-09 Matthew Heaney <heaney@adacore.com> |
| |
| * a-convec.adb (Merge): Added assertions to check whether vector params |
| are sorted. |
| |
| * a-coinve.adb (Merge): Added assertions to check whether vector params |
| are sorted. |
| |
| * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302 |
| draft. |
| (Cursor'Read): raises PE |
| |
| * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem |
| to its default value. |
| |
| * a-cihama.adb: Manually check whether cursor's key and elem are |
| non-null |
| |
| * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode |
| (Merge): Assert that target and source lists are in order |
| (Swap): Declare non-const temporaries, to pass to Splice |
| |
| * a-cdlili.ads: (Splice): Changed param name and param mode |
| |
| * a-cdlili.adb: (Splice): Changed param name and param mode |
| (Merge): Assert that target and source lists are in order |
| (Swap): Declare non-const temporaries, to pass to Splice |
| |
| * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null |
| (Write): declare Stream param as not null |
| |
| * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include |
| an exception message. |
| |
| 2005-12-09 Thomas Quinot <quinot@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| |
| * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1, |
| which is the absolute maximum length we can support. |
| |
| * frontend.adb: For the processing of configuration pragma files, |
| remove references to Opt.Max_Line_Length, which is not checked anymore. |
| |
| * namet.ads (Name_Buffer): Adjust size to reflect increase on max line |
| length. |
| |
| * scn.adb, scng.adb: |
| Always check line length against the absolute supported maximum, |
| Hostparm.Max_Line_Length. |
| |
| * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported |
| value for the maximum line length is Max_Line_Length (not |
| Column_Number'Last). |
| Minor error msg update |
| (Set_Style_Check_Options): New interface returning error msg |
| Minor code reorganization (processing for 'M' was out of alpha order) |
| |
| * switch-c.adb: New interface for Set_Style_Check_Options |
| |
| * stylesw.ads (Set_Style_Check_Options): New interface returning error |
| msg. |
| |
| 2005-12-09 Javier Miranda <miranda@adacore.com> |
| |
| * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records |
| with IP subprogram were only supported if there were limited types. |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized |
| records with IP subprogram were only supported if there were limited |
| types. |
| |
| 2005-12-09 Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * trans.c (tree_transform, emit_check): Adjust calls to |
| build_call_raise, passing the now expected GNAT_NODE argument. |
| |
| * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better |
| source line information than what the current global locus indicates |
| when appropriate. |
| |
| * utils2.c (build_simple_component_ref): Return 0 if the offset of the |
| field has overflowed. |
| (build_call_raise): Add a GNAT_NODE argument to convey better source |
| line information than what the current global locus indicates when |
| appropriate. |
| (build_component_ref): Adjust call to build_call_raise. |
| |
| 2005-12-09 Pascal Obry <obry@adacore.com> |
| |
| * g-diopit.adb (Find): Fix test to exit the iterator and make sure that |
| the iterator is quitting iteration on parent directory. |
| |
| 2005-12-09 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types |
| and the assignment to a class-wide object, before the assignment we |
| generate a run-time check to ensure that the tag of the Target is |
| covered by the tag of the source. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean |
| parameter in call to Image_Wide_Character. |
| |
| * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean |
| parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency. |
| (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with |
| annoying FFFE/FFFF inconsistency. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case |
| of type conversion. |
| (Find_Interface): New subprogram that given a tagged type and one of its |
| component associated with the secondary table of an abstract interface |
| type, return the entity associated with such abstract interface type. |
| (Make_Subtype_From_Expr): If type has unknown discriminants, always use |
| base type to create anonymous subtype, because entity may be a locally |
| declared subtype or generic actual. |
| (Find_Interface): New subprogram that given a tagged type and one of its |
| component associated with the secondary table of an abstract interface |
| type, return the entity associated with such abstract interface type. |
| |
| * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the |
| conversion cannot be handled at compile time. In this case we pass this |
| information to the expander to generate the appropriate code. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| Ed Schonberg <schonberg@adacore.com> |
| Gary Dismukes <dismukes@adacore.com> |
| Javier Miranda <miranda@adacore.com> |
| Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb (Itype_Printed): New flag |
| (Is_Limited_Type): Derived types do not inherit limitedness from |
| interface progenitors. |
| (Is_Return_By_Reference_Type): Predicate does not apply to limited |
| interfaces. |
| |
| * einfo.ads (Itype_Printed): New flag |
| Move Is_Wrapper_Package to proper section |
| Add missing Inline for Is_Volatile |
| |
| * output.ads, output.adb (Write_Erase_Char): New procedure |
| (Save/Restore_Output_Buffer): New procedures |
| (Save/Restore_Output_Buffer): New procedures |
| |
| * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes |
| Add missing support for anonymous access type |
| (Write_Id): Insert calls to Write_Itype |
| (Write_Itype): New procedure to output itypes |
| |
| * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle |
| use of "limited" in declaration. |
| |
| * sinfo.ads, sinfo.adb: |
| Formal derived types can carry an explicit "limited" indication. |
| |
| * sem_ch3.adb: Add with and use of Targparm. |
| (Create_Component): If Frontend_Layout_On_Target is True and the |
| copied component does not have a known static Esize, then reset |
| the size and positional fields of the new component. |
| (Analyze_Component_Declaration): A limited component is |
| legal within a protected type that implements an interface. |
| (Collect_Interfaces): Do not add to the list the interfaces that |
| are implemented by the ancestors. |
| (Derived_Type_Declaration): If the parent of the full-view is an |
| interface perform a transformation of the tree to ensure that it has |
| the same parent than the partial-view. This simplifies the job of the |
| expander in order to generate the correct object layout, and it is |
| needed because the list of interfaces of the full-view can be given in |
| any order. |
| (Process_Full_View): The parent of the full-view does not need to be |
| a descendant of the parent of the partial view if both parents are |
| interfaces. |
| (Analyze_Private_Extension_Declaration): If declaration has an explicit |
| "limited" the parent must be a limited type. |
| (Build_Derived_Record_Type): A derived type that is explicitly limited |
| must have limited ancestor and progenitors. |
| (Build_Derived_Type): Ditto. |
| (Process_Full_View): Verify that explicit uses of "limited" in partial |
| and full declarations are consistent. |
| (Find_Ancestor_Interface): Remove function. |
| (Collect_Implemented_Interfaces): New procedure used to gather all |
| implemented interfaces by a type. |
| (Contain_Interface): New function used to check whether an interface is |
| present in a list. |
| (Find_Hidden_Interface): New function used to determine whether two |
| lists of interfaces constitute a set equality. If not, the first |
| differing interface is returned. |
| (Process_Full_View): Improve the check for the "no hidden interface" |
| rule as defined by AI-396. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Freeze_Record_Type): Only test for useless pack on record |
| types, not on record subtypes. |
| (Freeze_Entity): Code cleanup. Add barrier to the loop |
| that generates the references for primitive operations. This allows to |
| remove an unnecessary exception handler. |
| Code reformatting and comment clean ups. |
| |
| 2005-12-09 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U |
| If GNAT CHECK is called with a project file, but with no |
| source on the command line, call gnatcheck with all the compilable |
| sources of the project. |
| Take into account the new command Check, for gnatcheck. Treat as for |
| other ASIS tools: take into account project, specific package Check and |
| Compiler switches. |
| For ASIS tools, add the switches in package Compiler for |
| the invocation of the compiler. |
| |
| * prj-attr.adb: Add package Check and its attributes |
| |
| * vms_conv.ads (Command_Type): New command Check, for gnatcheck |
| |
| * vms_conv.adb (Initialize): Change Params of command Check to |
| unlimited files. |
| Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. |
| Add data for new command Check |
| |
| * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT |
| ELIM. |
| Add qualifiers for Check command options |
| (Command_Type): New command Check |
| |
| 2005-12-09 Thomas Quinot <quinot@adacore.com> |
| |
| * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a |
| command line switch overruns the output buffer. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb: Processing for new pragma Complete_Representation |
| (Analyze_Pragma, case Debug): Implement two argument form. |
| |
| * par-prag.adb: Entry for new pragma Complete_Representation |
| (Prag, case Debug): Recognize two argument form of pragma Debug |
| New interface for Set_Style_Check_Options. |
| |
| * sem_ch13.adb: Implement new pragma Complete_Representation. |
| |
| * snames.adb, snames.ads, snames.h: Entry for new pragma |
| Complete_Representation. |
| |
| 2005-12-09 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for |
| available user-specified stream attributes on limited parameters to |
| also test the type directly rather than only its underlying type (for |
| Ada 95) and, in the case of Ada 2005, to check that the user-specified |
| attributes are visible at the point of the subprogram declaration. |
| For Ada 2005, the error message is modified to indicate that the |
| type's stream attributes must be visible (again, only for -gnat05). |
| |
| 2005-12-09 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of |
| anonymous access types. |
| |
| * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for |
| matching of anonymous access types and anonymous access to subprogram |
| types. 'R'M 4.9.1 (2/2). |
| |
| 2005-12-09 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference |
| rule prematurely when operands are universal, remaining ambiguities |
| will be removed during resolution. |
| Code cleanup. |
| |
| * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations |
| that are Ada 2005 functions. |
| (Has_Abstract_Interpretation): Subsidiary to |
| Remove_Conversions, to remove ambiguities caused by abstract operations |
| on numeric types when operands are universal. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization |
| for case where spec is categorized. |
| |
| 2005-12-09 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent |
| types use the corresponding record type. This was not needed before |
| the implementation of Ada 2005 synchronized types because |
| concurrent types were never tagged types in Ada 95. |
| |
| 2005-12-09 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the |
| first subtype of the type of the expression to verify that it is a |
| legal Time type. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides |
| decoded names. |
| |
| 2005-12-09 Quentin Ochem <ochem@adacore.com> |
| Robert Dewar <dewar@adacore.com> |
| Ed Falis <falis@adacore.com> |
| Florian Villoing <villoing@adacore.com> |
| Thomas Quinot <quinot@adacore.com> |
| Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat_ugn.texi: Created section "Stack Related Tools" |
| Moved "Stack Overflow Checking" subsection from "Switches for gcc" to |
| "Stack Related Tools" |
| Added subsection "Static Stack Usage Analysis" |
| Added subsection "Dynamic Stack Usage Analysis" |
| Include documentation of itypes in sprint listing (-gnatG) |
| Documented gnatbind -D switch (default sec stack size for fixed sec |
| stacks). |
| Added Interrupt_State and Persistent_BSS to list of configuration |
| pragmas. |
| Add missing doc for maximum value of nnn in -gnatyMnnn |
| |
| * gnat_rm.texi: Document the AltiVec binding. |
| Add documentation for pragma Complete_Representation |
| Shortened an overly long line (> 79 chars) |
| Clarify documentation of unchecked conversion in implementation |
| defined cases. |
| Document two argument form of pragma Debug |
| |
| * types.ads (Column_Number): Update documentation. |
| |
| * exp_ch7.ads (Make_Adjust_Call): Document the special processing for |
| library level Finalize_Storage_Only objects (these are not attached to |
| any finalization list). |
| |
| * system-mingw.ads: (Underlying_Priorities): Update comment. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads, |
| i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads, |
| inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, |
| i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads, |
| krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb, |
| lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb, |
| interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads, |
| s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor |
| reformatting. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * s-vaflop-vms-alpha.adb: (Ne_F): New function |
| (Ne_G): New function |
| |
| * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code |
| for tag assignment. |
| (Rewrite_Comparison): Handle case where operation is not a comparison |
| and ignore, and also handle type conversion case. |
| |
| 2005-12-09 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_aggr.ads: Fix typo in comment. |
| ???-mark Convert_Aggr_In_Assignment as needing documentation. |
| |
| 2005-12-09 Gary Dismukes <dismukes@adacore.com> |
| |
| * layout.adb: Replace various uses of byte by storage unit throughout. |
| (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a |
| static size, convert to storage units before returning, to conform to |
| spec. |
| |
| 2005-12-09 Matthew Gingell <gingell@adacore.com> |
| |
| * g-exctra.ads: Fix typo in comment. |
| |
| 2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * utils.c: Minor reformatting. |
| |
| 2005-12-09 Robert Dewar <dewar@adacore.com> |
| |
| * g-soccon.ads: |
| Further comment fixes to make the status of the default file clear |
| |
| * s-bitops.adb: Clarify comment for Bits_Array |
| |
| 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
| |
| * Make-lang.in (ada.install-normal): Remove. |
| |
| 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
| |
| * Make-lang.in: Remove all dependencies on s-gtype. |
| |
| 2005-12-05 Richard Guenther <rguenther@suse.de> |
| |
| * utils.c (convert): Use fold_convert where appropriate. |
| |
| 2005-12-05 Paolo Bonzini <bonzini@gnu.org> |
| |
| * Makefile.in (gnatlib): Fix regex, using \. instead of . when |
| 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. |