X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2FChangeLog;h=b70b7fd538db4ffcfce511fa57dfabdf99dd9dec;hb=912a710685cb83a63c4b927f56d1a8c002dcbc01;hp=328436cba770cf5d2b2817fc234560c9c3fc2109;hpb=2be14d8b4c2974628dc7594f5d85b86c405e7d28;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 328436cba77..b70b7fd538d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,39 +1,1396 @@ +2005-04-07 Laurent GUERBY + John David Anglin + + * Makefile.in: Add make ifeq define for hppa linux tasking support. + * system-hpux.ads: Define Signed_Zeros to be True. + * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files. + +2005-04-01 Kazu Hirata + + * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c, + raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment + typos. + +2005-03-30 Tom Tromey + + * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE. + +2005-03-30 Aaron W. LaFramboise + + * adaint.c (_gnat_set_close_on_exec): Mark parameters unused. + +2005-03-29 Robert Dewar + + * sem_res.adb (Resolve_Real_Literal): Generate warning if static + fixed-point expression has value that is not a multiple of the Small + value. + + * opt.ads (Warn_On_Bad_Fixed_Value): New flag + + * s-taprop-tru64.adb (RT_Resolution): Return an integer number of + nanoseconds. + + * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB + +2005-03-29 Vincent Celier + + * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb + (Build_Dynamic_Library.Version_String): Return the empty string when + Lib_Version is empty or when the symbol policy is not Autonomous. + + * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when + a symbol is not in the reference symbol file, increase the Major ID + and set the Minor ID to 0. + Use gsmatch=lequal instead of gsmatch=equal + +2005-03-29 Doug Rupp + + * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical + name and translate. + +2005-03-29 Javier Miranda + + * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed. + (Inherit_DT): The first formal has been redefined as a Tag. + This allows us the removal of the subprogram Get_TSD. + (TSD): Replace the call to Get_TSD by the actual code. + + * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD. + (Make_DT): Upgrade the call to Inherit_TSD according to the + new interface: the first formal is now a Tag. + + * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been + redefined as a Tag. + This change allows us to remove the subprogram Get_TSD. + (CPP_Get_TSD): Subprogram removed. + (TSD): Replace the call to CPP_Get_TSD by the actual code. + + * rtsfind.ads: Remove support to call the run-time + subprogram Get_TSD + +2005-03-29 Robert Dewar + + * errutil.adb, errout.adb: + Minor comment updates on Line_Terminator references + + * par-ch10.adb: Add ??? comment about line terminator + + * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd + (check dos line terminator). + (Check_Line_Max_Length): New procedure, split off from the existing + Check_Line_Terminator routine. Separating this out allows -gnatyf to + be properly recognized. + + * styleg.adb: Add ??? comment for line terminator reference + + * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored + (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators) + + * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd + (check dos line terminator). + (Check_Line_Max_Length): New procedure, split off from the existing + Check_Line_Terminator routine. Separating this out allows -gnatyf to + be properly recognized. + + * stylesw.ads, stylesw.adb: + Add handling for new -gnatyd switch (check dos line terminator) + + * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator) + Recognize -gnatwb/-gnatwB switches + Include Warn_On_Bad_Fixed_Value for -gnatg + + * usage.adb: + Add line for new -gnatyd switch (check dos line terminator) + + * usage.adb: Add lines for -gnatwb/-gnatwB + + * vms_data.ads: Add entry for NOCRLF (-gnatyd) + + * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB + + * gnat_ugn.texi: Fix overlong lines + Document new -gnatyd switch + Document new -gnatwb/-gnatwB switches + +2005-03-29 Ed Schonberg + + * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in + order to retrieve the component list of the type, before examining + individual components. + + * sem_type.adb (Covers): Types are compatible if one is the base type + of the other, even though their base types might differ when private + views are involved. + +2005-03-29 Thomas Quinot + + * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any, + To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead + of using Set_Renaming_TSS. This ensures that the TSS bodies are not + analyzed if expansion is disabled (which could otherwise cause spurious + error messages if expansion has been disabled due to previous + (unrelated) errors). + + * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion + is disabled, the entity denoted by the argument is the access type + itself, not an underlying record type, so there is no need to go back + to the Corresponding_Remote_Type. + +2005-03-29 Gary Dismukes + Robert Dewar + + * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to + expand a call to an instance of + Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the + Constructor actual of the instance. A class-wide membership + check is also generated, to ensure that the tag passed to the instance + denotes a type in the class. + (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case + of Name_Generic_Dispatching_Constructor. + + * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada + 05 unit for AI-260-02). + + * a-tgdico.ads: New file. + + * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new + predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor. + + * snames.ads, snames.adb (Preset_Names): Add entry for + Generic_Dispatching_Constructor. + + PR ada/20300 + + * sem_ch8.adb (Find_Direct_Name): Go to root type for check of + character type cases. + (Analyze_Subprogram_Renaming): Add special handling for + the case of renaming of stream attributes when the renaming denotes a + generic formal subprogram association for an abstract formal subprogram. + Check that the attribute is a primitive stream attribute (and not + a class-wide stream attribute) and then rewrite the attribute name + as the name of the appropriate compiler-generated stream primitive. + +2005-03-29 Robert Dewar + + * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to + recursive calls. + (Is_Possibly_Unaligned_Object): Correct typo that + resulted in inaccurate result for unaligned scalars within records. + +2005-03-29 Ed Schonberg + + * freeze.adb (Freeze_Record_Type): If the type of the component is an + itype whose parent is controlled and not yet frozen, do not create a + freeze node for the itype if expansion is disabled. + +2005-03-29 Vincent Celier + + * make.adb (Gnatmake): Don't fail if the main project file is declared + as having no Ada sources. Do not display message "no sources to + compile" in quiet output. + +2005-03-29 Doug Rupp + + * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as + extra tools. + +2005-03-29 Robert Dewar + + * par-ch12.adb (P_Generic): Give better msg for illegal private generic + child. + +2005-03-29 Robert Dewar + + * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after + missing TYPE Improve the error message generated when compiling a + limited interface in Ada83 or Ada95 mode. + +2005-03-29 Robert Dewar + + * par-ch4.adb (P_Name): When a bad attribute is returned, return error, + rather than proceed ahead using a junk attribute name. + +2005-03-29 Vincent Celier + + * prj.ads, prj.adb: (Project_Data): Add new component Display_Name + + * prj-part.adb (Parse_Single_Project): Set the location of a project + on its defining identifier, rather than on the reserved word "project". + + * prj-proc.adb (Expression): Adapt to the fact that default of external + references may be string expressions, not always literal strings. + (Recursive_Process): Set Display_Name equal to Name + when Location is No_Location, that is when there is no actual file. + Get the Display_Name of the project from the source, when it is not a + virtual project. + (Process): Use the Display_Name in error messages + + * prj-strt.adb (External_Reference): Allow default to be string + expressions, not only literal strings. + +2005-03-29 Vincent Celier + + * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol + file and the reference symbol file to be the same file. + +2005-03-29 Thomas Quinot + + * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to + forbid conversion of a local access-to-subprogram type to a remote one. + + * sem_util.adb (Wrong_Type): For a record type that is the expanded + equivalent type for a remote access-to-subprogram type, go back to the + original RAS entity when displaying an error message, so the casing is + the original source casing. + +2005-03-29 Robert Dewar + + * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning + on param update. + +2005-03-29 Ed Schonberg + + * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual + subtype if code is being pre-analyzed, to prevent un-expanded + references to protected formals, among others. + (Analyze_Explicit_Dereference): If the overloaded prefix includes some + interpretation that can be a call, include the result of the call as a + possible interpretation of the dereference. + + * sem_ch5.adb (Process_Bounds): Determine type of range by + pre-analyzing a copy of the original range, and then analyze the range + with the expected type. + + * sem_res.adb (Check_Parameterless_Call): For an explicit dereference + with an overloaded prefix where not all interpretations yield an + access to subprogram, do not rewrite node as a call. + (Resolve_Explicit_Dereference): Recognize the previous case and rewrite + the node as a call once the context identifies the interpretation of + the prefix whose call yields the context type. + (Valid_Conversion): For the case of a conversion between + local access-to-subprogram types, check subtype conformance using + Check_Subtype_Conformant instead of Subtype_Conformant, to have a more + detailed error message. + +2005-03-29 Ed Schonberg + + * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null + indicator, indicate that the formal can never be null. + (Process_Formals): If a formal has a non_null indicator, insert the + resulting subtype immediately before the enclosing subprogram decl, + and not at the beginning of the corresponding declarative part, to + prevent access before elaboration (Ada2005). + +2005-03-29 Richard Kenner + + PR ada/19956 + * utils.c (finish_record_type): Use variable_size when setting sizes. + +2005-03-29 Robert Dewar + + * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to + guarantee Unix style line terminators for the output files, even when + running on windows. + +2005-03-29 Robert Dewar + + * a-direct.ads, a-direct.adb (Start_Search): Free allocated search + buffer if an exception is raised. + +2005-03-29 Ed Falis + + * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with + VxWorks 653 1.4 + +2005-03-29 Robert Dewar + + * sem_util.ads: Minor reformatting + * gnat_rm.texi: Minor editing. + +2005-03-29 Eric Botcazou + + * decl.c (gnat_to_gnu_entity) : Rework comment. + * trans.c (tree_transform) : Use correct predicates. + +2005-03-24 Aaron W. LaFramboise + + * adaint.c (__gnat_portable_spawn): Adjust cast. + +2005-03-23 Joseph S. Myers + + * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. + +2005-03-17 Pascal Obry + + * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is + used. + + * expect.c (__gnat_waitpid): Moved here from adaint.c. + Reimplement under Win32 using Win32 API. + + (__gnat_kill) [Win32]: Properly close the process handle before leaving + this routine. + +2005-03-17 Eric Botcazou + + * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate. + (DECL_RENAMED_OBJECT): New accessor macro. + (SET_DECL_RENAMED_OBJECT): New setter macro. + + * decl.c (gnat_to_gnu_entity) : Stabilize the renamed + object in all cases. Attach the renamed object to the VAR_DECL. + (gnat_to_gnu_field): Do not lift the record wrapper if the size of the + field is not prescribed. + + * misc.c (gnat_handle_option): Handle -gnatO separately. + (gnat_print_decl) : New case. + Print the DECL_RENAMED_OBJECT node. + + * lang.opt: Declare separate -gnatO option. + + * trans.c (tree_transform) : If the object is a renaming + pointer, replace it with the renamed object. + : Warn for a conversion to a fat + pointer type if the source is not a fat pointer type whose underlying + array has the same non-zero alias set as that of the destination array. + +2005-03-17 Javier Miranda + + * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed. + (Get_Inheritance_Depth): Removed. + (Set_Inheritance_Depth): Removed. + + * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the + subprogram Get_Expanded_Name because it is not referenced by the + frontend. + + * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed. + (CPP_Get_Inheritance_Depth): Removed. + (CPP_Set_Inheritance_Depth): Removed. + + * tbuild.ads, tbuild.adb (Make_DT_Component): Removed. + +2005-03-17 Robert Dewar + + * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC + 3, since we now expect GCC 3 to do all the work. + +2005-03-17 Javier Miranda + + * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition + of one barrier to avoid wrong usage of this attribute. + + * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute + First_Private_Entity. + + * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect + the subprogram against wrong usage. + Adapt the code to traverse the entities in the + scope of a record_type because in addition to its usage regarding + packages, this subprogram is also called by Expand_N_Freeze_Entity + to install the visible declarations of the enclosing scope of a + record_type_with_private to establish the proper visibility before + freezing the entity and related subprograms. + +2005-03-17 Ed Schonberg + + * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to + entry formals. + +2005-03-17 Thomas Quinot + + * exp_ch3.adb (Check_Attr): New subprogram. + (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement + into a new Check_Attr subprogram, in order to provide a more + explanatory error message (including the name of the missing attribute). + (Stream_Operation_OK): Renamed from Stream_Operations_OK. This + subprogram determines whether a default implementation exists for a + given stream attribute. + (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): + Determine whether to generate a default implementation for each stream + attribute separately, as this depends on the specific attribute. + + * exp_strm.adb (Make_Field_Attribute): For the case of an illegal + limited extension where a stream attribute is missing for a limited + component (which will have been flagged in Exp_Ch3.Sem_Attr), do not + generate a bogus reference to the missing attribute to prevent + cascaded errors. Instead, generate a null statement. + + * sem_attr.adb (Check_Stream_Attribute): A stream attribute is + available for a limited type if it has been specified for an ancestor + of the type. + +2005-03-17 Ed Schonberg + + * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed + entity is an operator. + +2005-03-17 Thomas Quinot + + * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist + spec, to make this predicate available to other units. + + * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of + reimplementing it. + + * sem_ch8.adb: Disable expansion of remote access-to-subprogram types + when no distribution runtime library is available. + + * sem_res.adb, sem_dist.adb: Disable expansion of remote + access-to-subprogram types when no distribution runtime library is + available. + (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this + predicate available to other units. + + * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist + spec, to make this predicate available to other units. + +2005-03-17 Vincent Celier + + * make.adb (Insert_Project_Sources): Make sure the Q is always + initialized. + + * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against + the default for the tree, not the global default naming. + + * prj-proc.adb (Recursive_Process): No need to put the default naming + in the project data, it's already there. + +2005-03-17 Doug Rupp + + * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads. + + * 5xcrtl.ads: Renamed to... + * s-crtl-vms64.ads: ...this new file + +2005-03-17 Robert Dewar + + PR ada/19519 + + * namet.adb (Copy_One_Character): Set proper wide character encoding + for upper half character if we have upper half encoding. + +2005-03-17 Robert Dewar + + * par.adb (Par): Improved msg for attempt to recompile predefined unit + +2005-03-17 Thomas Quinot + + * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a + tagged limited type, the TSS is a newly built renaming declaration: + insert it using Set_TSS, not Copy_TSS. + +2005-03-17 Javier Miranda + + * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and + Try_Object_Operation): Analyze the object that is accessible + through the prefix of the subprogram call before we apply + the transformation of the object-operation notation. + +2005-03-17 Jose Ruiz + + * s-taprob.adb (Initialize_Protection): Initialize the protected + object's owner to Null_Task. + (Lock): If pragma Detect_Blocking is in effect and the caller of this + procedure is already the protected object's owner then Program_Error + is raised. In addition the protected object's owner is updated. + (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller + of this procedure is already the protected object's owner then + Program_Error is raised. + In addition the protected object's owner is updated. + (Unlock): Remove the ownership of the protected object. + + * s-taprob.ads (Protection): Add the field Owner, used to store the + protected object's owner. + This component is needed for detecting one type of potentially blocking + operations (external calls on a protected subprogram with the same + target object as that of the protected action). Document the rest of + the components. + + * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries): + Initialize the protected object's owner to Null_Task. + (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the + caller of this procedure is already the protected object's owner then + Program_Error is raised. + Do not raise Program_Error when this procedure is called from a + protected action. + (Unlock_Entries): Remove the ownership of the protected object. + (Lock_Entries): If pragma Detect_Blocking is in effect and the caller + of this procedure is already the protected object's owner then + Program_Error is raised. + Do not raise Program_Error when this procedure is called from + a protected action. + + * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner, + used to store the protected object's owner. + + * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in + effect and this procedure (a potentially blocking operation) is called + from whithin a protected action, Program_Error is raised. + (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect + and this procedure (a potentially blocking operation) is called from + whithin a protected action, Program_Error is raised. + +2005-03-17 Vincent Celier + Nicolas Setton + + * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini" + switch, not supported by the linker on Darwin. Add '_' before + init, as this character is added unconditionally by the + compiler. + (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the + correct one ".dylib". This fixes detection of the archive files when + building library projects. + +2005-03-17 Vincent Celier + + * switch-m.adb (Normalize_Compiler_Switches): Recognize switches + -gnat83, -gnat95 and -gnat05. + +2005-03-17 Vasiliy Fofanov + + * gnat_ugn.texi: Document gnatmem restriction + +2005-03-17 Thomas Quinot + + * snames.adb: Document new TSS names introduced by exp_dist/exp_tss + cleanup + +2005-03-17 Robert Dewar + + * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb, + a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb, + s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting + + * casing.adb: Comment improvements + +2005-03-17 Pascal Obry + + * g-expect.adb: Minor reformatting. + +2005-03-15 Zack Weinberg + + * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info) + (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi + to dependencies. + +2005-03-15 Vincent Celier + + * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For): + Add new parameter In_Tree to specify the project tree: needed + by the project manager. Adapt to changes in project manager + using new parameter In_Tree. + +2005-03-15 Jakub Jelinek + + * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, + ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of + ada/bldtools to avoid make -jN failures. + +2005-03-15 Eric Botcazou + + * trans.c (gnat_to_gnu) : Set gnu_result + to NULL_TREE on entry. + +2005-03-15 Robert Dewar + + * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads, + system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads, + system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads, + system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads, + system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads, + system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads, + system-interix.ads, system-solaris-sparc.ads, + system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads, + system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads, + system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, + system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads, + system-linux-s390.ads, system-linux-s390x.ads: Add line defining + Compiler_System_Version to be False. + + * opt.ads: Add new flag Opt.Address_Is_Private + + * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private + Add new parameter Compiler_System_Version to avoid checking for + completeness of parameters when compiler is compiling itself. + Allows old versions of GNAT to be compiled with new compiler. + +2005-03-15 Eric Botcazou + + * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function + (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the + calling thread. + (Stack_Base_Available): New flag. + (Get_Page_Size): New overloaded functions imported from C. + (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL, + PROT_ON, PROT_OFF): New constants. + (mprotect): New function imported from C. + (pthread_teb_t): New record type. + + * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone. + (Create_Task): Account for the Yellow Zone and the guard page. + +2005-03-15 Vincent Celier + + * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, + mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, + mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, + mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For, + Library_File_Name_For): Add new parameter In_Tree + to specify the project tree: needed by the project manager. + Adapt to changes in project manager using new parameter In_Tree. + Remove local imports, use functions in System.CRTL. + + * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed + to use the project manager. + + * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter + In_Tree to designate the project tree. Adapt to changes in the project + manager, using In_Tree. + + * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library, + Copy_Interface_Sources): Add new parameter In_Tree to specify the + project tree: needed by the project manager. + (Build_Library): Check that Arg'Length >= 6 before checking if it + contains "--RTS=...". + + * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For, + Library_File_Name_For): Add new parameter In_Tree to specify the + project tree: needed by the project manager. + + * prj.ads, prj.adb: Major modifications to allow several project trees + in memory at the same time. + Change tables to dynamic tables and hash tables to dynamic hash + tables. Move tables and hash tables from Prj.Com (in the visible part) + and Prj.Env (in the private part). Move some constants from the visible + part to the private part. Make other constants deferred. + (Project_Empty): Make it a variable, not a function + (Empty_Project): Add parameter Tree. Returns the data with the default + naming data of the project tree Tree. + (Initialize): After updating Std_Naming_Data, copy its value to the + component Naming of Project Empty. + (Register_Default_Naming_Scheme): Use and update the default naming + component of the project tree, instead of the global variable + Std_Naming_Data. + (Standard_Naming_Data): Add defaulted parameter Tree. If project tree + Tree is not defaulted, return the default naming data of the Tree. + (Initial_Buffer_Size): Constant moved from private part + (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new + variables initialized in procedure Initialize. + (Add_To_Buffer): Add two in out parameters to replace global variables + Buffer and Buffer_Last. + (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New + functions. + Adapt to changes to use new type Project_Tree_Ref and dynamic tables and + hash tables. + (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter + for the project tree. + (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and + constant at the beginning of the package spec, so that they cane be used + in subprograms before their full declarations. + (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref + (Empty_Project): Add parameter of type Project_Node_Ref + (Private_Project_Tree_Data): Add component Default_Naming of type + Naming_Data. + (Buffer, Buffer_Last): remove global variables + (Add_To_Buffer): Add two in out parameters to replace global variables + Buffer and Buffer_Last. + (Current_Packages_To_Check): Remove global variable + (Empty_Name): Move to private part + (No-Symbols): Make it a constant + (Private_Project_Tree_Data): New type for the private part of the + project tree data. + (Project_Tree_Data): New type for the data of a project tree + (Project_Tree_Ref): New type to designate a project tree + (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter + for the project tree. + + * prj-attr.ads: Add with Table; needed, as package Prj no longer + imports package Table. + + * prj-com.adb: Remove empty, no longer needed body + + * prj-com.ads: Move most of the content of this package to package Prj. + + * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to + designate the project node tree and Packages_To_Check to replace + global variable Current_Packages_To_Check. + Add new parameters In_Tree and Packages_To_Check to local subprograms, + when needed. Adapt to changes in project manager with project node tree + In_Tree. + + * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the + project tree to most subprograms. Move tables and hash tables to + private part of package Prj. + Adapt to changes in project manager using project tree In_Tree. + + * prj-makr.adb (Tree): New constant to designate the project node tree + Adapt to change in project manager using project node tree Tree + + * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly + display the Library_Src_Dir and the Library_Dir. + Add new parameter In_Tree to designate the project node tree to most + subprograms. Adapt to changes in the project manager, using project tree + In_Tree. + (Check_Naming_Scheme): Do not alter the casing on platforms where + the casing of file names is not significant. + (Check): Add new parameter In_Tree to designate the + + * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to + designate the project tree. + Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process + + * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables, + to replace those that were in the private part of package Prj. + Add new parameter In__Tree to designate the project node tree to most + subprograms. Adapt to change in Prj.Tree with project node tree In_Tree. + (Post_Parse_Context_Clause): When specifying the project node of a with + clause, indicate that it is a limited with only if there is "limited" + in the with clause, not necessarily when In_Limited is True. + (Parse): Add new parameter In_Tree to designate the project node tree + + * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to + designate the project node tree. Adapt to change in Prj.Tree with + project node tree In_Tree. + + * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project + tree In_Tree in the call to function Empty_Process to give its initial + value to the project data Processed_Data. + Add new parameters In_Tree to designate the project tree and + From_Project_Node_Tree to designate the project node tree to several + subprograms. Adapt to change in project manager with project tree + In_Tree and project node tree From_Project_Node_Tree. + + * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables, + to replace those that were in the private part of package Prj. + Add new parameter In_Tree to designate the project node tree to most + subprograms. Adapt to change in Prj.Tree with project node tree In_Tree. + + * prj-tree.ads, prj-tree.adb: Add new parameter of type + Project_Node_Tree_Ref to most subprograms. + Use this new parameter to store project nodes in the designated project + node tree. + (Project_Node_Tree_Ref): New type to designate a project node tree + (Tree_Private_Part): Change table to dynamic table and hash tables to + dynamic hash tables. + + * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate + the project tree to most subprograms. Adapt to changes in project + manager using project tree In_Tree. + + * makegpr.adb (Project_Tree): New constant needed to use project + manager. + +2005-03-15 Olivier Hainque + + * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler + for sigactions with SA_SIGINFO set. Call + __gnat_adjust_context_for_raise before raising, to perform the + potentially required adjustments to the machine context for the GCC + unwinder. + + * raise.h (__gnat_adjust_context_for_raise): New prototype. + + * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision. + Adjust PC by one in the provided machine context. + (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags, + so that the handler is passed the context structure to adjust prior to + the raise. + (__gnat_error_handler) HPUX: Adjust the signature to match what an + SA_SIGINFO sigaction should look like. Call + __gnat_adjust_context_for_raise before actually raising. + (__gnat_adjust_context_for_raise): Default noop to help PC + adjustments before raise from signal handlers. + (__gnat_error_handler): Indirectly call a predicate function to + determine if a condition should be resignaled or not. + (__gnat_set_resignal_predicate): User interface to modify the predicate. + (__gnat_default_resignal_p): Default GNAT predicate. + +2005-03-15 Doug Rupp + + * adaint.c: Prefix #include of VMS system header files with vms/ + [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS. + Do not define a dummy function "convert_addresses" under Darwin, + not needed. + + * tb-alvms.c, expect.c: Prefix #include of VMS system header files + with vms/ + +2005-03-15 Nicolas Setton + + * tracebak.c: Under Darwin, use the same unwinding mechanisms as under + PPC/AIX. + +2005-03-15 Robert Dewar + + * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for + AI-386. + + * a-retide.ads: Minor comment changes + +2005-03-15 Robert Dewar + + * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads, + a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move + Realloc_For_Chunk to private part of package. + New subprograms for AI-301 + + * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of + Get_Line procedure. + Avoid unnecessary use of Get/Set_Wide_String + +2005-03-15 Robert Dewar + + PR ada/13470 + + * a-stunau.ads, a-stunau.adb: + Change interface to allow efficient (and correct) implementation + The previous changes to allow extra space in unbounded strings had + left this interface a bit broken. + + * a-suteio.adb: Avoid unnecessary use of Get/Set_String + + * g-spipat.ads, g-spipat.adb: New interface for Get_String + Minor reformatting (function specs) + + * g-spitbo.adb: New interface for Get_String + + * g-spitbo.ads: Minor reformatting + + * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String + + * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String + +2005-03-15 Javier Miranda + Robert Dewar + Thomas Quinot + Richard Kenner + + * atree.ads, atree.adb: Add support for Elist24 field + + * atree.h: Fix wrong definition of Field27 + Add support for Elist16 field + Add support for Elist24 field + + * einfo.ads, einfo.adb (Abstract_Interfaces, + Set_Abstract_Interfaces): New subprograms. + (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New + subprograms. + (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of + entities rather than a single node. + (Is_Interface, Set_Is_Interface): New subprogram + (First_Tag_Component): New syntesized attribute + (Next_Tag_Component): New synthesized attribute + (Write_Entity_Flags): Upgraded to write Is_Interface + (Write_Field24_Name): Upgraded to write Abstract_Interfaces + (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias + (Task_Body_Procedure): New subprogram to read this attribute. + (Set_Task_Body_Procedure): New subprogram to set this attribute. + (Has_Controlled_Component): Now applies to all entities. + This is only a documentation change, since it always worked to apply + this to other than composite types (yielding false), but now this is + official. + Update documentation on Must_Be_Byte_Aligned for new spec + + * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb, + exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the + uses of the Access_Disp_Table attribute to reference the first dispatch + table associated with a tagged type. As + part of the implementation of abstract interface types, + Access_Disp_Table has been redefined to contain a list of dispatch + tables (rather than a single dispatch table). + Similarly, upgrade all the references to Tag_Component by the + new attribute First_Tag_Component. + (Find_Inherited_TSS): Moved to exp_tss. + Clean up test in Expand_N_Object_Declaration for cases + where we need to do a separate assignment of the initial value. + (Expand_N_Object_Declaration): If the expression in the + declaration of a tagged type is an aggregate, no need to generate an + additional tag assignment. + (Freeze_Type): Now a function that returns True if the N_Freeze_Entity + is to be deleted. + Bit packed array ops are only called if operands are known to be + aligned. + (Component_Equality): When returning an N_Raise_Program_Error statement, + ensure that its Etype is set to Empty to avoid confusing GIGI (which + expects that only expressions have a bona fide type). + (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly + determine the amount of data to be copied. + + * par.adb (P_Interface_Type_Definition): New subprogram that parses the + new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345): + INTERFACE_TYPE_DEFINITION ::= + [limited | task | protected | synchronized] interface + [AND interface_list] + + * par-ch3.adb (P_Type_Declaration): Modified to give support to + interfaces. + (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to + interfaces. + (P_Interface_Type_Definition): New subprogram that parses the new + syntax rule of Ada 2005 interfaces + (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error + messages by the correct RENAMES (quotes removed). + + * sem_prag.adb: Upgrade all the references to Tag_Component by the new + attribute First_Tag_Component. + + * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed + (Interface_List, Set_Interface_List): New subprograms. + (Interface_Present, Set_Interface_Present): New subprograms. + (Limited_Present, Set_Limited_Present): Available also in derived + type definition nodes. + (Protected_Present, Set_Protected_Present): Available also in + record type definition and + derived type definition nodes. + (Synchronized_Present, Set_Synchronized_Present): New subprograms. + (Task_Present, Set_Task_Present): New subprogram. + (Task_Body_Procedure): Removed. + (Set_Task_Body_Procedure): Removed. + These subprogram have been removed because the attribute + Task_Body_Procedure has been moved to the corresponding task type + or task subtype entity to leave a field free to store the list + of interfaces implemented by a task (for AI-345) + Add Expression field to N_Raise_Statement node for Ada 2005 AI-361 + (Null_Exclusion_Present): Change to Flag11, to avoid conflict with + expression flag Do_Range_Check + (Exception_Junk): Change to Flag7 to accomodate above change + (Box_Present, Default_Name, Specification, Set_Box_Present, + Set_Default_Name, Set_Specification): Expand the expression + "X in N_Formal_Subprogram_Declaration" into the corresponding + two comparisons. Required to use the csinfo tool. + + * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where + "with string" given. + + * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string + expression given. + + * par-ch11.adb (P_Raise_Statement): Recognize with string expression + in 2005 mode + + * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity + attribute Task_Body_Procedure rather than the old semantic field that + was available in the task_type_declaration node. + + * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal + interface type definitions. + (P_Formal_Derived_Type_Definition): Modified to handle the list of + interfaces. + + * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a + task type declaration. + (P_Protected): Modified to handle the list of interfaces in a + protected type declaration. + +2005-03-15 Doug Rupp + Vincent Celier + + * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit + (Gen_Output_File_C): Likewise. + (Gen_Main_C): Issue #include to avoid warning + +2005-03-15 Thomas Quinot + + * checks.adb (Get_E_First_Or_Last): When the expression being retrieved + is an N_Raise_Constraint_Error node, create a new copy of it without + going through a call to Duplicate_Subexpr. + +2005-03-15 Eric Botcazou + Richard Kenner + Nicolas Setton + Ed Schonberg + + PR ada/19900 + PR ada/19408 + PR ada/19140 + PR ada/20255 + + * decl.c (gnat_to_gnu_field): Reject aliased components with a + representation clause that prescribes a size not equal to the rounded + size of their types. + (gnat_to_gnu_entity, case E_Component): Always look at + Original_Record_Component if Present and not the entity. + (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes + of tagged extension types by not making field for components that are + inside the parent. + (gnat_to_gnu_entity) : Fix typo in the alignment formula + (gnat_to_gnu_entity) : Do not convert again the + expression to the type of the object when the object is constant. + Reverse defer_debug_incomplete_list before traversing it, so that trees + are processed in the order at which they were added to the list. This + order is important when using the stabs debug format. + If we are deferring the output of debug information, also defer this + output for a function return type. + When adding fields to a record, prevent emitting debug information + for incomplete records, emit the information only when the record is + complete. + (components_to_record): New parameter defer_debug. + (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set. + (gnat_to_gnu_field_decl): New function. + (substitution_list, annotate_rep): Call it. + (gnat_to_gnu_entity, case E_Record_Subtype): Likewise. + (gnat_to_gnu_entity, case E_Record_Type): Likewise. + No longer update discriminants to not be a COMPONENT_REF. + (copy_alias_set): Strip padding from input type; also handle + unconstrained arrays properly. + + * gigi.h (write_record_type_debug_info): New function. + Convert to use ANSI-style prototypes. Remove unused + declarations for emit_stack_check, elab_all_gnat and + set_second_error_entity. + (gnat_to_gnu_field_decl): New decl. + + * utils.c (write_record_type_debug_info): New function. + (finish_record_type): Delegate generation of debug information to + write_record_type_debug_info. + (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation. + (update_pointer_to): Fix pasto. + (convert) : Accept slight type variations when + converting to an unchecked union type. + + * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True, + replace the N_Freeze_Entity with a null statement. + + * freeze.adb (Freeze_Expression): If the freeze nodes are generated + within a constrained subcomponent of an enclosing record, place the + freeze nodes in the scope stack entry for the enclosing record. + (Undelay_Type): New Subprogram. + (Set_Small_Size): Pass T, the type to modify; all callers changed. + (Freeze_Entity, Freeze_Record_Type): Change the way we handle types + within records; allow them to have freeze nodes if their base types + aren't frozen yet. + + * exp_util.adb (Remove_Side_Effects): Properly test for + Expansion_Delayed and handle case when it's inside an + N_Qualified_Expression. + + * sem_ch3.adb (Derived_Type_Declaration): New predicate + Comes_From_Generic, to recognize accurately that the parent type in a + derived type declaration can be traced back to a formal type, because + it is one or is derived from one, or because its completion is derived + from one. + (Constrain_Component_Type): If component comes from source and has no + explicit constraint, no need to constrain in in a subtype of the + enclosing record. + (Constrain_Access, Constrain_Array): Allow itypes to be delayed. + Minor change to propagate Is_Ada_2005 flag + + * trans.c (gnat_to_gnu, case N_Aggregate): Verify that + Expansion_Delayed is False. + (assoc_to_constructor): Ignore fields that have a + Corresponding_Discriminant. + (gnat_to_gnu) : Restructure. If the + function returns "by target", dereference the target pointer using the + type of the actual return value. + : Be prepared for a null gnu_result. + (processed_inline_subprograms): Check flag_really_no_inline + instead of flag_no_inline. + (set_second_error_entity): Remove unused function. + (gnat_to_gnu, case N_Selected_Component): Call + gnat_to_gnu_field_decl. + (assoc_to_constructor): Likewise. + +2005-03-15 Robert Dewar + Ed Schonberg + Richard Kenner + + * exp_pakd.adb (Create_Packed_Array_Type): Do not set + Must_Be_Byte_Aligned for cases where we do not need to use a + System.Pack_nn unit. + + * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well + as procedures. + Needed now that we do some processing for IN parameters as well. This + may well fix some unrelated errors. + (Expand_Call): Handle case of unaligned objects (in particular those + that come from packed arrays). + (Expand_Inlined_Call): If the subprogram is a renaming as body, and the + renamed entity is an inherited operation, re-expand the call using the + original operation, which is the one to call. + Detect attempt to inline parameterless recursive subprogram. + (Represented_As_Scalar): Fix to work properly with private types + (Is_Possibly_Unaligned_Object): Major rewrite to get a much more + accurate estimate. Yields True in far fewer cases than before, + improving the quality of code that depends on this test. + + * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate + over both visible and private declarations to remove them from tree, + and mark subprograms declared in package as eliminated, to prevent + spurious use in subsequent compilation of generic units in the context. + + * exp_util.ads: Minor cleanup in variable names + + * sem_eval.ads, sem_eval.adb: Minor reformatting + (Compile_Time_Known_Bounds): New function + +2005-03-15 Ed Schonberg + + * exp_ch7.adb (Convert_View): Use base types of underlying types when + determining whether an unchecked conversion is needed for the argument + of an initialization call. + +2005-03-15 Ed Schonberg + + * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type + that appears in the instantiation rather than the internal subtype + generated in the wrapper package, to avoid anomalies in gigi when the + target is derived from a private type whose full view is an access type. + +2005-03-15 Robert Dewar + + * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used, + not needed. + Add documentation to replace the use of this flag + Fix kludge for Maximum_Alignment on x86 so that it does not apply to + the x86_64. + +2005-03-15 Thomas Quinot + + * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved + here from exp_attr so it can be shared between exp_attr and exp_dist. + (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of + all TSS names, not a subset thereof, and the previous name introduced + an unnecessarily confusion that a distinction might exist between + "OK" TSS names and some "not OK" TSS names. + +2005-03-15 Doug Rupp + + * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style + Command_Name. + +2005-03-15 Pascal Obry + Eric Botcazou + + PR ada/20226 + PR ada/20344 + + * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler() + when IN_RTS. This is to work around a bootstrap path problem. + + * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler) + table and pass it to __gnat_install_SEH_handler(). + (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS. + + * lang.opt: Fix specification of -fRTS=. + +2005-03-15 Doug Rupp + Bernard Banner + Vincent Celier + Arnaud Charlet + + PR ada/6852 + This change works fine when gnatlib is built from the gcc directory, + but does not work when using the libada Makefile, since GCC_FOR_TARGET + is not passed to ada/Makefile.in, so more work is needed by a + Makefile/configure expert. + + * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library. + set GMEM_LIB on ia64 linux to add optional support for gnatmem. + Setup gnatlink switch -M for x86_64 linux, as it is already setup + for Linux x86. + (gnatlib-shared-default): Use GNATLIBCFLAGS as well. + Run ranlib on libgccprefix.a + Define PREFIX_OBJS for Darwin, to build libgccprefix. + (ADA_INCLUDE_SRCS): Split Ada packages. + +2005-03-15 Robert Dewar + + * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind + + * impunit.adb: Add GNAT.UTF_32 + + * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff + + * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng + now uses GNAT.UTF_32). + + * g-utf_32.ads, g-utf_32.adb: This is a new unit with full + capabilities for categorizing characters using Unicode categories + +2005-03-15 Ed Schonberg + + * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an + instantiation that has been rewritten as a package body, retrieve spec + to generate proper name for implicit_with_clause. + (Install_Parents): Recognize a parent that is an instantiation but has + been rewritten as a package declaration during analysis. + +2005-03-15 Javier Miranda + Ed Schonberg + + * sem_ch12.adb (Instantiate_Object): If the analysis of the actual + parameter reported some error we immediately return. This improves the + behaviour of the frontend in case of errors. + (Install_Parent, Remove_Parent): Introduce new flag + Parent_Unit_Visible, to preserve the proper visibility of the ultimate + ancestor of a generic child unit, when the child is being instantiated. + (Inline_Instance_Body): If we are compiling the private + part or the body of a child unit, restore the proper visibility of the + parents after compiling the instance body. + +2005-03-15 Ed Schonberg + Javier Miranda + + PR ada/15608 + * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion + of a private type, in which case it is underlying_type that denotes + the proper task. Also modified to use the new entity attribute + that is directly available in the task type and task subtype entities + (Build_Actual_Subtype_Of_Component): Handle properly multidimensional + arrays when other dimensions than the first are constrained by + discriminants of an enclosing record. + (Insert_Explicit_Dereference): If the prefix is an indexed component or + a combination of indexed and selected components, find ultimate entity + and generate the appropriate reference for it, to suppress spurious + warnings. + (Note_Possible_Modification): If an entity name has no entity, return. + (Is_Variable): A function call never denotes a variable. + (Requires_Transient_Scope): For record types, recurse only on + components, not on internal subtypes that may have been generated for + constrained components. + +2005-03-15 Ed Schonberg + + * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked + Eliminated as candidates for resolution. Both efficient, and avoids + anomalies with operators declared in deleted code. + (Process_Implicit_Dereference_Prefix): Use this procedure whenever + expansion is disabled (as when compiling a generic) to prevent spurious + warnings on prefixes of selected components. + +2005-03-15 Ed Schonberg + + * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is + attached to a list before checking whether it appears in the private + declarations of the current package. + (Make_Inequality_Operator): Insert declaration in proper declarative + list rather than just setting the Parent field, so that + Is_Private_Declaration can handle it properly. + +2005-03-15 Ed Schonberg + + * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is + a renaming a body, check that the renamed subprogram in not intrinsic. + (Find_Direct_Name): If several use_visible entities hide + each other, and the context is a predefined file compiled through + rtsfind, keep only the entity that comes from a predefined file. + +2005-03-15 Geert Bosch + + * s-fatgen.adb (Valid): Extend special exceptions to account for long + long float padding to also cover AMD64 and IA64. + +2005-03-15 Gary Dismukes + + * s-imgwch.adb: Add with and use of Interfaces. + (Img_Wide_Character): Change type of Val to Unsigned_16. + (Img_Wide_Wide_Character): Change type of Val to Unsigned_32. + +2005-03-15 Matthew Gingell + + * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX. + +2005-03-15 Robert Dewar + + * usage.adb: Add missing lines for -gnat95 and -gnat05 switches + + * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag + + * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95 + +2005-03-15 Robert Dewar + + * s-bitops.adb, s-bitops.ads, + s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads, + s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb, + tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads, + s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads, + s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads, + s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads, + s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, + s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor + reformatting. + +2005-03-15 Eric Botcazou + + * utils2.c (build_binary_op): Fix typo. + +2005-03-15 Doug Rupp + + * s-crtl.ads (popen,pclose): New imports. + +2005-03-15 Cyrille Comar + + * comperr.adb (Compiler_Abort): remove references to obsolete + procedures in the bug boxes for various GNAT builds. + +2005-03-15 Vincent Celier + + * snames.ads, snames.adb: Save as Unix text file, not as DOS text file + +2005-03-15 Geert Bosch + Arnaud Charlet + Robert Dewar + Cyrille Comar + Sergey Rybin + + * gnat_ugn.texi: Remove extended inline assembly example, as it was far + too specific and long-winded to be appropriate for the GNAT User's + Guide. + Warn about use of GCC switches not documented in the GNAT User's Guide, + as these may cause generated code to not conform to Ada semantics. + Remove mention of -gdwarf-2 for sparc64, since this is now the default. + Add documentation for -gnat95 and -gnat05 switches + Remove paragraph documenting obsolete way to refer to third party + libraries. + Add a few references to Ada_05 that were missing. + Update documentation on -gnatZ/-gnatL. + Document limitation when using -m64 under Solaris. + Change the "Name Casing" subsection of the pretty-printer section + according to the changes in the dictionary processing. + + * gnat_rm.texi: Document the Ada_05 pragma. + Section on record representation clauses describes the new more + relaxed rules about placement of large packed bit array components. + Add documentation of GNAT.UTF_32 + 2005-03-12 Daniel Berlin * misc.c (gnat_post_options): Turn off structural aliasing for now. - + 2005-03-08 Laurent Guerby * system-linux-sparc.ads: Fix typo in previous commit. 2005-03-07 James A. Morrison - Laurent Guerby + Laurent Guerby - PR ada/20035 - * system-linux-sparc.ads: New. - * Makefile.in: Add sparc linux entry. + PR ada/20035 + * system-linux-sparc.ads: New. + * Makefile.in: Add sparc linux entry. -2005-02-27 Danny Smith +2005-02-27 Danny Smith - * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth + * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth parameters as unused. 2005-02-26 Nathanael Nerode Partial merge from libada-gnattools-branch: 2004-12-02 Nathanael Nerode - * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags - into code in gnattools/Makefile.in. Remove direct dependencies on - stamp-tools by tools clauses. + * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags + into code in gnattools/Makefile.in. Remove direct dependencies on + stamp-tools by tools clauses. 2004-12-02 Nathanael Nerode - * config-lang.in: Add gnattools to $lang_dirs. + * config-lang.in: Add gnattools to $lang_dirs. 2005-02-13 Andrew Pinski PR ada/19942 - * utils.c (gnat_type_for_mode): Return null instead of ICE because we asked - for an unknown mode. + * utils.c (gnat_type_for_mode): Return null instead of ICE because + we asked for an unknown mode. 2005-02-12 Richard Henderson @@ -223,7 +1580,7 @@ (Structured Exception handling). (Gen_Main_C): Idem. - * bindgen.adb: + * bindgen.adb: (Gen_Main_Ada): Set the default exit code if specified. (Gen_Main_C): Likewise. Part of *DC20-006. @@ -477,8 +1834,8 @@ 2005-02-09 Robert Dewar - * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements - Fix name of Set routine + * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements + Fix name of Set routine * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to fixed packages. @@ -520,7 +1877,7 @@ Fix for c330001 - PR ada/19386 - * decl.c: + * decl.c: (gnat_to_gnu_field): Do not necessarily invoke make_packable_type on the field if Pragma Component_Alignment (Storage_Unit). (gnat_to_gnu_entity, case object): Do not treat a renaming that has @@ -731,7 +2088,7 @@ 2005-02-09 Pascal Obry - * gnat_ugn.texi: + * gnat_ugn.texi: Document the procedure to debug the DllMain routine on Windows. Add note about -funwind-tables and mixed Ada and C/C++ programming in ZCX mode. @@ -744,7 +2101,7 @@ 2005-02-09 Robert Dewar - * gnat_rm.texi: + * gnat_rm.texi: Changes to document new wide wide character support For AI-285 Update documentation on Normalize_Scalars and Initialize_Scalars @@ -825,7 +2182,7 @@ 2005-01-27 Laurent GUERBY * Makefile.in: Rename GNAT RTEMS specific files. - * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb, + * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb: Replaced by files below. * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb, s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above. @@ -835,14 +2192,14 @@ PR ada/19488 * 5rosinte.ads: Add No_Key constant. - * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style. - * gsocket.h: Do not include with RTEMS either. + * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style. + * gsocket.h: Do not include with RTEMS either. 2005-01-26 Laurent GUERBY PR ada/19414 * i-cobol.adb (Valid_Numeric): Handle zero length case. - + 2005-01-20 Richard Henderson * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use @@ -922,7 +2279,7 @@ pragma restrictions. New entry for Ada 2005 attribute Mod. - * par-prag.adb: + * par-prag.adb: Add recognition of new pragma Restrictions No_Dependence Recognize restriction No_Obsolescent_Features at parse time @@ -1038,7 +2395,7 @@ * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used. (Succ): Re-implement using Scaling, Exponent and Ceiling attributes. (Pred): Implement in terms of Succ. - + * trans.c (convert_with_check): Reimplement conversion of float to integer. @@ -1063,7 +2420,7 @@ 2005-01-03 Thomas Quinot - * exp_dist.adb: + * exp_dist.adb: Declare subprogram index in Build_RPC_Receiver_Body, to reduce the amount of PCS-specific code in RACW stubs generation. (Copy_Specification): Set Etype on copied formal parameter entities, as @@ -1501,10 +2858,10 @@ (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. + * 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. + * s-parint.ads, s-parint.adb (Same_Partition): New subprogram. 2004-12-07 Gary Dismukes @@ -2388,7 +3745,7 @@ 2004-10-05 Vincent Celier - * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2 + * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2 2004-10-04 Laurent GUERBY @@ -14752,7 +16109,7 @@ into Command, an array conversion is illegal here. Uncovered by ACATS B460005. -2001/11/28 Geert Bosch +2001-11-28 Geert Bosch * init.c: Minor whitespace changes.