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