+2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
+ (GCC_ZCX_Support): Likewise.
+
+2005-01-11 Bastian Blank <waldi@debian.org>
+
+ * system-linux-s390.ads: Define Preallocated_Stacks.
+ * system-linux-s390x.ads: Likewise.
+
+2005-01-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Fix texi errors with null variables.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: New utility program to generate g-soccon.ads
+ automatically.
+
+ * socket.c, gsocket.h: Split inclusion of system header files into a
+ gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
+
+ * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
+ g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
+ should not be edited by hand anymore, but should be regenerated using
+ gen-soccon.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
+ on/off, since this is an obsolescent feature, for which we now generate
+ a warning.
+
+ * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
+ warning mode is set and obsolescent usage of this attribute occurs.
+ (Resolve_Access, case 'Access): Note that GNAT uses the context type to
+ disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
+ predates, and partly motivates, the adoption of the AI.
+ Implement new Ada 2005 attribute Mod
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
+ attribute Mod.
+
+ * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
+
+ * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
+ pragma restrictions.
+ New entry for Ada 2005 attribute Mod.
+
+ * par-prag.adb:
+ Add recognition of new pragma Restrictions No_Dependence
+ Recognize restriction No_Obsolescent_Features at parse time
+
+ * bcheck.adb: Add circuitry for checking for consistency of
+ No_Dependence restrictions.
+
+ * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
+ restrictions.
+
+ * restrict.ads, restrict.adb: Add subprograms to deal with
+ No_Dependence restrictions.
+
+ * rtsfind.adb: Check that implicit with's do not violate No_Dependence
+ restrictions.
+
+ * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
+ sem_attr.adb: Add check for new restriction No_Obsolescent_Features
+
+ * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
+ dummy parameter to scng instantiation.
+ Needed for new restriction No_Obsolescent_Features
+
+ * scn.adb: (Obsolescent_Check): New procedure
+ Needed for new restriction No_Obsolescent_Features
+
+ * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
+ specified by AI-285, needed for implementation of AI-388 (adding greek
+ pi to Ada.Numerics).
+ Add new generic formal to scng, needed for new restriction
+ No_Obsolescent_Features.
+
+ * s-rident.ads: Add new restriction No_Obsolescent_Features.
+
+ * ali.ads, ali.adb: Adjustments for reading new No_Dependence
+ restrictions lines.
+ (Scan_ALI): When finding an unexpected character on an R line, raise
+ exception Bad_R_Line, instead of calling Fatal_Error, so that, when
+ Ignore_Errors is True, default restrictions are set and scanning of the
+ ALI file continues with the next line. Also, when Bad_R_Line is raised
+ and Ignore_Errors is True, skip to the end of le line.
+
+ * sem_ch10.adb: Check that explicit with's do not violate
+ No_Dependence restrictions.
+ (Install_Withed_Unit): Add code to implement AI-377 and diagnose
+ illegal context clauses containing child units of instance.
+
+ * sem_prag.adb: Processing and checking for new No_Dependence
+ restrictions.
+ (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
+ analyze and check the External argument.
+
+ * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * atree.ads: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * einfo.ads, einfo.adb: Document new fields and new flags now available
+ Add routines for printing new fields
+
+ * treepr.adb: Call routines to print out additional fields if present
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
+ gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
+
+ * Makefile.in: Add support to build shared Ada libraries on solaris x86
+ Remove gpr2make, replaced by gprmake.
+ Remove references to gnatmem and libaddr2line.
+ Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
+ (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
+ Add support for specialized version of Ada.Numerics.Aux for Darwin: use
+ a-numaux-darwin.ads and a-numaux-darwin.adb
+ Enable mlib-tgt-lynxos.adb on lynxos.
+
+ * Make-lang.in: Remove rules for gpr2make.
+ When generating sdefault.adb, do not call Relocate_Path
+ on S3 for function Target_Name, as it is not a path.
+ Remove references to gnatmem and libaddr2line.
+
+ * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
+ files.
+
+2005-01-03 Samuel Tardieu <tardieu@adacore.com>
+
+ * checks.adb (Apply_Alignment_Check): Generate a warning if an object
+ address is incompatible with its base type alignment constraints when
+ this can be decided statically.
+
+2005-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (compatible_signatures_p): New function. The intended purpose
+ is to check if two function signatures for a call-site and a callee are
+ compatible enough for the call to be valid. The underlying purpose is
+ to check if a call to a mapped builtin is using the right interface.
+ The current code actually does not check antyhing - this a placeholder
+ for future refinements.
+ (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
+ builtin calls for convention Intrinsic.
+
+ * gigi.h (builtin_decl_for): Declare (new function).
+
+ * utils.c (gnat_install_builtins): Install the target specific builtins.
+ (builtin_decl_for): New function, provide a dummy body for now.
+
+2005-01-03 Geert Bosch <bosch@adacore.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.
+
+ * trans.c (convert_with_check): Reimplement conversion of float to
+ integer.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
+ bounds can be negative, and must be declared Int, not Nat.
+
+ * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
+ array is checked after using the index in the array.
+
+ * makegpr.adb (Add_Switches): Check if there is a package for the
+ processor. If there is no package, do not look for switches.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
+ generation of predefined stream operations (specs and bodies) should
+ proceed. Under various restrictions these subprograms must not be
+ generated.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * 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
+ this information is needed for PolyORB stubs generation.
+ (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
+ variable Dynamic_Async.
+ (Build_Subprogram_Receiving_Stubs): Make PCS-specific
+ (Build_RPC_Receiver_Specification): Make generic again, as recent
+ changes have allowed RPC receivers to have the same profile for both
+ variants of the PCS.
+ Reorganise RPC receiver generation to reduce differences between the
+ structure of GARLIC and PolyORB RPC receivers.
+ (Add_Receiving_Stubs_To_Declarations): Make this subprogram
+ PCS-specific.
+ Simplify elaboration code for RCI packages.
+
+ * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
+ generation to reduce differences between the structure of GARLIC and
+ PolyORB RPC receivers.
+
+ * s-stratt.adb: Fix typo in comment.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
+ copied from Make_Init_Call).
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
+ reads and assignments on a temporary variable declared with appropriate
+ discriminants.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb (To_C): Raise CE if string is null and Append_Null
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.adb (Update): Do not append a null in form called with a
+ String. This avoids unintended behavior.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/17527
+ * init.c: Fix warnings on Free BSD section.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16949
+ * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
+ xsinfo.adb).
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
+ libraries when Unique_Compile is True (-u switch).
+ (Gnatmake): ditto.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
+ upper case letter or underscore after W, as allowed by spec.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
+ darwin port by using proper type definitions from header files.
+ Use SIGTERM instead of SIGABRT for SIGADAABORT.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * par.adb: Enhance error message handling for configuration file
+ pragmas.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * s-arit64.adb (Double_Divide): Put back changes that got accidentally
+ removed during the previous update (test properly for case of dividing
+ largest negative number by -1, which generates overflow).
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
+ to use as the defining identifier for a formal package.
+ (Remove_Parent): If the instance takes place within (an instance of)
+ a sibling, preserve private declarations of common parent.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
+ to determine whether one of the operands is a fixed-point type for
+ which a user-defined multiplication or division operation might be
+ defined.
+
+ * sem_res.adb (Valid_Conversion): The legality rules for conversions
+ of access types are symmetric in Ada 2005: either designated type can
+ be unconstrained.
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.adb (Temp_File_Record): Change length of string component
+ Name from L_tmpnam + 1 to max_path_len + 1.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
+ Self_Id.Deferral_Level = 0.
+ (Do_Pending_Action): Move this function to the spec.
+
+ * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
+ Do_Pending_Action explicitely when needed, in case we're using
+ No_Abort restrictions.
+
+ * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
+ deferral level since it will not get changed by the generated code.
+ Keeping a default value of 1 would prevent some operations (e.g.
+ select or delay) to proceed successfully.
+
+2005-01-03 Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
+ porting guide chapter (vms version).
+ Revised doc title (removed "for native platforms") and subtitle.
+ Add discussion on warning flag for obsolescent features. First we
+ note that it applies to obsolete GNAT features, which was previously
+ omitted. Second we contrast the behavior with that of the new
+ Ada 2005 AI-368 restriction No_Obsolescent_Features.
+ Preliminary rewriting of GNAT & libraries chapter in order to take
+ into account default project locations & new project manager
+ capabilities.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb (Create_Operators): Clean up format and documentation of
+ unary and binary operator result tables. No change in code, just
+ reformatting and addition of comments.
+
+ * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
+ sem_ch2.adb: Minor reformatting
+
+ * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
+ sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
+ comments for Tree_Read and Tree_Write.
+
+2005-01-03 Pascal Obry <obry@adacore.com>
+
+ * exp_attr.ads: Minor reformatting.
+
+2005-01-03 Romain Berrendonner <berrendo@adacore.com>
+
+ * comperr.adb (Compiler_Abort): Add specialized message for GAP
+ versions.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
+ whether the ancestor type is private, as may be the case with nested
+ instantiations.
+
+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
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:
+ * 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.
(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
+ (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.
* 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.
+ (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_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
+ (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.
(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,
* 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_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.
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-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.
(Compile_Sources.Compile): Add switch -gnatez as the last option
(Display): Never display -gnatez
- * Makefile.generic:
+ * Makefile.generic:
When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
* gnatcmd.adb (Check_Project): New function
(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.
+ (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.
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_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,
Renaming of target specific files for clarity
- * Makefile.in: Rename GNAT target specific files.
+ * Makefile.in: Rename GNAT target specific files.
* 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,