diff options
Diffstat (limited to 'gcc-4.4.3/gcc/ada/ChangeLog-2004')
-rw-r--r-- | gcc-4.4.3/gcc/ada/ChangeLog-2004 | 8347 |
1 files changed, 0 insertions, 8347 deletions
diff --git a/gcc-4.4.3/gcc/ada/ChangeLog-2004 b/gcc-4.4.3/gcc/ada/ChangeLog-2004 deleted file mode 100644 index aee7b460d..000000000 --- a/gcc-4.4.3/gcc/ada/ChangeLog-2004 +++ /dev/null @@ -1,8347 +0,0 @@ -2004-12-30 Sohail Somani <sohail@sohailsomani.com> - - PR ada/19128 - * trans.c (gnat_to_gnu): Fix typo: Use correct return variable. - -2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr> - - * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. - * utils2.c (build_unary_op): Likewise. - -2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED. - -2004-12-19 Richard Henderson <rth@redhat.com> - - * trans.c (gigi): Update gimplify_body call. - -2004-12-09 Nathan Sidwell <nathan@codesourcery.com> - - * decl.c (gnat_substitute_in_type): Remove SET_TYPE case. - -2004-12-07 Ed Falis <falis@adacore.com> - - * s-intman-vxworks.adb (Notify_Exception): removed useless check for - current task being suspended. - - * init.c (__gnat_clear_exception): added to reset VxWorks exception - count. - (__gnat_map_signal): removed test for current task being suspended. - -2004-12-07 Gary Dismukes <dismukes@adacore.com> - - * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values - from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit - targets (such as AAMP). - -2004-12-07 Ed Schonberg <schonberg@adacore.com> - - * atree.adb (Visit_Itype): Create a new name for the generated itype, - because the back-end may otherwise treat it as a redefinition of the - old symbol. - -2004-12-07 Eric Botcazou <ebotcazou@adacore.com> - - * back_end.adb (Scan_Back_End_Switches): Accept --param. - - * lang-specs.h: Accept --param. - -2004-12-07 Vincent Celier <celier@adacore.com> - - * make.adb (Check_Mains, Switches_Of): Adapt to name changes in - package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, - Current_Body_Suffix => Ada_Body_Suffix). - Take into account Externally_Built attribute. - - * clean.adb (In_Extension_Chain): Always return False when one of the - parameter is No_Project. - (Clean_Project): Adapt to changes in package Prj (Lang_Ada => - Ada_Language_Index). - (Gnatclean): Adapt to change in package Prj.Pars (no parameter - Process_Languages for procedure Parse). - - * gnatcmd.adb (Carg_Switches): New table. - (GNATCmd): Put all switches following -cargs in the Carg_Switches table. - Adapt to name changes in package Prj (Current_Spec_Suffix => - Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). - - * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type - Header_Num and function Hash are now declared in package Prj, - not Prj.Com. - - * prj.adb (Suffix_Of): New function. - (Set (Suffix)): New procedure. - (Hash): One function moved from Prj.Com - (Is_Present, Language_Processing_Data_Of): New functions - (Set): Two new procedures - (Add_Language_Name, Display_Language_Name): New procedures - - * prj.ads: (Suffix_Of): New function - (Set (Suffix)): New procedure - Add several types and tables for multi-language support. - (Header_Num): Type moved from Prj.Com - (Hash): Two functions moved from Prj.Com - (Is_Present, Language_Processing_Data_Of): New functions - (Set): Two new procedures - (Add_Language_Name, Display_Language_Name): New procedures - (Naming): Component name changes: - Current_Spec_Suffix => Ada_Spec_Suffix, - Current_Body_Suffix => Ada_Body_Suffix. Add new components: - Impl_Suffixes, Supp_Suffixes. - (Project_Data): New components: Externally_Built, Supp_Languages, - First_Language_Processing, Supp_Language_Processing, Default_Linker, - Default_Linker_Path. - - * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and - new package Language_Processing with its attributes (Compiler_Driver, - Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option, - Binder_Driver, Default_Linker). - - * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj. - (Header_Num): Type moved to package Prj - - * prj-env.adb: Adapt to name changes in package Prj - (Current_Spec_Suffix => Ada_Spec_Suffix, - Current_Body_Suffix => Ada_Body_Suffix). - - * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by - default to the project path, except the "-" is one of the directories - in env var ADA_PROJECT_PATH. - (Current_Project_Path): Global variable, replacing Project_Path - that was in the body of Prj.Part. - (Project_Path): New function - (Set_Project_Path): New procedure - Initialize Current_Project_Path during elaboration of the package - Remove dependency on Prj.Com, no longer needed - - * prj-ext.ads (Project_Path): New function - (Set_Project_Path): New procedure - - * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no - suffix is defined for language <lang>. - (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of - accessing directly the components of Naming. - (Look_For_Sources): Use Set (Suffix) to set the suffix of a language. - Reorganise of this package. - Break procedure Check in several procedures. - - * prj-nmsc.ads: Replace all procedures (Ada_Check, - Other_Languages_Check and Language_Independent_Check) with a single - procedure Check. - - * prj-pars.ads, prj-pars.adb (Parse): Remove parameter - Process_Languages, no longer needed. - - * prj-part.adb (Project_Path): Move to the body of Prj.Ext as - Current_Project_Path. - Remove elaboration code, moved to the body of Prj.Ext - Use new function Prj.Ext.Project_Path instead of old variable - Project_Path. - (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path. - When comparing with project paths on the stack, first put the resolved - path in canonical case. - (Parse_Single_Project): Set the path name of the project file in the - tree to the normalized path. - - * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove - parameter Process_Languages, no longer needed. - (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and - Other_Languages_Check. - - * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path - to store the resolved canonical path of the project file. - Remove dependency to Prj.Com, no longer needed - - * prj-util.adb: Adapt to name changes in package Prj - (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => - Ada_Body_Suffix). - - * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver, - Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker, - Externally_Built, Include_Option, Language_Processing. - - * makegpr.adb: Numerous changes due to changes in packages - Prj and Prj.Nmsc. - - * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by - default to the project path, except whe "-" is one of the directories - in env var ADA_PROJECT_PATH. - (Gnatls): In verbose mode, add the new section "Project Search Path:" - -2004-12-07 Robert Dewar <dewar@adacore.com> - - * debug.adb: Document that -gnatdA automatically sets -gnatR3m - - * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically - set -gnatR3m mode. - - * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA - flag. No longer needed now that we handle this in gnat1drv.adb. - - * repinfo.ads: Minor reformatting - -2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - Olivier Hainque <hainque@adacore.com> - Eric Botcazou <ebotcazou@adacore.com> - - * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for - TYPE_SIZE_UNIT of result type if SIZE is not specified. - (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation - of a bitfield, which we know is useless and causes trouble because of - alignment implications. - - * utils.c (create_var_decl): Set DECL_COMMON again on targets without - BSS sections. - (process_attributes): Clear DECL_COMMON again when a section attribute - is present. - (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or - SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT. - (create_field_decl): Special case ADDRESSABLE negative to mean - "no bitfield creation", to be used by make_aligning_type. Don't - restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode - fields claimed addressable still have to be bitfields. Use - value_factor_p instead of a raw binop construction to check for the - position's alignment. - -2004-12-07 Geert Bosch <bosch@adacore.com> - - * eval_fat.adb: Revert previous change. - -2004-12-07 Thomas Quinot <quinot@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component - with an implicit dereference as its prefix, use - Insert_Explicit_Dereference instead of merely rewriting the prefix into - an explicit dereference. This ensures that a reference to the original - prefix is generated, if appropriate. - - * sem_util.adb (Insert_Explicit_Dereference): When an implicit - dereference is rewritten to an explicit one, generate a reference to - the entity denoted by its prefix using the original prefix node, so - the dereference can be properly recorded as a read of the denoted - access value, if appropriate. - - * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from - emitting 'assigned but never read' warning on a variable on the basis - that it has an access type. - (Check_References): Emit unreferenced warning when the scope is a - subprogram body. - -2004-12-07 Robert Dewar <dewar@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * exp_ch6.adb (Expand_Call): Add comment on handling of back end - intrinsic - - * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic, - leaving call unchanged. - This deals with the case where the pragma Import specified - an external name, to be handled by the back end. - - * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of - subprogram which is Imported with convention Intrinsic if an - External_Name argument is specified. - (Process_Import_Or_Interface): Properly diagnose link name argument. - (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion - with Sem_Ch6.Cannot_Inline. - (Process_Inline): Provide separate warning for inapplicable inline - pragma. - (Cannot_Inline): Reject subprograms that have an at_end handler, so that - treatment is uniform on different targets. - -2004-12-07 Ed Schonberg <schonberg@adacore.com> - - * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of - construct is rewritten, preserve end label to permit source navigation. - -2004-12-07 Thomas Quinot <quinot@adacore.com> - - * exp_dist.adb (Specific_Build_General_Calling_Stubs, - Specific_Build_Stub_Target): New subprograms. - (Build_Subprogram_Calling_Stubs): Make this procedure independent from - the PCS implementation used, using the above PCS-customized subprograms. - Minor reformatting. - (PolyORB_Support.Helpers): New subunit containing supporting subprograms - for generation of DSA code targeted to the PolyORB PCS. - (Add_Stub_Type): Rewrite to isolate the parts that are specific to one - implementation of the partition communication subsystem in ancillary - subprograms. - (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type, - PolyORB_Support.Build_Stub_Type): New subrograms containing the - PCS-specific part of Add_Stub_Type. - (Insert_Partition_Check): Use runtime library function to perform - E.4(19) check. - - * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref - (RE_Same_Partition): New entity, from s-parint. - - * s-parint.ads, s-parint.adb (Same_Partition): New subprogram. - -2004-12-07 Gary Dismukes <dismukes@adacore.com> - - * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb: - Output the copyright message on a separate line from the version - message. - -2004-12-07 Joel Brobecker <brobecker@adacore.com> - - * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a - compile-time warning. - -2004-12-07 Robert Dewar <dewar@adacore.com> - - * g-regpat.adb: (Match): Change a misuse of or to or else - -2004-12-07 Ed Schonberg <schonberg@adacore.com> - - * lib-xref.adb: - (Generate_Reference): Handle properly a reference to an entry formal, - when an accept statement has a pragma Unreferenced for it. - - * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag - and the Has_Pragma_Unreferenced flag for each formal before analyzing - the body, to ensure that warnings are properly emitted for each accept - statement of a given task entry. - -2004-12-07 Vasiliy Fofanov <fofanov@adacore.com> - - * Makefile.in: Add support for foreign threads on VMS. - -2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P): - Remove. - (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New. - - * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls. - - * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed - exception. - (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it. - -2004-12-07 Robert Dewar <dewar@adacore.com> - - * nlists.adb (Prepend_Debug): Remove parameters and nest within - Prepend. - (Remove_Next_Debug): Same fix - - * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do - maintain back pointers now, though we did not used to, and comments - were out of date). - (Prepend): Remove pragma Inline. - (Remove_Next): Same cleanup - -2004-12-07 Thomas Quinot <quinot@adacore.com> - - * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram - used to record an implicit dereference as a read operation on its - prefix when operating under -gnatc. Necessary to avoid spurious - 'variable assigned but never read' warnings in that mode. - (Process_Indexed_Component, Analyze_Selected_Component): When the prefix - is a non-overloaded implicit dereference, call the above subprogram to - ensure proper recording of references. - -2004-12-07 Gary Dismukes <dismukes@adacore.com> - - * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs - to be resolved later as part of Analyze_Iteration_Scheme's call to - Make_Index. - -2004-12-07 Ed Schonberg <schonberg@adacore.com> - - * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the - prefix is not a scalar type, place error message on prefix, not on - type entity. - -2004-12-07 Bernard Banner <banner@adacore.com> - - * vxaddr2line.adb: Add support for x86 vxworks - -2004-12-07 Thomas Quinot <quinot@adacore.com> - - * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify - documentation of the behaviour of these functions when passed an IP - address that has no record in the system hosts database and no reverse - record in the DNS. - - * cstand.adb, a-tags.ads: Fix typos in comment. - -2004-12-07 Robert Dewar <dewar@adacore.com> - - * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb, - exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb, - sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb, - s-poosiz.ads: Minor reformatting - - * make.adb: Minor reformatting - Add some ??? comments asking for more comments - - * s-poosiz.adb: Minor reformatting - Add comments on alignment requirement - - * sinfo.ads: Remove obsolete comment and fix typo. - -2004-12-07 Vincent Celier <celier@adacore.com> - Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: Update the section "The GNAT Driver and Project - Files" with the new tool and package names. - Reformatting to suppress most of the warnings for line too long - Document the new section "Project Search Path:" in the output of - gnatls -v. - Add gnatmetric section - -2004-12-07 Vincent Celier <celier@adacore.com> - - * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and - -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps - and -eit to -ept. Added qualifier - /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec. - -2004-11-27 Andreas Schwab <schwab@suse.de> - - * Make-lang.in (ada/trans.o): Depend on $(EXPR_H). - -2004-11-25 Arnaud Charlet <charlet@adacore.com> - - * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from - internal implementation unit GNAT.Sockets.Thin, - as their usage for sockets is non-portable (using the read and write - functions from the system runtime library is fine on UNIX but won't - work under Windows). - - * mingw32.h: Update copyright notice. - -2004-11-25 Arnaud Charlet <charlet@adacore.com> - - * ada-tree.h: Minor reformatting of previous change to avoid lines - longer than 79 characters. - -2004-11-25 Olivier Hainque <hainque@adacore.com> - - * tb-gcc.c: GCC infrastructure based implementation of - __gnat_backtrace. - -2004-11-24 Steven Bosscher <stevenb@suse.de> - - * misc.c (gnat_post_options): Don't clear - flag_inline_functions. - -2004-11-22 Andrew Pinski <pinskia@physics.uc.edu> - - PR ada/17986 - * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the - tree. - -2004-11-21 Andreas Jaeger <aj@suse.de> - - * stylesw.adb: Change Style_Check_Subprogram_Order to - Style_Check_Order_Subprograms. - -2004-11-18 Arnaud Charlet <charlet@adacore.com> - - * adaint.h, adaint.c - (__gnat_portable_spawn): Fix cast of spawnvp third parameter - to avoid warnings. - Add also a cast to kill another warning. - (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags - parameter with the priority class of the parent process instead of - always using the NORMAL_PRIORITY_CLASS. - (__gnat_dup): New function. - (__gnat_dup2): New function. - (__gnat_is_symbolic_link): Enable the effective body of this - function when __APPLE__ is defined. - - * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures. - Update comments. - -2004-11-18 Olivier Hainque <hainque@adacore.com> - - * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the - address of which may be used to represent "others" and "all others" - choices in exception tables, instead of the current harcoded - (void *)0 and (void *)1. - (Setup_Exception): Do nothing in the GNAT SJLJ case. - - * gigi.h (others_decl, all_others_decl): New decls representing the - new Others_Value and All_Others_Value objects. - (struct attrib): Rename "arg" component as "args", since GCC expects a - list of arguments in there. - - * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the - corresponding objects exported by a-exexpr, instead of hardcoded dummy - addresses. - - * trans.c (Exception_Handler_to_gnu_zcx): Use the address of - others_decl and all_others_decl instead of hardcoded dummy addresses - to represent "others" and "all others" choices, which is cleaner and - more flexible with respect to the possible eh pointer encoding policies. - - * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl. - (process_attributes): Account for the naming change of the "args" - attribute list entry component. - - * decl.c (build_attr_list): Rename into prepend_attributes to allow - cumulating attributes for different entities into a single list. - (gnat_to_gnu_entity): Use prepend_attributes to build the list of - attributes for the current entity and propagate first subtype - attributes to other subtypes. - <E_Procedure>: Attribute arguments are attr->args and not - attr->arg any more. - (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an - argument provided, as this is what GCC expects. Use NULL_TREE instead - of 0 for trees. - -2004-11-18 Robert Dewar <dewar@adacore.com> - - * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb: - Minor reformatting througout (including new function specs) - Add ??? comments asking for clarification. - -2004-11-18 Thomas Quinot <quinot@adacore.com> - - * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove - incomplete duplicate implementation of this subprogram from butil. - -2004-11-18 Thomas Quinot <quinot@adacore.com> - - * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This - procedures factors the common processing for building an RPC receiver - for an RCI package or an RACW type. - Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of - Build_Remote_Subprogram_Proxy_Type into proper alphabetical order. - (Get_PCS_Name): New subprogram. Returns the name of the PCS currently - in use. - (Specific_Add_RACW_Features): New subprogram. PCS-specific part of - Add_RACW_Features. - (Specific_Add_RAST_Features): New subprogram. PCS-specific part of - Add_RAST_Features. - (Assign_Subprogram_Identifier): New subprogram. Provision for assigning - distribution subprogram identifiers that are either subprogram numbers - or strings. - (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and - string distribution identifiers assigned to a given subprogram. - (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids. - (Add_RAS_Dereference_TSS): Add comments. - (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter - is not referenced yet because it will be used by the PolyORB DSA - implementation. - (Insert_Partition_Check): Remove fossile code. - (First_RCI_Subprogram_Id): Document this constant. - (Add_RAS_Access_TSS): Correct the setting of the Etype of the - RAS_Access TSS. - (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are - replaced with calls to Get_Library_Unit_Name_String. Previously there - were several instances of the same code in different locations in the - compiler; this checkin completes the replacement of all of these - instances with calls to a common subprogram. - Minor reformatting. - - * sem_dist.adb: Remove comment noting that RPC receiver generation - should be disabled for RACWs that implement RASs. - (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String. - - * sem_util.ads, sem_util.adb (Has_Stream): New function - (Get_Library_Unit_Name_String): New subprogram to retrieve the fully - qualified name of a library unit into the name buffer. - (Note_Possible_Modification): Generate a reference only - if the context comes from source. - - * snames.ads (PCS_Names): New subtype corresponding to names of - supported implementations of the Partition Communication Subsystem - (PCS) (i.e. the runtime library support modules for the distributed - systems annex). - -2004-11-18 Robert Dewar <dewar@adacore.com> - Ed Schonberg <schonberg@adacore.com> - - * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used - (Has_Rep_Pragma): New function - (Has_Attribute_Definition_Clause): New function - (Record_Rep_Pragma): Moved here from sem_ch13.adb - (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma - - * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb - - * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure - (Expand_Pragma_Psect_Object): New procedure - These procedures contain the revised and cleaned up processing for - these two pragmas. This processing was formerly in Sem_Prag, but - is more appropriately moved here. The cleanup involves making sure - that the pragmas are properly attached to the tree, and that no - nodes are improperly shared. - - * sem_prag.adb: Move expansion of Common_Object and Psect_Object - pragmas to Exp_Prag, which is more appropriate. - Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to - check for duplicates Remove use of Is_Psected flag, no longer needed. - Use new Make_String_Literal function with string. - - * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes - that are functions return universal values, that have to be converted - to the context type. - Use new Make_String_Literal function with string. - (Get_Stream_Convert_Pragma): New function, replaces the use of - Get_Rep_Pragma, which had to be kludged to work in this case. - - * freeze.adb: Use new Has_Rep_Pragma function - - * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal - function with string. - Use new Has_Rep_Pragma function. - - * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes - string argument. - -2004-11-18 Robert Dewar <dewar@adacore.com> - - * errout.ads, errout.adb: (First_Sloc): New function - - * par-ch5.adb (P_Condition): Check for redundant parens is now a style - check (-gnatyx) instead of being included as a redundant construct - warning. - - * sem_ch6.adb: Change name Style_Check_Subprogram_Order to - Style_Check_Order_Subprograms. - - * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads, - stylesw.adb: Add Style_Check_Xtra_Parens - - * usage.adb: Add line for -gnatyx (check extra parens) - - * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx - -2004-11-18 Ed Schonberg <schonberg@adacore.com> - Robert Dewar <dewar@adacore.com> - - * exp_ch4.adb (Expand_N_Selected_Component): If the component is the - discriminant of a constrained subtype, analyze the copy of the - corresponding constraint, because in some cases it may be only - partially analyzed. - Removes long-lived ??? comments. - - * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that - handled controlled or secondary-stack expressions within the - iteration_scheme of a loop. - - * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate - bounds that may contain functions calls, to prevent memory leaks when - the bound contains a call to a function that uses the secondary stack. - (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to - generate temporaries for loop bounds that might contain function calls - that require secondary stack and/or finalization actions. - - * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a - selected component and the selector is overloadable (not just a - function) treat as function call, Analyze_Call will disambiguate if - necessary. - (Analyze_Selected_Component): Do not generate an actual subtype for the - selected component if expansion is disabled. The actual subtype is only - needed for constraint checks. - (Analyze_Allocator): If restriction No_Streams is set, then do - not permit objects to be declared of a stream type, or of a - composite type containing a stream. - - * restrict.ads: Remove the a-stream entry from Unit_Array, since - No_Streams no longer prohibits with'ing this package. - - * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has - discriminants, but the parent base has unknown discriminants, there is - no discriminant constraint to inherit. Such a discrepancy can arise - when the actual for a formal type with unknown discriminants is a - similar private type whose full view has discriminants. - (Analyze_Object_Declaration): If restriction No_Streams is set, then - do not permit objects to be declared of a stream type, or of a - composite type containing a stream. - -2004-11-18 Ed Schonberg <schonberg@adacore.com> - - * exp_dbug.ads: Update documentation to reflect simpler encoding for - protected operations. - - * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in - generated name, it complicates decoding in gdb and hinders debugging - of protected operations. - (Build_Barrier_Function_Specification): Set the Needs_Debug_Info - flag for the protected entry barrier function. - (Build_Protected_Entry_Specification): Set the Needs_Debug_Info - flag for the protected entry function. - -2004-11-18 Nicolas Setton <setton@adacore.com> - - * expect.c: Define __unix__ when __APPLE__ is defined. - - * Makefile.in: Inform the value of the variable GMEM_LIB in the - Darwin-specific section. - - * lang-specs.h: Change the placement of the %1 marker. - Works around the fact that gcc adds -fPIC by default under Darwin. - -2004-11-18 Ed Schonberg <schonberg@adacore.com> - - * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original - type of the object with the packed array type, set the Analyzed flag - on the object if it is an entity or simple indexed component, to avoid - spurious type errors. - -2004-11-18 Gary Dismukes <dismukes@adacore.com> - - * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb, - gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a - separate line from the version message. - -2004-11-18 Ed Falis <falis@adacore.com> - - * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653 - vthreads. - (init_float): Eliminate initialization of floating point status for - AE653. The instructions have no effect for vThreads. - -2004-11-18 Vincent Celier <celier@adacore.com> - - * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when - gnatbind is invoked with -shared. - -2004-11-18 Jose Ruiz <ruiz@adacore.com> - - * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error - for Detect_Blocking which is redundant with the check done within the - procedure Protected_Single_Entry_Call. - (Lock_Read_Only_Entry): Remove the code for raising Program_Error for - Detect_Blocking which is redundant with the check done within the - procedure Protected_Single_Entry_Call. - -2004-11-18 Vincent Celier <celier@adacore.com> - - * makegpr.adb (Compile): Put the compiling switches (in package - Compiler and on the command line) immediately after "-c", instead of - at the end of the command line invocation of the compiler, when - compiling a non-Ada file. - (Build_Global_Archive): When there is no need to rebuild the archive, - set Global_Archive_Exists, so that the archive is passed to the linker - if one is needed. - -2004-11-18 Robert Dewar <dewar@adacore.com> - Sergey Rybin <rybin@adacore.com> - - * gnat_ugn.texi: - Remove extra paren check from list of checks for redundant constructs - Add documentation of new -gnatyx style check (check extra parens) - Remove paragraph about gnatelim debug options. - - * gnat_rm.texi: Document that Ada.Streams now forbids creating stream - objects rather than forbidding dependencies on the package Ada.Streams. - - * sinfo.ads: Add ??? note that we should document pragmas passed to - back end. - - * g-expect.ads: Fix a few typos in the comments. - -2004-11-09 Joseph S. Myers <joseph@codesourcery.com> - - * misc.c (gnat_handle_option): Use %< and %> for quoting in - warning message. - -2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * a-numaux-x86.adb (Tan): Fix fdivp syntax. - -2004-11-07 Andreas Schwab <schwab@suse.de> - - * Makefile.in (install-gnatlib): Remove spurious hyphen. - -2004-11-02 Andrew Pinski <pinskia@physics.uc.edu> - - PR ada/18228 - * Makefile.in (darwin): Set soext to .dylib. - -2004-10-26 Vincent Celier <celier@gnat.com> - Thomas Quinot <quinot@act-europe.fr> - - * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads: - (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as - there is no use of GNAT.Sockets.Constants. - Remove remaining pragma Import for C_Write - Remove C_Read and C_Write from internal implementation unit - GNAT.Sockets.Thin, as their usage for sockets is non-portable (using - the read and write functions from the system runtime library is fine - on UNIX but won't work under Windows). - - * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write. - (Check_Selector): Use C_Recv instead of C_Read. - Selectors are the GNAT.Sockets abstraction to perform a select() - call on a set of descriptors. To allow abortion of an ongoing - select operation, some data is written to a dedicated socket that - is always monitored. - Under Windows, the write and read library functions cannot operate - on sockets, so we need to use send and recv instead, which is portable - across all supported platforms. - - * g-socthi.ads: Remove C_Read and C_Write from internal implementation - unit GNAT.Sockets.Thin, as their usage for sockets is non-portable - (using the read and write functions from the system runtime library is - fine on UNIX but won't work under Windows). - -2004-10-26 Nicolas Setton <setton@act-europe.fr> - - * mlib-tgt-darwin.adb: New file. - - * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, - mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, - mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, - mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New - subprogram body. - - * Makefile.in: Add support for building shared libraries under Darwin. - (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing - the low level EH init subprogram to be called from __gnat_initialize. - - * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram, - indicates which options to pass to the archive indexer. - - * mlib-utl.adb: Add support for calling ranlib with additional - options. This is needed for instance under Mac OS X. - (Ranlib_Options): New global variable, used to store the potential - options to pass to ranlib. - (Ar): Use Ranlib_Options when spawning ranlib. - (Initialize): Set the value of ranlib option. - -2004-10-26 Olivier Hainque <hainque@act-europe.fr> - - * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K - instead of 8K, to reflect the real potential needs for stack-checking - in the ZCX case. - -2004-10-26 Pascal Obry <obry@gnat.com> - - * s-parame-mingw.adb (Default_Stack_Size): Add some comments. - - * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On - Windows only the initial thread stack size can be set so it is good to - start we a low stack size. - The OS will adjust the size as needed. - -2004-10-26 Olivier Hainque <hainque@act-europe.fr> - Nicolas Setton <setton@act-europe.fr> - - * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with - "__unix__" instead of "unix". - The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the - sections were just mistakenly ignored. The former is - implicitely defined by gcc2.8, gcc3.2 and gcc3.4. - Update #ifdef preprocessor macro to detect the symbol __hpux__ instead - of hpux. This prevents an unwanted definition of the symbol - convert_addresses in adaint.o. - -2004-10-26 Gary Dismukes <dismukes@gnat.com> - - * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for - compatibility with type Unwind_Word on 16-bit targets such as AAMP. - -2004-10-26 Cyrille Comar <comar@act-europe.fr> - - * a-filico.ads, a-filico.adb: fix incorrect header. - -2004-10-26 Javier Miranda <miranda@gnat.com> - - * a-ststio.ads: Fix typo in identifier - -2004-10-26 Thomas Quinot <quinot@act-europe.fr> - - * sem_ch4.adb: Minor reformatting. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * checks.adb (Expr_Known_Valid): If floating-point validity checks are - enabled, check the result of unary and binary operations when the - expression is the right-hand side of an assignment. - -2004-10-26 Vincent Celier <celier@gnat.com> - - * clean.adb (Delete): Do not output warnings when in quiet output and - not in verbose mode. - (Force_Deletions): New Boolean flag, defaulted to False - (Delete): Only delete a file if it is writable, and when - Force_Deletions is True. - (Parse_Cmd_Line): New switch -f: set Force_Deletions to True - (Usage): Line for new switch -f - (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our - own. - -2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> - - * decl.c (gnat_to_gnu_field): Use the type of the inner object for a - JM type only if its size matches that of the wrapper. When a size is - prescribed and the field is not aliased, remove the wrapper of a JM - type only if the size is not greater than that of the packed array. - (gnat_to_gnu_entity): Change the extension of packed array wrappers - from LJM to JM. - -2004-10-26 Geert Bosch <bosch@gnat.com> - - * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used. - (Succ): Re-implement using Scaling, Exponent and Ceiling attributes. - (Pred): Implement in terms of Succ. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * exp_aggr.adb (Safe_Component): An aggregate component that is an - unchecked conversion is safe for in-place use if the expression of the - conversion is safe. - (Expand_Array_Aggregate): An aggregate that initializes an allocator may - be expandable in place even if the aggregate does not come from source. - (Convert_Array_Aggr_In_Allocator): New procedure to initialize the - designated object of an allocator in place, rather than building it - first on the stack. The previous scheme forces a full copy of the array, - and may be altogether unsusable if the size of the array is too large - for stack allocation. - -2004-10-26 Robert Dewar <dewar@gnat.com> - - * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array - compares if the component is atomic. - - * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for - array assignment if the component type is atomic. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - Eric Botcazou <ebotcazou@act-europe.fr> - - * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter - is aliased and is a by_reference type, do not pass by copy. - (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to - detect whether the call is in the right side of an assignment or - the expression of an object declaration. Recurse on component - association within aggregates. - Call it in the condition that determines whether the temporary is - necessary for correct stack-checking. - -2004-10-26 Thomas Quinot <quinot@act-europe.fr> - - * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter - RACW_Type, used in the PolyORB version. - Rename RCI_Info to RCI_Locator, for consistency between the PolyORB - version and the GARLIC version. - - * snames.ads, snames.adb, s-parint.ads, s-parint.adb: - Rename RCI_Info to RCI_Locator for better consistency between the - GARLIC and PolyORB versions of the distributed systems annex. - (DSA_Implementation_Name): This enumeration lists the possible - implementations of the Partition Communication Subsystem for the - Distributed Systems Annex (DSA). The three available implementations - are the dummy stub implementation (No_DSA), and two versions based on - two different distribution runtime libraries: GARLIC and PolyORB. Both - the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution - technology. - Change the literal GLADE_DSA to GARLIC_DSA to accurately describe - that organization. - - * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency - between the GARLIC and PolyORB versions of the distributed systems - annex. - Remove RE_Unbounded_Reclaim_Pool since it is unused. - -2004-10-26 Gary Dismukes <dismukes@gnat.com> - - * gnat1drv.adb: Suppress calling the back end when - Frontend_Layout_On_Target is true. - -2004-10-26 Thomas Quinot <quinot@act-europe.fr> - - * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable, - Set_Read_Only): New subprograms. - These new routines allow the user to set or unset the Owner execute - and Owner write permission flags on a file. - - * makegpr.adb, mlib.adb, mlib-prj.adb: Use - GNAT.OS_Lib.Set_Executable instead of rolling our own. - -2004-10-26 Matthew Gingell <gingell@gnat.com> - - * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI. - -2004-10-26 Pascal Obry <obry@gnat.com> - - * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the - memory before the faulting page we properly test the process read - access for this address using appropriate Win32 routine. - (HPUX sections): guard with "__hpux__" instead of "hpux". - -2004-10-26 Robert Dewar <dewar@gnat.com> - - * lib-xref.adb (Generate_Reference): Don't complain about reference to - entry parameter if pragma Unreferenced set, since we do not properly - handle the case of multiple parameters. - -2004-10-26 Vincent Celier <celier@gnat.com> - - * prj-env.adb: (Contains_ALI_Files): New Boolean function - (Ada_Objects_Path.Add): For a library project, add to the object path - the library directory only if there is no object directory or if the - library directory contains ALI files. - (Set_Ada_Paths.Add.Recursive_Add): Ditto - -2004-10-26 Vincent Celier <celier@gnat.com> - - * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual - extension of library projects. - - * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project - path defaults to ".:<prefix>/lib/gnat". - (Parse): For an extending all project, allow direct import of a project - that is virtually extended. - - * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with - the specified name is directly imported, return its ID. Otherwise, if - an extension of this project is imported, return the ID of the - extension. - -2004-10-26 Robert Dewar <dewar@gnat.com> - - * s-arit64.adb: (Le3): New function, used by Scaled_Divide - (Sub3): New procedure, used by Scaled_Divide - (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also - correct more than one instance of failure to propagate carries - correctly. - (Double_Divide): Handle overflow case of largest negative number - divided by minus one. - - * s-arit64.ads (Double_Divide): Document that overflow can occur in - the case of a quotient value out of range. - Fix comments. - -2004-10-26 Robert Dewar <dewar@gnat.com> - - * s-bitops.adb (Bit_Eq): Remove redundant check. - - * s-bitops.ads: Minor comment updates - Change some occurrences of Address to System.Address - - * s-carsi8.ads: Fix minor cut-and-paste error in comments - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper - accessibility check to prefix that is a protected operation. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * sem_ch10.adb (Optional_Subunit): If file of expected subunit is - empty, post message on stub. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - Javier Miranda <miranda@gnat.com> - - * sem_ch12.adb (In_Main_Context): Predicate to determine whether the - current instance appears within a unit that is directly in the context - of the main unit. - Used to determine whether the body of the instance should be analyzed - immediately after its spec, to make its subprogram bodies available - for front-end inlining. - (Analyze_Formal_Array_Type): Cleanup condition that checks that range - constraint is not allowed on the component type (AARM 12.5.3(3)) - -2004-10-26 Cyrille Comar <comar@act-europe.fr> - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case - 'Storage_Pool): enhance, document & limit detection of non-sharable - internal pools. - - * impunit.adb: Make System.Pool_Global and System.Pool_Local visible. - - * s-pooglo.ads: Add more documentation now that this pool is properly - documented. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task - or protected type with discriminants, do not constrain the - corresponding record type if the subtype declaration has no - discriminant constraints. This can be the case in source code, or in - the subtype declaration created to rename an actual type within an - instantiation. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a - different kind of stub (possibly wrong name for file), do not check - for conformance. - (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body - includes call to some function that returns an unconstrained type, do - not inline. - -2004-10-26 Ed Schonberg <schonberg@gnat.com> - - * sem_elab.adb (Check_Elab_Call): Do not check a call that does not - appear in the code for the main unit. Dependencies among units in the - context of the main unit are established when those other units are - compiled. Otherwise spurious elaboration constraints can generate - incorrect elaboration circularities. - -2004-10-26 Thomas Quinot <quinot@act-europe.fr> - Ed Schonberg <schonberg@gnat.com> - - * sem_util.adb (Is_Aliased_View): Defend against the case where this - subprogram is called with a parameter that is not an object name. This - situation arises for some cases of illegal code, which is diagnosed - later, and in this case it is wrong to call Is_Aliased, as that might - cause a compiler crash. - (Explain_Limited_Type): Refine previous fix to include - inherited components of derived types, to provide complete information. - - * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that - is the prival for a protected object. - It is necessary to mark this entity as a variable, in addition to - flagging it as Aliased, because Sem_Util.Is_Aliased_View has been - modified to avoid checking the Aliased flag on entities that are not - objects. (Checking that flag for non-objects is erroneous and could - lead to a compiler crash). - -2004-10-26 Robert Dewar <dewar@gnat.com> - - * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if - X_Frac = 0.5, then we know that the number X must be positive. - (Succ): Remove the same redundant test, and also fix the primary test - to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong. - Minor reformatting - (Decompose): Add fuller comments to spec - -2004-10-26 Pascal Obry <obry@gnat.com> - - * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr - validity (process must have read access). Set to 0 in all other cases. - (STOP_FRAME): Now check for ptr validity to avoid a segmentation - violation on Win32. - (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a - segmentation violation. - -2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> - - * trans.c (call_to_gnu): For an (in-)out parameter passed by reference - whose type is a constructed subtype of an aliased object with an - unconstrained nominal subtype, convert the actual to the constructed - subtype before taking its address. - -2004-10-26 Vincent Celier <celier@gnat.com> - - * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb - (Is_Path_Name_Case_Sensitive): New function - - * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure - (Base_Name, Simple_Name, Current_Directory, Compose, - Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on - the result. - -2004-10-26 Cyrille Comar <comar@act-europe.fr> - Vasiliy Fofanov <fofanov@act-europe.fr> - Vincent Celier <celier@gnat.com> - - * gnat_ugn.texi: Generalize "finding memory problems" section into a - "memory management issues" section and document some of the useful - memory pools provided as part of the GNAT library. - Remove "virtual" from declaration of A::method2 in - the simple example of Ada/C++ mixed system. - Library Projects may be virtually extended: their virtual extensions - are not Library Projects. - Added section on extending project hierarchies. - -2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com> - - * adaint.c (__gnat_get_libraries_from_registry): Cast value - to LPBYTE. - (__gnat_portable_spawn): Remove const. - - * mingw32.h (MAXPATHLEN): Check for previous definition. - -2004-10-17 Matthias Klose <doko@debian.org> - - * gnatvsn.ads: Set gnat library version to 4.0. - -2004-10-05 Vincent Celier <celier@gnat.com> - - * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2 - -2004-10-04 Laurent Guerby <laurent@guerby.net> - - PR ada/15156 - * Makefile.in: Define and use RANLIB_FLAGS. - -2004-10-04 Pascal Obry <obry@gnat.com> - - * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all - other x86 platforms). - -2004-10-04 Olivier Hainque <hainque@act-europe.fr> - - * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense - in general and triggers stack alignment adjustment for thread entry - points on targets where this is necessary. - -2004-10-04 Bernard Banner <banner@gnat.com> - - PR ada/13897 - * Makefile.in: Add section for powerpc linux - Add variant i-vxwork-x86.ads - - * i-vxwork-x86.ads, system-linux-ppc.ads: New files. - -2004-10-04 Olivier Hainque <hainque@act-europe.fr> - - * init.c (__gnat_initialize): Call an Ada subprogram to perform the - table registration calls when need be. Ensures no reference to the crt - ctors symbol are issued in the SJLJ case, which avoids possible - undefined symbol errors in the case of modules to be statically linked - with the kernel. - -2004-10-04 Javier Miranda <miranda@gnat.com> - - * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand - in-line the code corresponding to subprogram Analyze_Actuals. In - addition, analyze the actuals only in case of subprogram call. - -2004-10-04 Ed Falis <falis@gnat.com> - - * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size - -2004-10-04 Sergey Rybin <rybin@act-europe.fr> - - * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter - in the documentation. - -2004-10-04 Robert Dewar <dewar@gnat.com> - - * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as - IF and CASE. - (Analyze_Block_Statement): Add circuitry to detect following dead code - (Check_Unreachable_Code): Handle case of block exit - -2004-10-04 Robert Dewar <dewar@gnat.com> - - * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call - (XMatchD): Avoid warning for Logic_Error call - -2004-10-04 Robert Dewar <dewar@gnat.com> - - * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not - consider expressions buried within a procedure actual to be an actual. - This caused some blowups with uses of packed slices within a procedure - actual. - -2004-10-04 Robert Dewar <dewar@gnat.com> - - * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no - longer need to be initialized to zero. - (Get_Simple_Init_Val): Modular packed arrays no longer need to be - initialized to zero. - - * checks.adb (Expr_Known_Valid): Packed arrays are now always - considered valid, even if the representation is modular. That's correct - now that we no longer initialize packed modular arrays to zero. - - * exp_dbug.ads: Clarify documentation on handling of PAD and JM - suffixes. These are now documented as the only cases in which the - debugger ignores outer records. - Previously, the spec allowed arbitrary suffixes for this purpose. - Change name of LJM to JM for packed array pad records - Create separate section on packed array handling, and add a whole new - set of comments to this section describing the situation with packed - modular types and justification requirements depending on endianness. - -2004-10-04 Robert Dewar <dewar@gnat.com> - - * a-except.adb: Add a comment for last change - - * einfo.ads: Minor spelling correction in comment - - * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting - - * sem_ch11.adb: Fix a case of using | instead of \ for continuation - messages. - - * sem_util.ads: Minor comment update - -2004-10-04 Ed Schonberg <schonberg@gnat.com> - - * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as - Inline_Always when in Configurable_Run_Time mode. - - * sem_prag.adb (Process_Convention): If entity is an inherited - subprogram, apply convention to parent subprogram if in same scope. - (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always - when in Configurable_Run_Time mode. - -2004-10-04 Ed Schonberg <schonberg@gnat.com> - - * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of - class_wide type after component list has been inherited. - -2004-10-04 Ed Schonberg <schonberg@gnat.com> - - * sem_ch12.adb (Check_Generic_Actuals): New predicate - Denotes_Previous_Actual, to handle properly the case of a private - actual that is also the component type of a subsequent array actual. - The visibility status of the first actual is not affected when the - second is installed. - (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to - make fully recursive the treatment of formals of packages declared - with a box. - (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo - the above on exit from an instantiation. - (Denotes_Formal_Package): When called from Restore_Private_Views, ignore - current instantiation which is now complete. - (Analyze_Package_Instantiation): No instantiated body is needed if the - main unit is generic. Efficient, and avoid anomalies when a instance - appears in a package accessed through rtsfind. - -2004-10-04 Ed Schonberg <schonberg@gnat.com> - - * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled, - do not generate a declaration for a temporary if the call is part of a - library-level instantiation. - -2004-10-04 Ed Schonberg <schonberg@gnat.com> - - * sem_util.adb (Explain_Limited_Type): Ignore internal components when - searching for a limited component to flag. - - * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to - expansion of Input, to account for the fact that the implicit call - generated by the attribute reference must freeze the user-defined - stream subprogram. This is only relevant to 'Input, because it can - appear in an object declaration, prior to the body of the subprogram. - - * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that - expansion can proceed and further errors uncovered. - (Minor clean up): Fix cases of using | instead of \ for continuation - messages. - -2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable. - - * trans.c (assoc_to_constructor): Fix unused var warning if no checking. - (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change. - Use gcc_assert and gcc_unreachable. - - * decl.c (gnat_to_gnu_entity, case object): Check and process a - specified alignment before validating size. - (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a - stripped-down declaration for the type of the inner field when making - a JM type. - - * utils.c (finish_record_type): Do not compute the size in units - incrementally. Instead compute it once for the rep clause case. - Use gcc_assert and gcc_unreachable. - -2004-10-04 Vincent Celier <celier@gnat.com> - - * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character - in file name. - (Is_Valid_Path_Name): Take '/' as a directory separator. - -2004-10-04 Vincent Celier <celier@gnat.com> - - * prj-part.adb (Parse_Single_Project): Call Is_Extending_All - (Extended_Project) only if Extended_Project is defined, to avoid - assertion error. - (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a - resolved path. - (Parse_Single_Project): Ditto. - - * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call - Add_To_Project_Path for virtual projects. - -2004-10-04 Vincent Celier <celier@gnat.com> - - * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, - mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, - mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, - mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New - parameter Options_2. - - * mlib-prj.ads, mlib-prj.adb (Build_Library): Call - Build_Dynamic_Library with an empty Options_2. - - * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no - default anymore. - - * makegpr.adb (Get_Imported_Directories.add): Remove trailing - directory separator, if any. - (Gprmake): Do not allow mains on the command line for library projects. - Do not attempt to link when the project is a library project. - (Library_Opts): New table to store Library_Options. - (Build_Library): If Library_Options is specified, pass these options - when building a shared library. - -2004-10-04 Jose Ruiz <ruiz@act-europe.fr> - - * s-tposen.adb (Service_Entry): The object must be always unlocked at - the end of this procedure now that the unlock operation was inserted - by the expander. - -2004-10-04 Jose Ruiz <ruiz@act-europe.fr> - - * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value - corresponding to the Preallocated_Stacks flags in System. - (Get_Target_Parameters): Including the processing for - Preallocated_Stacks. - - * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, - system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, - system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, - system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, - system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, - system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, - system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, - system-vxworks-mips.ads, system-os2.ads, system-interix.ads, - system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, - system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, - system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is - used to signal whether the compiler creates the required stacks and - descriptors for the different tasks (when True) or it is done by the - underlying operating system at run time (when False). - It is initially set to False in all targets. - - * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack - if it is supported by the target. - (Make_Task_Create_Call): Pass the stack address if it has been - previously created. Otherwise pass a Null_Address. - - * snames.adb: Add _stack. - - * snames.ads: Add Name_uStack. Required to allow the expander to - statically allocated task stacks. - - * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add - Stack_Address argument. - Check that its value is equal to Null_Address because this target does - not support the static stack allocation. - -2004-10-04 Thomas Quinot <quinot@act-europe.fr> - - * usage.adb: Change "pragma inline" to "pragma Inline" in information - and error messages - -2004-10-04 Thomas Quinot <quinot@act-europe.fr> - - * exp_dist.adb: Split declaration of asynchronous flag out of - Add_RACW_Read_Attribute. - Minor reformatting for better alignment with PolyORB version. - Store the entity for the asynchronous flag of an RACW, rather than the - expression, in the asynchronous flags table. This will allow this flag - to be used in other subprograms beside Add_RACW_Read_Attribute. - -2004-10-04 Thomas Quinot <quinot@act-europe.fr> - - * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c, - g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, - g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, - g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, - g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new - sockets constant MSG_NOSIGNAL (Linux-specific). - Add new sockets constant MSG_Forced_Flags, list of flags to be set on - all Send operations. - For Linux, set MSG_NOSIGNAL on all send operations to prevent them - from trigerring SIGPIPE. - Rename components to avoid clash with Ada 2005 possible reserved - word 'interface'. - (Check_Selector): When the select system call returns with an error - condition, propagate Socket_Error to the caller. - -2004-10-01 Jan Hubicka <jh@suse.cz> - - * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation. - -2004-09-23 Robert Dewar <dewar@gnat.com> - - PR ada/17540 - * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here, - instead do this at freeze time (we won't do it if there is an address - clause). - Change "pragma inline" to "pragma Inline" in information and error - messages. - Minor reformatting. - - * freeze.adb (Check_Address_Clause): Remove previous change, not the - right way of doing things after all. - (Freeze_Entity): For object, set Is_Public for imported entities - unless there is an address clause present. - -2004-09-21 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a - dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This - ensures proper handling of types with rep clauses, which might have - their TYPE_SIZE set already. - -2004-09-21 Robert Dewar <dewar@gnat.com> - - * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular - packed array types in both little- and big-endian cases. This change - ensures that we no longer count on the unused bits being initialized - for such types (and in particular ensures that equality testing will - only read the relevant bits). - Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P - These changes mean that we no longer need to initialize small packed - arrays. - (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same - optimization to an LJM field as to its parent field. - - * ada-tree.h, trans.c, utils.c, utils2.c: - Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P - -2004-09-20 Jan Hubicka <jh@suse.cz> - - * utils.c (gnat_finalize): Remove. - (end_subprog_body): Directly call cgraph_finalize_function; - do not lower the nested functions. - -2004-09-20 Robert Dewar <dewar@gnat.com> - - PR ada/17540 - * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public - if an address clause is present, since that means that the Import - should be ignored. - -2004-09-20 Arnaud Charlet <charlet@act-europe.fr> - - * 5tsystem.ads: Removed, no longer used. - -2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com> - Zack Weinberg <zack@codesourcery.com> - - * ada-tree.def: Use tree_code_class enumeration constants - instead of code letters. - * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c: - Update for new tree-class enumeration constants. - -2004-09-17 Vincent Celier <celier@gnat.com> - - * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private - capabilities of the general project manager. - -2004-09-09 Vincent Celier <celier@gnat.com> - - * a-direct.ads: Add pragma Ada_05 - (Directory_Entry_Type): Give default value to component Kind to avoid - not initialized warnings. - - * a-direct.adb (Current_Directory): Remove directory separator at the - end. - (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not - an existing directory. - (Fetch_Next_Entry): Give default value to variable Kind to avoid warning - (Size (String)): Function C_Size returns Long_Integer, not File_Size. - Convert the result to File_Size. - - * prj.ads: (Project_Error): New exception - - * prj-attr.adb: Except in procedure Initialize, Fail comes from - Prj.Com, not from Osint. - (Attrs, Package_Attributes): Tables moved to private part of spec - (Add_Attribute, Add_Unknown_Package): Moved to new child package - Prj.Attr.PM. - (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise - Prj.Project_Error after call to Fail. - (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling - Fail. Check that package name is not already in use. - - * prj-attr.ads: Comment updates to indicate that all subprograms may be - used by tools, not only by the project manager, and to indicate that - exception Prj.Prj_Error may be raised in case of problem. - (Add_Unknown_Package, Add_Attribute): Moved to new child package - Prj.Attr.PM. - (Attrs, Package_Attributes): Table instantiations moved from the body to - the private part to be accessible from Prj.Attr.PM body. - - * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package - from new package Prj.Attr.PM. - (Parse_Attribute_Declaration): Call Add_Attribute from new package - Prj.Attr.PM. - - * Makefile.in: Add prj-attr-pm.o to gnatmake object list - - * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check - instead of Elaboration_Checks). - - * a-calend.adb: Minor reformatting - -2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * gigi.h (maybe_pad_type): New declaration. - (create_subprog_type): New arg RETURNS_BY_TARGET_PTR. - - * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro. - - * cuintp.c: Convert to use buildN. - - * decl.c (maybe_pad_type): No longer static. - (gnat_to_gnu_entity, case E_Function): Handle case of returning by - target pointer. - Convert to use buildN. - - * trans.c (call_to_gnu): Add arg GNU_TARGET; support - TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed. - (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on - RHS. - (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P. - (gnat_gimplify_expr, case ADDR_EXPR): New case. - Convert to use buildN. - - * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and - TREE_READONLY for const. - Convert to use buildN. - - * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR. - (create_var_decl): Refine when TREE_STATIC is set. - Convert to use buildN. - -2004-09-09 Gary Dismukes <dismukes@gnat.com> - - * gnat_ugn.texi: Delete text relating to checking of ali and object - consistency. - - * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these - routines. - -2004-09-09 Jose Ruiz <ruiz@act-europe.fr> - - * gnat_ugn.texi: Add Detect_Blocking to the list of configuration - pragmas recognized by GNAT. - - * gnat_rm.texi: Document pragma Detect_Blocking. - - * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active, - raise Program_Error if called from a protected operation. - - * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase - the protected action nesting level. - (Lock_Read_Only): When pragma Detect_Blocking is active increase the - protected action nesting level. - (Unlock): When pragma Detect_Blocking is active decrease the protected - action nesting level. - - * s-taskin.adb (Initialize_ATCB): Initialize to 0 the - Protected_Action_Nesting. - - * s-taskin.ads: Adding the field Protected_Action_Nesting to the - Common_ATCB record. It contains the dynamic level of protected action - nesting for each task. It is needed for checking whether potentially - blocking operations are called from protected operations. - (Detect_Blocking): Adding a Boolean constant reflecting whether pragma - Detect_Blocking is active or not in the partition. - - * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active, - raise Program_Error if called from a protected operation. - (Task_Entry_Call): When pragma Detect_Blocking is active, raise - Program_Error if called from a protected operation. - (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise - Program_Error if called from a protected operation. - - * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active, - raise Program_Error if called from a protected operation. - - * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active, - raise Program_Error if called from a protected operation, and increase - the protected action nesting level. - (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise - Program_Error if called from a protected operation, and increase the - protected action nesting level. - (Unlock_Entries): When pragma Detect_Blocking is active decrease the - protected action nesting level. - - * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active, - raise Program_Error if called from a protected operation, and increase - the protected action nesting level. - (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise - Program_Error if called from a protected operation, and increase the - protected action nesting level. - (Protected_Single_Entry_Call): When pragma Detect_Blocking is active, - raise Program_Error if called from a protected operation. - (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is - active, raise Program_Error if called from a protected operation. - (Unlock_Entry): When pragma Detect_Blocking is active decrease the - protected action nesting level. - - * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the - insertion of the statement raising Program_Error. The run time - contains the required machinery for handling that. - - * sem_util.ads: Change comment associated to procedure - Check_Potentially_Blocking_Operation. - This procedure does not insert a call for raising the exception because - that is currently done by the run time. - - * raise.h (__gnat_set_globals): Pass the detect_blocking parameter. - - * init.c: Add the global variable __gl_detect_blocking that indicates - whether pragma Detect_Blocking is active (1) or not (0). Needed for - making the pragma available at run time. - (__gnat_set_globals): Pass and update the detect_blocking parameter. - - * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if - pragma Detect_Blocking is active. - - * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files. - - * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag - DB is found in the ali file. Any unit compiled with pragma - Detect_Blocking active forces its effect in the whole partition. - - * a-retide.adb (Delay_Until): Raise Program_Error if pragma - Detect_Blocking is active and delay is called from a protected - operation. - - * bindgen.adb (Gen_Adainit_Ada): When generating the call to - __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma - Detect_Blocking is active (0 otherwise). - (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1 - as Detect_Blocking parameter if pragma Detect_Blocking is active (0 - otherwise). - -2004-09-09 Thomas Quinot <quinot@act-europe.fr> - - * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to - GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash - package. - - * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram. - (Register_Receiving_Stub): Add Subp_Info formal parameter. - Update API in placeholder implemetation of s-parint to reflect changes - in distribution runtime library. - - * sem_ch3.adb (Expand_Derived_Record): Rename to - Expand_Record_Extension. - - * sem_disp.adb (Check_Controlling_Formals): Improve error message for - primitive operations of potentially distributed object types that have - non-controlling anonymous access formals. - - * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New - subprogram. - New implementation of expansion for remote access-to-subprogram types, - based on the RACW infrastructure. - This version of sem_dist is compatible with PolyORB/DSA as well as - GLADE. - - * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma - Asynchrronous that applies to a remote access-to-subprogram type, mark - the underlying RACW type as asynchronous. - - * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and - __gnat_using_gnu_linker to 1. - - * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads, - g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to - GNAT.Perfect_Hash_Generators, and remove the empty - GNAT.Perfect_Hash package. - - * atree.adb: Minor reformatting - - * exp_ch3.adb (Expand_Derived_Record): Rename to - Expand_Record_Extension. - (Build_Record_Init_Proc.Build_Assignment): The default expression in - a component declaration must remain attached at that point in the - tree so New_Copy_Tree copies it if the enclosing record type is derived. - It is therefore necessary to take a copy of the expression when building - the corresponding assignment statement in the init proc. - As a side effect, in the case of a derived record type, we now see the - original expression, without any rewriting that could have occurred - during expansion of the ancestor type's init proc, and we do not need - to go back to Original_Node. - - * exp_ch3.ads (Expand_Derived_Record): Rename to - Expand_Record_Extension. - - * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram. - Returns the RACW type used to implement a remote access-to-subprogram - type. - (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type): - New subprograms. Used to create a proxy tagged object for a remote - subprogram. The proxy object is used as the designated object - for RAS values on the same partition (unless All_Calls_Remote applies). - (Build_Get_Unique_RP_Call): New subprogram. Build a call to - System.Partition_Interface.Get_Unique_Remote_Pointer. - (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS): - Renamed from Add_RAS_*_Attribute. - (Add_Receiving_Stubs_To_Declarations): Generate a table of local - subprograms. - New implementation of expansion for remote access-to-subprogram types, - based on the RACW infrastructure. - - * exp_dist.ads (Copy_Specification): Update comment to note that this - function can copy the specification from either a subprogram - specification or an access-to-subprogram type definition. - -2004-09-09 Ed Schonberg <schonberg@gnat.com> - - * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity - in an instance, between an explicit subprogram an one inherited from a - type derived from an actual. - - * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not - add a polling call if the subprogram is to be inlined by the back-end, - to avoid repeated calls with multiple inlinings. - - * checks.adb (Apply_Alignment_Check): If the expression in the address - clause is a call whose name is not a static entity (e.g. a dispatching - call), treat as dynamic. - -2004-09-09 Robert Dewar <dewar@gnat.com> - - * g-trasym.ads: Minor reformatting - - * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except - packed arrays, since unused bits are expected to be zero for a - comparison. - -2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr> - - * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head - comment. - -2004-09-09 Pascal Obry <obry@gnat.com> - - * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to - enable map file generation. Add the right option to generate the map - file if Map_File is set to True. - - * gnatdll.adb (Gen_Map_File): New variable. - (Syntax): Add info about new -m (Map_File) option. - (Parse_Command_Line): Add support for -m option. - (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls. - Minor reformatting. - -2004-09-09 Laurent Pautet <pautet@act-europe.fr> - - * gnatls.adb: Add a very verbose mode -V. Such mode is required by the - new gnatdist implementation. - Define a subpackage isolating the output routines specific to this - verbose mode. - -2004-09-09 Joel Brobecker <brobecker@gnat.com> - - * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta. - - * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted. - -2004-09-09 Cyrille Comar <comar@act-europe.fr> - - * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile - internal unit. - - * opt.ads: Add Ada_Version_Runtime constant used to decide which - version of the language is used to compile the run time. - -2004-09-09 Arnaud Charlet <charlet@act-europe.fr> - - * sem_util.adb (Requires_Transient_Scope): Re-enable handling - of variable length temporaries for function return now that the - back-end and gigi support it. - -2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM. - - * trans.c (struct stmt_group): Delete field GLOBAL. - (gnat_init_stmt_group): Do not initialize it. - (call_to_gnu): Use save_expr, not protect_multiple_eval. - (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2 - (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise. - (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group. - (start_stmt_group): Likewise. - (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs. - - * utils2.c (ggc.h): Include. - (build_call_raise): Call build_int_cst, not build_int_2. - - * utils.c (gnat_init_decl_processing): Fix arg to - build_common_tree_nodes. - (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST. - (gnat_define_builtin): Set built_in_decls. - (init_gigi_decls): Call build_int_cst, not build_int_2. - - * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree. - (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros. - (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise. - (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE, - SET_TYPE_MODULE): Use them. - (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise. - (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise. - (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE, - SET_TYPE_ADA_SIZE): Likewise. - (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise. - (DECL_CONST_CORRESPONDING_VAR, - SET_DECL_CONST_CORRESPONDING_VAR): Likewise. - (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise. - (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted. - (TYPE_RM_SIZE_NUM): New macro. - (TYPE_RM_SIZE): Modified to use above. - - * cuintp.c: (build_cst_from_int): New function. - (UI_To_gnu): Use it. - - * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM. - (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type. - (gnat_substitute_in_type, case ARRAY_TYPE): If old had a - MIN_EXPR for the size, copy it into new. - -2004-09-01 Robert Dewar <dewar@gnat.com> - - * exp_ch6.adb (Expand_Call): Properly handle validity checks for - packed indexed component where array is an IN OUT formal. This - generated garbage code previously. - - * gnat_ugn.texi: Document -fverbose-asm - - * gnat-style.texi: Minor updates (note that boolean constants and - variables are joined with AND/OR rather than short circuit forms). - -2004-09-01 Ed Schonberg <schonberg@gnat.com> - - * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if - it is an upward conversion of an untagged type with no representation - change. - -2004-09-01 Thomas Quinot <quinot@act-europe.fr> - - * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to - System.Partition_Interface. - - * checks.adb (Apply_Access_Checks): Do not generate checks when - expander is not active (but check for unset reference to prefix of - dereference). - - * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite - pragma Debug as an if statement with a constant condition, for - consistent treatment of entity references contained within the - enclosed procedure call. - -2004-09-01 Vincent Celier <celier@gnat.com> - - * bindgen.adb: (Set_EA_Last): New procedure - (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure - Set_EA_Last. - (Gen_Adafinal_Ada): If no finalization, adafinal does nothing - (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be - linked without errors. - (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays - ST and EA. - (Gen_Exception_Table_C): Correct same bugs - - * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches - - * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty, - on Windows, make sure that the drive letter is in upper case. - - * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on - Windows, when the drive letter is added and Case_Sensitive is True, the - drive letter is forced to upper case. - - * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options - to Options_2 for the call to MLib.Utl.Gcc. - - * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as - directory separator when defining BASE_DIR. - -2004-09-01 Pascal Obry <obry@gnat.com> - - * gprcmd.adb (Extend): Do not output trailing directory separator. This - is not needed and it confuses Windows GNU/make which does not report - directory terminated by a slash as a directory. - (gprcmd): Idem for "pwd" internal command. - - * Makefile.generic: Use __GPRCOLON__ instead of pipe character in - target names rewrite to fix regressions with recent version of - GNU/make. Starting with GNU/make 3.80 the pipe character was not - handled properly anymore. - -2004-09-01 Andreas Schwab <schwab@suse.de> - - * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change. - * raise.c [!IN_RTS]: Undef abort. - -2004-08-27 Nathan Sidwell <nathan@codesourcery.com> - - * utils2.c (build_allocator): Use ssize_int. - - * utils.c (gnat_init_decl_processing): Ada has a signed sizetype. - -2004-08-27 Andreas Schwab <schwab@suse.de> - - * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o. - -2004-08-25 Nathan Sidwell <nathan@codesourcery.com> - Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1. - -2004-08-25 Nathan Sidwell <nathan@codesourcery.com> - - * cuintp.c (UI_To_gnu): Adjust build_int_cst calls. - * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. - * utils.c (init_gigi_decls): Likewise. - * utils2.c (build_call_raise, build_allocator): Likewise. - -2004-08-24 Nathan Sidwell <nathan@codesourcery.com> - - * utils.c (gnat_init_decl_processing): Adjust - build_common_tree_nodes call. - -2004-08-20 Nathan Sidwell <nathan@codesourcery.com> - - * utils2.c (build_allocator): Use build_int_cst for negative - size types. - -2004-08-18 Richard Henderson <rth@redhat.com> - - * misc.c (LANG_HOOKS_HONOR_READONLY): Remove. - -2004-08-16 Nathan Sidwell <nathan@codesourcery.com> - - * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst - call.s - * trans.c (Exception_Handler_to_gnu_sjlj): Likewise. - (gnat_to_gnu): Likewise. - -2004-08-16 Pascal Obry <obry@gnat.com> - - * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC - backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared - option and not mdll anymore. Update comment. - -2004-08-16 Pascal Obry <obry@gnat.com> - - * bld.adb (Put_Include_Project): Properly handle directory separators - on Windows. - -2004-08-16 Ed Schonberg <schonberg@gnat.com> - - * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by - decreasing the number of allocated junk nodes while searching for the - appropriate subprogram. - -2004-08-15 Nathan Sidwell <nathan@codesourcery.com> - - * cuintp.c (UI_To_gnu): Use build_int_cst.. - * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. - * utils.c (init_gigi_decls): Likewise. - * utils2.c (build_call_raise): Likewise. - -2004-08-13 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator - for a global aliased object with a variable size and an unconstrained - nominal subtype, pretend there is no initializer if the one we have is - incomplete, and avoid referencing an inexistant component in there. The - part we have will be rebuilt anyway and the reference may confuse - further operations. - -2004-08-13 Thomas Quinot <quinot@act-europe.fr> - - * einfo.ads: Minor reformatting - - * lib-writ.adb (Output_Main_Program_Line): Do not set parameter - restrictions in the ALI if we only want to warn about violations. - -2004-08-13 Vincent Celier <celier@gnat.com> - - * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False - when creating a new Unit_Record in table Units. - - * gnatls.adb (Output_Unit): In verbose mode, output the restrictions - that are violated, if any. - - * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not - add directory separator if path already ends with a directory separator. - -2004-08-13 Ed Schonberg <schonberg@gnat.com> - - * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined - unit, this is an attempt to inline a construct that is not available in - the current restricted mode, so abort rather than trying to continue. - - * sem_ch3.adb (Build_Underlying_Full_View): If the new type has - discriminants that rename those of the parent, recover names of - original discriminants for the constraint on the full view of the - parent. - (Complete_Private_Subtype): Do not create a subtype declaration if the - subtype is an itype. - - * gnat_rm.texi: Added section on implementation of discriminated - records with default values for discriminants. - -2004-08-13 Ed Schonberg <schonberg@gnat.com> - - PR ada/15601 - * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where - the second operand is overloaded. - -2004-08-10 Richard Henderson <rth@redhat.com> - - * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc, - add __builtin_alloca. - -2004-08-10 Richard Henderson <rth@redhat.com> - - * config-lang.in (boot_language): Yes. - -2004-08-09 Thomas Quinot <quinot@act-europe.fr> - - * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind - from complaining on potential uninitialized reference. - Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for - new specification and test explicitly for non-zero return value. - - * g-socthi.ads (Is_Socket_In_Set): Declare imported function as - returning C.int, to avoid using a derived boolean type. - - * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use - Duplicate_Subexpr_No_Checks in preference to direct use of - Remove_Side_Effects and New_Copy_Tree. - Clear Comes_From_Source on prefix of 'Size attribute reference. - - * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb, - g-socthi-vxworks.adb: Change calls to - GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification - and test explicitly for non-zero return value. - - * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: - (Is_Socket_In_Set): Declare imported function as returning C.int, to - avoid using a derived boolean type. - -2004-08-09 Albert Lee <lee@gnat.com> - - * system-irix-n32.ads: Refine tasking priority constants for IRIX. - -2004-08-09 Pascal Obry <obry@gnat.com> - - * gnat_ugn.texi: Document new way to build DLLs on Windows using - GCC's -shared option. - - * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into - Options_2 parameter (options put after object files). - -2004-08-09 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to - ignore overflows on low and high bounds of an index to also account for - differences in signedness between sizetype and gnu_index_subtype. - These are as legitimate as the ones caused by a lower TYPE_PRECISION - on sizetype. - -2004-08-09 Robert Dewar <dewar@gnat.com> - - * s-solita.ads, s-solita.adb: Minor reformatting - - * gnat_rm.texi: Add documentation for pragma Profile (Restricted) - Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new - obsolescent section - Add note that No_Implicit_Conditionals does not suppress - run time constraint checks. - - * vms_conv.ads: Minor reformatting - - * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup - and necessary for following change). - (Mark): Return new format Mark_Id containing sec stack address - (Release): Use sec stack address from Mark_Id avoiding Self call - - * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack - pointer (cleanup and necessary for following change). - Define Mark_Id as record containing address of secondary stack, that way - Release does not need to find the stack again, decreasing the number of - calls to Self and improving efficiency. - - * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference - - * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of - case variable into the individual case branches when possible. - - * sem_ch11.adb: Minor reformatting - - * prj.ads: Correct spelling of suffixs - - * prj-nmsc.adb: Minor reformatting - Correct spelling suffixs throughout (also in identifiers) - - * freeze.adb: Minor spelling correction - - * exp_ch2.adb: Cleanups to handling of Current_Value - (no functional effect). - - * bld.adb: Correct spelling of suffixs - - * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument - -2004-08-09 Ed Schonberg <schonberg@gnat.com> - - PR ada/15408 - * sem_ch7.adb (Install_Private_Declarations): In the body of the - package or of a child, private entities are both immediately_visible - and not hidden. - -2004-08-09 Ed Schonberg <schonberg@gnat.com> - - * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer, - there are no range checks on the value of the literal. - - * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being - wrapped is the triggering alternative of an asynchronous select, action - statements mustbe inserted before the select itself. - - * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the - case where the prefix is a protected function call. - (Resolve_Attribute, case 'Access): The attribute reference on a - subprogram is legal in a generic body if the subprogram is declared - elsewhere. - -2004-08-09 Vincent Celier <celier@gnat.com> - - * makegpr.adb (Build_Library): Link with g++ if C++ is one of the - languages, otherwise building the library may fail with unresolved - symbols. - (Compile_Sources): Do not build libraries if -c switch is used - - * gnatlink.adb (Process_Args): New switches -M and -Mmap - (Write_Usage): If map file creation is supported, output new switches - -M and -Mmap. - (Gnatlink): When -M is specified, add the necessary switch(es) to the - gcc call, when supported. - - * Makefile.in: Added indepsw.o to the object list for gnatlink - Specified the AIX, GNU/Linux and Windows versions of indepsw.adb - - * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb, - indepsw.adb, indepsw.ads: New files. - -2004-08-09 Bernard Banner <banner@gnat.com> - - * system-vxworks-x86.ads, s-vxwork-x86.ads: New files. - - * Makefile.in: add section for vxworks x86 - -2004-08-09 Hristian Kirtchev <kirtchev@gnat.com> - - * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with - per-object constrained components where the discriminant is of an - Access type. - (Build_Record_Init_Proc): Add condition to prevent the inheritance of - the parent initialization procedure for derived Unchecked_Unions. - Instead, derived Unchecked_Unions build their own initialization - procedure. - (Build_Variant_Record_Equality): Implement Unchecked_Union equality. - Check the body of the subprogram for details. - (Freeze_Record_Type): Prevent the inheritance of discriminant checking - functions for derived Unchecked_Union types by introducing a condition. - Allow the creation of TSS equality functions for Unchecked_Unions. - (Make_Eq_Case): Rename formal parameter Node to E in function signature. - Add formal parameter Discr to function signature. Discr is used to - control the generated case statement for Unchecked_Union types. - (Make_Eq_If): Rename formal parameter Node to E in function signature. - - * exp_ch4.adb (Build_Equality_Call): Implement equality calls for - Unchecked_Unions. - Check the body of the subprogram for details. - (Expand_Composite_Equality): Augment composite type equality to include - correct handling of Unchecked_Union components. - (Expand_N_In): Add condition to detect illegal membership tests when the - subtype mark is a constrained Unchecked_Union and the expression lacks - inferable discriminants, and build a Raise_Program_Error node. - (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used - to detect types that contain components of unconstrained Unchecked_Union - subtype. Add condition to detect equality between types that have an - unconstrained Unchecked_Union component, and build a Raise_Program_Error - node. Add condition to detect equality between Unchecked_Union types - that lack inferable discriminants, and build a Raise_Program_Error node. - Otherwise build a TSS equality function call. - (Expand_N_Type_Conversion): Add condition to detect illegal conversions - from a derived Unchecked_Union to an unconstrained non-Unchecked_Union - with the operand lacking inferable discriminants, and build a Raise_ - Program_Error node. - (Expand_Record_Equality): Remove guard that prevents Unchecked_Union - composite equality. - (Has_Inferable_Discriminants): Implement new predicate for objects and - expressions of Unchecked_Union type. Check the body of subprogram for - details. - (Has_Unconstrained_UU_Components): Add function - Component_Is_Unconstrained_UU. It is used to detect whether a single - component is of an unconstrained Unchecked_Union subtype. Add function - Variant_Is_Unconstrained_UU. It is used to detect whether a single - component inside a variant is of an unconstrained Unchecked_Union type. - - * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the - inferred discriminant values. Add condition to generate a case - statement with an inferred discriminant as the switch. - (Make_Component_List_Assign): Introduce a Boolean flag that determines - the behaviour of the subprogram in the presence of an Unchecked_Union. - Add condition to trigger the usage of the inferred discriminant value - as the generated case statement switch. - (Make_Field_Assign): Introduce a Boolean flag that determines the - behaviour of the subprogram in the presence of an Unchecked_Union. Add - condition to trigger the usage of the inferred discriminant value as - the right-hand side of the generated assignment. - - * exp_ch6.adb (Expand_Call): Add condition to skip extra actual - parameter generation when dealing with Unchecked_Unions. - - * checks.adb (Apply_Discriminant_Check): Do not apply discriminant - checks for Unchecked_Unions. - - * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint - - * exp_attr.adb (Expand_N_Attribute_Reference): Produce - Raise_Program_Error nodes for the execution of Read and Write - attributes of Unchecked_Union types and the execution of Input and - Output attributes of Unchecked_Union types that lack default - discriminant values. - - * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma - Unchecked_Union. Add procedure Check_Component. It is used to inspect - per-object constrained components of Unchecked_Unions for being - Unchecked_Unions themselves. Add procedure Check_Variant. It is used to - check individual components withing a variant. - - * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents - comparison of Unchecked_Unions. - (Resolve_Equality_OP): Remove guard that prevents equality between - Unchecked_Unions. - - * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation - of component subtypes for Unchecked_Union components. - (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type - since it is the actual subtype. - - * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct - pass of Unchecked_Union subtypes as generic actuals to formal types - that lack known_discriminant_parts or that are derived Unchecked_Union - types, and do nothing. In any other case, produce an error message. - - * sem_ch3.adb (Analyze_Component_Declaration): Add function - Contains_POC. It determines whether a constraint uses the discriminant - of an enclosing record type. - Add condition to detect per-object constrained component and set the - appropriate flag. - (Derived_Type_Declaration): Remove guard that prevents derivation from - Unchecked_Union types. - (Process_Subtype): Remove quard that prevents the creation of Unchecked_ - Union subtypes. - - * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of - references to Unchecked_Union discriminants. - - * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra - formal generation when dealing with Unchecked_Unions. - (Set_Actual_Subtypes): Add condition to prevent generation of actual - subtypes for Unchecked_Unions. - - * sem_ch7.adb (Analyze_Package_Specification): Add procedure - Inspect_Unchecked_Union_Completion. It is used to detect incorrect - completions of discriminated partial views by Unchecked_Unions and - produce an error message. - -2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (struct stmt_group): New field, GLOBAL. - (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted. - (struct elab_info): New struct. - (elab_info_list, gnu_elab_proc_stack): New variables. - (Compilation_Unit_to_gnu): New procedure. - (gigi): Call it and also handle elaboration procs we've saved. - (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize - global field from parent. - (gnat_to_gnu): Get decl from gnu_elab_proc_stack. - (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu. - (start_stmt_group): Initialize global field from parent. - (add_decl_expr): Set to global for current statement group. - (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not - post. - - * utils.c (global_bindings_p): True when no current_function_decl; no - longer check current_binding_level. - -2004-08-09 Ben Brosgol <brosgol@gnat.com> - - * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition - choice. - - * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic. - -2004-08-06 Andreas Schwab <schwab@suse.de> - - * utils.c (gnat_define_builtin): Remove second parameter of - make_decl_rtl. - (begin_subprog_body): Likewise. - -2004-07-26 Arnaud Charlet <charlet@act-europe.fr> - - * sem_util.adb (Requires_Transient_Scope): Temporarily disable - optimization, not supported by the tree-ssa back-end. - -2004-07-26 Olivier Hainque <hainque@act-europe.fr> - - * s-mastop-irix.adb: Update comments. - - * a-except.adb (Exception_Information): Raise Constraint_Error if - exception Id is Null_Id. - This is required behavior, which is more reliably and clearly checked - at the top level interface level. - -2004-07-26 Javier Miranda <miranda@gnat.com> - - * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization - call if a component has no default_expression and the box is used. - - * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no - default_expression and you use box, it behaves as if you had declared a - stand-alone object. - (Resolve_Record_Aggregate): If a component has no default_expression and - you use box, it behaves as if you had declared a stand-alone object. - - * sem_ch10.adb (Install_Siblings): Do not make visible the private - entities of private-with siblings. - -2004-07-26 Ed Schonberg <schonberg@gnat.com> - - * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view - for a component of an itype, set the parent pointer for analysis, - there is no list in which to insert it. - - * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for - bona-fide renamings, not for inherited operations. - - * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an - actual for a formal that is an access parameter, create local - finalization list even if the expression is not an aggregate. - -2004-07-26 Ed Schonberg <schonberg@gnat.com> - - PR ada/16213 - * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming): - Diagnose properly illegal subprogram renamings that are library units. - -2004-07-26 Ed Schonberg <schonberg@gnat.com> - - PR ada/15588 - * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type - conversion rewritten as an unchecked conversion, check that original - expression is a variable. - - * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an - unchecked_conversion, create new node rather than rewriting in place, - to preserve original construct. - -2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * gigi.h (gnat_expand_body): Deleted. - - * Make-lang.in: (trans.o): Depends on function.h. - - * misc.c: (gnat_expand_body): Moved to here. - - * trans.c (gnat_expand_body_1): Deleted. - (gnat_expand_body): Moved from here. - (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc. - (add_stmt): Check for marked visited with global_bindings_p. - (gnat_gimplify_expr, case COMPONENT_REF): New case. - (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp. - - * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a - VIEW_CONVERT_EXPR if not operation type. - - * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for - fat pointer. - - * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor - changes: reformatting of negation operators, removing unneeded - inequality comparison with zero, converting equality comparisons with - zero to negations, changing int/0/1 to bool/false/true, replace calls - to gigi_abort with abort, and various other similar changes. - -2004-07-26 Vincent Celier <celier@gnat.com> - - * gnatcmd.adb (GNATCmd): Add processing for new built-in command - "setup". - - * make.adb (Gnatmake): Fail when a library is not present and there is - no object directory. - - * mlib-prj.adb (Check_Library): No need to check if the library needs - to be rebuilt if there is no object directory, hence no object files - to build the library. - - * opt.ads (Setup_Projects): New Boolean flag. - - * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and - Location. - Create directory when Kind /= "" and in "gnat setup". Report error if - directory cannot be created. - (Ada_Check): Create library interface copy dir if it does not exist - and we are in "gnat setup". - (Find_Sources): No error if in "gnat setup" and no Ada sources were - found. - (Language_Independent_Check): Create object directory, exec directory - and/or library directory if they do not exist and we are in - "gnat setup". - - * vms_conv.ads: (Command_Type): New command Setup. - - * vms_conv.adb (Initialize): Add Setup component of Cammand_List. - - * vms_data.ads: Add qualifiers/switches for new built-in command - "setup". - -2004-07-25 Richard Henderson <rth@redhat.com> - - * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and - DECL_IGNORED_P on RESULT_DECL. - -2004-07-20 Olivier Hainque <hainque@act-europe.fr> - - * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic - allocation and potentially overflowing update with - Tailored_Exception_Information. Use the sec-stack free procedural - interface to output Exception_Information instead. - - * a-except.adb (To_Stderr): New subprogram for character, and string - version moved from a-exextr to be visible from other separate units. - (Tailored_Exception_Information): Remove the procedural version, - previously used by the default Last_Chance_Handler and not any more. - Adjust various comments. - - * a-exexda.adb: Generalize the exception information procedural - interface, to minimize the use of secondary stack and the need for - local buffers when the info is to be output to stderr: - (Address_Image): Removed. - (Append_Info_Character): New subprogram, checking for overflows and - outputing to stderr if buffer to fill is of length 0. - (Append_Info_String): Output to stderr if buffer to fill is of length 0. - (Append_Info_Address, Append_Info_Exception_Name, - Append_Info_Exception_Message, Append_Info_Basic_Exception_Information, - Append_Info_Basic_Exception_Traceback, - Append_Info_Exception_Information): New subprograms. - (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character. - (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength, - Exception_Info_Maxlength, Exception_Name_Length, - Exception_Message_Length): New subprograms. - (Exception_Information): Use Append_Info_Exception_Information. - (Tailored_Exception_Information): Use - Append_Info_Basic_Exception_Information. - Export services for the default Last_Chance_Handler. - - * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by - other separate units. - -2004-07-20 Vincent Celier <celier@gnat.com> - - * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting. - -2004-07-20 Ed Schonberg <schonberg@gnat.com> - - * freeze.adb (Freeze_Entity): If entity is a discriminated record type, - emit itype references for the designated types of component types that - are declared outside of the full record declaration, and that may - denote a partial view of that record type. - -2004-07-20 Ed Schonberg <schonberg@gnat.com> - - PR ada/15607 - * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype - which is the designated type in an access component declaration, to the - list of incomplete dependents of the parent type, to avoid elaboration - issues with out-of-scope subtypes. - (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the - full view of the parent. - -2004-07-20 Ed Schonberg <schonberg@gnat.com> - - PR ada/15610 - * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject - entities that are hidden, such as references to generic actuals - outside an instance. - -2004-07-20 Javier Miranda <miranda@gnat.com> - - * sem_ch4.adb (Try_Object_Operation): New subprogram that gives - support to the new notation. - (Analyze_Selected_Component): Add call to Try_Object_Operation. - -2004-07-20 Jose Ruiz <ruiz@act-europe.fr> - - * s-taprob.adb: Adding the elaboration code required for initializing - the tasking soft links that are common to the full and the restricted - run times. - - * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the - restricted run time has been moved to the package - System.Soft_Links.Tasking. - - * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the - restricted run time has been moved to the package - System.Soft_Links.Tasking. - - * Makefile.rtl: Add entry for s-solita.o in run-time library list. - - * s-solita.ads, s-solita.adb: New files. - -2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu, - Case_Statement_to_gnu): Split off from gnat_to_gnu. - (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu, - Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj, - Exception_Handler_to_gnu_zcx): Likewise. - -2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> - - * gigi.h (builtin_function): Declare. - -2004-07-15 Robert Dewar <dewar@gnat.com> - - * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor - reformatting - - * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with - access values as an example of a warning. - - * gnat_rm.texi: Document new attribute Has_Access_Values - - * gnat-style.texi: Document that box comments belong on nested - subprograms - - * sem_util.ads (Has_Access_Values): Improved documentation - - * s-finimp.ads, s-finimp.adb: Fix spelling error in comment - - * sem_prag.adb (Check_Duplicated_Export_Name): New procedure - (Process_Interface_Name): Call to this new procedure - (Set_Extended_Import_Export_External_Name): Call to this new procedure - - * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment - - * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values - - * einfo.ads: Minor comment typo fixed - -2004-07-15 Jose Ruiz <ruiz@act-europe.fr> - - * snames.adb: Add _atcb. - - * snames.ads: Add Name_uATCB. - - * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated - (in the expanded code) when using the restricted run time. - - * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into - a in parameter in order to allow ATCBs to be preallocated (in the - expanded code). - - * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in - order to allow ATCBs to be preallocated. In case of error, the ATCB is - deallocated in System.Tasking.Stages. - - * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in - order to allow ATCBs to be preallocated. - - * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated - here. It was previously done in Initialize_ATCB. - - * rtsfind.ads: Make the Ada_Task_Control_Block visible. - - * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the - Restricted run time. - - * exp_ch3.adb: When using the Restricted run time, pass the - preallocated Ada_Task_Control_Block when creating a task. - -2004-07-15 Ed Schonberg <schonberg@gnat.com> - - * sem_util.adb (Normalize_Actuals): If there are no actuals on a - function call that is itself an actual in an enclosing call, diagnose - problem here rather than assuming that resolution will catch it. - - * sem_ch7.adb (Analyze_Package_Specification): If the specification is - the local copy of a generic unit for a formal package, and the generic - is a child unit, install private part of ancestors before compiling - private part of spec. - - * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to - use scope entities rather than tree structures, to handle properly - parent units that are instances rewritten as bodies for inlining - purposes. - - * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent, - Remove_Parents): Handle properly a parent unit that is an - instantiation, when the unit has been rewritten as a body for inlining - purposes. - - * par.adb (Goto_List): Global variable to collect goto statements in a - given unit, for use in detecting natural loops. - - * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for - use in detecting natural loops. - - * par-labl.adb (Find_Natural_Loops): Recognize loops create by - backwards goto's, and rewrite as a infinite loop, to improve locality - of temporaries. - - * exp_util.adb (Force_Evaluation): Recognize a left-hand side - subcomponent that includes an indexed reference, to prevent the - generation of copies that would miscompile the desired assignment - statement. - (Build_Task_Image_Decls): Add a numeric suffix to - generated name for string variable, to avoid spurious conflicts with - the name of the type of a single protected object. - - * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a - loop with an explicit exit statement, to avoid generating an - out-of-range value with 'Succ leading to spurious constraint_errors - when compiling with -gnatVo. - -2004-07-15 Thomas Quinot <quinot@act-europe.fr> - - * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it - might not be analyzed yet, even if its Etype is already set (case of an - unchecked conversion built using Unchecked_Convert_To, for example). - If the prefix has already been analyzed, this will be a nop anyway. - - * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a - controller type, or an assignment of a record type with controlled - components, copy only user data, and leave the finalization chain - pointers untouched. - -2004-07-15 Vincent Celier <celier@gnat.com> - - * make.adb (Collect_Arguments): Improve error message when attempting - to compile a source not part of any project, when -x is not used. - - * prj.ads: (Defined_Variable_Kind): New subtype - - * prj-attr.adb (Register_New_Package): Two new procedures to register - a package with or without its attributes. - (Register_New_Attribute): Mew procedure to register a new attribute in a - package. - New attribute oriented subprograms: Attribute_Node_Id_Of, - Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of, - Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of, - Next_Attribute. - New package oriented subprograms: Package_Node_Id_Of, - Add_Unknown_Package, First_Attribute_Of, Add_Attribute. - - * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized - type. - (Package_Node_Id): Now a private, self initialized type - (Register_New_Package): New procedure to register a package with its - attributes. - New attribute oriented subprograms: Attribute_Node_Id_Of, - Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of, - Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of, - Next_Attribute. - New package oriented subprograms: Package_Node_Id_Of, - Add_Unknown_Package, First_Attribute_Of, Add_Attribute. - - * prj-dect.adb (Parse_Attribute_Declaration, - Parse_Package_Declaration): Adapt to new spec of Prj.Attr. - - * prj-makr.adb (Make): Parse existing project file before creating - other files. Fail if there was an error during parsing. - - * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to - new spec of Prj.Attr. - - * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt - to new spec of Prj.Attr. - -2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * utils2.c: Fix typo in comment. - -2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL. - * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs. - -2004-07-14 Andreas Schwab <schwab@suse.de> - - * trans.c (gnat_init_stmt_group): Remove duplicate definition. - -2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to - object type. - (gnat_to_gnu_entity, case E_Record_Subtype): Properly set - TYPE_STUB_DECL. - - * misc.c (gnat_types_compatible_p): New function. - (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it. - (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New. - - * trans.c (gigi): Move processing of main N_Compilation_Unit here. - (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here. - (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR. - (mark_visited): Don't mark dummy type. - (tree_transform <N_Procedure_Call_Statement>): Unless this is an In - parameter, we must remove any LJM building from GNU_NAME. - (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR. - (pos_to_constructor): Use int_const_binop. - (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of - PARM_DECL. - - * utils.c (gnat_init_decl_processing): Don't make two "void" decls. - (gnat_pushlevel): Set TREE_USE on BLOCK node. - (gnat_install_builtins): Add __builtin_memset. - -2004-07-13 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer - for a renaming, stabilize the initialization expression if we are at a - local level. At the local level, uses of the renaming may be performed - by a direct dereference of the initializing expression, and we don't - want possible variables there to be evaluated for every use. - - * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1): - Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing - them on the way. Account for the fact that we may introduce side - effects in the process. - -2004-07-13 Richard Henderson <rth@redhat.com> - - * misc.c (default_pass_by_ref): Use pass_by_reference. - -2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> - - * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, - LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. - -2004-07-08 Richard Henderson <rth@redhat.com> - - * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update - commentary. - -2004-07-06 Vincent Celier <celier@gnat.com> - - * vms_conv.ads: Minor reformatting. - Alphabetical order for enumerated values of type Command_Type, to have - the command in alphabetical order for the usage. - - * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for - the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters). - - * gnat_ugn.texi: Document new switch -dn for the GNAT driver. - - * makegpr.adb (Global_Archive_Exists): New global Boolean variable - (Add_Archive_Path): Only add the global archive if there is one. - (Build_Global_Archive): Set Global_Archive_Exists depending if there is - or not any object file to put in the global archive, and don't build - a global archive if there is none. - (X_Switches): New table - (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored - in the X_Switches table, if any. - (Initialize): Make sure the X_Switches table is empty - (Scan_Arg): Record -X switches in table X_Switches - - * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False. - - * make.adb: Minor comment fix - - * gnatname.adb (Gnatname): When not on VMS, and gnatname has been - invoked with directory information, add the directory in front of the - path. - - * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been - invoked with directory information, add the directory in front of the - path. - - * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files - when Keep_Temporary_Files is False. - (GNATCmd): When not on VMS, and the GNAT driver has been invoked with - directory information, add the directory in front of the path. - When not on VMS, handle new switch -dn before the command to set - Keep_Temporary_Files to True. - (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid - everywhere. - - * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been - invoked with directory information, add the directory in front of the - path. - -2004-07-06 Thomas Quinot <quinot@act-europe.fr> - - * snames.ads, snames.adb (Name_Stub): New name for the distributed - systems annex. - - * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB. - New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA. - - * g-socket.adb (To_Timeval): Fix incorrect conversion of - Selector_Duration to Timeval for the case of 0.0. - - * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of - documentation from Evolve_And_Then. - -2004-07-06 Jose Ruiz <ruiz@act-europe.fr> - - * s-taprop-tru64.adb, s-taprop-os2.adb, - s-taprop-mingw.adb, s-taprop-posix.adb: Update comment. - -2004-07-06 Robert Dewar <dewar@gnat.com> - - * s-osinte-hpux.ads, s-osinte-freebsd.ads, - s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads, - s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb, - s-interr-sigaction.adb, s-taprop-irix-athread.adb, - s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb, - s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, - s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb, - s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb, - a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb, - a-tags.ads, bindgen.ads, checks.adb, checks.adb, - csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb, - exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb, - g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb, - i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb, - sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb, - sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb, - sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads, - s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads, - s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb, - s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb, - vms_data.ads: Minor reformatting, - Fix bad box comment format. - - * gnat_rm.texi: Fix minor grammatical error - - * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values - - * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many - more cases of discriminated records to be recognized as not needing a - secondary stack. - (Has_Access_Values): New function. - - * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values - - * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name - Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence - with LRM terminology). - Change terminology in comments primitive type => elementary type. - -2004-07-06 Ed Schonberg <schonberg@gnat.com> - - PR ada/15602 - * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal - parameters do not impose any requirements on the presence of a body. - -2004-07-06 Ed Schonberg <schonberg@gnat.com> - - PR ada/15593 - * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a - compilation unit and is in an open scope at the point of instantiation, - assume that a body may be present later. - -2004-07-06 Ed Schonberg <schonberg@gnat.com> - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size): - Improve error message when specified size is not supported. - - * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram - is never a primitive operation. - -2004-07-05 Andreas Schwab <schwab@suse.de> - - * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use - RECORD_OR_UNION_CHECK. - (TYPE_CONTAINS_TEMPLATE_P): Likewise. - -2004-07-04 Kelley Cook <kcook@gcc.gnu.org> - - * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit - dependency on xgnatugn, instead build it via a submake. - (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi. - -2004-07-04 Richard Henderson <rth@redhat.com> - - * utils2.c (gnat_mark_addressable): Don't put_var_into_stack. - -2004-07-01 Richard Henderson <rth@redhat.com> - - * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR. - * utils.c (max_size): Likewise. - -2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation, - and rest_of_type_compilation; add arg to create_*_decl. - (annotate_decl_with_node): Deleted. - (gnat_to_gnu_entity, case E_Array_Type): Set location of fields. - * gigi.h (get_decls, block_has_vars, pushdecl): Deleted. - (get_current_block_context, gnat_pushdecl): New declarations. - (gnat_init_stmt_group): Likewise. - (create_var_decl, create_type_decl, create_subprog_decl): Add new arg. - * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted. - (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted. - (gnat_init): Call gnat_init_stmt_group. - * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables. - (gnu_pending_elaboration_list): Deleted. - (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions. - (gigi): Rearrange initialization calls and move some to last above. - (gnat_to_gnu): If statement and not in procedure, go into elab proc. - Delete calls to add_decl_expr; add arg to create_*_decl. - (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR. - (gnat_to_gnu, case N_Subprogram_Body): Move some code to - begin_subprog_body and call it. - Don't push and pop ggc context. - (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc. - (add_stmt): Remove handling of DECL_EXPR from here. - If not in function, mark visited. - (add_decl_expr): Put global at top level. - Check for cases of DECL_INITIAL we have to handle here. - (process_type): Add extra arg to create_type_decl. - (build_unit_elab): Rework to just gimplify. - * utils.c (pending_elaborations, elist_stack, getdecls): Deleted. - (block_has_vars, mark_visited, add_pending_elaborations): Likewise. - (get_pending_elaborations, pending_elaborations_p): Likewise. - (push_pending_elaborations, pop_pending_elaborations): Likewise. - (get_elaboration_location, insert_elaboration_list): Likewise. - (gnat_binding_level): Renamed from ada_binding_level. - (init_gnat_to_gnu): Don't clear pending_elaborations. - (global_bindings_p): Treat as global if no current_binding_level. - (set_current_block_context): New function. - (gnat_pushdecl): Renamed from pushdecl; major rework. - All callers changed. - (create_type_decl, create_var_decl, create_subprog_decl): Add new arg. - (finish_record_type): Call call pushdecl for stub decl. - (function_nesting_depth): Deleted. - (begin_subprog_body): Delete obsolete code. - * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl. - -2004-06-28 Robert Dewar <dewar@gnat.com> - - * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, - mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, - mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb, - mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, - a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting - - * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to - deal with problem of inefficient slices on machines with strict - alignment, when the slice is a component of a composite. - - * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit - machines, we need the check there as well. - -2004-06-28 Ed Schonberg <schonberg@gnat.com> - - * exp_ch5.adb (Expand_Assign_Array): Use correct condition to - determine safe copying direction for overlapping slice assignments - when component is controlled. - - * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a - formal derived type in the actual for a formal package are visible in - the enclosing instance. - -2004-06-28 Ed Schonberg <schonberg@gnat.com> - - PR ada/15600 - * sem_util.adb (Trace_Components): Diagnose properly an illegal - circularity involving a private type whose completion includes a - self-referential component. - (Enter_Name): Use Is_Inherited_Operation to distinguish a source - renaming or an instantiation from an implicit derived operation. - -2004-06-28 Pascal Obry <obry@gnat.com> - - * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from - DLL. - (Library_File_Name_For): Idem. - -2004-06-28 Matthew Gingell <gingell@gnat.com> - - * g-traceb.ads: Add explanatory note on the format of addresses - expected by addr2line. - -2004-06-28 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in: Force debugging information on s-tasdeb.adb, - a-except.adb and s-assert.adb needed by the debugger. - -2004-06-28 Vincent Celier <celier@gnat.com> - - * make.adb (Collect_Arguments_And_Compile): Change Flag1 to - Need_To_Build_Lib. - (Gnatmake): Ditto. - - * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib - - * prj.adb: Minor reformatting - (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2. - - * prj.ads: Comment updates - Minor reformatting - (Project_Data): Change Flag1 to Need_To_Build_Lib. - Remove Flag2: not used. - - * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a - declaration. - - * gnat_ugn.texi: Put a "null;" declaration in one project file example - - * gnat_rm.texi: Document Empty declarations "null;". - - * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in - front of the linker options. - (Link_Foreign): Put the global archives and the libraries in front of - the linker options. - -2004-06-28 Javier Miranda <miranda@gnat.com> - - * rtsfind.adb: (Get_Unit_Name): Fix typo in comment - (RTU_Loaded): Code cleanup - (Set_RTU_Loaded): New procedure to register as *loaded* explicitly - withed predefined units. - - * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded* - explicitly withed predefined units. - Fix typo in comment - - * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded* - explicitly withed predefined units. - -2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * ada-tree.def (DECL_STMT): Deleted. - * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT. - (DECL_STMT_VAR): Deleted. - * decl.c: add_decl_stmt now add_decl_expr. - * gigi.h: Likewise. - * trans.c: Likewise. - (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted. - (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus. - (add_stmt): Only handle padded type here. - (add_stmt_with_node): Allow gnat_node to not be present. - (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null. - (gnat_gimplify_stmt, case DECL_STMT): Deleted. - (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer, - make a SAVE_EXPR for the entire fat pointer. - * utils.c (pushdecl): Walk a DECL_EXPR in global case. - (create_index_type): Make a DECL_EXPR. - (end_subprog_body): Don't call allocate_struct_function here but - do clear cfun. - -2004-06-25 Pascal Obry <obry@gnat.com> - - * makegpr.adb (Build_Library): Remove parameter Lib_Address and - Relocatable from Build_Dynamic_Library call. - - * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and - Relocatable are now synonym. - - * Makefile.in: Use s-parame-mingw.adb on MingW platform. - - * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition. - Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library - call. - - * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter - Lib_Address and Relocatable. - (Default_DLL_Address): Removed. - - * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, - mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, - mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb: - (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable. - (Default_DLL_Address): Removed. - - * mlib-tgt-mingw.adb: Ditto. - (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name. - - * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute - the initial thread stack size. - - * a-strmap.ads: Move package L to private part as it is not used in - the spec. Found while reading code. - -2004-06-25 Olivier Hainque <hainque@act-europe.fr> - - * tracebak.c: Introduce support for a GCC infrastructure based - implementation of __gnat_backtrace. - - * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record - any more. Use accessors instead. This eases maintenance and relaxes - some alignment constraints. - (_GNAT_Exception structure): Remove the Ada specific fields - (EID_For, Adjust_N_Cleanups_For): New accessors, exported by - a-exexpr.adb. - (is_handled_by, __gnat_eh_personality): Replace component references to - exception structure by use of the new accessors. - - * init.c (__gnat_initialize): Adjust comments to match the just - reverted meaning of the -static link-time option. - - * adaint.c (convert_addresses): Arrange not to define a stub for - mips-irix any more, as we now want to rely on a real version from a - recent libaddr2line. - - * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that - the personality routine can use them and not have to rely on a C - counterpart of the record anymore. This simplifies maintenance and - relaxes the constraint of having Standard'Maximum_Alignment match - BIGGEST_ALIGNMENT. - Update comments, and add a section on the common header alignment issue. - -2004-06-25 Geert Bosch <bosch@gnat.com> - - * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in - polynomial approximation. Fixes inconsistency with Cody/Waite algorithm. - -2004-06-25 Robert Dewar <dewar@gnat.com> - - * gnat_rm.texi: Fix section on component clauses to indicate that the - restriction on byte boundary placement still applies for bit packed - arrays. - Add comment on stack usage from Initialize_Scalars - - * gnat_ugn.texi: Add documentation for -gnatyLnnn - - * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for - limiting nesting level. - - * usage.adb: Add line for -gnatyLnnn switch - - * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads, - sem_ch13.adb, exp_aggr.adb: Minor reformatting - - * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base - type as well as on the subtype. This corrects a problem in freeze in - setting alignments of atomic types. - - * sem_eval.ads: Minor comment typo fixed - - * par-util.adb (Push_Scope_Stack): Check for violation of max nesting - level. Minor reformatting. - - * fname.adb (Is_Predefined_File_Name): Require a letter after the - minus sign. This means that file names like a--b.adb will not be - considered predefined. - - * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing - record Test new flag and give diagnostic for bad component clause. - (Freeze_Entity): Set alignment of array from component alignment in - cases where this is safe to do. - - * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed - arrays. - - * cstand.adb: (Create_Standard): Set alignment of String to 1 - - * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary - - * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated - code in the common constrained array cases. - - * a-storio.adb: Change implementation to avoid possible alignment - problems on machines requiring strict alignment (data should be moved - as type Buffer, not type Elmt). - - * checks.adb (Apply_Array_Size_Check): Improve these checks by - killing the overflow checks which we really do not need (64-bits is - enough). - -2004-06-25 Vincent Celier <celier@gnat.com> - - * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function - (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path - inconditionally for the main project. - (Recursive_Add_Archives.Add_Archive_Path): New procedure - (Link_Executables.Check_Time_Stamps): New procedure - (Link_Executables.Link_Foreign): New procedure - Changes made to reduce nesting level of this package - (Check): New procedure - (Add_Switches): When not in quiet output, check that a switch is not - the concatenation of several valid switches. If it is, issue a warning. - (Build_Global_Archive): If the global archive is rebuilt, linking need - to be done. - (Compile_Sources): Rebuilding a library archive does not imply - rebuilding the global archive. - (Build_Global_Archive): New procedure - (Build_Library): New name for Build_Archive, now only for library - project - (Check_Archive_Builder): New procedure - (Create_Global_Archive_Dependency_File): New procedure - (Gprmake): Call Build_Global_Archive before linking - * makegpr.adb: Use Other_Sources_Present instead of Sources_Present - throughout. - (Scan_Arg): Display the Copyright notice when -v is used - - * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=) - for gnatls. - - * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT - COMPILE. - Add new GNAT LIST qualifier /FILES= - Added qualifier /DIRECTORY= to GNAT METRIC - Added qualifier /FILES= to GNAT METRIC - Added qualifier /FILES to GNAT PRETTY - - * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS, - to take into account both versions of the switch. - - * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should - always be the last switch to the gcc driver. Disable switch storing so - that switches automatically added by the gcc driver are not put in the - ALI file. - - * prj.adb (Project_Empty): Take into account changes in components of - Project_Data. - - * prj.ads (Languages_Processed): New enumaration value All_Languages. - - * prj.ads (Project_Data): Remove component Lib_Elaboration: never - used. Split Boolean component Ada_Sources_Present in two Boolean - components Ada_Sources_Present and Other_Sources_Present. - Minor reformatting - - * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present - instead of Sources_Present. - (Set_Ada_Paths.Add.Recursive_Add): Ditto - - * prj-nmsc.adb: Minor reformatting - (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme - (Check_Ada_Naming_Scheme_Validity): New name of previous procedure - Check_Ada_Naming_Scheme. - Change Sources_Present to Ada_Sources_Present or Other_Sources_Present - throughout. - - * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter - In_Limited. - Make sure that all cycles where there is at least one "limited with" - are detected. - (Parse_Single_Project): New Boolean parameter In_Limited - - * prj-proc.adb (Recursive_Check): When Process_Languages is - All_Languages, call first Prj.Nmsc.Ada_Check, then - Prj.Nmsc.Other_Languages_Check. - - * prj-proc.adb (Process): Use Ada_Sources_Present or - Other_Sources_Present (instead of Sources_Present) depending on - Process_Languages. - - * lang-specs.h: Keep -g and -m switches in the same order, and as the - last switches. - - * lib.adb (Switch_Storing_Enabled): New global Boolean flag - (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to - False. - (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is - False. - - * lib.ads (Disable_Switch_Storing): New procedure. - - * make.adb: Modifications to reduce nesting level of this package. - (Check_Standard_Library): New procedure - (Gnatmake.Check_Mains): New procedure - (Gnatmake.Create_Binder_Mapping_File): New procedure - (Compile_Sources.Compile): Add switch -gnatez as the last option - (Display): Never display -gnatez - - * Makefile.generic: - When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT) - - * gnatcmd.adb (Check_Project): New function - (Process_Link): New procedure to reduce nesting depth - (Check_Files): New procedure to reduce the nesting depth. - For GNAT METRIC, include the inherited sources in extending projects. - (GNATCmd): When GNAT LS is invoked with a project file and no files, - add the list of files from the sources of the project file. If this list - is too long, put it in a temp text files and use switch -files= - (Delete_Temp_Config_Files): Delete the temp text file that contains - a list of source for gnatpp or gnatmetric, if one has been created. - (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources - in the project file is too large, create a temporary text file that - list them and pass it to the tool with "-files=<temp text file>". - (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch - - * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the - generated file is in not in Ada. - - * gnatls.adb: Remove all parameters And_Save that are no longer used. - (Scan_Ls_Arg): Add processing for -files= - (Usage): Add line for -files= - - * g-os_lib.adb (On_Windows): New global constant Boolean flag - (Normalize_Pathname): When on Windows and the path starts with a - directory separator, make sure that the resulting path will start with - a drive letter. - - * clean.adb (Clean_Archive): New procedure - (Clean_Project): When there is non-Ada code, delete the global archive, - the archive dependency files, the object files and their dependency - files, if they exist. - (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only. - -2004-06-25 Thomas Quinot <quinot@act-europe.fr> - - * sinfo.ads: Fix typo in comment. - - * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses - the TSS for remote access-to-subprogram types, since these TSS are - always present once the type has been analyzed. - (RAS_E_Dereference): Same. - - * sem_attr.adb (Analyze_Attribute): When analysis of an attribute - reference raises Bad_Attribute, mark the reference as analyzed so the - node (and any children resulting from rewrites that could have occurred - during the analysis that ultimately failed) is not analyzed again. - - * exp_ch7.ads (Find_Final_List): Fix misaligned comment. - - * exp_dist.adb: Minor comment fix. - - * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected - type is an anonymous access type, no unchecked deallocation of the - allocated object can occur. If the object is controlled, attach it with - a count of 1. This allows attachment to the Global_Final_List, if - no other relevant list is available. - (Get_Allocator_Final_List): For an anonymous access type that is - the type of a discriminant or record component, the corresponding - finalisation list is the one of the scope of the type. - -2004-06-25 Ed Schonberg <schonberg@gnat.com> - - * sem_ch3.adb (Replace_Type): When computing the signature of an - inherited subprogram, use the first subtype if the derived type - declaration has no constraint. - - * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array - before applying previous optimization. Minor code cleanup. - - * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is - placed at the beginning of an unpacked record without explicit - alignment, a slice of it will be aligned and does not need a copy when - used as an actual. - -2004-06-25 Ed Schonberg <schonberg@gnat.com> - - PR ada/15591 - PR ada/15592 - * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute - reference is written with expressions mimicking parameters. - -2004-06-25 Hristian Kirtchev <kirtchev@gnat.com> - - PR ada/15589 - * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to - STEP 2a. The constraints of a full type declaration of a derived record - type are checked for conformance with those declared in the - corresponding private extension declaration. The message - "not conformant with previous declaration" is emitted if an error is - detected. - -2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr> - - * g-traceb.ads: Document the need for -E binder switch in the spec. - - * g-trasym.ads: Document the need for -E binder switch in the spec. - -2004-06-25 Jose Ruiz <ruiz@act-europe.fr> - - * sem_prag.adb: Add handling of pragma Detect_Blocking. - - * snames.h, snames.ads, snames.adb: Add entry for pragma - Detect_Blocking. - - * s-rident.ads: Change reference to pragma Detect_Blocking. - - * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in - system.ads. - - * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False) - to indicate whether pragma Detect_Blocking is active. - - * par-prag.adb: Add entry for pragma Detect_Blocking. - - * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug - of not handling WITH. - Note that this replaces the previous update which was incorrect. - -2004-06-25 Javier Miranda <miranda@gnat.com> - - * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the - use-clauses to have a clean environment. - - * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force - the installation of the use-clauses to stablish a clean environment in - case of compilation of a separate unit; otherwise the call to - use_one_package is protected by the barrier Applicable_Use. - - * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force - the installation of the use-clauses to stablish a clean environment in - case of compilation of a separate unit. - (End_Use_Clauses): Minor comment cleanup. - -2004-06-25 Sergey Rybin <rybin@act-europe.fr> - - * gnat_ugn.texi: Add description of the gnatpp 'files' switch - -2004-06-23 Richard Henderson <rth@redhat.com> - - * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call. - -2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (elaborate_expression, elaborate_expression_1): Arguments - now bool instead of int. - (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF. - * trans.c (gnu_switch_label_stack): New function. - (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the - elaboration of renamed entity returns. - (gnat_to_gnu, case N_Case_Statement): Add branches to end label. - (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE. - (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt. - (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and - DECL_SIZE_UNIT and simplify variable-sized case. - (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted. - Callers changes to call gimplify_type_sizes and gimplify_one_sizepos. - (gnat_stabilize_reference): Add arg to COMPONENT_REF. - (build_unit_elab): Disable for now. - * utils.c (mark_visited): New function. - (pushdecl): Walk tree to call it for global decl. - (update_pointer_to): Update all variants of pointer and ref types. - Add arg to COMPONENT_REF. - (convert): Likewise. - Move check for converting between variants lower down. - * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF. - (build_allocator): Don't force type of MODIFY_EXPR. - (gnat_mark_addressable, case VAR_DECL): Unconditionally call - put_var_into_stack. - -2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation. - * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP. - * decl.c (gnat_to_gnu_entity): Also set force_global for imported - subprograms. - * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack; - all callers changed. - (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change - the way that EXIT_STMT finds the loop label. - (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise. - (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here. - (add_stmt): Use annotate_with_locus insted of setting directly. - (pos_to_construct): Set TREE_PURPOSE of each entry to index. - (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF. - * utils.c (gnat_install_builtins): Install __builtin_memcmp. - (build_vms_descriptor): Add extra args to ARRAY_REF. - (convert): Use VIEW_CONVERT_EXPR between aggregate types. - * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST): - New cases. - (build_binary_op): Don't make explicit CONVERT_EXPR. - Add extra rgs to ARRAY_REF. - -2004-06-14 Pascal Obry <obry@gnat.com> - - * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on - Windows. Fix minor typo. - - * mlib-tgt-mingw.adb: New implementation using the GCC -shared option - which is now supported on Windows. With this implementation using the - Library Project feature is no different on Windows than on UNIX. - -2004-06-14 Vincent Celier <celier@gnat.com> - - * makegpr.adb (Compile_Sources): Nothing to do when there are no - non-Ada sources. - - * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment - - * prj-part.adb (Parse_Single_Project): When a duplicate project name is - found, show the project name and the path of the previously parsed - project file. - -2004-06-14 Ed Schonberg <schonberg@gnat.com> - - * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an - array, avoid copying the actual before the call. - -2004-06-14 Thomas Quinot <quinot@act-europe.fr> - - * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools. - Instead, allocate memory on worst-case alignment assumptions, and then - return an aligned address within the allocated zone. - -2004-06-14 Robert Dewar <dewar@gnat.com> - - * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to - elab entities in predefined units in No_Run_Time_Mode. - (Gen_Adainit_C): Same fix - (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined - units in No_Run_Time_Mode - (Gen_Elab_Calls_C): Same fix - - * symbols-vms-alpha.adb: Minor reformatting - - * g-debpoo.ads: Minor reformatting - - * lib.adb (In_Same_Extended_Unit): Version working on node id's - - * lib.ads (In_Same_Extended_Unit): Version working on node id's - - * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit - working on nodes. - - * make.adb: Minor reformatting - - * par-ch12.adb: Minor reformatting - - * par-prag.adb: Add dummy entry for pragma Profile_Warnings - - * prj-strt.adb: Minor reformatting - - * restrict.ads, restrict.adb: Redo handling of profile restrictions to - be more general. - - * sem_attr.adb: Minor reformatting - - * sem_ch7.adb: Minor reformatting - - * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc - for type in the same unit as the object declaration. - - * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows - static string expressions and not just string literals. - Minor reformatting - (Set_Warning): Reset restriction warning flag for restriction pragma - Implement pragma Profile_Warnings - Implement pragma Profile (Restricted) - Give obolescent messages for old restrictions and pragmas - - * snames.h, snames.ads, snames.adb: Add new entry for pragma - Profile_Warnings. - - * s-rident.ads: Add declarations for restrictions required by profile - Restricted and profile Ravenscar. - - * targparm.ads, targparm.adb: Allow pragma Profile in system.ads - - * gnat_ugn.texi: Correct some missing entries in the list of GNAT - configuration pragmas. - -2004-06-11 Vincent Celier <celier@gnat.com> - - * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to - gnatsym, when symbol policy is Restricted. - - * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to - gnatsym, when symbol policy is Restricted. - - * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted, - read the symbol file. - (Finalize): Fail in symbol policy Restricted if a symbol in the original - symbol file is not in the object files. Do not create a new symbol file - when symbol policy is Restricted. - - * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used - in Scng. - - * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy - Restricted. - (Usage): Line for new switch -R - - * make.adb (Initialize): When the platform is not VMS, add the - directory where gnatmake is invoked in the front of the path, if - gnatmake is invoked with directory information. Change the Scan_Args - while loop to a for loop. - (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency: - if Depth is equal or greater than the proposed depth, there is nothing - to do. - (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1 - instead of 0. - - * prj.ads: Add new symbol policy Restricted. - - * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction - with the new parameters Check_All_Labels and Case_Location. - - * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted - (Library_Symbol_File needs to be defined). - - * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels - and Case_Location If Check_All_Labels is True, check that all values of - the string type are used, and output warning(s) if they are not. - - * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels - and Case_Location. - - * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc" - - * gnat_ugn.texi: Update documentation about the library directory in - Library Projects. - - * makegpr.adb (Display_Command): In verbose mode, also display the - value of the CPATH env var, when the compiler is gcc. - (Initialize): Change the Scan_Args while loop to a for loop - (Compile_Individual_Sources): Change directory to object directory - before compilations. - - * symbols.ads: New symbol policy Restricted. - -2004-06-11 Olivier Hainque <hainque@act-europe.fr> - - * a-except.adb (Raise_After_Setup family): Remove. The responsibility - is now taken care of internally in the Exception_Propagation package - and does not require clients assistance any more. - - * a-exexpr.adb (Is_Setup_And_Not_Propagated, - Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New - functions. Helpers to maintain a predicate required in the handling of - occurrence transfer between tasks. - This is now handled internally and does not require clients assistance - for the setup/propagate separation anymore. - (Setup_Exception, Propagate_Exception): Simplify the Private_Data - allocation strategy, handle the Setup_And_Not_Propagated predicate and - document. - - * s-taenca.adb (Check_Exception): Use raise_with_msg instead of - raise_after_setup, now that everything is handled internally within the - setup/propagation engine. - -2004-06-11 Hristian Kirtchev <kirtchev@gnat.com> - - * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once. - Add additional conditions for the case of an actual being a simple - name or literal. Improve inlining by preventing the generation - of temporaries with a short lifetime (one use). - -2004-06-11 Hristian Kirtchev <kirtchev@gnat.com> - - PR ada/15587 - * einfo.ads: Minor comment updates for Has_Completion and - E_Constant list of flags. - - * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations - and constant redeclarations now set the Has_Completion flag of their - defining identifiers. - - * sem_ch7.adb (Analyze_Package_Spec): Add procedure - Inspect_Deferred_Constant_Completion. - Used to detect private deferred constants that have not been completed - either by a constant redeclaration or pragma Import. Emits error message - "constant declaration requires initialization expression". - - * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now - completes a deferred constant. - -2004-06-11 Geert Bosch <bosch@gnat.com> - - * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers. - - * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in - calculating exponent for scaling denormal numbers. - (Leading_Part): Properly raise Constraint_Error for zero or negative - Adjustment. - (Remainder): Properly raise Constraint_Error for zero divisor. - -2004-06-11 Thomas Quinot <quinot@act-europe.fr> - - * sem_util.adb: Minor reformatting. - - * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit - dereference when accessing the entry parameter record. - (Check_Array_Type): Always check for possible implicit dereference. - (maybe_implicit_dereference): Rename to check_no_implicit_derefence. - Abort if a pointer is still present (denoting that an implicit - dereference was left in the tree by the front-end). - - * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit - dereference when accessing the entry parameter record. - (Check_Array_Type): Always check for possible implicit dereference. - (maybe_implicit_dereference): Rename to check_no_implicit_derefence. - Abort if a pointer is still present (denoting that an implicit - dereference was left in the tree by the front-end). - -2004-06-11 Emmanuel Briot <briot@act-europe.fr> - - * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error - message, like the compiler itself does. Easier to parse the output. - - * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments. - - * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should - be base names, and not includes directories. - -2004-06-11 Arnaud Charlet <charlet@act-europe.fr> - - * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES), - so that dependencies are properly taken into account by make. - -2004-06-11 Arnaud Charlet <charlet@act-europe.fr> - - PR ada/15622 - * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads, - exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic - -2004-06-11 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in (install-gnatlib): install target-specific run-time files. - - * Make-lang.in: Remove obsolete targets. - -2004-06-11 Ed Schonberg <schonberg@gnat.com> - - * par-ch12.adb (P_Generic): Add scope before analyzing subprogram - specification, to catch misuses of program unit names. - - * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on - superfluous conversions in an instance. - -2004-06-11 Ed Schonberg <schonberg@gnat.com> - - PR ada/15403 - * sem_ch12.adb (Save_References): If operator node has been folded to - enumeration literal, associated_node must be discarded. - -2004-06-11 Jose Ruiz <ruiz@act-europe.fr> - - * s-stchop-vxworks.adb: Add required pragma Convention to - Task_Descriptor because it is updated by a C function. - -2004-06-08 Arnaud Charlet <charlet@act-europe.fr> - - PR ada/15568 - * Makefile.in: Remove target specific SO_OPT on IRIX - -2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted. - (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise. - (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise. - (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise. - (STMT_STMT, USE_STMT): New statement codes. - (LOOP_STMT, EXIT_STMT): Make slight semantic changes. - * ada-tree.h: Reflect above changes. - (struct tree_loop_id): Deleted. - (union lang_tree_node, struct lang_decl, struct lang_type): - Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC - and DECL_LANGUAGE_SPECIFIC to reflect these changes. - (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted. - (IS_ADA_STMT): New macro. - * decl.c (annotate_decl_with_node): New function. - (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno. - (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR. - Call add_stmt_with_node to do needed assignments. - Add call to update setjmp buffer directly, not via EXPR_STMT. - (maybe_variable): Argment GNAT_NODE deleted. - * gigi.h (maybe_variable): Likewise. - (make_transform, add_stmt_with_node, set_block_for_group): New. - (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise. - (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise. - (discard_file_names, gnu_block_stack, gnat_to_code): Deleted. - (set_lineno, set_lineno_from_sloc): Likewise. - (record_code_position, insert_code_for): Likewise. - (gnat_poplevel): Now returns void. - (end_subprog_body): Now takes argument. - * misc.c (cgraph.h, tree-inline.h): New includes. - (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted. - (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New. - (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise. - (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise. - (gnat_parse_file): Don't set immediate_size_expand. - Call cgraph functions. - (gnat_expand_expr): Remove most cases. - (record_code_position, insert_code_for): Remove from here. - * trans.c (toplev.h, tree-gimple.h): Now included. - (discard_file_names): Deleted. - (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del. - (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise. - (struct stmt_group, current_stmt_group, stmt_group_free_list): New. - (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise. - (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise. - (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise. - (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise. - (set_block_for_group, add_stmt_list): Likewise. - (start_stmt_group): Renamed from start_block_stmt. - (end_stmt_group): Likewise, from end_block_stmt. - (build_stmt_group): Likewise, from build_block_stmt, also add arg. - (gigi): Don't set discard_file_names or call set_lineno. - Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code. - (tree_transform): Deleted, now renamed to be gnat_to_gnu. - Numerous changes throughout to reflect new names and complete - function-at-a-time implementation. - (gnat_expand_stmt): Delete or comment out all cases. - (process_inlined_subprograms): Use add_stmt. - (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't - call set_lineno; also remove unneeded block handling. - (process_type): Remove unneeded block handling. - (build_unit_elab): Remove calls to deleted functions. - * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include. - (tree-dump.h): Likewise. - (struct ada_binding_level): Add field jmpbuf_decl. - (gnat_define_builtin, gnat_install_builtins): New. - (gnat_gimplify_function, gnat_finalize): Likewise. - (gnat_poplevel): No longer return BLOCK, set it instead. - Remove code dealing with nested functions. - (gnat_init_decl_processing): Also set size_type_node. - Call gnat_install_builtins. - (create_var_decl): Don't set DECL_INIT_BY_ASSIGN. - (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC. - Remove special-case for "main". - (end_subprog_body): Add arg and rework for tree-ssa. - (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR. - Add case for BOOLEAN_TYPE. - * utils2.c (rtl.h): Now include. - (build_call_raise): Test Debug_Flag_NN directly. - (build_call_alloc_dealloc): Don't use local stack allocation for now. - (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted. - (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases. - -2004-06-07 Robert Dewar <dewar@gnat.com> - - * a-direct.ads, einfo.ads: Minor comment updates - - * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, - s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, - s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb, - s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, - s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting. - - * s-interr-sigaction.adb: Remove unreferenced variable - (Attached_Interrupts). Minor reformatting. - Avoid use of variable I (replace by J). - - * par-ch10.adb: Fix text of one error message - - * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads, - exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb, - exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb, - opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb, - par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb, - par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, - sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb, - sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb, - sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb, - snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada - 2005 support. - -2004-06-07 Doug Rupp <rupp@gnat.com> - - * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb - - * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb - - * mlib-tgt-vms-ia64.adb: New file. - - * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb - Add mlib-tgt-vms-ia64.adb - Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb. - Move to alpha specific ifeq section. - Add VMS specific versions of symbols.adb - Renaming of 5q vms files. - - * 5qsystem.ads renamed to system-vms_64.ads. - -2004-06-07 Vincent Celier <celier@gnat.com> - - * a-calend.ads: Add a GNAT Note comment after function Time_Of to - explain that when a time of day corresponding to the non existing hour - on the day switching to DST is specified, Split may return a different - value for Seconds. - - * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar - to GNAT PRETTY. - - * g-os_lib.adb (OpenVMS): New Boolean value imported from System. - (Normalize_Pathname): Only resolve VMS logical names when on VMS. - - * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize - to False. - If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to - the linking options. - (Build_Library.Check_Libs): On VMS, if there is a dependency on - g-trasym.ads, set Gtrasymobj_Needed to True. - - * prj-attr.adb: Add new package Metrics for gnatmetric - - * prj-nmsc.adb (Record_Other_Sources): Put source file names in - canonical case to take into account files with upper case characters on - Windows. - (Ada_Check): Load the reference symbol file name in the name buffer to - check it, not the symbol file name. - - * snames.ads, snames.adb: Add standard name Metrics (name of project - file package for gnatmetric). - - * vms_conv.ads: Add Metric to Comment_Type - - * vms_conv.adb (Initialize): Add component dor Metric in Command_List - - * vms_data.ads: Add qualifiers for GNAT METRIC - - * makegpr.adb (Link_Executables): Take into account the switches - specified in package Linker of the main project. - -2004-06-07 Thomas Quinot <quinot@act-europe.fr> - - * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so - the index of the last element is Units.Last, not Units.Table'Last - (which is usually not a valid index within the actually allocated - storage for the table). - - * exp_ch4.adb (Insert_Dereference_Action): Change predicate that - determines whether to generate a call to a checked storage pool - Dereference action. - Generate such a call only for a dereference that either comes from - source, or is the result of rewriting a dereference that comes from - source. - -2004-06-07 Romain Berrendonner <berrendo@act-europe.fr> - - * bindgen.adb (Gen_Output_File): Add support for GAP builds. - -2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr> - - (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at - file level, elaborate the stride for inner dimensions in alignment - units, not bytes. - - * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned - in a comment. - -2004-06-07 Javier Miranda <miranda@gnat.com> - - * exp_ch6.adb: Correct wrong modification in previous patch - -2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr> - - * g-trasym.ads: Corrected comment to properly reflect level of support - on VMS. - -2004-06-07 Hristian Kirtchev <kirtchev@gnat.com> - - * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It - includes case of a variable referenced on the left hand side of an - assignment, therefore remove redundant code. Variables and prefixes of - indexed or selected components are now marked as referenced on left - hand side. Warnings are now properly emitted when variables or prefixes - are assigned but not read. - - * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to - left hand side referenced variables. Private access types do not - produce the warning "variable ... is assigned but never read". - Add also additional checks to left hand side referenced variables. - Aliased, renamed objects and access types do not produce the warning - "variable ... is assigned but never read" since other entities may read - the memory location. - -2004-06-07 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in: In the powerpc/vxworks-specific section, restore - EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed - by mistake). - -2004-06-07 Ed Schonberg <schonberg@gnat.com> - - * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of - predefined operators. - Removes spurious type errors from g-trasym-vms.adb. - - * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is - distinct from the operator appearing in the source, call appropriate - routine to insert conversions when needed, and complete resolution of - node. - (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of - interpretations for rewritten right operand. - (Set_Mixed_Mode_Operand): Handle properly a universal real operand when - the other operand is overloaded and the context is a type conversion. - -2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * ada-tree.def (BLOCK_STMT): Now has two operands. - (BREAK_STMT): New. - - * ada-tree.h: (BLOCK_STMT_BLOCK): New macro. - - * gigi.h: (gnat_poplevel): Now returns a tree. - - * trans.c (end_block_stmt): Add arg; all callers changed. - (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN. - (start_block_stmt): Clear BLOCK_STMT_BLOCK. - (add_stmt): Set TREE_TYPE. - (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK. - (gnat_expand_stmt, case BREAK_STMT): New case. - - * utils.c (gnat_poplevel): Return a BLOCK, if we made one. - -2004-06-07 Jose Ruiz <ruiz@act-europe.fr> - - * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the - procedure Set_Stack_Size that is not needed. - -2004-06-07 Sergey Rybin <rybin@act-europe.fr> - - * gnat_ugn.texi: Clarify the case when non-standard naming scheme is - used for gnatpp input file and for the files upon which it depends - -2004-06-07 Ben Brosgol <brosgol@gnat.com> - - * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter - -2004-06-07 Arnaud Charlet <charlet@act-europe.fr> - - * gnatvsn.ads: Bump version numbers appropriately. - Add new build type. - -2004-06-07 Pascal Obry <obry@gnat.com> - - * gnat_ugn.texi: Improve comments about imported names and link names - on Windows. Add a note about the requirement to use -k gnatdll's option - when working with a DLL which has stripped stdcall symbols (no @nn - suffix). - -2004-05-27 Vincent Celier <celier@gnat.com> - - * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and - COMMENTS_LAYOUT=UNTOUCHED - - * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to - symbols-vms-alpha.adb - -2004-05-27 Thomas Quinot <quinot@act-europe.fr> - - * sem.ads: Clarify documentation on checks suppression. - - * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing. - -2004-05-27 Ed Schonberg <schonberg@gnat.com> - - * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in - the case of multiple derivations. - (Is_Object_Reference): For a selected component, verify that the prefix - is itself an object and not a value. - - * sem_ch12.adb (Same_Instantiated_Constant): New name for - Same_Instantiated_Entity. - (Same_Instantiated_Variable): Subsidiary to - Check_Formal_Package_Instance, to recognize actuals for in-out generic - formals that are obtained from a previous formal package. - (Instantiate_Subprogram_Body): Emit proper error when - generating code and the proper body of a stub is missing. - - * sem_ch4.adb (Remove_Address_Interpretations): If the operation still - has a universal interpretation, do the disambiguation here. - - * exp_ch4.adb (Expand_N_Type_Conversion, - Expand_N_Unchecked_Type_Conversion): Special handling when target type - is Address, to avoid typing anomalies when Address is a visible integer - type. - - * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address - to determine whether a subprogram should not be marked Pure, even when - declared in a pure package. - -2004-05-27 Jose Ruiz <ruiz@act-europe.fr> - - * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile. - - * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length - Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts. - Update the documentation about the Ravenscar profile, following the - definition found in AI-249. - - * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when - setting the Profile (Ravenscar). This must be done in addition to - setting the required restrictions. - - * rtsfind.ads: Add the set of operations defined in package - Ada.Interrupts. - - * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment - restriction. - -2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr> - - lang-specs.h: Always require -c or -S and always redirect to /dev/null - if -gnatc or -gnats is passed. - -2004-05-27 Hristian Kirtchev <kirtchev@gnat.com> - - * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as - a significant reference. Warnings are now properly emitted when a - discriminated type is not referenced. - - * lib-xref.adb (Generate_Reference): A deferred constant completion, - record representation clause or record type discriminant does not - produce a reference to its corresponding entity. Warnings are now - properly emitted when deferred constants and record types are not - referenced. - -2004-05-27 Geert Bosch <bosch@gnat.com> - - * Makefile.in: Use long version of libm routines on ia64 gnu/linux. - Fixes ACATS Annex G tests. - -2004-05-27 Robert Dewar <dewar@gnat.com> - - * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not - handling WITH - -2004-05-27 Arnaud Charlet <charlet@act-europe.fr> - - * s-interr.adb (Server_Task): Take into account case of early return - from sigwait under e.g. linux. - -2004-05-27 Sergey Rybin <rybin@act-europe.fr> - - * gnat_ugn.texi: Add description for the new gnatpp options: - -rnb - replace the original source without creating its backup copy - -c0 - do not format comments - -2004-05-24 Geert Bosch <bosch@gnat.com> - - * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi - with 192 bits of precision, sufficient to reduce a double-extended - arguments X with a maximum relative error of T'Machine_Epsilon, for X - in -2.0**32 .. 2.0**32. - (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent - reduction by the processor, which only uses a 68-bit approximation of - Pi. - (Tan): Always reduce arguments and compute function either using - the processor's fptan instruction, or by dividing sin and cos as needed. - -2004-05-24 Doug Rupp <rupp@gnat.com> - - * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid - gcc error on 32/64 bit VMS. - -2004-05-24 Olivier Hainque <hainque@act-europe.fr> - - * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs, - since this is what we get for stack overflows although not documented - as such. - Document the issues which may require adjustments to our signal - handlers. - -2004-05-24 Ed Schonberg <schonberg@gnat.com> - - * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the - enclosing dynamic scope if the instantiation is within a generic unit. - -2004-05-24 Arnaud Charlet <charlet@act-europe.fr> - - * exp_dbug.ads: Fix typo. - - * Makefile.in: s-osinte-linux-ia64.ads was misnamed. - Rename it to its proper name: system-linux-ia64.ads - (stamp-gnatlib1): Remove extra target specific run time files when - setting up the rts directory. - -2004-05-24 Javier Miranda <miranda@gnat.com> - - * einfo.ads, einfo.adb (Limited_Views): Removed. - (Limited_View): New attribute that replaces the previous one. It is - now a bona fide package with the limited-view list through the - first_entity and first_private attributes. - - * sem_ch10.adb (Install_Private_With_Clauses): Give support to - limited-private-with clause. - (Install_Limited_Withed_Unit): Install the private declarations of a - limited-private-withed package. Update the installation of the shadow - entities according to the new structure (see Build_Limited_Views) - (Build_Limited_Views): Replace the previous implementation of the - limited view by a package entity that references the first shadow - entity plus the first shadow private entity (required for limited- - private-with clause) - (New_Internal_Shadow_Entity): Code cleanup. - (Remove_Limited_With_Clause): Update the implementation to undo the - new work carried out by Build_Limited_Views. - (Build_Chain): Complete documentation. - Replace Ada0Y by Ada 0Y in comments - Minor reformating - - * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access - types the level of accessibility depends on the enclosing type - declaration. - - * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow - entities. Complete documentation of previous change. - -2004-05-24 Robert Dewar <dewar@gnat.com> - - * namet.adb: Minor reformatting - Avoid use of name I (replace by J) - Minor code restructuring - - * sem_ch6.adb: Minor reformatting - - * lib-writ.adb: Do not set restriction as active if this is a - Restriction_Warning case. - - * sem_prag.adb: Reset restriction warning flag if real pragma - restriction encountered. - - * s-htable.adb: Minor reformatting - Change rotate count to 3 in Hash (improves hash for small strings) - - * 5qsystem.ads: Add comments for type Address (no literals allowed). - - * gnat_ugn.texi: Add new section of documentation "Code Generation - Control", which describes the use of -m switches. - -2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr> - - trans.c (tree_transform) <N_Identifier>: Do the dereference directly - through the DECL_INITIAL for renamed variables. - -2004-05-24 Arnaud Charlet <charlet@act-europe.fr> - - * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads - -2004-05-19 Joel Brobecker <brobecker@gnat.com> - - * exp_dbug.ads: Correct comments concerning handling of overloading, - since we no longer use $ anymore. - -2004-05-19 Sergey Rybin <rybin@act-europe.fr> - - * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not - ignore errors if ASIS_Mode is set. This prevents creating ASIS trees - with illegal subunits. - -2004-05-19 Ed Schonberg <schonberg@gnat.com> - - * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram - body with front-end inlining enabled, check whether an inline pragma - appears immediately after the body and applies to it. - - * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is - enabled and the pragma appears after the body of the subprogram. - -2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - Part of function-at-a-time conversion - - * misc.c (adjust_decl_rtl): Deleted. - (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): - Define. - - * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted. - (add_decl_stmt, add_stmt, block_has_vars): New functions. - (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel. - - * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt - when making a decl. - (gnat_to_gnu_entity): Likewise. - Use add_stmt to update setjmp buffer. - Set TREE_ADDRESSABLE instead of calling put_var_into_stack and - flush_addressof. - No longer call adjust_decl_rtl. - (DECL_INIT_BY_ASSIGN_P): New macro. - (DECL_STMT_VAR): Likewise. - - * trans.c (gigi): Call start_block_stmt to make the outermost - BLOCK_STMT. - (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type): - Call start_block_stmt and end_block_stmt temporarily. - Use gnat_expand_stmt instead of expand_expr_stmt. - (add_decl_stmt): New function. - (tree_transform): Call it. - (add_stmt): Also emit initializing assignment for DECL_STMT if needed. - (end_block_stmt): Set type and NULL_STMT. - (gnat_expand_stmt): Make recursize call instead of calling - expand_expr_stmt. - (gnat_expand_stmt, case DECL_STMT): New case. - (set_lineno_from_sloc): Do nothing if global. - (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables. - (start_block_stmt, add_stmt, end_block_stmt): New functions. - (build_block_stmt): Call them. - (gnat_to_code): Don't expand NULL_STMT. - (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change - args. - (tree_transform): Likewise. - (tree_transform, case N_Null_Statement): Return NULL_STMT. - (gnat_expand_stmt, case NULL_STMT): New case. - (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no - IF_STMT_TRUE. - - * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set - TREE_ADDRESSABLE. - - * utils.c (create_var_decl): Do not call expand_decl or - expand_decl_init. - Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable. - Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR - here. - (struct e_stack): Add chain_next to GTY. - (struct binding_level): Deleted. - (struct ada_binding_level): New struct. - (free_block_chain): New. - (global_binding_level, clear_binding_level): Deleted. - (global_bindings_p): Rework to see if no chain. - (kept_level_p, set_block): Deleted. - (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use - new data structure and work directly on BLOCK node. - (gnat_poplevel): Similarly. - (get_decls): Look at BLOCK_VARS. - (insert_block): Work directly on BLOCK node. - (block_has_var): New function. - (pushdecl): Rework for new binding structures. - (gnat_init_decl_processing): Rename and rework calls to pushlevel and - poplevel. - (build_subprog_body): Likewise. - (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL. - - * ada-tree.def (DECL_STMT, NULL_STMT): New codes. - - * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro. - (DECL_STMT_VAR): Likewise. - -2004-05-17 Robert Dewar <dewar@gnat.com> - - * restrict.ads, restrict.adb (Process_Restriction_Synonym): New - procedure - - * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling - of restriction synonyums by using - Restrict.Process_Restriction_Synonyms. - - * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym - - * s-restri.ads (Tasking_Allowed): Correct missing comment - - * s-rident.ads: Add entries for restriction synonyms - - * ali.adb: Fix some problems with badly formatted ALI files that can - result in infinite loops. - - * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb, - s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb, - s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, - s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb, - s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb, - s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb, - s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb, - s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb, - s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb, - a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb, - exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb, - s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb, - s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads, - s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, - s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads, - s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads, - s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads, - s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads, - s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb, - s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID - to Task_Id (minor cleanup). - -2004-05-17 Vincent Celier <celier@gnat.com> - - * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing - directory separator. - - * prj-proc.adb (Recursive_Process): Inherit attribute Languages from - project being extended, if Languages is not declared in extending - project. - -2004-05-17 Javier Miranda <miranda@gnat.com> - - * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the - limited view of a visible sibling. - -2004-05-14 Robert Dewar <dewar@gnat.com> - - * gnat_ugn.texi: Minor change to -gnatS documentation - - * sprint.adb: Remove some instances of Assert (False) and for this - purpose replace them by output of a ??? string. - - * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma - Assert (False). - - * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit - flag processing. This was suppressing required dependencies in - No_Run_Time mode and is not needed since the binder does not generate - references for things in libgnat anyway. - - * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC - warning. - -2004-05-14 Thomas Quinot <quinot@act-europe.fr> - - * gnat_ugn.texi: Document AIX-specific issue with initialization of - resolver library. - - * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference - action for the case of an actual parameter in an init proc call. - -2004-05-14 Ed Schonberg <schonberg@gnat.com> - - * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected - subtype, check visible entities in base type. - - * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup - actions if the object is a renaming. - - * sem_ch12.adb (Same_Instantiated_Entity): Predicate for - Check_Formal_Package_Instance, to determine more precisely when the - formal and the actual denote the same entity. - -2004-05-14 Javier Miranda <miranda@gnat.com> - - * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262 - - * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity - corresponding to a private_with must be removed from visibility; it - will be made visible later, just before we analyze the private part of - the package. - (Check_Private_Child_Unit): Allow private_with clauses in public - siblings. - (Install_Siblings): Make visible the private entities of private-withed - siblings. - (Install_Withed_Unit): Do not install the private withed unit if we - are compiling a package declaration and the Private_With_OK flag was - not set by the caller. These declarations will be installed later, - just before we analyze the private part of the package. - - * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected - during the evaluation of the expression that initializes the object, - decorate it with the expected type to avoid cascade errors. - Code cleanup. - - * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library - subprogram we have to install the private_with clauses after its - specification has been analyzed (as documented in AI-262.TXT). - - * sem_ch8.adb (Has_Private_With): New function. Determines if the - current compilation unit has a private with on a given entity. - (Find_Direct_Name): Detect the Beaujolais problem described in - AI-262.TXT - - * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It - provides the functionality of the function Is_Ancestor that was - previously available in sem_ch10. It has been renamed to avoid - overloading. - - * sprint.adb (Sprint_Node_Actual): Print limited_with clauses - -2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * utils.c (build_vms_descriptor): Use SImode pointers. - -2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr> - - * gnat_ugn.texi: Revised chapter "GNAT and Libraries". - -2004-05-14 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-05-14 Arnaud Charlet <charlet@act-europe.fr> - - Renaming of target specific files for clarity - - * Makefile.in: Rename GNAT target specific files. - - * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads, - 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads, - 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb, - 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, - 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads, - 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads, - 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads, - 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads, - 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, - 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads, - 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads, - 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads, - 51osinte.adb, 51osinte.ads, 51system.ads, - 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads, - 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb, - 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads, - 56tpopsp.adb, 57system.ads, 58system.ads, - 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads, - 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, - 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb, - 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads, - 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb, - 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads, - 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb, - 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads, - 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb, - 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads, - 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, - 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, - 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads, - 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads, - 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads, - 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb, - 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb, - 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads, - 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb, - 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb, - 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb, - 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads, - 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb, - 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads, - 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads, - 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb, - 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb, - 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb, - 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb, - 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads, - 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads, - 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb, - 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb, - 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb, - 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb, - 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, - 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb, - 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb, - 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads, - 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below. - - * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb, - a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb, - a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads, - a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads, - a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads, - a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads, - a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads, - a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads, - a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads, - a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb, - g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads, - g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads, - g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads, - g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads, - g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb, - g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads, - g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads, - g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb, - interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb, - mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb, - mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb, - mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb, - s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb, - s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb, - s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb, - s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb, - s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads, - s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb, - s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb, - s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads, - s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb, - s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads, - s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads, - s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads, - s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads, - s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb, - s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb, - s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb, - s-osinte-solaris.ads, s-osinte-solaris-fsu.ads, - s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads, - s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb, - s-osinte-vms.ads, s-osinte-vxworks.adb, - s-osinte-vxworks.ads, s-osprim-mingw.adb, - s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb, - s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads, - s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads, - s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb, - s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads, - s-proinf-irix-athread.adb, s-proinf-irix-athread.ads, - s-stchop-vxworks.adb, s-taprop-dummy.adb, - s-taprop-hpux-dce.adb, s-taprop-irix.adb, - s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb, - s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb, - s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb, - s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb, - s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads, - s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads, - s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads, - s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads, - s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads, - s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb, - s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb, - s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb, - s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb, - s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb, - s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb, - s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads, - s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads, - symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads, - system-hpux.ads, system-interix.ads, system-irix-n32.ads, - system-irix-o32.ads, system-linux-x86_64.ads, - system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, - system-mingw.ads, system-os2.ads, system-solaris-sparc.ads, - system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads, - system-unixware.ads, system-vms.ads, system-vms-zcx.ads, - system-vxworks-alpha.ads, system-vxworks-m68k.ads, - system-vxworks-mips.ads, system-vxworks-ppc.ads, - system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files - above. - -2004-05-13 Zack Weinberg <zack@codesourcery.com> - - * trans.c (gnat_stabilize_reference_1): Remove case 'b'. - -2004-05-13 Diego Novillo <dnovillo@redhat.com> - - Merge from tree-ssa-20020619-branch. - - * config-lang.in (boot_language, build_by_default): Set - to no. - * utils.c (unchecked_convert): Use OEP_ONLY_CONST. - (max_size): Add static chain op for call_expr. - -2004-05-12 Richard Sandiford <rsandifo@redhat.com> - - PR target/15331 - * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '. - -2004-05-11 Roger Sayle <roger@eyesopen.com> - - * utils.c (max_size): Use MIN_EXPR to find the minimum value of a - COND_EXPR. - -2004-05-10 Doug Rupp <rupp@gnat.com> - - * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to - system.aux_dec. - - * s-auxdec.ads: Add Short_Address subtype (moved here from System). - - * Makefile.in: [VMS]: Add translation for 5qauxdec.ads. - - * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha. - Fixes undefined symbols in IA64 gnatlib. - - * 5vinmaop.adb: Reference s-auxdec for Short_Address. - - * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype - Short_Address). This will be moved to system.auxdec. - -2004-05-10 Thomas Quinot <quinot@act-europe.fr> - - * sem_util.adb: Replace test for presence of a node that is always - present with a call to Discard_Node. - - * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to - Analyze on the library unit node after generation of distribution stub - constructs. The call was a no-op because Unit_Node has already been - Analyzed, and the tree fragments for the distribution stubs are - analyzed as they are inserted in Exp_Dist. - Update comment regarding to distribution stubs to reflect that we - do not generate stub in separate files anymore. - - * einfo.ads: Clarify the fact that a tagged private type has the - E_Record_Type_With_Private Ekind. - - * erroutc.adb: Minor reformatting - - * erroutc.ads (Max_Msg_Length): Increase to cover possible larger - values if line length is increased using -gnatyM (noticed during code - reading). - - * eval_fat.adb: Minor reformatting - Put spaces around exponentiation operator - -2004-05-10 Ed Schonberg <schonberg@gnat.com> - - PR ada/15005 - * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix - has been rewritten as an explicit dereference, retrieve type of - original node to check for possibly unconstrained record type. - -2004-05-10 Ed Schonberg <schonberg@gnat.com> - - * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not - overriding, use the operation of the parent unconditionally. - - * sem_ch4.adb (Remove_Address_Interpretations): Remove address - operation when either operand is a literal, to avoid further - ambiguities. - - * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and - overridden by a previous explicit declaration, mark the previous entity - as overriding. - - * sem_disp.adb (Check_Dispatching_Operation): New predicate - Is_Visibly_Controlled, to determine whether a declaration of a - primitive control operation for a derived type overrides an inherited - one. Add warning if the explicit declaration does not override. - -2004-05-10 Vincent Celier <celier@gnat.com> - - * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in - some cases when the sources are no longer present. - - * make.adb (Collect_Arguments): Fail if an external source, not part - of any project need to be compiled, when switch -x has not been - specified. - - * makeusg.adb: Document new switch -x - - * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag, - defaulted to False. - - * switch-m.adb (Scan_Make_Switches): New switch -x - - * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for - gnatmake switch -x. - - * gnat_ugn.texi: Document new gnatmake switch -x - -2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr> - - * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0. - - * utils.c (create_var_decl): Do not modify the DECL_COMMON flag. - (process_attributes): Likewise. - -2004-05-10 Joel Brobecker <brobecker@gnat.com> - - * s-inmaop.ads: Fix spelling mistake in one of the comments. - -2004-05-10 Robert Dewar <dewar@gnat.com> - - * gnat_ugn.texi: Document that for config pragma files, the maximum - line length is always 32767. - - * gnat_rm.texi: For pragma Eliminate, note that concatenation of string - literals is now allowed. - - * gnat-style.texi: Remove statement about splitting long lines before - an operator rather than after, since we do not follow this rule at all. - Clarify rule (really lack of rule) for spaces around exponentiation - - * sem_elim.adb: Allow concatenation of string literals as well as a - single string literal for pragma arguments. - - * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function - - * a-textio.adb (Terminate_Line): Do not add line feed if nothing - written for append case. - - * frontend.adb: Changes to avoid checking max line length in config - pragma files. - - * g-os_lib.ads: Minor reformatting - - * mlib-utl.adb: Do not define Max_Line_Length locally (definition was - wrong in any case. Instead use standard value. Noticed during code - reading. - - * opt.ads (Max_Line_Length): New field, used to implement removal of - limitation on length of lines when scanning config pragma files. - - * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb, - makeutl.ads, makeutl.adb: Minor reformatting - - * scn.adb: Do not check line length while scanning config pragma files - Do not check line length while scanning out license information - - * scng.adb: Changes to avoid line length checks while parsing config - pragma files. - -2004-05-10 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-05-05 Arnaud Charlet <charlet@act-europe.fr> - - * osint.adb (Find_Program_Name): Fix handling of VMS version - number. - -2004-05-05 Emmanuel Briot <briot@act-europe.fr> - - * g-os_lib.ads (Invalid_Time): New constant - - * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now - return OS_Time instead of time_t to match what is imported by Ada. - Now return -1 if the file doesn't exist, instead of a random value - -2004-05-05 Robert Dewar <dewar@gnat.com> - - * usage.adb: Add line for -gnatR?s switch - - * sem_ch13.adb, exp_ch2.adb: Minor reformatting - - * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size - and for Match (Data_First, Data_last) - - * lib-writ.adb (Write_With_Lines): Ensure that correct index number is - written when we are dealing with multi-unit files. - -2004-05-05 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in: Remove unused targets and variables. - -2004-05-05 Vincent Celier <celier@gnat.com> - - * switch-m.adb: New gnatmake switch -eI - - * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and - of new gnatmake switch -eInnn. - - * makegpr.adb: Take into account new parameters Index and Src_Index in - Prj.Util. - - * clean.adb: Implement support for multi-unit sources, including new - switch -i. - - * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter - Src_Index. - - * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0 - (Extract_From_Q): New out parameter Index - (Mark, Is_Marked): Subprograms moved to Makeutl - (Switches_Of): New parameter Source_Index - (Add_Switch): New parameter Index - (Check): New parameter Source_Index - (Collect_Arguments): New parameter Source_Index - (Collect_Arguments_And_Compile): New parameter Source_Index - (Compile): New parameter Source_Index - Put subprograms in alphabetical order - Add support for multi-source sources, including in project files. - - * makeutl.ads, makeutl.adb (Unit_Index_Of): New function - (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from - Make. - - * makeusg.adb: New gnatmake switch -eInnn - - * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to - Prj.Util.Value_Of. - - * opt.ads (Main_Index): New variable, defaulted to 0. - - * osint.ads, osinte.adb (Add_File): New parameter Index - (Current_Source_Index): New function - - * prj.adb: Take into account new components Index and Src_Index - - * prj.ads (String_Element): New component Index - (Variable_Value): New component Index - (Array_Element): New component Src_Index - - * prj-attr.adb: Indicate that optional index may be specified for - attributes Main, Executable, Spec, Body and some of Switches. - - * prj-attr.ads (Attribute_Kind): New values for optional indexes - (Attribute_Record): New component Optional_Index - - * prj-com.ads (File_Name_Data): New component Index - - * prj-dect.adb (Parse_Attribute_Declaration): Process optional index - - * prj-env.adb (Put): Output optional index - - * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and - attributes Spec and Body. - - * prj-nmsc.adb: Process optional indexes - - * prj-pp.adb: Ouput "at" for optional indexes - - * prj-proc.adb: Take into account optional indexes - - * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter - Optional_Index. For string literal, - process optional index when Optional_Index is True. - (Parse_Expresion): New Boolean parameter Optional_Index - - * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function - (Set_Source_Index_Of): New procedure - - * prj-util.adb (Executable_Of, Value_Of): Take into account optional - index. - - * prj-util.ads (Executable_Of): New parameter Index - (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value): - New parameter Src_Index, defaulted to 0. - -2004-05-05 Ed Schonberg <schonberg@gnat.com> - - PR ada/15257 - * sem_ch3.adb (Access_Definition): If this is an access parameter - whose designated type is imported through a limited_with clause, do - not add the enclosing subprogram to the list of private dependents of - the type. - -2004-05-05 Ed Schonberg <schonberg@gnat.com> - - PR ada/15258 - * sem_ch6.adb (Base_Types_Match): True if one type is imported through - a limited_with clause, and the other is its non-limited view. - -2004-05-05 Thomas Quinot <quinot@act-europe.fr> - - * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals. - - * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb, - exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use - Stand.Boolean_Literals to produce references to entities - Standard_False and Standard_True from compile-time computed boolean - values. - - * stand.ads (Boolean_Literals): New variable, provides the entity - values for False and True, for use by the expander. - -2004-05-05 Doug Rupp <rupp@gnat.com> - - * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype - 5vinmaop.adb: Unchecked convert Short_Address vice Address - - * adaint.c, raise.c: Caste CRTL function return value - to avoid gcc error on 32/64 bit IVMS. - - * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and - target = IA64/VMS. - - * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS. - - * 5qsystem.ads (Address): Declare as Long_Integer - (Short_Address): Declare as 32 bit subtype of Address - Declare abstract address operations to avoid gratuitous ambiguities. - -2004-05-05 Jose Ruiz <ruiz@act-europe.fr> - - * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249) - instead of the old Boolean_Entry_Barriers. - Ditto for No_Task_Attributes_Package instead of No_Task_Attributes. - -2004-05-05 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-05-03 Arnaud Charlet <charlet@act-europe.fr> - - * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used. - -2004-05-03 Olivier Hainque <hainque@act-europe.fr> - - PR ada/15152 - * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments - alone. Replacing object references by literals is inappropriate in a - so low level context. - -2004-05-03 Arnaud Charlet <charlet@act-europe.fr> - - * a-exexpr.adb: Add comments - -2004-05-03 Joel Brobecker <brobecker@gnat.com> - - * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to - declare the Ancestor_Tags array in Type_Specific_Data with a small size - without risking a bounds check error when accessing one of its - components. - (Type_Specific_Data): Define Ancestor_Tags as a small array. - This prevents us from hitting a limitation during the debug info - generation when using stabs. - - * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a - small array. - This prevents us from hitting a limitation during the debug info - generation when using stabs. - -2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr> - - lang-specs.h: Remove -gnatz* from specs. - -2004-05-03 Vincent Celier <celier@gnat.com> - - * gprmake.adb, makegpr.ads, makegpr.adb: New files. - - * Make-lang.in, Makefile.in: Add gprmake - -2004-05-03 Thomas Quinot <quinot@act-europe.fr> - - * sem_aggr.adb: Fix typo in comment. - -2004-05-03 Robert Dewar <dewar@gnat.com> - - * make.adb: Minor reformatting - - * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function - - * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address - so that it works when address is not a private type. - - * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal - properly with rewritten unchecked conversions. This prevents - order-of-elaboration issues that can otherwise arise. - (Minimum_Size): Don't check size of access types under VMS - - * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove - interpretations of integer literals as type System.Address. - - * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function - (Is_Descendent_Of): New function - -2004-05-03 Jose Ruiz <ruiz@act-europe.fr> - - * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers. - Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length. - No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment. - - * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead - of the old Max_Entry_Queue_Depth. - - * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers. - Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length - No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment - - * snames.ads: New entry for proper handling of Boolean_Entry_Barriers. - New entry for proper handling of Max_Entry_Queue_Depth. - New entry for proper handling of No_Dynamic_Interrupts. - - * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that - supersedes the GNAT specific restriction Boolean_Entry_Barriers. - Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes - the GNAT specific restriction Max_Entry_Queue_Depth. - Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes - the GNAT specific restriction No_Dynamic_Interrupts. - - * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers - instead of the old Boolean_Entry_Barriers. - Use the new restriction No_Dynamic_Attachment instead of the old - No_Dynamic_Interrupts. - - * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that - supersedes the GNAT specific restriction Boolean_Entry_Barriers. - - * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead - of the old Max_Entry_Queue_Depth. - -2004-05-03 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-04-29 Ed Schonberg <schonberg@gnat.com> - - * checks.adb (Enable_Range_Check): If the prefix of an index component - is an access to an unconstrained array, perform check unconditionally. - -2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_field): Also call make_packable_type if - Component_Clause. - -2004-04-29 Olivier Hainque <hainque@act-europe.fr> - - * init.c (__gnat_install_handler, __gnat_error_handler): Remove - alternate stack setting. There was no support for the tasking cases - and the changes eventually caused a number of side-effect failures in - the non-tasking case too. - -2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr> - - lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or - -gnats is passed. - -2004-04-29 Vincent Celier <celier@gnat.com> - - * make.adb (Gnatmake): Increase max size of argument array for - gnatbind for the potential addition of -F. - If there are Stand-Alone Library projects, invoke gnatbind with -F to - be sure that elaboration flags will be checked. - - * switch-c.adb: Correct call to Scan_Pos for -gnateI - -2004-04-29 Thomas Quinot <quinot@act-europe.fr> - - * sem_warn.adb (Check_References): Move '<access-variable> may be - null' warning out of under Warn_On_No_Value_Assigned. - -2004-04-29 Ed Falis <falis@gnat.com> - - * gnat_ugn.texi: Fixed texi error - -2004-04-29 Robert Dewar <dewar@gnat.com> - - * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove - abstract operations if they come from predefined files. - - * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be - Dynamic, not RM). - - * s-addope.adb: Correct obvious error in mod function - -2004-04-28 Andrew W. Reynolds <awreynolds@mac.com> - - * Makefile.in: Add target pairs for powerpc darwin* - tasking support. - - * a-intnam-darwin.ads, s-osinte-darwin.adb, - s-osinte-darwin.ads, system-darwin-ppc.ads: New files. - -2004-04-28 Ulrich Weigand <uweigand@de.ibm.com> - - * Makefile.in: Add target macro definitions for s390*-linux*. - * system-linux-s390.ads: New file. - * system-linux-s390x.ads: New file. - -2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk> - - * gnat_ugn.texi: Correct argument to @setfilename. - -2004-04-28 Ulrich Weigand <uweigand@de.ibm.com> - - * a-exexpr.adb (Unwind_Word): New data type. - (Unwind_Exception): Use it as type of Private1 and Private2. - - * raise.c (db_action_for): Fix debug printf. - -2004-04-27 Ed Schonberg <schonberg@gnat.com> - - * a-wtmoio.ads: Formal type must be a modular type, not a signed - integer type. - -2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_entity, case object): Call - __builtin_update_setjmp_buf. - - * gigi.h (update_setjmp_buf): Deleted. - (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New. - - * misc.c: (update_setjmp_buf): Deleted. - - * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue - around block of RTL. - - * utils.c (init_gigi_decls): Initialize update_setjmp_buf. - -2004-04-26 Thomas Quinot <quinot@act-europe.fr> - - * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local - subprogram for which no pragma All_Calls_Remote applies, store the - address of the real subprogram in the underlying record type, so local - dereferences do not go through the PCS. - -2004-04-26 Robert Dewar <dewar@gnat.com> - - * i-c.ads: Add some type qualifications to avoid ambiguities when - compiling with s-auxdec.ads and a non-private address type. - -2004-04-26 Arnaud Charlet <charlet@act-europe.fr> - - * Makefile.rtl: Fix error in previous check-in: - Add s-addope.o to non tasking object list (rather than tasking object - list). - -2004-04-26 Javier Miranda <miranda@gnat.com> - - * sem_aggr.adb: Fix typo in comments - (Resolve_Aggr_Expr): Propagate the type to the nested aggregate. - Required to check the null-exclusion attribute. - - * sem_attr.adb (Resolve_Attribute): Check the accessibility level in - case of anonymous access types in record and array components. For a - component definition the level is the same of the enclosing composite - type. - - * sem_ch3.adb (Analyze_Component_Declaration): In case of components - that are anonymous access types the level of accessibility depends on - the enclosing type declaration. In order to have this information, set - the scope of the anonymous access type to the enclosing record type - declaration. - (Array_Type_Declaration): In case of components that are anonymous - access types the level of accessibility depends on the enclosing type - declaration. In order to have this information, set the scope of the - anonymous access type to the enclosing array type declaration. - - * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous - access type. - - * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that - renaming of anonymous access-to-constant types allowed if and only if - the renamed object is access-to-constant. - - * sem_util.adb (Type_Access_Level): In case of anonymous access types - that are component_definition or discriminants of a nonlimited type, - the level is the same as that of the enclosing component type. - -2004-04-26 Sergey Rybin <rybin@act-europe.fr> - - * sem_elim.adb: Some minor code reorganization from code reading. Fix - misprint in the function name (File_Name_Match). - -2004-04-23 Laurent Guerby <laurent@guerby.net> - - * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after - install. - -2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * Make-lang.in (GNATBIND_OBJS): Add s-addope.o. - -2004-04-23 Emmanuel Briot <briot@act-europe.fr> - - * adaint.c (__gnat_try_lock): No longer requires that the parent - directory be writable, the directory itself is enough. - (gnat_is_absolute_path): Change profile, so that the call from - GNAT.OS_Lib can be made more efficient. - - * adaint.h (gnat_is_absolute_path): Change profile, so that the call - from GNAT.OS_Lib can be made more efficient. - - * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid - one copy of the file name. Found by code reading. - -2004-04-23 Vincent Celier <celier@gnat.com> - - * gnat_ugn.texi: Add documentation for gnatmake switch -eL - Correct documentation on gnatmake switches transmitted to the compiler - - * ali.ads: Minor comment fix - -2004-04-23 Javier Miranda <miranda@gnat.com> - - * sem_ch6.adb: (Confirming Types): Code cleanup - - * decl.c (gnat_to_gnu_entity): Give support to anonymous access to - subprogram types: E_Anonymous_Access_Subprogram_Type and - E_Anonymous_Access_Protected_Subprogram_Type. - -2004-04-23 Thomas Quinot <quinot@act-europe.fr> - - * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating - whether a pragma All_Calls_Remote applies to the subprogram on which - 'Access is taken. - No functional change is introduced by this revision; the new parameter - will be used to allow calls to local RCI subprograms to be optimized - to not use the PCS in the case where no pragma All_Calls_Remote applies, - as is already done in the PolyORB implementation of the DSA. - - * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating - whether a pragma All_Calls_Remote applies to the subprogram on which - 'Access is taken. - No functional change is introduced by this revision; the new parameter - will be used to allow calls to local RCI subprograms to be optimized - to not use the PCS in the case where no pragma All_Calls_Remote applies, - as is already done in the PolyORB implementation of the DSA. - -2004-04-23 Robert Dewar <dewar@gnat.com> - - * Makefile.rtl: Add entry for s-addope.o in run time library list - * Make-lang.in: Add entry for s-addope.o to GNAT1 objects - * s-addope.ads, s-addope.adb: New files. - - * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, - s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, - s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow - System.Address to be non-private and signed. - - * sem_elim.adb: Minor reformatting (fairly extensive) - Some minor code reorganization from code reading - Add a couple of ??? comments - -2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (tree_transform, build_unit_elab): Don't call getdecls. - (tree_transform, case N_If_Statement): Remove non-determinism. - - * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL. - -2004-04-23 Sergey Rybin <rybin@act-europe.fr> - - * gnat_rm.texi: Small fixes in the changes made in the 'pragma - Eliminate' section. - - * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is - no longer used as a parameter name for Eliminate pragma). - -2004-04-22 Laurent Guerby <laurent@guerby.net> - - PR optimization/14984 - PR optimization/14985 - * trans.c (gigi): Fix non determinism leading to bootstrap - comparison failures. - -2004-04-21 Pascal Obry <obry@gnat.com> - - * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0]) - passed to spawnvp() to properly handle program pathname with spaces on - Win32. - -2004-04-21 Emmanuel Briot <briot@act-europe.fr> - - * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False. - (Allocate, Deallocate, Free_Physically): Make sure the tasks are - unlocked in case of exceptions. - -2004-04-21 Joel Brobecker <brobecker@gnat.com> - - * gigi.h (get_target_no_dollar_in_label): Remove extern declaration. - This function does not exist anymore. - -2004-04-21 Thomas Quinot <quinot@act-europe.fr> - - * gnatbind.adb, gnatlink.adb: Update name of imported C symbol. - - * link.c: Move variables to the __gnat name space. - - * Makefile.in: list link.o explicitly when needed. - - * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib. - -2004-04-21 Javier Miranda <miranda@gnat.com> - - * einfo.adb (Original_Access_Type): New subprogram - (Set_Original_Access_Type): New subprogram - (Write_Field21_Name): Write the name of the new field - - * einfo.ads (Original_Access_Type): New field present in access to - subprogram types. - Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and - E_Anonymous_Access_Protected_Subprogram_Type. - - * lib-xref.adb (Output_One_Ref): Give support to anonymous access to - subprogram types. - - * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding - to anonymous access to subprogram types. - - * sem_attr.adb (Resolve_Attribute): Give support to anonymous access - to subprogram types. - - * sem_ch3.adb (Access_Definition): Complete decoration of entities - corresponding to anonymous access to subprogram types. - (Analyze_Component_Declaration): Add new actual to the call to - subprogram replace_anonymous_access_to_protected_subprogram. - (Array_Type_Declaration): Add new actual to the call to subprogram - replace_anonymous_access_to_protected_subprogram. - (Process_Discriminants): Add new actual to the call to subprogram - replace_anonymous_access_to_protected_subprogram. - (Replace_Anonymous_Access_To_Protected_Subprogram): New formal. - - * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New - formal. - - * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous - access to subprogram types. - - * sem_util.adb (Has_Declarations): Addition of package_specification - nodes. - -2004-04-21 Ed Schonberg <schonberg@gnat.com> - - * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate - inlined flags to renamed entity only if in current unit. - -2004-04-21 Thomas Quinot <quinot@act-europe.fr> - - * s-parint.ads: Add DSA implementation marker. - - * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the - value of System.Partition_Interface.DSA_Implementation to determine - what version of the distributed systems annex is available (no - implementation, GLADE, or PolyORB). - -2004-04-21 Joel Brobecker <brobecker@gnat.com> - - * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used. - -2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node - with new type if alias sets differ. - Fixes ACATS c41103b. - -2004-04-21 Vincent Celier <celier@gnat.com> - - * prj.ads: Remove FORTRAN as an accepted language: not tested yet. - Add array Lang_Args for the language specific compiling argument - switches. - - * gnat_ugn.texi: Explain in more details when a library is rebuilt. - -2004-04-21 Sergey Rybin <rybin@act-europe.fr> - - * gnat_rm.texi: Update the descripton of the Eliminate pragma - according to the recent changes in the format of the parameters of the - pragma (replacing Homonym_Number with Source_Location). - -2004-04-19 Arnaud Charlet <charlet@act-europe.fr> - - * 5isystem.ads: Removed, unused. - - * gnat_rm.texi: Redo 1.13 change. - -2004-04-19 Robert Dewar <dewar@gnat.com> - - * s-stoele.ads: Clean up definition of Storage_Offset (the new - definition is cleaner, avoids the kludge of explicit Standard operator - references, and also is consistent with a visible System.Address with - no visible operations. - - * s-geveop.adb: Add declarations to avoid assumption of visible - operations on type System.Address (since these might not be available - if Address is a non-private type for which the operations - are made abstract). - - * sem_eval.adb: Minor reformatting - - * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads, - s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor - reformatting (new function spec format). - - * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb, - s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, - s-caun64.adb: Add declarations to avoid assumption of visible - operations on type System.Address (since these might not be available - if Address is a non-private type for which the operations are made - abstract). - - * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure. - - * exp_intr.adb: Minor comment update - - * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting. - - * 5omastop.adb: Add declarations to avoid assumption of visible - operations on type System.Address (since these might not be available - if Address is a non-private type for which the operations - are made abstract). - -2004-04-19 Vincent Celier <celier@gnat.com> - - * switch-m.adb: (Scan_Make_Switches): Process new switch -eL - - * prj-pars.ads (Parse): New Boolean parameter Process_Languages, - defaulted to Ada. - - * prj-proc.adb (Process): New Boolean parameter Process_Languages, - defaulted to Ada. - Call Check with Process_Languages. - (Check): New Boolean parameter Process_Languages. Call Recursive_Check - with Process_Languages. - (Recursive_Check): New Boolean parameter Process_Languages. Call - Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to - Process_Languages. - - * prj-proc.ads (Process): New Boolean parameter Process_Languages, - - * prj-util.ads, prj-util.adb (Executable_Of): New Boolean - parameter Ada_Main, defaulted to True. - Check for Ada specific characteristics only when Ada_Main is True. - - * opt.ads: (Follow_Links): New Boolean flag for gnatmake - - * prj.adb: (Project_Empty): Add new Project_Data components. - - * prj.ads: New types and tables for non Ada languages. - (Project_Data): New components Languages, Impl_Suffixes, - First_Other_Source, Last_Other_Source, Imported_Directories_Switches, - Include_Path, Include_Data_Set. - - * prj-env.ads, prj-env.adb: Minor reformatting - - * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure - Put subprograms in alphabetical order - - * prj-pars.adb (Parse): New Boolean parameter Process_Languages, - defaulted to Ada; Call Prj.Proc.Process with Process_Languages and - Opt.Follow_Links. - - * mlib-prj.adb: Back out modification in last version, as they are - incorrect. - (Build_Library.Check_Libs): Remove useless pragma Warnings (Off) - - * make.adb: (Mains): Moved to package Makeutl - (Linker_Opts): Moved to package Makeutl - (Is_External_Assignment): Moved to package Makeutl - (Test_If_Relative_Path): Moved to package Makeutl - (Gnatmake): Move sorting of linker options to function - Makeutl.Linker_Options_Switches. - - * makeutl.ads, makeutl.adb: New files. - - * Makefile.in: Add makeutl.o to the object files for gnatmake - - * makeusg.adb: Add line for new switch -eL. - - * gnatls.adb (Image): New function. - (Output_Unit): If in verbose mode, output the list of restrictions - specified by pragmas Restrictions. - - * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use - Text_IO. - - * a-calend.adb (Split): Shift the date by multiple of 56 years, if - needed, to put it in the range 1970 (included) - 2026 (excluded). - (Time_Of): Do not shift Unix_Min_Year (1970). - Shift the date by multiple of 56 years, if needed, to put it in the - range 1970 (included) - 2026 (excluded). - - * adaint.h, adaint.c (__gnat_set_executable): New function. - -2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push - and pop GC context. - (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE. - (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH. - (tree_transform, case N_Procedure_Call_Statement): Build a tree. - (tree_transform, case N_Code_Statement): Likewise. - (gnat_expand_stmt, case LABEL_STMT): Don't look at - LABEL_STMT_FIRST_IN_EH. - (gnat_expand_stmt, case ASM_STMT): New case. - - * utils2.c (build_unary_op): Properly set TREE_READONLY of - UNCONSTRAINED_ARRAY_REF. - - * utils.c (poplevel): Temporarily push/pop GC context around inline - function expansion. - - * decl.c (maybe_variable): Properly set TREE_READONLY of - UNCONSTRAINED_ARRAY_REF. - (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE. - - * ada-tree.def: (ASM_STMT): New. - - * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted. - (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT, - ASM_STMT_INPUT): New. - (ASM_STMT_CLOBBER): Likewise. - -2004-04-19 Thomas Quinot <quinot@act-europe.fr> - - * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use - general rcheck mechanism to raise Program_Error for E.4(18), instead - of a custom raiser in System.Partition_Interface. - Part of general cleanup work before PolyORB integration. - - * snames.ads, snames.adb: Add new runtime library entities and names - for PolyORB DSA. - - * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to - exp_dist. - (Build_Subprogram_Id): New subprogram provided by exp_dist - Code reorganisation in preparation for PolyORB integration. - - * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to - exp_dist. - (Build_Subprogram_Id): New subprogram provided by exp_dist - - * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in - actual parameter types for call to dereference of an - access-to-subprogram type. - - * rtsfind.ads: Add new runtime library entities and names for PolyORB - DSA. - - * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value - instead, which has the same behaviour here since we never pass it a - NULL pointer. - - * link.c (run_path_option, Solaris case): Use -Wl, as for other - platforms. - - * Makefile.in: adjust object file lists for gnatlink and gnatmake - to account for new dependency upon Interfaces.C.Strings + link.o - For x86 FreeBSD, use 86numaux. - - * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up - from Mlib.Tgt to Mlib. - - * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now - target-independent. - - * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove - target-specific versions of this subprogram, now implemented as a - target-independent function in Mlib. - - * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb, - 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb - (Linker_Library_Path_Option): Remove target-specific versions of this - subprogram, now implemented as a target-independent function in Mlib. - - * atree.adb: (Allocate_Initialize_Node): New subprogram. - Factors out node table slots allocation. - (Fix_Parents): New subprogram. - Encapsulate the pattern of fixing up parent pointers for syntactic - children of a rewritten node. - (New_Copy_Tree): Use New_Copy to copy non-entity nodes. - (Rewrite): Use New_Copy when creating saved copy of original node. - (Replace): Use Copy_Node to copy nodes. - -2004-04-19 Javier Miranda <miranda@gnat.com> - - * sprint.adb (Sprint_Node_Actual): Give support to the new - Access_To_Subprogram node available in Access_Definition nodes. In - addition, give support to the AI-231 node fields: null-exclusion, - all-present, constant-present. - - * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram - - * sinfo.ads, sinfo.adb: - New field Access_To_Subprogram_Definition in Access_Definition nodes - - * sem_ch6.adb (Process_Formals): Move here the code that creates and - decorates internal subtype declaration corresponding to the - null-excluding formal. This code was previously in Set_Actual_Subtypes. - In addition, carry out some code cleanup on this code. In case of - access to protected subprogram call - Replace_Anonymous_Access_To_Protected_Subprogram. - (Set_Actual_Subtypes): Code cleanup. - - * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to - Find_Type in case of anonymous access renamings. Add warning in case of - null-excluding attribute used in anonymous access renaming. - - * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New - subprogram - - * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New - subprogram. - (Access_Definition): In case of anonymous access to subprograms call - the corresponding semantic routine to decorate the node. - (Access_Subprogram_Declaration): Addition of some comments indicating - some code that probably should be added here. Detected by comparison - with the access_definition subprogram. - (Analyze_Component_Declaration): In case of access to protected - subprogram call Replace_Anonymous_Access_To_Protected. - (Array_Type_Declaration): In case of access to protected subprogram call - Replace_Anonymous_Access_To_Protected_Subprogram. - (Process_Discriminants): In case of access to protected subprogram call - Replace_Anonymous_Access_To_Protected_Subprogram. - - * par.adb (P_Access_Definition): New formal that indicates if the - null-exclusion part was present. - (P_Access_Type_Definition): New formal that indicates if the caller has - already parsed the null-excluding part. - - * par-ch3.adb (P_Subtype_Declaration): Code cleanup. - (P_Identifier_Declarations): Code cleanup and give support to renamings - of anonymous access to subprogram types. - (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup. - (P_Array_Type_Definition): Give support to AI-254. - (P_Component_Items): Give support to AI-254. - (P_Access_Definition): New formal that indicates if the header was - already parsed by the caller. - (P_Access_Type_Definition): New formal that indicates if the caller has - already parsed the null-excluding part. - - * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the - call to P_Access_Definition. - -2004-04-19 Geert Bosch <bosch@gnat.com> - - * checks.adb (Apply_Float_Conversion_Check): New procedure to implement - the delicate semantics of floating-point to integer conversion. - (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check. - - * eval_fat.adb (Machine_Mantissa): Moved to spec. - (Machine_Radix): New function. - - * eval_fat.ads (Machine_Mantissa): Moved from body for use in - conversion checks. - (Machine_Radix): New function also for use in conversion checks. - -2004-04-19 Ed Schonberg <schonberg@gnat.com> - - * par-prag.adb (Source_File_Name_Project): Fix typo in error message. - - * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze - to decorate the access-to-protected subprogram and the equivalent type. - - * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support - to anonymous access to subprogram types. - - * exp_ch4.adb (Expand_N_In): Preserve Static flag before - constant-folding, for legality checks in contexts that require an RM - static expression. - - * exp_ch6.adb (Expand_N_Function_Call): If call may generate large - temporary but stack checking is not enabled, increment serial number - to so that symbol generation is consistent with and without stack - checking. - - * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is - independent on whether stack checking is enabled, caller must check - the corresponding flag. - - * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need - range checks. - (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from - parent if it has discriminants. - (Build_Derived_Private_Type): Constructed full view does - not come from source. - (Process_Discriminants): Default discriminants on a tagged type are - legal if this is the internal completion of a private untagged - derivation. - - * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs - no constraint checks, because it corresponds to an existing object. - - * sem_prag.adb (Process_Convention): Pragma applies - only to subprograms in the same declarative part, i.e. the same unit, - not the same scope. - - * sem_res.adb (Valid_Conversion): In an instance or inlined body, - ignore type mismatch on a numeric conversion if expression comes from - expansion. - -2004-04-19 Sergey Rybin <rybin@act-europe.fr> - - * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for - Homonym_Number parameter, add processing for Source_Location parameter - corresponding. - (Check_Eliminated): Remove the check for homonym numbers, add the check - for source location traces. - - * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number - with Arg_Source_Location corresponding to the changes in the format of - the pragma. - - * sem_prag.adb: (Analyze_Pragma): Changes in the processing of - Eliminate pragma corresponding to the changes in the format of the - pragma: Homonym_Number is replaced with Source_Location, two ways of - distinguishing homonyms are mutially-exclusive. - -2004-04-19 Joel Brobecker <brobecker@gnat.com> - - * get_targ.ads (Get_No_Dollar_In_Label): Remove. - - * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of - No_Dollar_In_Label, no longer necessary, as it is always True. - (Strip_Suffixes): Likewise. - -2004-04-19 Gary Dismukes <dismukes@gnat.com> - - * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of - modulus for compatibility with size clause on targets with 16-bit - Integer. - - * layout.adb (Discrimify): In the case of private types, set Vtyp to - full type to fix type mismatches on calls to size functions for - discriminant-dependent array components. - -2004-04-19 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time - lib. - -2004-04-19 Pascal Obry <obry@gnat.com> - - * mdll-utl.adb (Locate): New version is idempotent. - -2004-04-17 Laurent Guerby <laurent@guerby.net> - - PR ada/14988 (partial) - * impunit.adb: Fix typo. - -2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org> - - * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none, - and install-rts-cert targets. Remove all gnatlib and gnattools - targets and all other rts-* targets (moved to libada). Remove (now) - unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND, - TRACE, GNATLIBFLAGS, GNATLIBCFLAGS. - -2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (tree_transform): Shortcut returning error_mark_node for - statements in annotate_only_mode. - (tree_transform, case N_Label, case N_Return_Statement, - N_Goto_Statement): Make statement tree instead of generating code. - (tree_transform, case N_Assignment_Statement): No longer check - type_annotate_only. - (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case - RETURN_STMT): New. - (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl): - New fcns. - (gnat_to_gnu): Collect any RTL generated and deal with it. - (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR. - (tree_transform case N_If_Statement): Rewrite to make IF_STMT. - (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases. - - * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes. - - * ada-tree.def (EXPR_STMT): Fix typo in name. - (BLOCK_STMT, IF_STMT): New nodes. - - * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL, - LABEL_STMT_FIRST_IN_EH): New macros. - (RETURN_STMT_EXPR): Likewise. - - * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE, - IF_STMT_ELSEIF, IF_STMT_ELSE): New macros. - -2004-04-08 Thomas Quinot <quinot@act-europe.fr> - - * atree.ads: Correct documentation on extended nodes. - - * link.c: Set run_path_option for FreeBSD. - -2004-04-08 Vincent Celier <celier@gnat.com> - - * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is - one of the ALI file, do not link with DEC lib. - - * par.adb Remove the last two characters ("%s" or "%b") when checking - if a language defined unit may be recompiled. - -2004-04-08 Ed Schonberg <schonberg@gnat.com> - - * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when - removal of abstract operation leaves no possible interpretation for - expression. - - * sem_eval.adb (Eval_Qualified_Expression): Use - Set_Raises_Constraint_Error on node when needed, so that it does not - get optimized away by subsequent optimizations. - - * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of - operands even when they are not wrapped in a type conversion. - -2004-04-08 Olivier Hainque <hainque@act-europe.fr> - - * sem_prag.adb (Set_Exported): Warn about making static as result of - export only when the export is coming from source. This may be not - be true e.g. on VMS where we expand export pragmas for exception codes - together with imported or exported exceptions, and we don't want the - user to be warned about something he didn't write. - -2004-04-08 Thomas Quinot <quinot@act-europe.fr> - - * sem_util.adb (Note_Possible_Modification): Reorganize to remove code - duplication between normal entities and those declared as renamings. - No functional change. - - * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently - inline functions returning an unconstrained result. - -2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr> - - * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to - conform to what other front-ends do. - -2004-04-08 Doug Rupp <rupp@gnat.com> - - * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared - libraries. - -2004-04-06 Pascal Obry <obry@gnat.com> - - * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32. - - * osint.adb (Program_Name): Do not look past a directory separator. - -2004-04-06 Thomas Quinot <quinot@act-europe.fr> - - * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists). - - * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of - requirement for preserving a copy of the original assignment node. - - * sinfo.ads: Update comment (Original_Tree -> Original_Node). - -2004-04-06 Olivier Hainque <hainque@act-europe.fr> - - (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits - when supported. - -2004-04-06 Ed Schonberg <schonberg@gnat.com> - - * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to - operator calls in functional notation, and apply - Universal_Interpretation to operands, not to their type. - -2004-04-06 Robert Dewar <dewar@gnat.com> - - * 5wdirval.adb: Minor reformatting - -2004-04-06 Ed Falis <falis@gnat.com> - - * gnat_rm.texi: Improve a reference to the GCC manual - -2004-04-05 Vincent Celier <celier@gnat.com> - - * adaint.h, adaint.c: Add function __gnat_named_file_length - - * impunit.adb: Add Ada.Directories to the list - - * Makefile.in: Add VMS and Windows versions of - Ada.Directories.Validity package body. - - * Makefile.rtl: Add a-direct and a-dirval - - * mlib-tgt.ads: Minor comment update. - - * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb, - a-direct.ads, a-direct.adb: New files. - -2004-04-05 Vincent Celier <celier@gnat.com> - - PR ada/13620 - * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not - just to the compiler. - -2004-04-05 Robert Dewar <dewar@gnat.com> - - * a-except.adb (Exception_Name_Simple): Make sure lower bound of - returned string is 1. - - * ali-util.adb: Use proper specific form for Warnings (Off, entity) - - * eval_fat.ads: Minor reformatting - - * g-curexc.ads: Document that lower bound of returned string values - is always one. - - * gnatlink.adb: Add ??? comment for previous change - (need to document why this is VMS specific) - - * s-stoele.ads: Minor reformatting - - * tbuild.ads: Minor reformatting throughout (new function specs) - - * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon - after WITH. - - * scng.adb: Minor reformatting - -2004-04-05 Geert Bosch <bosch@gnat.com> - - * eval_fat.adb (Machine): Remove unnecessary suppression of warning. - (Leading_Part): Still perform truncation to machine number if the - specified radix_digits is greater or equal to machine_mantissa. - -2004-04-05 Javier Miranda <miranda@gnat.com> - - * par-ch3.adb: Complete documentation of previous change - Correct wrong syntax documentation of the OBJECT_DECLARATION rule - (aliased must appear before constant). - - * par-ch4.adb: Complete documentation of previous change. - - * par-ch6.adb: Complete documentation of previous change. - - * sinfo.ads: Fix typo in commment. - -2004-04-05 Ed Schonberg <schonberg@gnat.com> - - * sem_ch3.adb (Inherit_Components): If derived type is private and has - stored discriminants, use its discriminants to constrain parent type, - as is done for non-private derived record types. - - * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement - Ada 2005 AI-310: an abstract non-dispatching operation is not a - candidate interpretation in an overloaded call. - - * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if - expression is Null and target type is not an access type (e.g. a - non-private address type). - -2004-04-05 Thomas Quinot <quinot@act-europe.fr> - - * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment - statement whose right-hand side is an inlined call, save a copy of the - original assignment subtree to preserve enough consistency for - Analyze_Assignment to proceed. - - * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the - complete assignment subtree which is now unnecessary, as the expansion - of inlined call has been improved to preserve a consistent assignment - tree. Note_Possible_Modification must be called only - after checks have been applied, or else unnecessary checks will - be generated. - - * sem_util.adb (Note_Possible_Modification): Reorganise the handling - of explicit dereferences that do not Come_From_Source: - - be selective on cases where we must go back to the dereferenced - pointer (an assignment to an implicit dereference must not be - recorded as modifying the pointer); - - do not rely on Original_Node being present (Analyze_Assignment - calls Note_Possible_Modification on a copied tree). - - * sem_warn.adb (Check_References): When an unset reference to a pointer - that is never assigned is encountered, prefer '<pointer> may be null' - warning over '<pointer> is never assigned a value'. - -2004-04-05 Ramon Fernandez <fernandez@gnat.com> - - * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with - the ABI. - -2004-04-05 Olivier Hainque <hainque@act-europe.fr> - - * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for - libexc. We currently don't reference anything in this library and - linking it in triggers linker warnings we don't want to see. - - * init.c: Update comments. - -2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY. - * utils.c (create_field_decl): Likewise. - * utils2.c (build_unary_op, gnat_build_constructor): Likewise. - -2004-04-02 Arnaud Charlet <charlet@act-europe.fr> - - * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags. - Replace ifinfo by ifnottex, to make makeinfo --html happy again. - Add info directory entry and category. - -2004-04-02 Jan Hubicka <jh@suse.cz> - - * utils.c: Include function.h - (end_subprog_body): Clear DECL_STRUCT_FUNCTION. - -2004-04-01 Arnaud Charlet <charlet@act-europe.fr> - - PR ada/14150 - * Make-lang.in: Clean up generation of documentation - - * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version - - * xgnatug.adb: Removed, replaced by xgnatugn.adb - - * xgnatugn.adb: Replaces xgnatug.adb - - * gnat_ug.texi: Removed, replaced by gnat_ugn.texi - - * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version - - * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, - gnat_ug_wnt.texi: Removed. - -2004-04-01 Arnaud Charlet <charlet@act-europe.fr> - - * utils2.c: Update copyright notice. - -2004-04-01 Robert Dewar <dewar@gnat.com> - - * checks.adb: Minor reformatting throughout - Note that prev checkin added RM reference to alignment warning - -2004-04-01 Ed Schonberg <schonberg@gnat.com> - - * exp_aggr.adb (Get_Component_Val): Treat a string literal as - non-static when building aggregate for bit-packed array. - - * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a - function call that is itself the actual in a procedure call, build - temporary for it. - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is - a string literal, create a temporary for it, constant folding only - handles scalars here. - -2004-04-01 Vincent Celier <celier@gnat.com> - - * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC, - Error_Msg_SP): New empty procedures to instantiate the Scanner. - (Style, Scanner): Instantiations of Styleg and Scng to be able to scan - tokens. - (Accumulate_Checksum, Initialize_Checksum): Remove procedures. - (Get_File_Checksum): Use the instantiated scanner to scan all the tokens - and get the checksum. - - * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is - already in the Q. - Increase the Marking_Label at the end of the Multiple_Main_Loop, - instead of at the beginning. - - * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~' - directly. - (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if - on VMS. - - * osint.ads (Multi_Unit_Index_Character): New Character global variable - - * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character, - not '~' directly. - - * par.adb: Remove test on file name to detect language defined units. - Add test on unit name, after parsing, to detect language defined units - that are not compiled with -gnatg (except System.RPC and its children) - - * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the - following units without style checking. - - * switch-c.adb: Change -gnatC to -gnateI - - * usage.adb: Document new switch -gnateInnn - - * scng.adb (Accumulate_Token_Checksum): New procedure - (Scan): Call Accumulate_Token_Checksum after each identifier, reserved - word or literal number. - (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral - numbers. - -2004-04-01 Thomas Quinot <quinot@act-europe.fr> - - * a-tasatt.adb, - g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb, - switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb, - 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, - 5vtpopde.adb: Add missing 'constant' keywords. - -2004-04-01 Javier Miranda <miranda@gnat.com> - - * par-ch4.adb: (P_Allocator): Code cleanup - - * sem_ch3.adb (Access_Definition): Properly set the null-excluding - attribute. - - * sinfo.ads: Complete documentation of previous change - -2004-04-01 Pascal Obry <obry@gnat.com> - - * gnatlink.adb (Process_Binder_File): Remove duplicate linker options - only on VMS. This special handling was done because an old GNU/ld bug - on Windows which has been fixed. - -2004-04-01 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_entity, make_type_from_size): - Use TYPE_UNSIGNED, not TREE_UNSIGNED. - * trans.c (tree_transform, convert_with_check): Likewise. - * utils.c (gnat_signed_or_unsigned_type): Likewise. - (build_vms_descriptor, unchecked_convert): Likewise. - * utils2.c (nonbinary_modular_operation): Likewise. - -2004-03-29 Javier Miranda <miranda@gnat.com> - - * checks.adb (Null_Exclusion_Static_Checks): New subprogram - (Install_Null_Excluding_Check): Local subprogram that determines whether - an access node requires a runtime access check and if so inserts the - appropriate run-time check. - (Apply_Access_Check): Call Install_Null_Excluding check if required - (Apply_Constraint_Check): Call Install_Null_Excluding check if required - - * checks.ads: (Null_Exclusion_Static_Checks): New subprogram - - * einfo.ads: Fix typo in comment - - * exp_ch3.adb (Build_Assignment): Generate conversion to the - null-excluding type to force the corresponding run-time check. - (Expand_N_Object_Declaration): Generate conversion to the null-excluding - type to force the corresponding run-time check. - - * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to - the null-excluding type to force the corresponding run-time check. - - * exp_ch6.adb (Expand_Call): Do not generate the run-time check in - case of access types unless they have the null-excluding attribute. - - * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing - part. - - * exp_util.ads: Fix typo in comment - - * par.adb (P_Null_Exclusion): New subprogram - (P_Subtype_Indication): New formal that indicates if the null-excluding - part has been scanned-out and it was present - - * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231 - - * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram - (Aggregate_Constraint_Checks): Generate conversion to the null-excluding - type to force the corresponding run-time check - (Resolve_Aggregate): Propagate the null-excluding attribute to the array - components - (Resolve_Array_Aggregate): Carry out some static checks - (Resolve_Record_Aggregate.Get_Value): Carry out some static check - - * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null - attribute must be set only if specified by means of the null-excluding - part. In addition, we must also propagate the access-constant attribute - if present. - (Access_Subprogram_Declaration, Access_Type_Declaration, - Analyze_Component_Declaration, Analyze_Object_Declaration, - Array_Type_Declaration, Process_Discriminants, - Analyze_Subtype_Declaration): Propagate the null-excluding attribute - and carry out some static checks. - (Build_Derived_Access_Type): Set the null-excluding attribute - (Derived_Type_Declaration, Process_Subtype): Carry out some static - checks. - - * sem_ch4.adb (Analyze_Allocator): Carry out some static checks - - * sem_ch5.adb (Analyze_Assignment): Carry out some static checks - - * sem_ch6.adb (Process_Formals): Carry out some static checks. - (Set_Actual_Subtypes): Generate null-excluding subtype if the - null-excluding part was present; it is not required to be done here in - case of anonymous access types. - (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null - value. - - * sem_res.adb (Resolve_Actuals): Carry out some static check - (Resolve_Null): Allow null in anonymous access - - * sinfo.adb: New subprogram Null_Exclusion_Present - All_Present and Constant_Present available on access_definition nodes - - * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration, - object_declaration, derived_type_definition, component_definition, - discriminant_specification, access_to_object_definition, - access_function_definition, allocator, access_procedure_definition, - access_definition, parameter_specification, All_Present and - Constant_Present flags available on access_definition nodes. - -2004-03-29 Robert Dewar <dewar@gnat.com> - - * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, - gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb, - opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb, - par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb, - sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb, - sem_prag.adb: Updates to handle multiple units/file - - * par.adb: Change test for s-rpc to s-rp for detecting rpc and children - - * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb, - sem_util.adb: Minor reformatting - - * sem_ch12.adb: Add comment for previous change - -2004-03-29 Laurent Pautet <pautet@act-europe.fr> - - * osint.adb (Executable_Prefix): Set Exec_Name to the current - executable name when not initialized. Otherwise, use its current value. - - * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to - initialize it to another executable name than the current one. This - allows to configure paths for an executable name (gnatmake) different - from the current one (gnatdist). - -2004-03-29 Ed Schonberg <schonberg@gnat.com> - - * exp_ch6.adb (Expand_Call): A call to a function declared in the - current unit cannot be inlined if it appears in the body of a withed - unit, to avoid order of elaboration problems in gigi. - - * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging - information for protected (wrapper) operation as well, to simplify gdb - use. - - * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a - protected body, indicate that the entity for the generated spec comes - from source, to ensure that references are properly generated for it. - (Build_Body_To_Inline): Do not inline a function that returns a - controlled type. - - * sem_prag.adb (Process_Convention): If subprogram is overloaded, only - apply convention to homonyms that are declared explicitly. - - * sem_res.adb (Make_Call_Into_Operator): If the operation is a function - that renames an equality operator and the operands are overloaded, - resolve them with the declared formal types, before rewriting as an - operator. - -2004-03-29 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr> - - * memtrack.adb: Log realloc calls, which are treated as free followed - by alloc. - -2004-03-25 Vincent Celier <celier@gnat.com> - - * prj-makr.adb (Process_Directories): Detect when a file contains - several units. Do not include such files in the config pragmas or - in the naming scheme. - - * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode. - Resolve links only when not in Trusted_Mode. - (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory): - Do not resolve links for the display names. - - * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not - resolve links when computing the display names. - -2004-03-25 Thomas Quinot <quinot@act-europe.fr> - - * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag - attribute reference does not denote a subtype, it can be any - expression that has a classwide type, potentially after an implicit - dereference. In particular, the prefix can be a view conversion for - a classwide type (for which Is_Object_Reference holds), but it can - also be a value conversion for an access-to-classwide type. In the - latter case, there is an implicit dereference, and the original node - for the prefix does not verify Is_Object_Reference. - - * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view - conversion of a discriminant-dependent component of a mutable object - is one itself. - -2004-03-25 Ed Schonberg <schonberg@gnat.com> - - * freeze.adb (Freeze_Entity): When an inherited subprogram is - inherited, has convention C, and has unconstrained array parameters, - place the corresponding warning on the derived type declaration rather - than the original subprogram. - - * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default - indication on renaming declaration, if formal has a box and actual - is absent. - - * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to - determine whether to generate an implicit or explicit reference to - the renamed entity. - - * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a - subprogram renaming comes from a defaulted formal subprogram in an - instance. - -2004-03-25 Gary Dismukes <dismukes@gnat.com> - - * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default - value expressions to ensure that calls within a component definition - will be checked (since those are evaluated during the record type's - elaboration). - -2004-03-25 Arnaud Charlet <charlet@act-europe.fr> - - * s-tpobop.adb: Code clean up: - (Requeue_Call): Extract from PO_Service_Entries to remove duplicated - code. - (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call. - -2004-03-25 Jose Ruiz <ruiz@act-europe.fr> - - * Makefile.in: Clean up in the ravenscar run time. - -2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value - of No_Strict_Aliasing to build_pointer_type_for_mode. - * utils.c (update_pointer_to): Walk pointer and ref chains. - -2004-03-22 Cyrille Comar <comar@act-europe.fr> - - * ali.ads: Fix Comment about Dynamic_Elab. - - * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab, - Has_RACW, Is_Generic, etc.) - (Output_Object, Gnatls): Take into account ALI files not attached to - an object. - -2004-03-22 Vincent Celier <celier@gnat.com> - - * gprep.adb: Change all String_Access to Name_Id - (Is_ASCII_Letter): new function - (Double_File_Name_Buffer): New procedure - (Preprocess_Infile_Name): New procedure - (Process_Files): New procedure - (Gnatprep): Check if output and input are existing directories. - Call Process_Files to do the real job. - -2004-03-22 Robert Dewar <dewar@gnat.com> - - * prj-env.adb, prj-nmsc.ads, prj-proc.ads, - s-stache.ads, s-stache.adb: Comment updates. Minor reformatting. - -2004-03-22 Sergey Rybin <rybin@act-europe.fr> - - * scn.adb (Contains): Add check for EOF, is needed for a degenerated - case when the source contains only comments. - -2004-03-22 Ed Schonberg <schonberg@gnat.com> - - * sem_ch10.adb (Analyze_Compilation_Unit): When generating a - declaration for a child subprogram body that acts as a spec, indicate - that the entity in the declaration needs debugging information. - - * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying - full view if the subtype is created for a constrained record component; - gigi has enough information to construct the record, and there is no - place in the tree for the declaration. - - * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without - serial number for the dummy body that is built for analysis, to avoid - inconsistencies in the generation of internal names when compiling - with -gnatN. - -2004-03-22 Thomas Quinot <quinot@act-europe.fr> - - * sem_util.adb (Is_Object_Reference): A view conversion denotes an - object. - -2004-03-22 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. - * trans.c (tree_transform, emit_index_check): Likewise. - * utils.c (build_template): Likewise. - (max_size, convert): Remove handling of WITH_RECORD_EXPR. - (maybe_unconstrained_array, unchecked_convert): Likewise. - * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise. - (build_unary_op): Likewise. - (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. - (fill_vms_descriptor): Likewise. - (build_call_alloc_dealloc): Likewise. - ALIGN is unsigned. - * gigi.h (build_call_alloc_dealloc): Alignment is unsigned. - -2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk> - - PR other/14630 - * gnat_ug.texi: Add info directory category and entry. - * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, - gnat_ug_wnt.texi: Regenerate. - -2004-03-19 Arnaud Charlet <charlet@act-europe.fr> - - * ada-tree.h: Update copyright notice. - Minor reformatting. - -2004-03-19 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions - as regular exception objects and not as mere integers representing the - condition code. The latter approach required some dynamics to mask off - severity bits, which did not fit well into the GCC table based model. - (gnat_to_gnu_entity, objects): Don't supply an external name for VMS - exception data objects. We don't it and it would conflict with the other - external symbol we have to generate for such exceptions. - - * trans.c (tree_transform, case N_Exception_Handler): Remove part of - the special code for VMS exceptions, since these are now represented - as regular exceptions objects. - -2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (debug_no_type_hash): Remove. - (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it. - * misc.c (LANG_HOOK_HASH_TYPE): Redefine. - -2004-03-19 Laurent Guerby <laurent@guerby.net> - - * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of - aggregate, allows bootstrap from 3.3 on powerpc-darwin. - -2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking. - (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise. - (TYPE_RM_SIZE_INT): Directly use type.values. - (TREE_LOOP_ID): Clean up check. - * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use - TYPE_VALUES, not TYPE_FIELDS. - * trans.c (convert_with_check): Delay access of bounds of basetype - until sure is numeric. - -2004-03-18 Arnaud Charlet <charlet@act-europe.fr> - - * 5atpopsp.adb: Remove RTEMS from list of platforms using this file. - - Code clean up: - * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb, - 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use - Specific.Set instead of direct call to e.g pthread_setspecific. - -2004-03-18 Thomas Quinot <quinot@act-europe.fr> - - * adaint.c: Update comments. - - * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and - GNATLIB_SHARED for FreeBSD. - -2004-03-18 Jose Ruiz <ruiz@act-europe.fr> - - * init.c [VxWorks]: Do not fix the stack size for the environment task. - When needed (stack checking) the stack size is retrieved - from the VxWorks kernel. - - * Makefile.in: Flag -nostdinc is required when building the run time - for avoiding looking for files in the base compiler. - Add the VxWorks specific version of the package body for - System.Stack_checking.Operations (5zstchop.adb). - - * Make-lang.in: Add the object file for - System.Stack_Checking.Operations. - - * Makefile.rtl: Add object file for the package - System.Stack_Checking.Operations. - - * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files. - - * s-stache.ads, s-stache.adb: Move the operations related to stack - checking from this package to package System.Stack_Checking.Operations. - This way, stack checking operations are only linked in the final - executable when using the -fstack-check flag. - -2004-03-18 Doug Rupp <rupp@gnat.com> - - * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads). - Reorganize ifeq's. - - * 5qsystem.ads, 5xcrtl.ads: New files. - -2004-03-18 Vincent Celier <celier@gnat.com> - - * prj.adb (Reset): Reset hash table Files_Htable - - * prj-env.adb (Source_Paths, Object_Paths): New tables. - (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace - the procedures Add_To_Path_File. - (Set_Ada_Paths): Accumulate source and object dirs in the tables, - making sure that each directory is present only once and, for object - dirs, when a directory already present is added, the duplicate is - removed and the directory is always put as the last in the table. - Write the path files at the end of these accumulations. - - * prj-nmsc.adb (Record_Source): Add source file name in hash table - Files_Htable for all sources. - - * prj-proc.adb (Process): Remove restrictions between not directly - related extending projects. - -2004-03-18 Emmanuel Briot <briot@act-europe.fr> - - * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode. - (Find_Sources): Minor speed optimization. - - * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New - parameter Trusted_Mode. - -2004-03-18 Sergey Rybin <rybin@act-europe.fr> - - * scn.adb (Determine_License): Take into account a degenerated case - when the source contains only comments. - -2004-03-18 Ed Schonberg <schonberg@gnat.com> - - * sem_warn.adb (Check_References): For a warning on a selected - component that does not come from source, locate an uninitialized - component of the record type to produce a more precise error message. - -2004-03-15 Jerome Guitton <guitton@act-europe.fr> - - * 3zsoccon.ads: Fix multicast options. - - * s-thread.ads: Move unchecked conversion from ATSD_Access to Address - in the spec. - -2004-03-15 Robert Dewar <dewar@gnat.com> - - * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when - pragma used for a private type. - - * lib-xref.adb (Generate_Reference): Do not generate warning if - reference is in a different unit from the pragma Unreferenced. - - * 5vtpopde.adb: Minor reformatting - Fix casing of To_Task_ID - - * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing - flag if we have an unchecked conversion to an access type in the same - unit. - -2004-03-15 Geert Bosch <bosch@gnat.com> - - * a-ngcoty.adb (Modulus): In alternate formula for large real or - imaginary parts, use Double precision throughout. - - * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only - we want to be able to compile run-time with -gnata for testing, but - this may also be instantiated in user code that is compiled with -gnata. - -2004-03-15 Olivier Hainque <hainque@act-europe.fr> - - * s-stalib.ads (Exception_Code): New type, to represent Import/Export - codes. Having a separate type for this is useful to enforce consistency - throughout the various run-time units. - (Exception_Data): Use Exception_Code for Import_Code. - - * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of - Natural and Integer in various places. - (Register_VMS_Exception): Use Base_Code_In to compute the exception code - with the severity bits masked off. - (Register_VMS_Exception): Handle the additional exception data pointer - argument. - - * raise.c (_GNAT_Exception structure): Remove the handled_by_others - component, now reflected by an exported accessor. - (is_handled_by): New routine to compute whether the propagated - occurrence matches some handler choice specification. Extracted out of - get_action_description_for, and expanded to take care of the VMS - specifities. - (get_action_description_for): Use is_handled_by instead of an explicit - complex condition to decide if the current choice at hand catches the - propagated occurrence. - - * raise.h (Exception_Code): New type for C. - - * rtsfind.ads (RE_Id, RE_Unit_Table): Add - System.Standard_Library.Exception_Code, to allow references from the - pragma import/export expander. - - * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For): - New accessors to allow easy access to GNAT exception data - characteristics. - (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the - redundant Handled_By_Others component, helper for the personality - routine which will now be able to call the appropriate exception data - accessor instead. - - * cstand.adb (Create_Standard): Adjust the type of the Import_Code - component of Standard_Exception_Type to be the closest possible to - Exception_Code in System.Standard_Library, that we cannot get at this - point. Expand a ??? comment to notify that this type node should - probably be rewritten later on. - - * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the - registration call to include a pointer to the exception object in the - arguments. - - * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In - instead of int and explicit bitmasks. - -2004-03-15 Vincent Celier <celier@gnat.com> - - * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED - equivalent to /STATIC and /NOSTATIC equivalent to /SHARED. - - * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no - longer needed now that it is in the spec of - System.Tasking.Task_Attributes. - - * adaint.h, adaint.c: (__gnat_create_output_file): New function - - * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of = - - * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function. - - * make.adb (Gnatmake): Do not check the executable suffix; it is being - taken care of in Scan_Make_Arg. - (Scan_Make_Arg): Add the executable suffix only if the argument - following -o, in canonical case, does not end with the executable - suffix. When in verbose mode and executable file name does not end - with executable suffix, output the executable name, in canonical case. - - * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing - to avoid warnings when instantiating Ada.Task_Attributes. - Minor reformating. - - * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries - in the correct order. - - * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but - redirect standard output and error to a file for the invocation of the - compiler, then read the file. - - * prj-nmsc.adb (Find_Sources): Use the Display_Value for each - directory, instead of the Value. - (Find_Source_Dirs): Remove useless code & comments. - -2004-03-15 Ed Schonberg <schonberg@gnat.com> - - * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a - tagged type is inherited, and the parent operation is not frozen yet, - force generation of a freeze node for the inherited operation, so the - corresponding dispatch entry is properly initialized. - (Make_Predefined_Primitive_Specs): Check that return type is Boolean - when looking for user-defined equality operation. - - * exp_ch4.adb (Expand_Composite_Equality): Check that return type is - boolean when locating primitive equality of tagged component. - - * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a - bit-aligned field and the right-hand side a string literal, introduce - a temporary before expanding assignment into a loop. - - * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for - priority in full, to ensure that any expanded subepxressions of it are - elaborated in the scope of the init_proc. - - * exp_prag.adb (Expand_Pragma_Import): Search for initialization call - after object declaration, skipping over code that may have been - generated for validity checks. - - * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown - discriminants, ignore the known discriminants of its full view, if - any, to check legality. - - * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained - component if type has unknown discriminants. - (Analyze_Private_Extension_Declaration): Discriminant constraint is - null if type has unknown discriminants. - - * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference - for end label when present. - - * s-fileio.adb (Open): When called with a C_Stream, use given name for - temporary file, rather than an empty string. - -2004-03-15 Ed Falis <falis@gnat.com> - - * s-thread.adb: Removed, no longer used. - -2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (target.h): Now include. - (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE - in new build_pointer_from_mode calls for non-fat/non-thin pointer. - (validate_size): For POINTER_TYPE, get smallest size permitted on - machine. - - * fe.h: Sort Einfo decls and add Set_Mechanism. - - * Makefile.in: (LIBGNAT_SRCS): Remove types.h. - (ada/decl.o): Depends on target.h. - - * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use - FUNCTION_BOUNDARY; always use TYPE_ALIGN. - -2004-03-15 Thomas Quinot <quinot@act-europe.fr> - - * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID. - - * exp_ch4.adb (Expand_N_Indexed_Component): Do not call - Insert_Dereference_Action when rewriting an implicit dereference into - an explicit one, this will be taken care of during expansion of the - explicit dereference. - (Expand_N_Slice): Same. Always do the rewriting, even for the case - of non-packed slices, since the dereference action generated by - expansion of the explicit dereference is needed in any case. - (Expand_N_Selected_Component): When rewriting an implicit dereference, - analyze and resolve the rewritten explicit dereference so it is seen - by the expander. - (Insert_Dereference_Action): This procedure is now called only for the - expansion of an N_Explcit_Dereference_Node. Do insert a check even for - dereferences that do not come from source (including explicit - dereferences resulting from rewriting implicit ones), but do not - recursively insert a check for the dereference nodes contained within - the check. - (Insert_Dereference_Action): Clarify and correct comment. - -2004-03-08 Paolo Bonzini <bonzini@gnu.org> - - PR ada/14131 - Move language detection to the top level. - * config-lang.in: Build by default. - -2004-03-05 Robert Dewar <dewar@gnat.com> - - * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions - - * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads, - i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads, - 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb, - 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move - unchecked conversion to spec to avoid warnings. - - * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id - to Task_ID - - * 7stpopsp.adb: Correct casing in To_Task_ID call - - * a-strsea.ads, a-strsea.adb: Minor reformatting - - * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing - - * errout.ads: Switch for VMS is now NO_STRICT_ALIASING. - Adjust Max_Msg_Length to be clearly large enough. - - * fe.h: Define In_Same_Source_Unit - - * osint.adb: Add pragma Warnings Off to suppress warnings - * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill - aliasing warnings. - - * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing - - * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma - - * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc. - - * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set. - - * sem_prag.adb: Implement pragma No_Strict_Aliasing. - - * sinfo.ads: Remove obsolete comment on validate unchecked conversion - node. We now do generate them for gcc back end. - - * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing - warning. - - * sinput-c.adb: Fix bad name in header. - Add pragma Warnings Off to suppress aliasing warning. - - * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning. - - * snames.h, snames.ads, snames.adb: Add entry for pragma - No_Strict_Aliasing. - -2004-03-05 Vincent Celier <celier@gnat.com> - - * prj-com.ads: Add hash table Files_Htable to check when a file name - is already a source of another project. - - * prj-nmsc.adb (Record_Source): Before recording a new source, check - if its file name is not already a source of another project. Report an - error if it is. - - * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no - source file name, call gnatpp with all the sources of the main project. - - * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number - of file names. - - * vms_data.ads: Correct documentation of new /OPTIMIZE keyword - NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY: - /RUNTIME_SYSTEM=, converted to --RTS= - /NOTABS, converted to -notabs - -2004-03-05 Pascal Obry <obry@gnat.com> - - * make.adb: Minor reformatting. - -2004-03-05 Ed Schonberg <schonberg@gnat.com> - - Part of implemention of AI-262. - * par-ch10.adb (P_Context_Clause): Recognize private with_clauses. - - * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New - procedure. - - * sem_ch3.adb (Analyze_Component_Declaration): Improve error message - when component type is a partially constrained class-wide subtype. - (Constrain_Discriminated_Type): If parent type has unknown - discriminants, a constraint is illegal, even if full view has - discriminants. - (Build_Derived_Record_Type): Inherit discriminants when deriving a type - with unknown discriminants whose full view is a discriminated record. - - * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants - flag, to handle properly derivations of tagged types with unknown - discriminants. - (Analyze_Package_Spec, Analyze_Package_Body): Install - Private_With_Clauses before analyzing private part or body. - - * einfo.ads: Indicate that both Has_Unknown_Discriminants and - Has_Discriminants can be true for a given type (documentation). - -2004-03-05 Arnaud Charlet <charlet@act-europe.fr> - - * s-restri.ads: Fix license (GPL->GMGPL). - - * s-tassta.adb: Minor reformatting. - - * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level - by calls to Exit_One_ATC_Level, since additional clean up is performed - by this function. - - * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level - by calls to Exit_One_ATC_Level, since additional clean up is performed - by this function. - -2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c: Reflect GCC changes to fix bootstrap problem. - Add warning for suspicious aliasing unchecked conversion. - -2004-03-05 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-03-02 Emmanuel Briot <briot@act-europe.fr> - - * ali.adb (Read_Instantiation_Instance): Do not modify the - current_file_num when reading information about instantiations, since - this corrupts files in later references. - -2004-03-02 Vincent Celier <celier@gnat.com> - - * bcheck.adb (Check_Consistency): Get the full path of an ALI file - before checking if it is read-only. - - * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front - of SRC_DIRS and eliminate duplicates. - - * gprcmd.adb: Replace command "path" with command "path_sep" to return - the path separator. - (Usage): Document path_sep - - * Makefile.generic: For Ada and GNU C++ cases, link directly with the - C++ compiler. No need for a script. - Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH. - Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function - subst. - - * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project - where there are Ada sources. - (Set_Ada_Paths): Only add to the include path the source dirs of project - with Ada sources. - (Add_To_Path): Add the Display_Values of the directories, not their - Values. - - * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project - data. - - * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value - is not No_Name. - (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only - Value is canonicalized. - (Language_Independent_Check): Do not copy Value to Display_Value when - canonicalizing Value. - - * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased - path to find limited with cycles. - (Parse_Single_Project): Use canonical cased path to find the end of a - with cycle. - -2004-03-02 Ed Schonberg <schonberg@gnat.com> - - * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit - and not a child unit. - - * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can - appear in a with_clause. - - * decl.c (gnat_to_gnu_type): If entity is a generic type, which can - only happen in type_annotate mode, do not try to elaborate it. - - * exp_util.adb (Force_Evaluation): If expression is a selected - component on the left of an assignment, use a renaming rather than a - temporary to remove side effects. - - * freeze.adb (Freeze_Entity): Do not freeze a global entity within an - inlined instance body, which is analyzed before the end of the - enclosing scope. - -2004-03-02 Robert Dewar <dewar@gnat.com> - - * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb, - sem_ch4.adb: Use new feature for substitution of keywords in VMS - - * errout.ads, errout.adb: Implement new circuit for substitution of - keywords in VMS. - - * sem_case.adb (Analyze_Choices): Place message properly when case is - a subtype reference rather than an explicit range. - - * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting - -2004-03-02 Doug Rupp <rupp@gnat.com> - - * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF. - -2004-03-02 Thomas Quinot <quinot@act-europe.fr> - - * s-tporft.adb: Add missing locking around call to Initialize_ATCB. - -2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a - BLKmode bitfield. - -2004-02-25 Robert Dewar <dewar@gnat.com> - - * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads, - 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads, - 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads, - 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads, - 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads, - 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to - the defining instance of the type to avoid aliasing problems. - Fix copyright header. Fix bad comments in package header. - - * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting - -2004-02-25 Ed Schonberg <schonberg@gnat.com> - - * exp_ch2.adb (Param_Entity): Handle properly formals that have been - rewritten as references when aliased through an address clause. - - * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking - whether call can be interpreted as an indirect call to the result of a - parameterless function call returning an access subprogram. - -2004-02-25 Arnaud Charlet <charlet@act-europe.fr> - - Code clean up: - * exp_ch7.adb (Make_Clean): Remove generation of calls to - Unlock[_Entries], since this is now done by Service_Entries directly. - - * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto. - - * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure - Requeue_Call for better code readability. Change spec and update calls: - PO_Service_Entries now unlock the PO on exit. - (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to - PO_Service_Entries. - - * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit. - - * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries. - -2004-02-25 Sergey Rybin <rybin@act-europe.fr> - - * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the - protected subprogram call and analyzing the result of such expanding - in case when the called protected subprogram is eliminated. - - * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope - names. - -2004-02-25 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in: Clean ups. - -2004-02-23 Ed Schonberg <schonberg@gnat.com> - - * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create - protected operations if original subprogram is flagged as eliminated. - (Expand_N_Subprogram_Body): For a protected operation, create - discriminals for next operation before checking whether the operation - is eliminated. - - * exp_ch9.adb (Expand_N_Protected_Body, - Expand_N_Protected_Type_Declaration): Do not generate specs and bodies - for internal protected operations if the original subprogram is - eliminated. - - * sem_elim.adb (Check_Eliminated): Handle properly protected operations - declared in a single protected object. - -2004-02-23 Vincent Celier <celier@gnat.com> - - * prj-attr.adb: Make attribute Builder'Executable an associative array, - case insensitive if file names are case insensitive, instead of a - standard associative array. - - * prj-attr.adb (Initialize): For 'b' associative arrays, do not set - them as case insensitive on platforms where the file names are case - sensitive. - - * prj-part.adb (Parse_Single_Project): Make sure, when checking if - project file has already been parsed that canonical path are compared. - -2004-02-23 Robert Dewar <dewar@gnat.com> - - * sinput-c.ads: Correct bad unit title in header - - * freeze.adb: Minor reformatting - -2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (tree_transform, case N_Procedure_Call_Statement): For - nonaddressable COMPONENT_REF that is removing padding that we are - taking the address of, take the address of the padded record instead - if item is variable size. - -2004-02-20 Robert Dewar <dewar@gnat.com> - - * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting - -2004-02-20 Ed Schonberg <schonberg@gnat.com> - - * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates - itype references for the constrained designated type of a component - whose base type is already frozen. - -2004-02-20 Arnaud Charlet <charlet@act-europe.fr> - - * init.c (__gnat_error_handler [tru64]): Rewrite previous change to - avoid GCC warnings. - -2004-02-20 Sergey Rybin <rybin@act-europe.fr> - - * sem_ch12.adb (Analyze_Formal_Package): Create a new defining - identifier for a phantom package that rewrites the formal package - declaration with a box. The Add semantic decorations for the defining - identifier from the original node (that represents the formal package). - -2004-02-19 Matt Kraai <kraai@alumni.cmu.edu> - - * Make-lang.in (ada/stamp-sdefault): Use the top level - move-if-change. - -2004-02-19 Richard Henderson <rth@redhat.com> - - * misc.c (record_code_position): Add third build arg for RTL_EXPR. - -2004-02-18 Emmanuel Briot <briot@act-europe.fr> - - * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that - Scan_ALI can be used for multiple ALI files without reinitializing - between calls. - -2004-02-18 Robert Dewar <dewar@gnat.com> - - * debug.adb: Minor reformatting. - -2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET - to zero if there is an address clause. - -2004-02-18 Thomas Quinot <quinot@act-europe.fr> - - * exp_util.adb (Side_Effect_Free): Any literal is side effects free. - -2004-02-18 Gary Dismukes <dismukes@gnat.com> - - * layout.adb (Layout_Component_List): Revise generation of call to - discriminant-checking function to pass selections of all of the type's - discriminants rather than just the variant-controlling discriminant. - -2004-02-18 Olivier Hainque <hainque@act-europe.fr> - - * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to - fail in the current setup and triggers spurious system error messages. - Pretend it occurred and failed instead. - -2004-02-18 Vincent Celier <celier@gnat.com> - - * bld.adb: Mark FLDFLAGS as saved - (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when - it is not the root project. Put each directory to be - extended between double quotes to prevent it to be expanded on Windows. - (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing - the project file. Set them back to their initial values if they have not - been set in the project file. - - * gprcmd.adb: (Gprdebug, Debug): New global variables - (Display_Command): New procedure - (Usage): Document new command "linkopts" - Call Display_Command when env var GPRDEBUG has the value "TRUE" - Implement new command "linkopts" - Remove quotes that may be around arguments for "extend" - Always call Normalize_Pathname with arguments formatted for the platform - - * Makefile.generic: Link C/C++ mains with $(FLDFLAGS) - Change @echo to @$(display) in target clean to be able to clean silently - - * Makefile.prolog: Save FLDFLAGS and give it an initial empty value - - * prj-part.adb (Project_Path_Name_Of): Do not put final result in - canonical case. - - * prj-part.adb (Parse_Single_Project): Always call with From_Extended - = Extending_All when current project is an extending all project. - - * vms_conv.adb (Output_File_Expected): New Boolean global variable, - set to True only for LINK command, after Unix switch -o. - (Process_Arguments): Set Output_File_Expected to True for LINK command - after Unix switch -o. When Output_File_Expected is True, never add an - extension to a file name. - - * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the - option file name, only to the --for-linker= switch. - (Option_File_Name): If option file name do not end with ".opt", append - "/OPTIONS". - -2004-02-18 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-02-17 Matt Kraai <kraai@alumni.cmu.edu> - - * Make-lang.in (stamp-sdefault): Do not depend on - move-if-change. - -2004-02-12 Zack Weinberg <zack@codesourcery.com> - - * config-lang.in: Disable Ada by default until probe logic for - a bootstrap Ada compiler can be moved to the top level configure - script. - -2004-02-12 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (components_to_record): Don't claim that the internal fields - we make to hold the variant parts are semantically addressable, because - they are not. - - * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and - adjust the comment describing the modular type form when we can use it. - (Install_PAT): Account for the Esiz renaming. - - * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the - sc_onstack context indication before raising the exception to which - the signal is mapped. Allows better handling of later signals possibly - triggered by the resumed user code if the exception is handled. - -2004-02-12 Arnaud Charlet <charlet@act-europe.fr> - - * 5zinit.adb: Removed, no longer used. - -2004-02-12 Robert Dewar <dewar@gnat.com> - - * ali.adb: Remove separating space between parameters on R line. Makes - format consistent with format used by the binder for Set_Globals call. - - * atree.ads, atree.adb: Minor reformatting (new function header format) - - * bindgen.adb: Add Run-Time Globals documentation section containing - detailed documentation of the globals passed from the binder file to - the run time. - - * gnatls.adb: Minor reformatting - - * init.c (__gnat_set_globals): Add note pointing to documentation in - bindgen. - - * lib-writ.ads, lib-writ.adb: Remove separating space between - parameters on R line. - Makes format consistent with format used by the binder for Set_Globals - call. - - * osint.ads: Add 2004 to copyright notice - Minor reformatting - - * snames.ads: Correct capitalization of FIFO_Within_Priorities - Noticed during code reading, documentation issue only - - * usage.adb: Remove junk line for obsolete C switch - Noticed during code reading - -2004-02-12 Vincent Celier <celier@gnat.com> - - * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd - extend for each directory, so that multiple /** directories are - extended individually. - (Recursive_Process): Set the default for LANGUAGES to ada - - * gprcmd.adb: Define new command "ignore", to do nothing. - Implement new comment "path". - - * Makefile.generic: Suppress output when SILENT is set - Make sure that when compiler for C/C++ is gcc, the correct -x switch is - used, so that the correct compiler is invoked. - When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/ - CXX_INCLUDE_PATH, to avoid failure with too long command lines. - -2004-02-12 Jerome Guitton <guitton@act-europe.fr> - - * Makefile.in: Clean ups and remove obsolete targets. - -2004-02-12 Ed Schonberg <schonberg@gnat.com> - - * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar - predicate declared in exp_util. - - * exp_util.adb: Add comments. - - * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from - visibility before compiling context of the subunit. - - * sem_res.adb (Check_Parameterless_Call): If the context expects a - value but the name is a procedure, do not attempt to analyze as a call, - in order to obtain more telling diagnostics. - - * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing - 'Access on parameterless function calls. - (Normalize_Actuals): For a parameterless function call with missing - actuals, defer diagnostic until resolution of enclosing call. - - * sem_util.adb (Wrong_Type): If the context type is an access to - subprogram and the expression is a procedure name, suggest a missing - 'attribute. - -2004-02-10 Arnaud Charlet <charlet@act-europe.fr>, - Nathanael Nerode <neroden@gcc.gnu.org> - - PR ada/6637 - PR ada/5911 - Merge with libada-branch: - * config-lang.in: Build libada only when ada is built. - -2004-02-09 Ed Schonberg <schonberg@gnat.com> - - * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality - for a tagged type, verify that both formals have the same type. - - * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the - temporary when the formal is an in-parameter and the actual a possibly - unaligned slice. - - * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even - when expansion is disabled, to ensure proper name capture with - overloaded literals. Condition can be of any boolean type, resolve - accordingly. - - * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the - renaming is for a formal subprogram with a default operator name, and - there is a usable operator that is visible at the point of - instantiation. - -2004-02-09 Robert Dewar <dewar@gnat.com> - - * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major - rewrite to ignore errors in ali files, intended to allow tools downward - compatibility with new versions of ali files. - - * ali.ads: Add new parameter Ignore_Errors - - * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes - duplicating the error message giving the file with restrictions. - - * debug.adb: Add debug flag I for gnatbind - - * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around - operators for the case where the operator is a defining operator. - - * exp_ch3.adb: Minor reformatting (new function spec format). - - * exp_ch4.adb: Add comment for previous change, and make minor - adjustment to loop to always check for improper loop termination. - Minor reformatting throughout (new function spec format). - - * gnatbind.adb: Implement -di debug flag for gnatbind - - * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True - - * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True - - * lib-load.adb: Fix bad assertion. - Found by testing and code reading. - Minor reformatting. - - * lib-load.ads: Minor reformatting. - - * lib-writ.adb: There is only one R line now. - - * lib-writ.ads: Add documentation on making downward compatible changes - to ali files so old tools work with new ali files. - There is only one R line now. - Add documentation on format incompatibilities (with special GPS note) - - * namet.ads, namet.adb: (Is_Operator_Name): New procedure - - * par-load.adb: Minor reformatting - - * sem_ch8.adb: Fix to error message from last update - Minor reformatting and restructuring of code from last update - - * par-prag.adb, snames.adb, snames.ads, snames.h, - sem_prag.adb: Implement pragma Profile. - - * stylesw.adb: Implement -gnatyN switch to turn off all style check - options. - - * usage.adb: Add line for -gnatyN switch - - * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN - -2004-02-09 Albert Lee <lee@gnat.com> - - * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX - -2004-02-09 Ed Schonberg <schonberg@gnat.com> - - * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null - slices. - - * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram - is nested in an instance that is not frozen yet, to avoid - order-of-elaboration problems in gigi. - - * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined - body the attribute is legal. - -2004-02-09 Robert Dewar <dewar@gnat.com> - - * s-rident.ads: Minor comment correction - - * targparm.adb: Remove dependence on uintp completely. There was - always a bug in Make in that it called Targparm before initializing - the Uint package. The old code appeared to get away with this, but - the new code did not! This caused an assertion error in gnatmake. - - * targparm.ads: Fix bad comment, restriction pragmas with parameters - are indeed fully supported. - -2004-02-06 Alan Modra <amodra@bigpond.net.au> - - * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call. - -2004-02-05 Kazu Hirata <kazu@cs.umass.edu> - - * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES - with targetm.calls.promote_prototypes. - -2004-02-04 Robert Dewar <dewar@gnat.com> - - * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb, - ali.ads, gprcmd.adb: Minor reformatting - - * bindgen.adb: Output restrictions string for new style restrictions - handling - - * impunit.adb: Add s-rident.ads (System.Rident) and - s-restri (System.Restrictions) - - * lib-writ.adb: Fix bug in writing restrictions string (last few - entries wrong) - - * s-restri.ads, s-restri.adb: Change name Restrictions to - Run_Time_Restrictions to avoid conflict with package name. - Add circuit to read and acquire run time restrictions. - -2004-02-04 Jose Ruiz <ruiz@act-europe.fr> - - * restrict.ads, restrict.adb: Use the new restriction - No_Task_Attributes_Package instead of the old No_Task_Attributes. - - * sem_prag.adb: No_Task_Attributes is a synonym of - No_Task_Attributes_Package. - - * snames.ads, snames.adb: New entry for proper handling of - No_Task_Attributes. - - * s-rident.ads: Adding restriction No_Task_Attributes_Package - (AI-00249) that supersedes the GNAT specific restriction - No_Task_Attributes. - -2004-02-04 Ed Schonberg <schonberg@gnat.com> - - * sem_prag.adb: - (Analyze_Pragma, case Warnings): In an inlined body, as in an instance - body, an identifier may be wrapped in an unchecked conversion. - -2004-02-04 Vincent Celier <celier@gnat.com> - - * lib-writ.ads: Comment update for the W lines - - * bld.adb: (Expression): An empty string list is static - - * fname-uf.adb: Minor comment update - - * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail - - * gnatbind.adb: Initialize Cumulative_Restrictions with the - restrictions on the target. - -2004-02-03 Kazu Hirata <kazu@cs.umass.edu> - - * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of - gen_rtx. - -2004-02-02 Arnaud Charlet <charlet@gnat.com> - - * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded. - -2004-02-02 Vincent Celier <celier@gnat.com> - - * gprcmd.adb (Check_Args): If condition is false, print the invoked - comment before the usage. - Gprcmd: Fail when command is not recognized. - (Usage): Document command "prefix" - - * g-md5.adb (Digest): Process last block. - (Update): Do not process last block. Store remaining characters and - length in Context. - - * g-md5.ads (Update): Document that several call to update are - equivalent to one call with the concatenated string. - (Context): Add fields to allow new Update behaviour. - - * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail, - defaulted to False. - When May_Fail is True and no existing file can be found, return No_File. - - * 6vcstrea.adb: Inlined functions are now wrappers to implementation - functions. - - * lib-writ.adb (Write_With_Lines): When body file does not exist, use - spec file name instead on the W line. - -2004-02-02 Robert Dewar <dewar@gnat.com> - - * ali.adb: Read and acquire info from new format restrictions lines - - * bcheck.adb: Add circuits for checking restrictions with parameters - - * bindgen.adb: Output dummy restrictions data - To be changed later - - * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, - exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb, - freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb, - sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb, - sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling. - - * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses - the warning message on access to possibly uninitialized variable S) - Minor changes for new restrictions handling. - - * gnatbind.adb: Minor reformatting - Minor changes for new restrictions handling - Move circuit for -r processing here from bcheck (cleaner) - - * gnatcmd.adb, gnatlink.adb: Minor reformatting - - * lib-writ.adb: Output new format restrictions lines - - * lib-writ.ads: Document new R format lines for new restrictions - handling. - - * s-restri.ads/adb: New files - - * Makefile.rtl: Add entry for s-restri.ads/adb - - * par-ch3.adb: Fix bad error messages starting with upper case letter - Minor reformatting - - * restrict.adb: Major rewrite throughout for new restrictions handling - Major point is to handle restrictions with parameters - - * restrict.ads: Major changes in interface to handle restrictions with - parameters. Also generally simplifies setting of restrictions. - - * snames.ads/adb: New entry for proper handling of No_Requeue - - * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks - restriction counting. - Other minor changes for new restrictions handling - - * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements. - Restriction_Warnings now allows full parameter notation - Major rewrite of Restrictions for new restrictions handling - -2004-02-02 Javier Miranda <miranda@gnat.com> - - * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y - syntax rule for object renaming declarations. - (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for - component definitions. - - * sem_ch3.adb (Analyze_Component_Declaration): Give support to access - components. - (Array_Type_Declaration): Give support to access components. In addition - it was also modified to reflect the name of the object in anonymous - array types. The old code did not take into account that it is possible - to have an unconstrained anonymous array with an initial value. - (Check_Or_Process_Discriminants): Allow access discriminant in - non-limited types. - (Process_Discriminants): Allow access discriminant in non-limited types - Initialize the new Access_Definition field in N_Object_Renaming_Decl - node. Change Ada0Y to Ada 0Y in comments - - * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in - equality operators. - Change Ada0Y to Ada 0Y in comments - - * sem_ch8.adb (Analyze_Object_Renaming): Give support to access - renamings Change Ada0Y to Ada 0Y in comments - - * sem_type.adb (Find_Unique_Type): Give support to the equality - operators for universal access types - Change Ada0Y to Ada 0Y in comments - - * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms - - * sinfo.ads (N_Component_Definition): Addition of Access_Definition - field. - (N_Object_Renaming_Declaration): Addition of Access_Definition field - Change Ada0Y to Ada 0Y in comments - - * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for - component definition and object renaming nodes - Change Ada0Y to Ada 0Y in comments - -2004-02-02 Jose Ruiz <ruiz@act-europe.fr> - - * restrict.adb: Use the new restriction identifier - No_Requeue_Statements instead of the old No_Requeue for defining the - restricted profile. - - * sem_ch9.adb (Analyze_Requeue): Check the new restriction - No_Requeue_Statements. - - * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249) - that supersedes the GNAT specific restriction No_Requeue. The later is - kept for backward compatibility. - -2004-02-02 Ed Schonberg <schonberg@gnat.com> - - * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads, - 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant - pragma and fix incorrect ones. - - * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a - warning if the pragma is redundant. - -2004-02-02 Thomas Quinot <quinot@act-europe.fr> - - * 5staprop.adb: Add missing 'constant' keywords. - - * Makefile.in: use consistent value for SYMLIB on - platforms where libaddr2line is supported. - -2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * utils.c (end_subprog_body): Do not call rest_of_compilation if just - annotating types. - -2004-02-02 Olivier Hainque <hainque@act-europe.fr> - - * init.c (__gnat_install_handler): Setup an alternate stack for signal - handlers in the environment thread. This allows proper propagation of - an exception on stack overflows in this thread even when the builtin - ABI stack-checking scheme is used without support for a stack reserve - region. - - * utils.c (create_field_decl): Augment the head comment about bitfield - creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P - here, because the former is not accurate enough at this point. - Let finish_record_type decide instead. - Don't make a bitfield if the field is to be addressable. - Always set a size for the field if the record is packed, to ensure the - checks for bitfield creation are triggered. - (finish_record_type): During last pass over the fields, clear - DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is - not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P - from DECL_BIT_FIELD. - -2004-01-30 Kelley Cook <kcook@gcc.gnu.org> - - * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir). - (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise. - (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise. - -2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB. - - * 5fsystem.ads (Functions_Return_By_DSP): Set to False. - (ZCX_By_Default): Likewise. - (Front_End_ZCX_Support): Likewise. - - * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced. - (Initialize_Lock): Mark Level unreferenced. - (Sleep): Mark Reason unreferenced. - (Timed_Sleep): Likewise. - (Wakeup): Likewise. - (Exit_Task): Use Result. - (Check_No_Locks): Mark Self_ID unreferenced. - - * 5gtasinf.adb (New_Sproc): Make Attr constant. - (Bound_Thread_Attributes): Make Sproc constant. - (New_Bound_Thread_Attributes): Likewise. - -2004-01-26 Ed Schonberg <schonberg@gnat.com> - - * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for - one-dimensional array an slice assignments, when component type is - controlled. - - * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional, - component type is controlled, and control_actions are in effect, use - TSS procedure rather than generating inline code. - - * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional - arrays with controlled components. - -2004-01-26 Vincent Celier <celier@gnat.com> - - * gnatcmd.adb (GNATCmd): Add specification of argument file on the - command line for the non VMS case. - - * gnatlink.adb (Process_Binder_File): When building object file, if - GNU linker is used, put all object paths between quotes, to prevent ld - error when there are unusual characters (such as '!') in the paths. - - * Makefile.generic: When there are sources in Ada and the main is in - C/C++, invoke gnatmake with -B, instead of -z. - - * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted - from VMS_Conversion. - (Process_Argument): New procedure, extracted from VMS_Conversion. Add - specification of argument file on the command line. - -2004-01-26 Bernard Banner <banner@gnat.com> - - * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64 - -2004-01-26 Ed Schonberg <schonberg@gnat.com> - - * snames.adb: Update copyright notice. - Add info on slice assignment for controlled arrays. - -2004-01-23 Robert Dewar <dewar@gnat.com> - - * exp_aggr.adb: Minor reformatting - - * exp_ch9.adb: Minor code clean up - Minor reformatting - Fix bad character in comment - - PR ada/13471 - * targparm.adb (Get_Target_Parameters): Give clean abort error on - unexpected end of file, along with more detailed message. - -2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of - PAT. - - * decl.c (copy_alias_set): New function. - (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it. - -2004-01-23 Doug Rupp <rupp@gnat.com> - - * Makefile.in (install-gnatlib): Change occurrences of lib$$file to - lib$${file} in case subsequent character is not a separator. - -2004-01-23 Vincent Celier <celier@gnat.com> - - * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc - when the GCC version is at least 3. - - * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches - Remove all "Opt.", to prepare for opt split - - * prj-part.adb (Parse_Single_Project): New Boolean out parameter - Extends_All. Set to True when the project parsed is an extending all - project. Fails for importing an extending all project only when the - imported project is an extending all project. - (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause, - depending on the value of Extends_All returned. - - * prj-proc.adb (Process): Check that no project shares its object - directory with a project that extends it, directly or indirectly, - including a virtual project. - Check that no project extended by another project shares its object - directory with another also extended project. - - * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for - Kind = N_With_Clause - - * prj-tree.ads: Minor reformatting - Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All). - -2004-01-23 Ed Schonberg <schonberg@gnat.com> - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute - applies to a type with an incomplete view, use full view in Name of - clause, for consistency with uses of Get_Attribute_Definition_Clause. - -2004-01-23 Arnaud Charlet <charlet@act-europe.fr> - - * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using - SCHED_RR, since other values are not supported by this policy. - (Initialize): Move initialization of mutex attribute to package - elaboration, to prevent early access to this variable. - - * Makefile.in: Remove mention of Makefile.adalib, unused. - - * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb, - 1ssecsta.ads: Removed, unused. - -2004-01-21 Javier Miranda <miranda@gnat.com> - - * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master - entity if already built in the current scope. - - * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity - reminder in internal scopes. Required for nested limited aggregates. - -2004-01-21 Doug Rupp <rupp@gnat.com> - - * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on - VMS. Replace all occurences of libgnat- and libgnarl- with - libgnat$(hyphen) and libgnarl$(hyphen). - Fixed shared library build problem on VMS. - -2004-01-21 Robert Dewar <dewar@gnat.com> - - * mlib-prj.adb: Minor reformatting - -2004-01-21 Thomas Quinot <quinot@act-europe.fr> - - * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing - 'constant' keywords for declaration of pointers that are not modified. - - * exp_pakd.adb: Fix English in comment. - -2004-01-21 Ed Schonberg <schonberg@gnat.com> - - PR ada/10889 - * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype, - copy all attributes of the parent, including the foreign language - convention. - -2004-01-21 Sergey Rybin <rybin@act-europe.fr> - - PR ada/10565 - * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check - for 'delay until' statement. - -2004-01-20 Kelley Cook <kcook@gcc.gnu.org> - - * Make-lang.in: Replace $(docdir) with doc. - (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info - doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update - to use consistent MAKEINFO rule. - (ada.man, ada.srcman): Dummy entry. - (ADA_INFOFILES): Define. - (ada.info, ada.srcinfo): New rules. - -2004-01-19 Arnaud Charlet <charlet@act-europe.fr> - - * utils.c: Update copyright notice, missed in previous change. - -2004-01-19 Vincent Celier <celier@gnat.com> - - * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the - args if Bind is True. Set First_ALI, if not already done. - (Build_Library): For Stand Alone Libraries, extract from one ALI file - an eventual --RTS switch, for gnatbind, and all backend switches + - --RTS, for linking. - -2004-01-19 Robert Dewar <dewar@gnat.com> - - * sem_attr.adb, memtrack.adb: Minor reformatting - -2004-01-19 Ed Schonberg <schonberg@gnat.com> - - * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions - that rename enumeration literals. This is properly done in sem_eval. - - * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls - to functions that rename enumeration literals. - - * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to - functions that rename enumeration literals. - -2004-01-16 Kazu Hirata <kazu@cs.umass.edu> - - * Make-lang.in (utils.o): Depend on target.h. - * utils.c: Include target.h. - (process_attributes): Use targetm.have_named_sections instead - of ASM_OUTPUT_SECTION_NAME. - -2004-01-16 Andreas Jaeger <aj@suse.de> - - * Makefile.in: Add $(DESTDIR). - -2004-01-15 Olivier Hainque <hainque@act-europe.fr> - - * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size - also when not defining if a Size clause applies. That information is - not to be ignored. - -2004-01-15 Arnaud Charlet <charlet@act-europe.fr> - - * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up - symbolic links for the shared gnat run time when needed. - -2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr> - - * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened - for writing, and terminate with an error message if not. - -2004-01-15 Ed Schonberg <schonberg@gnat.com> - - * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious - warning on an access to subprogram in an instance, when the target - type is declared in the same generic unit. - (Eval_Attribute): If 'access is known to fail accessibility check, - rewrite as a raise statement. - -2004-01-15 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-01-15 Kelley Cook <kcook@gcc.gnu.org> - - * Make-lang.in (ada.srcextra): Dummy entry. - -2004-01-14 Kelley Cook <kcook@gcc.gnu.org> - - * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode. - -2004-01-13 Ed Schonberg <schonberg@gnat.com> - - * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled - components that are initialized with aggregates. - -2004-01-13 Vincent Celier <celier@gnat.com> - - * gnatlink.adb (Process_Binder_File): To find directory of shared - libgcc, if "gcc-lib" is not a subdirectory, look for the last - subdirectory "lib" in the path of the shared libgnat or libgnarl. - - * make.adb (Gnatmake): If GCC version is at least 3, link with - -shared-libgcc, when there is at least one shared library project. - - * opt.ads (GCC_Version): New integer constant. - - * adaint.c (get_gcc_version): New function. - -2004-01-13 Robert Dewar <dewar@gnat.com> - - * sem_dist.adb, sem_res.adb, sem_util.adb, - sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb, - exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting - -2004-01-13 Thomas Quinot <quinot@act-europe.fr> - - * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb, - g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object - declarations. - -2004-01-12 Arnaud Charlet <charlet@act-europe.fr> - - * misc.c: Remove trailing spaces. - Update copyright notice missed in previous change. - - PR ada/13572 - * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of - prefix/share/make - - * Makefile.generic: Update copyright. - Add license notice. - - * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead - of prefix/share/make. - - * Makefile.prolog: Update copyright. - Add license notice. - -2004-01-12 Laurent Pautet <pautet@act-europe.fr> - - * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb, - 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb, - g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr - instead of String. - - * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message - signature. - -2004-01-12 Javier Miranda <miranda@gnat.com> - - * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb, - exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb, - sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb, - sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of - Component_Definition node. - -2004-01-12 Ed Falis <falis@gnat.com> - - * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit - -2004-01-12 Thomas Quinot <quinot@act-europe.fr> - - * link.c: Change default libgnat kind to STATIC for FreeBSD. - -2004-01-12 Bernard Banner <banner@gnat.com> - - * Makefile.in: map 86numaux to a-numaux for x86_64 - -2004-01-12 Ed Schonberg <schonberg@gnat.com> - - * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity - generated to rename a generic actual, go to the actual itself, the - subtype is not a user-visible entity. - - * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible - part is a private subtype, reset the visibility of its full view, if - any, to be consistent. - - PR ada/13417 - * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt - to use a generic package G as a formal package for another generic - declared within G. - -2004-01-12 Robert Dewar <dewar@gnat.com> - - * trans.c (Eliminate_Error_Msg): New procedure called to generate msg - - * usage.adb: Remove mention of obsolete -gnatwb switch - Noticed during code reading - -2004-01-12 Jerome Guitton <guitton@act-europe.fr> - - * 1ssecsta.adb: Minor changes for -gnatwa warnings - -2004-01-12 GNAT Script <nobody@gnat.com> - - * Make-lang.in: Makefile automatically updated - -2004-01-09 Mark Mitchell <mark@codesourcery.com> - - * misc.c (gnat_expand_expr): Add alt_rtl parameter. - -2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * link.c [sgi] (shared_libgnat_default): Change to STATIC. - -2004-01-05 Kelley Cook <kcook@gcc.gnu.org> - - * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18. - Update comment and copyright date. - * stamp-xgnatug: Delete. - -2004-01-05 Robert Dewar <dewar@gnat.com> - - * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may - be modified by the binder generated main program if the -D switch is - used. - - * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all - imported functions (since now we expect this to be done for imported - functions) - - * 5vtaprop.adb: Add several ??? for sections requiring more comments - Minor reformatting throughout - - * 5zinit.adb: Minor reformatting - Add 2004 to copyright date - Minor changes to avoid -gnatwa warnings - Correct some instances of using OR instead of OR ELSE (noted while - doing reformatting) - - * sprint.adb: Minor updates to avoid -gnatwa warnings - - * s-secsta.ads, s-secsta.adb: - (SS_Get_Max): New function to obtain high water mark for ss stack - Default_Secondary_Stack is not a constant since it may be modified by - the binder generated main program if the -D switch is used. - - * switch-b.adb: New -Dnnn switch for binder - - * switch-c.adb: - Make -gnatg imply all warnings currently in -gnatwa - - * vms_conv.adb: Minor reformatting - Add 2004 to copyright notice - Add 2004 to printed copyright notice - - * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb, - 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb, - 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb, - 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb, - 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb, - 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb, - 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb, - 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb, - 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb, - 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb, - 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb, - vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb, - xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads, - sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb, - checks.adb, clean.adb, cstand.adb, einfo.ads, - einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb, - exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb, - prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb, - sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb, - g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb, - lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb: - Minor reformatting and code clean ups. - Minor changes to prevent -gnatwa warnings - - * ali.adb: Minor reformatting and cleanup of code - Acquire new SS indication of secondary stack use from ali files - - * a-numaux.ads: Add Pure_Function pragmas for all imported functions - (since now we expect this to be done for imported functions) - - * bindgen.adb: Generate call to modify default secondary stack size if - -Dnnn switch given - - * bindusg.adb: Add line for new -D switch - - * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate - replacement name for Type_May_Have_Non_Bit_Aligned_Components! - Add circuitry for both records and arrays to avoid gigi - processing if the type involved has non-bit-aligned components - - * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that - N_String_Literal node always references an E_String_Literal_Subtype - entity. This may not be true in the future. - (Possible_Bit_Aligned_Component): Move processing of - Component_May_Be_Bit_Aligned from exp_ch5 to exp_util - - * exp_ch6.adb (Expand_Thread_Body): Pick up - Default_Secondary_Stack_Size as variable so that we get value modified - by possible -Dnnn binder parameter. - - * exp_util.adb (Component_May_Be_Bit_Aligned): New function. - (Type_May_Have_Bit_Aligned_Components): New function. - - * exp_util.ads (Component_May_Be_Bit_Aligned): New function. - (Type_May_Have_Bit_Aligned_Components): New function. - - * fe.h: (Set_Identifier_Casing): Fix prototype. - Add declaration for Sem_Elim.Eliminate_Error_Msg. - Minor reformatting. - - * freeze.adb (Freeze_Entity): Add RM reference to error message about - importing constant atomic/volatile objects. - (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram - unless explicit Pure_Function pragma given, to avoid insidious bug of - call to non-pure imported function getting eliminated. - - * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, - gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb, - gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting - Add 2004 to printed copyright notice - - * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary - stack used. - - * Makefile.rtl: Add entry for g-sestin.o - g-sestin.ads: New file. - - * mdll.adb: Minor changes to avoid -gnatwa warnings - - * mlib-tgt.adb: Minor reformatting - - * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND) - New switch Sec_Stack_Used (GNAT, GNATBIND) - Make Default_Secondary_Stack_Size a variable instead of a constant, - so that it can be modified by the new -Dnnn bind switch. - - * rtsfind.adb (Load_Fail): Give full error message in configurable - run-time mode if all_errors mode is set. This was not done in the case - of a file not found, which was an oversight. - Note if secondary stack unit is used by compiler. - - * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put - ineffective elaborate all pragmas on non-visible packages (this - happened when a renamed subprogram was called). Now the elaborate all - always goes on the package containing the renaming rather than the one - containing the renamed subprogram. - - * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure - (Process_Eliminate_Pragma): Add parameter to capture pragma location. - - * sem_eval.adb (Eval_String_Literal): Do not assume that string literal - has an Etype that references an E_String_Literal. - (Eval_String_Literal): Avoid assumption that N_String_Literal node - always references an E_String_Literal_Subtype entity. This may not - be true in the future. - - * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture - pragma location. - - * sem_res.adb (Resolve): Specialize msg for function name used in proc - call. - -2004-01-05 Ed Falis <falis@gnat.com> - - * g-debuti.adb: Replaced direct boolean operator with short-circuit - form. - -2004-01-05 Vincent Celier <celier@gnat.com> - - * bld.adb: Minor comment updates - (Process_Declarative_Items): Correct incorrect name (Index_Name instead - of Item_Name). - - * make.adb (Gnatmake): Special process for files to compile/check when - -B is specified. Fail when there are only foreign mains in attribute - Main of the project file and -B is not specified. Do not skip bind/link - steps when -B is specified. - - * makeusg.adb: Document new switch -B - - * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag - - * switch-m.adb: (Scan_Make_Switches): Process -B switch - - * vms_data.ads: Add new GNAT PRETTY qualifier - /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff - -2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer - case. - - * misc.c (gnat_printable_name): If VERBOSITY is 2, call - Set_Identifier_Casing. - - * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type - has size that overflows. - -2004-01-05 Gary Dismukes <dismukes@gnat.com> - - * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid - -gnatwa warning on static condition. - -2004-01-05 Doug Rupp <rupp@gnat.com> - - * link.c: (shared_libgnat_default) [VMS]: Change to STATIC. - -2004-01-05 Arnaud Charlet <charlet@act-europe.fr> - - * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve - all attributes, including read-only attribute. - -2004-01-05 Pascal Obry <obry@gnat.com> - - * bindgen.adb (Gen_Object_Files_Options): Generate the new shared - library naming scheme. - - * mlib-prj.adb (Build_Library): Generate different names for the static - or dynamic version of the GNAT runtime. This is needed to support the - new shared library naming scheme. - (Process_Binder_File): Add detection of shared library in binder file - based on the new naming scheme. - - * gnatlink.adb (Process_Binder_File): Properly detect the new naming - scheme for the shared runtime libraries. - - * Makefile.in: - (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming - scheme. - (install-gnatlib): Do not create symlinks for shared libraries. - (gnatlib-shared-default): Idem. - (gnatlib-shared-dual-win32): New target. Not used for now as the - auto-import feature does not support arrays/records. - (gnatlib-shared-win32): Do not create copy for the shared libraries. - (gnatlib-shared-vms): Fix shared runtime libraries names. - - * osint.ads, osint.adb (Shared_Lib): New routine, returns the target - dependent runtime shared library name. - -2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr> - - * osint.adb (Read_Library_Info): Remove bogus check if ALI is older - than the object. - -2004-01-05 Ed Schonberg <schonberg@gnat.com> - - * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic - protected objects when allocator has a subtype indication, not a - qualified expression. Note that qualified expressions may have to be - checked when limited aggregates are implemented. - - * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is - pure, emit warning. - (Analyze_Pragma, case Pure_Function): If enclosing package is pure and - subprogram is imported, remove warning. - -2004-01-05 Geert Bosch <bosch@gnat.com> - - * s-poosiz.adb: Update copyright notice. - (Allocate): Use Task_Lock to protect against concurrent access. - (Deallocate): Likewise. - -2004-01-05 Joel Brobecker <brobecker@gnat.com> - - * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ??? - comment. - - - -Copyright (C) 2004 Free Software Foundation, Inc. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. |