+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * g-comver.adb: Minor reformatting.
+
+2009-04-09 Thomas Quinot <quinot@adacore.com>
+
+ * lib-load.ads (Load_Unit): Update documentation.
+
+2009-04-09 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-load.adb (Load_Unit): When loading the parent of a child unit
+ named in a with_clause, retain the with_clause to preserve a
+ limited_with indication.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
+ exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
+ sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
+ possible to replace an OR of two separate tests.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
+ Maximum_Messages.
+
+ * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
+ warning status as well.
+
+ * opt.ads (Maximum_Messages): New name for Maximum_Errors.
+
+ * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
+ Maximum_Messages.
+
+ * bindusg.adb, usage.adb: Update line for -gnatm switch
+
+ * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
+ -mnn binder switch.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.adb: Minor reformatting.
+
+2009-04-09 Bob Duff <duff@adacore.com>
+
+ * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
+ Set Sloc of generated nodes for calls to Undefer_Aborts and
+ Save_Occurrence to No_Location, so the debugger ignores them and
+ therefore does not jump back and forth when single stepping.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * switch-b.adb: Minor reformatting.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
+ sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
+ exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
+ sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
+ einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
+ tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
+ exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
+ sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
+ sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
+ sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
+ Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
+
+ * atree.h: Add Elist26
+
+ * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
+ backends.
+
+2009-04-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
+ retrieve from the Dispatch_Table_Wrappers list the external name.
+ Addition of documentation.
+ (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
+ used to export secondary dispatch tables (in the previous version of
+ the frontend only primary dispatch tables were exported). Addition of
+ documentation.
+ (Import_DT): New subprogram (internal of Make_Tags). Used to import a
+ dispatch table of a given tagged type.
+ (Make_Tags): Modified to import secondary dispatch tables.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
+ (Constant_Redeclaration): Code cleanup.
+
+ * einfo.ads (Dispatch_Table_Wrapper): Renamed to
+ Dispatch_Table_Wrappers. Update documentation.
+
+ * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
+ Renamed to Dispatch_Table_Wrappers.
+
+ * sem_util.adb (Collect_Interface_Components): Improve handling of
+ private types.
+
+ * atree.ads (Elist26, Set_Elist26): New subprograms
+
+ * atree.adb (Elist26, Set_Elist26): New subprograms
+
+2009-04-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
+ (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
+ tagged types.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * s-direio.adb: Minor reformatting
+
+ * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
+
+2009-04-09 Pascal Obry <obry@adacore.com>
+
+ * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
+ s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
+ a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
+ a-filico.ads: Add some missing overriding keywords.
+
+2009-04-09 Pascal Obry <obry@adacore.com>
+
+ * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
+ a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
+ a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
+ reformatting.
+
+2009-04-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
+ missing overriding indicator if the new declaration is not seen as
+ primitive.
+
+2009-04-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
+ overflows in computation of bounds.
+
+2009-04-09 Pascal Obry <obry@adacore.com>
+
+ * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
+ typos in comment.
+
+2009-04-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Check_Stream_Attribute): Check violation of
+ restriction No_Streams
+
+ * gnat_rm.texi: Clarify No_Streams restriction
+
+ * g-socket.adb: Minor reformatting.
+
+2009-04-09 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
+
+2009-04-09 Geert Bosch <bosch@adacore.com>
+
+ * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
+ (Set_Result): Likewise.
+ (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
+ conversion, as required by RM 4.6(31).
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
+ suppressed.
+
+ * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
+ resolution steps.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
+ No_Local_Allocators restriction preventing local instantiation.
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb: Minor comment fix
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
+ New limited controlled type used to automate the initialization and
+ finalization of the sockets implementation.
+ (GNAT.Sockets.Initialize, Finalize): Make these no-ops
+
+2009-04-08 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New read-only project-level attribute Project_Dir
+
+ * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
+ read-only attribute of the same name.
+ (Process_Declarative_Items): Call Add_Attributes with Project_Dir
+ (Recursive_Process): Ditto
+
+ * snames.adb: Add new standard name Project_Dir
+
+ * snames.ads: Add new standard name Project_Dir
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb: Minor reformatting
+
+2009-04-08 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add documentation for new style keyword
+ OVERRIDING_INDICATORS
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
+ spec is in the current unit.
+
+2009-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
+ presence of entity.
+
+ * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
+
+2009-04-08 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * checks.ads: Minor reformatting
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Update documentation of pragma Obsolescent
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
+ be omitted, and allow Entity parameter to be omitted.
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.adb: Minor comment fix
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * g-socket.ads: Fix bad syntax in pragma Obsolescent
+
+ * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
+ argument with no identifier following one that has an identifier. Was
+ missed in some cases.
+
+ * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
+ identifier.
+ (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
+
+ * snames.adb: Add Name_Policy
+
+ * snames.ads: Add Name_Policy
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting
+
+ * par-ch2.adb: Minor reformatting
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
+ properly in the presence of Remote_Types or Remote_Call_Interface.
+
+ * sem_util.adb: Add comment.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * ug_words: Add /ASSUME_VALID for -gnatB
+
+ * vms_data.ads: Add /ASSUME_VALID for -gnatB
+
+ * sem_cat.adb: Add clarifying commment
+
+ * a-direio.ads (Bytes): Make sure value is non-zero
+
+2009-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
+ that does not come from source, check for a rewritten function call in
+ prefixed notation before other forms of rewriting.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
+ these are now obsolescent units used only for bootrapping with an
+ older compiler.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
+
+ * sem_ch3.adb: Minor comment updates
+
+2009-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
+ that come from source.
+
+2009-04-08 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/utils.c, gcc-interface/decl.c, gcc-interface/gigi.h:
+ Add support for pragma Thread_Local_Storage
+
+2009-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
+ by the back-end if it contains a call to a subprogram without a
+ previous spec that is declared in the same unit.
+
+ * errout.ads: Update comments on uses of dirs
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
+
+2009-04-08 Tristan Gingold <gingold@adacore.com>
+
+ * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
+ variables.
+ Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
+
+2009-04-08 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Add_Source): Add the mapping of the unit name to source file name in
+ the Unit_Sources_HT hash table, if the unit name is not null.
+
+ * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
+
+ * prj.ads (Unit_Sources_Htable): New hash table instantiation
+ (Project_Tree_Data): New component Unit_Sources_HT
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+ Minor code reorganization.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
+ snames.ads, freeze.adb, par-prag.adb: Add implementation of
+ pragma Thread_Local_Storage, setting new flag
+ Has_Pragma_Thread_Local_Storage in corresponding entities.
+
+2009-04-08 Emmanuel Briot <briot@adacore.com>
+
+ * prj.ads: Update comment on switches file
+
+ * prj-nmsc.adb: Code clean up. Use renaming clauses.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
+
+2009-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * ali-util.adb: Minor comment fix
+
+2009-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
+ appears in a context clause, and the enclosing package is mentioned in
+ a limited_with_clause.
+ (Use_One_Type): Reject clause if type is still incomplete.
+
+2009-04-08 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
+ avoid copies of Source_Data variables when possible, since these
+ involve calls to memcpy() which are done too many times.
+
+2009-04-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Clean up code
+
+2009-04-07 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
+ type for the case of concatenating a constrained array indexed by an
+ enumeration type.
+
+2009-04-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): when checking conformance of an
+ operation that overrides an abstract operation inherited from an
+ interface, return False if only one of the controlling formals is an
+ access parameter.
+
+2009-04-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
+ mandated by AI05-105.
+
+2009-04-07 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
+
+2009-04-07 Thomas Quinot <quinot@adacore.com>
+
+ * usage.adb: Minor fix in usage message.
+
+ * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
+ match declaration; the correct subtype is Node_Id, not Entity_Id,
+ because the expected node kind is an identifier, not a defining
+ identifier.
+
+ * switch-c.adb: Minor reformatting.
+
+ * uintp.adb: Minor reformatting.
+
+2009-04-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch13.adb: Minor reformatting
+
+2009-04-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
+ against missing parent.
+
+2009-04-07 Thomas Quinot <quinot@adacore.com>
+
+ * xoscons.adb: Minor reformatting
+
+2009-04-07 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.ads: Remove obsolete string concatenation entries
+
+2009-04-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
+
+2009-04-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Check_Body_Required): Handle properly imported
+ subprograms.
+
+2009-04-07 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
+ Attribute_Address): When Init_Or_Norm_Scalars is True and the object
+ is of a scalar or string type then suppress the setting of the
+ expression to Empty.
+
+ * freeze.adb (Warn_Overlay): Also emit the warnings about default
+ initialization for the cases of scalar and string objects when
+ Init_Or_Norm_Scalars is True.
+
+2009-04-07 Bob Duff <duff@adacore.com>
+
+ * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
+
+2009-04-07 Bob Duff <duff@adacore.com>
+
+ * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
+ Form parameter of Text_Translation=No allows binary mode for Text_IO
+ files.
+
+ * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
+
+2009-04-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
+ processing the bounds for bit packed arrays or VM target machines.
+
2009-04-07 Thomas Quinot <quinot@adacore.com>
* g-sothco.ads (Int_Access): Remove extraneous access type (use
(Get_Socket_From_Set): Fix incorrectly reverted formals
Last and Socket to match the underlying C routine.
- * g-socket.adb
+ * g-socket.adb, g-socket.ads
(Get): Use named parameter associations instead of positional ones in
call go Get_Socket_From_Set, since this routine has two formals of the
same type.
+ (Image): New procedure.
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads: