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