OSDN Git Service

2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index ac42b98..666c2c0 100644 (file)
@@ -1,3 +1,796 @@
+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
 
 2004-11-18  Robert Dewar  <dewar@adacore.com>
 
-       * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb: 
+       * 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  Robert Dewar  <dewar@adacore.com>
            Sergey Rybin  <rybin@adacore.com>
 
-       * gnat_ugn.texi: 
+       * 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.
        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: 
+       * 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
 
 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-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.
 
        (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.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
 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-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
 
        * 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.
        * 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.
        (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.