OSDN Git Service

* sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index b84bfcc..ed9675a 100644 (file)
+To: gcc-patches@gcc.gnu.org
+Subject: [Ada] Reflect 2001-10-22 changes
+
+2001-12-05  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
+        unit, always replace instance node with new body, for ASIS use.
+
+2001-12-05  Vincent Celier <celier@gnat.com>
+       
+       * prj-nmsc.adb (Language_Independent_Check): Issue a warning if 
+       libraries are not supported and both attributes Library_Name and 
+       Library_Dir are specified.
+       
+       * prj-proc.adb (Expression): Set location of Result to location of 
+       first term.
+       
+       * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
+       (prj-nmsc is now importing MLib.Tgt)
+       
+       * prj-proc.adb: Put the change indicated above that was forgotten.
+
+*** sem_ch12.adb       2001/10/14 14:08:26     1.790
+--- sem_ch12.adb       2001/10/22 17:38:58     1.791
+***************
+*** 2550,2566 ****
+  
+           Set_Instance_Spec (N, Act_Decl);
+  
+!          --  Case of not a compilation unit
+  
+           if Nkind (Parent (N)) /= N_Compilation_Unit then
+              Mark_Rewrite_Insertion (Act_Decl);
+              Insert_Before (N, Act_Decl);
+              Analyze (Act_Decl);
+- 
+-          --  Case of compilation unit that is generic instantiation
+  
+!          --  Place declaration on current node so context is complete
+!          --  for analysis (including nested instantiations).
+  
+           else
+              if Cunit_Entity (Current_Sem_Unit) = Defining_Entity (N) then
+--- 2550,2570 ----
+  
+           Set_Instance_Spec (N, Act_Decl);
+  
+!          --  If not a compilation unit, insert the package declaration
+!          --  after the instantiation node.
+  
+           if Nkind (Parent (N)) /= N_Compilation_Unit then
+              Mark_Rewrite_Insertion (Act_Decl);
+              Insert_Before (N, Act_Decl);
+              Analyze (Act_Decl);
+  
+!          --  For an instantiation that is a compilation unit, place
+!          --  declaration on current node so context is complete
+!          --  for analysis (including nested instantiations). It this
+!          --  is the main unit, the declaration eventually replaces the
+!          --  instantiation node. If the instance body is later created, it
+!          --  replaces the instance node, and the declation is attached to
+!          --  it (see Build_Instance_Compilation_Unit_Nodes).
+  
+           else
+              if Cunit_Entity (Current_Sem_Unit) = Defining_Entity (N) then
+***************
+*** 2602,2608 ****
+             First_Private_Entity (Act_Decl_Id));
+  
+           if Nkind (Parent (N)) = N_Compilation_Unit
+!            and  then not Needs_Body
+           then
+              Rewrite (N, Act_Decl);
+           end if;
+--- 2606,2612 ----
+             First_Private_Entity (Act_Decl_Id));
+  
+           if Nkind (Parent (N)) = N_Compilation_Unit
+!            and then not Needs_Body
+           then
+              Rewrite (N, Act_Decl);
+           end if;
+***************
+*** 3321,3326 ****
+--- 3325,3337 ----
+        Set_Library_Unit  (Decl_Cunit, Body_Cunit);
+        Set_Library_Unit  (Body_Cunit, Decl_Cunit);
+  
++       --  If the instance is not the main unit, its context, categorization,
++       --  and elaboration entity are not relevant to the compilation.
++ 
++       if Parent (N) /= Cunit (Main_Unit) then
++          return;
++       end if;
++ 
+        --  The context clause items on the instantiation, which are now
+        --  attached to the body compilation unit (since the body overwrote
+        --  the original instantiation node), semantically belong on the spec,
+***************
+*** 6581,6590 ****
+  
+           if Nkind (Parent (Inst_Node)) = N_Compilation_Unit then
+  
+              if Parent (Inst_Node) = Cunit (Main_Unit) then
+-                Build_Instance_Compilation_Unit_Nodes
+-                  (Inst_Node, Act_Body, Act_Decl);
+-                Analyze (Inst_Node);
+  
+                 --  If the instance is a child unit itself, then set the
+                 --  scope of the expanded body to be the parent of the
+--- 6592,6605 ----
+  
+           if Nkind (Parent (Inst_Node)) = N_Compilation_Unit then
+  
++             --  Replace instance node with body of instance, and create
++             --  new node for corresponding instance declaration.
++ 
++             Build_Instance_Compilation_Unit_Nodes
++               (Inst_Node, Act_Body, Act_Decl);
++             Analyze (Inst_Node);
++ 
+              if Parent (Inst_Node) = Cunit (Main_Unit) then
+  
+                 --  If the instance is a child unit itself, then set the
+                 --  scope of the expanded body to be the parent of the
+***************
+*** 6597,6606 ****
+                    Set_Scope
+                      (Defining_Entity (Inst_Node), Scope (Act_Decl_Id));
+                 end if;
+- 
+-             else
+-                Set_Parent (Act_Body, Parent (Inst_Node));
+-                Analyze (Act_Body);
+              end if;
+  
+           --  Case where instantiation is not a library unit
+--- 6612,6617 ----
+
+*** prj-nmsc.adb       2001/10/20 04:14:18     1.29
+--- prj-nmsc.adb       2001/10/22 21:55:07     1.30
+***************
+*** 34,39 ****
+--- 34,40 ----
+  with GNAT.Case_Util;             use GNAT.Case_Util;
+  with GNAT.Directory_Operations;  use GNAT.Directory_Operations;
+  with GNAT.OS_Lib;                use GNAT.OS_Lib;
++ with MLib.Tgt;
+  with Namet;                      use Namet;
+  with Osint;                      use Osint;
+  with Output;                     use Output;
+***************
+*** 1948,2008 ****
+             Data.Library_Name /= No_Name;
+  
+           if Data.Library then
+-             if Current_Verbosity = High then
+-                Write_Line ("This is a library project file");
+-             end if;
+  
+!             pragma Assert (Lib_Version.Kind = Single);
+  
+!             if Lib_Version.Value = Empty_String then
+                 if Current_Verbosity = High then
+!                   Write_Line ("No library version specified");
+                 end if;
+  
+!             else
+!                Stringt.String_To_Name_Buffer (Lib_Version.Value);
+!                Data.Lib_Internal_Name := Name_Find;
+!             end if;
+  
+!             pragma Assert (The_Lib_Kind.Kind = Single);
+  
+!             if The_Lib_Kind.Value = Empty_String then
+!                if Current_Verbosity = High then
+!                   Write_Line ("No library kind specified");
+                 end if;
+  
+!             else
+!                Stringt.String_To_Name_Buffer (The_Lib_Kind.Value);
+  
+!                declare
+!                   Kind_Name : constant String :=
+!                     To_Lower (Name_Buffer (1 .. Name_Len));
+  
+!                   OK : Boolean := True;
+  
+!                begin
+  
+!                   if Kind_Name = "static" then
+!                      Data.Library_Kind := Static;
+  
+!                   elsif Kind_Name = "dynamic" then
+!                      Data.Library_Kind := Dynamic;
+  
+!                   elsif Kind_Name = "relocatable" then
+!                      Data.Library_Kind := Relocatable;
+  
+!                   else
+!                      Error_Msg
+!                        ("illegal value for Library_Kind",
+!                         The_Lib_Kind.Location);
+!                      OK := False;
+!                   end if;
+  
+!                   if Current_Verbosity = High and then OK then
+!                      Write_Str ("Library kind = ");
+!                      Write_Line (Kind_Name);
+!                   end if;
+!                end;
+              end if;
+           end if;
+        end;
+--- 1949,2016 ----
+             Data.Library_Name /= No_Name;
+  
+           if Data.Library then
+  
+!             if not MLib.Tgt.Libraries_Are_Supported then
+!                Error_Msg ("?libraries are not supported on this platform",
+!                            Lib_Name.Location);
+  
+!             else
+                 if Current_Verbosity = High then
+!                   Write_Line ("This is a library project file");
+                 end if;
+  
+!                pragma Assert (Lib_Version.Kind = Single);
+  
+!                if Lib_Version.Value = Empty_String then
+!                   if Current_Verbosity = High then
+!                      Write_Line ("No library version specified");
+!                   end if;
+  
+!                else
+!                   Stringt.String_To_Name_Buffer (Lib_Version.Value);
+!                   Data.Lib_Internal_Name := Name_Find;
+                 end if;
+  
+!                pragma Assert (The_Lib_Kind.Kind = Single);
+  
+!                if The_Lib_Kind.Value = Empty_String then
+!                   if Current_Verbosity = High then
+!                      Write_Line ("No library kind specified");
+!                   end if;
+  
+!                else
+!                   Stringt.String_To_Name_Buffer (The_Lib_Kind.Value);
+  
+!                   declare
+!                      Kind_Name : constant String :=
+!                        To_Lower (Name_Buffer (1 .. Name_Len));
+  
+!                      OK : Boolean := True;
+  
+!                   begin
+  
+!                      if Kind_Name = "static" then
+!                         Data.Library_Kind := Static;
+  
+!                      elsif Kind_Name = "dynamic" then
+!                         Data.Library_Kind := Dynamic;
+  
+!                      elsif Kind_Name = "relocatable" then
+!                         Data.Library_Kind := Relocatable;
+! 
+!                      else
+!                         Error_Msg
+!                           ("illegal value for Library_Kind",
+!                            The_Lib_Kind.Location);
+!                         OK := False;
+!                      end if;
+! 
+!                      if Current_Verbosity = High and then OK then
+!                         Write_Str ("Library kind = ");
+!                         Write_Line (Kind_Name);
+!                      end if;
+!                   end;
+!                end if;
+              end if;
+           end if;
+        end;
+
+*** prj-proc.adb       2001/10/05 16:11:38     1.18
+--- prj-proc.adb       2001/10/22 21:59:35     1.19
+***************
+*** 662,667 ****
+--- 662,668 ----
+  
+        if Data.Modifies /= No_Project
+          and then Projects.Table (Data.Modifies).Name = With_Name
++ 
+        then
+           return Data.Modifies;
+  
+
+*** Makefile.in        2001/10/22 00:45:45     1.1415
+--- Makefile.in        2001/10/22 22:07:09     1.1416
+***************
+*** 488,493 ****
+--- 488,497 ----
+   hostparm.o \
+   krunch.o   \
+   lib.o      \
++  mlib.o     \
++  mlib-fil.o \
++  mlib-tgt.o \
++  mlib-utl.o \
+   namet.o    \
+   nlists.o   \
+   opt.o      \
+
+*** prj-proc.adb       2001/10/22 21:59:35     1.19
+--- prj-proc.adb       2001/10/22 22:11:00     1.20
+***************
+*** 246,252 ****
+        --  Reference to the last string elements in Result, when Kind is List.
+  
+     begin
+!       Result.Location := Location_Of (From_Project_Node);
+  
+        --  Process each term of the expression, starting with First_Term
+  
+--- 246,252 ----
+        --  Reference to the last string elements in Result, when Kind is List.
+  
+     begin
+!       Result.Location := Location_Of (First_Term);
+  
+        --  Process each term of the expression, starting with First_Term
+  
+***************
+*** 639,645 ****
+           end case;
+  
+           The_Term := Next_Term (The_Term);
+- 
+        end loop;
+  
+        return Result;
+--- 639,644 ----
+***************
+*** 662,668 ****
+  
+        if Data.Modifies /= No_Project
+          and then Projects.Table (Data.Modifies).Name = With_Name
+- 
+        then
+           return Data.Modifies;
+  
+--- 661,666 ----
+2001-12-05  Robert Dewar <dewar@gnat.com>
+
+       * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
+
+2001-12-05  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
+       constraint, introduce explicit subtype declaration and derive from it.
+       
+       * sem_ch3.adb: Minor reformatting
+
+2001-12-05  Robert Dewar <dewar@gnat.com>
+
+       * checks.adb (Determine_Range): Increase cache size for checks. 
+       Minor reformatting
+       
+       * exp_ch6.adb: Minor reformatting
+       (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
+       a parameter whose root type is System.Address, since treating such
+       subprograms as pure in the code generator is almost surely a mistake
+       that will lead to unexpected results.
+       
+       * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and 
+       change handling of conversions.
+       
+       * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
+
+2001-12-05  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): If expression is an 
+       aggregate with static wrong size, attach generated Raise node to 
+       declaration.
+
+2001-12-05  Robert Dewar <dewar@gnat.com>
+
+       * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute. 
+       Fixes compilation abandoned bomb in B24009B.
+
+2001-12-05  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb:
+       Document use of Associated_Node on Selected_Components.
+       (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
+       to clarify use of untyped descendant fields.
+
+2001-12-05  Robert Dewar <dewar@gnat.com>
+
+       * prj-dect.ads: Add ??? comment
+       Add 2001 to copyright notice (was not done in after all)
+       
+       * prj-part.adb: Minor reformatting. Reword one awkward error message.
+       
+       * prj.ads: Minor reformatting throughout, and add some ??? comments
+       
+       * snames.ads: Minor reformatting
+
+2001-12-05  Geert Bosch <bosch@gnat.com>
+
+       * snames.adb: Autoupdate
+
+2001-12-05  Vincent Celier <celier@gnat.com>
+
+       * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
+       
+       * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
+       
+       * prj-env.adb: Minor comment changes (modifying -> extends).
+       
+       * prj-nmsc.adb: Minor comment changes (modifying -> extends).
+       
+       * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to 
+       Tok_Extends.
+       
+       * prj.adb (Initialize): Change Modifying to Extends.
+       
+       * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
+       
+       * prj.ads: Minor comment change (Modifying -> extending).
+       
+       * snames.ads: Change modifying to extends.
+
+2001-12-05  Robert Dewar <dewar@gnat.com>
+
+       * sem_warn.adb: Remove stuff for conditionals, we are not going to 
+       do this after all.
+       
+       * sem_warn.ads: Remove stuff for conditionals, we are not going to 
+       do this after all.  Add 2001 to copyright notice
+
+2001-12-04  Geert Bosch <bosch@gnat.com>
+
+       *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * errout.adb (Error_Msg): Ignore attempt to put error msg at junk 
+       location if we already have errors. Stops some cases of cascaded 
+       errors.
+       
+       * errout.adb: Improve comment.
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * sem_ch12.adb:
+       (Analyze_Formal_Type_Definition): Defend against Error.
+       (Analyze_Formal_Subprogram): Defend against Error.
+       
+       * par-ch12.adb (F_Formal_Type_Declaration): In case of error, 
+       remove following semicolon if present. Removes cascaded error.
+
+2001-12-04  Douglas B. Rupp <rupp@gnat.com>
+
+       * bindgen.adb:
+       (Gen_Exception_Table_Ada): Write "begin" and then return if Num
+        exceptions equals 0.
+       (Gen_Exception_Table_C): Return if Num exceptions equals 0.
+       Fixes PIWG E tests (which have to be run with -gnatL).
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * einfo.ads: Minor reformatting
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * einfo.ads: Block_Node points to the identifier of the block, not to 
+       the block node itself, to preserve the link when the block is 
+       rewritten, e.g. within an if-statement with a static condition. 
+       
+       * inline.adb (Cleanup_Scopes): recover block statement from block 
+       entity using new meaning of Block_Node.
+       
+       * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to 
+       identifier of block node, rather than to node itself.
+
+2001-12-04  Gary Dismukes <dismukes@gnat.com>
+       
+       * layout.adb:
+       (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+       (Discrimify): Go back to setting the Etypes of the selected component
+       because the Vname component does not exist at this point and will 
+       fail name resolution. Also set Analyzed.
+       Remove with and use of Sem_Res.
+
+2001-12-04  Arnaud Charlet <charlet@gnat.com>
+
+       * Makefile.in: (HIE_SOURCES): add s-fat*.
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * sem_attr.adb:
+       (Compile_Time_Known_Attribute): New procedure.
+       (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
+        proper range check.
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before 
+       processing discriminants to diagnose illegal default values.
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide 
+       access discriminant within a type extension that constrains its 
+       parent discriminants.
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication 
+       is malformed, use instance of Any_Id to allow analysis to proceed.
+       
+       * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if 
+       type definition is illegal.
+       (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
+       misplaced.
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to 
+       constants.
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * errout.adb: Minor reformatting
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * exp_util.adb: Minor reformatting from last change
+       
+       * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node 
+       which is a rewriting of an expression, traverse the original 
+       expression to remove warnings that may have been posted on it.
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * exp_util.adb (Must_Be_Aligned): Return false for a component of a 
+       record that has other packed components.
+
+2001-12-04  Douglass B. Rupp <rupp@gnat.com>
+
+       * adaint.c: Minor cleanups.
+
+2001-12-04  Douglass B. Rupp <rupp@gnat.com>
+
+       * adaint.c: Do not use utime.h on vxworks.
+
+2001-12-04  Arnaud Charlet <charlet@gnat.com>
+
+       * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes 
+       more confusion than it solves.
+
+2001-12-04  Geert bosch <bosch@gnat.com>
+
+       * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
+
+2001-12-04  Geert Bosch  <bosch@gnat.com>
+
+       * Makefile.in (update-sources): New target. 
+       For use by gcc_release script.
+
+2001-12-04  Ed Schonberg <schonber@gnat.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as 
+       a configuration pragma, it is now legal wherever a pragma can appear.
+
+2001-12-04  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in: Don't set ALL.  Delete @cross_defines@,
+       @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
+       is now @CROSS@ -DIN_GCC; update comment.
+
+2001-12-04  Robert Dewar <dewar@gnat.com>
+
+       * einfo.adb (Has_Pragma_Pure_Function): New flag.
+       Fix problem that stopped ceinfo from working
+       
+       * einfo.ads (Has_Pragma_Pure_Function): New flag.
+       
+       * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
+
+2001-12-04  Douglas B. Rupp <rupp@gnat.com>
+
+       * gnatchop.adb:
+       (File_Time_Stamp): New procedure.
+       (Preserve_Mode): New boolean.
+       (Write_Unit): Pass time stamp.
+       Implement -p switch (preserve time stamps).
+       
+       * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
+       
+       * gnatchop.adb: Do usage info for -p switch
+       
+       * adaint.h (__gnat_set_file_time_name): New function
+       
+       * adaint.c (__gnat_set_file_time_name): Implement
+       
+       * adaint.h: Fix typo
+
+2001-12-03  Robert Dewar <dewar@gnat.com>
+
+       * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
+        have Associated_Node.
+
+2001-12-03  Robert Dewar <dewar@gnat.com>
+
+       * prj-proc.adb: Minor reformatting
+
+       * make.adb: Minor reformatting
+
+2001-12-03  Geert Bosch <bosch@gnat.com>
+
+       * make.adb: Minor reformatting.
+
+2001-12-03   <dewar@gnat.com>
+
+       * sem_ch12.adb: Minor reformatting
+
+2001-12-03  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
+       push Standard on the stack before analyzing the instance body,
+       in order to have a clean visibility environment.
+
+       * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
+
+2001-12-03  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb (Instantiate_Package_Body): Protect against double
+       instantiation of a body that contains an inlined body.
+
+2001-12-03  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb:
+       (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
+       to prevent freezing within formal packages.
+       (Freeze_Subprogram_Body): If body comes from another instance that
+       appeared before its own body, place freeze node at end of current
+       declarative part, to prevent a back-end crash.
+       (Inline_Instance_Body): Handle properly a package instance within
+       a subprogram instance that is a child unit.
+
+2001-12-01  Graham Stott  <grahams@redhat.com>
+
+       * Makefile.in (misc.o): Add missing $(srcdir) prefix
+       and add optabs.h dependency.
+
+       * misc.c: Include optabs.h
+       (gnat_tree_code_type): Make static and const.
+       (gnat_tree_code_length): Likewise.
+       (gnat_tree_code_name): Likewise.
+       (update_setjmp_buf): Obtain operands mode from insn_data.
+
+2001-11-29  Richard Henderson  <rth@redhat.com>
+
+       * init.c: Remove obsolete dwarf2 frame.h section.
+
+2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * Make-lang.in (ada.generated-manpages): New dummy target.
+
+2001-11-29  Ed Schonberg <schonber@gnat.com>
+
+       * g-os_lib.adb (Add_To_Command): use explicit loop to move string
+       into Command, an array conversion is illegal here. Uncovered by
+       ACATS B460005.
+
+2001/11/28  Geert Bosch <bosch@gnat.com>
+
+       * init.c: Minor whitespace changes.
+
+2001-11-28  Doug Rupp <rupp@gnat.com>
+
+       * init.c: (__gnat_install_handler,VMS): Increase size of alternate
+       signal stack.
+
+2001-11-28  Zack Weinberg  <zack@codesourcery.com>
+
+       * misc.c (gnat_expand_constant): Move declaration above
+       definition of lang_hooks.
+       (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
+       (gnat_init): lang_expand_constant no longer exists.
+
+       (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
+       always have vprintf.
+       (gnat_init): Always call set_internal_error_function.
+
+2001-11-27  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in (stamp-tool_src_dir): Use symbolic link.
+
+2001-11-27  Laurent Guerby  <guerby@acm.org>
+
+       * Makefile.in: Regenerate Ada dependencies.
+
+2001-11-26  Richard Henderson  <rth@redhat.com>
+
+       * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
+       gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
+       gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
+
+2001-11-25  Laurent Guerby  <guerby@acm.org>
+
+       * sysdep.c (rts_get_*): Fix style.
+
+2001-11-19  Laurent Guerby  <guerby@acm.org>
+
+       * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
+       since it is of no apparent use and cause warnings.
+
+2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (gnat_decode_option, gnat_init_options): Make definitions
+       static too.
+       (gnat_init): Don't return NULL.
+       (finish_parse): Remove.
+
+2001-11-17  Laurent Guerby  <guerby@acm.org>
+
+       * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
+       * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
+       * io-aux.c: Provide K&R prototypes to all functions, reformat code.
+       * lang-spec.h: Add missing struct field to silence warnings.
+       * sysdep.c (rts_get_*): Provide K&R prototype.
+       * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
+       * traceback.c (Unlock_Task, Lock_Task): Likewise.
+       * tracebak.c (__gnat_backtrace): Remove unused variable.
+       * utils.c (end_subprog_body): Move to K&R style.
+
+Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
+
+2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (gnat_init): Change prototype.  Include the
+       functionality of the old init_parse and init_decl_processing.
+       (gnat_init_decl_processing): New prototype.
+       (init_parse): Remove.
+       * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
+
+2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (gnat_print_decl, gnat_print_type): Renamed.
+       (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
+       (print_lang_statistics, lang_print_xnode, print_lang_identifier,
+       set_yydebug): Remove.
+
+2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
+       (struct lang_hooks): Constify.
+       (language_string, lang_identify): Remove.
+       * utils.c (init_decl_processing): Update.
+
+2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * misc.c: Include langhooks-def.h.
+       * Makefile.in: Update.
+
+2001-10-30  Robert Dewar <dewar@gnat.com>
+
+       * style.adb:
+       (Check_Identifier): Rewrite circuit to be compatible with use of letters
+       in the upper half of ASCII.
+       (Check_Identifier): Minor reformatting
+
+2001-10-30  Geert Bosch <bosch@gnat.com>
+
+       * (Associated_Node, Set_Associated_Node): Do not check for
+       Freeze_Entity.
+
+2001-10-30  Robert Dewar <dewar@gnat.com>
+
+       * a-reatim.ads: Minor reformatting
+
+2001-10-30  Robert Dewar <dewar@gnat.com>
+
+       * gnatdll.adb: Minor reformatting throughout. Many ??? added for
+       undocumented declarations.
+
+2001-10-30  Pascal Obry <obry@gnat.com>
+
+       * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
+       to the binder and linker.
+       Minor style fix.
+
+       * mdll.ads: Fix layout.  Update copyright notice.
+
+       * mdll.adb: Fix layout.  Update copyright notice.
+
+2001-10-30  Robert Dewar <dewar@gnat.com>
+
+       * usage.adb: Minor fix to output for -gnaty.
+
+2001-10-30  Ed Schonberg <schonber@gnat.com>
+
+       * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
+       to accommodate all its possible values.
+
+       * a-reatim.adb (Split): Special-case handling of Time_Span_First
+       and of small absolute values of T.
+
+2001-10-30  Richard Kenner <kenner@gnat.com>
+
+       * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
+       set_mem_attributes since not needed and wrong if RESULT if a REG;
+       fixes ACATS failures.
+
+2001-10-30  Geert Bosch <bosch@gnat.com>
+
+       * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
+       s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
+
+2001-10-30  Robert Dewar <dewar@gnat.com>
+
+       * bindusg.adb: Undocument -f switch.
+
+       * gnatcmd.adb: Remove /FULL_ELABORATION.
+
+       * opt.ads (Force_RM_Elaboration_Order): Document that this is
+       obsolescent.
+
+       * gnatbind.adb: Output new warning for use of obsolescent -f switch.
+
+       * gnatbind.adb: Minor update of warning msg.
+
+2001-10-30  Vincent Celier <celier@gnat.com>
+
+       * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
+       for project file switches (-P (/PROJECT_FILE=),
+        -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
+       or MEDIUM or HIGH)
+
+2001-10-30  Geert Bosch <bosch@gnat.com>
+
+       * decl.c: Minor whitespace fixes.
+
+2001-10-30  Richard Kenner <kenner@gnat.com>
+
+       * utils2.c (build_allocator): Test for SIZE overflow in array case too
+
+2001-10-30  Geert Bosch <bosch@gnat.com>
+
+       * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
+       Found due to GCC 3.0 warning of using uninitialized value.
+
+       * layout.adb:
+       (Get_Max_Size): Use variant record for tracking value/expression.
+        Makes logic clearer and prevents warnings for uninitialized variables.
+       (Layout_Array_Type): Use variant record for tracking value/expression.
+        Makes logic clearer and prevents warnings for uninitialized variables.
+
+2001-10-30  Robert Dewar <dewar@gnat.com>
+
+       * lib.adb: Minor reformatting
+
+       * s-taprop.ads: Minor reformatting
+
+2001-10-29  Laurent Guerby  <guerby@acm.org>
+
+       * init.c:
+       (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
+       const.
+       (_gnat_error_handler): Make MSG const.
+
+2001-10-29  Richard Kenner <kenner@gnat.com>
+
+       * sysdep.c: Fix localtime_r problem on LynxOS.
+       Also remove #elif to avoid warnings.
+
+       * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
+       used by this.
+
+       * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
+
+2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
+       exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
+       g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
+       g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
+       layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
+       s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
+       sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
+       sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
+       sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
+       types.ads, urealp.adb: Fix spelling errors.
+
+2001-10-27  Laurent Guerby <guerby@acm.org>
+
+       * trans.c (gigi): Fix non determinism leading to bootstrap
+       comparison failures for debugging information.
+
+2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
+
+       * gnat_rm.texi: Use @./@: where appropriate.
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
+
+2001-10-26  Richard Kenner <kenner@gnat.com>
+
+       * gmem.c (__gnat_gmem_read_next): Properly check for EOF
+
+2001-10-26  Richard Kenner <kenner@gnat.com>
+
+       * decl.c (validate_size): Modify message for bad size to avoid
+       implication that compiler is modifying the size.
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * prj-util.adb: Minor reformatting. Fix bad header format.
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
+
+       * sinfo.ads: Clarify use of Associated_Node (documentation only).
+
+       * sem_ch12.adb: Change Node4 to Associated_Node. Change
+       Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
+       much more narrowly in places where needed. These are cleanups.
+
+2001-10-26  Joel Brobecker <brobecke@gnat.com>
+
+       * 5zosinte.ads (null_pthread): new constant.
+
+       * 5ztaprop.adb:
+       (Initialize_TCB): Initialize thread ID to null, to be able to verify
+        later that this field has been set.
+       (Finalize_TCB): ditto.
+       (Suspend_Task): Verify that the thread ID is not null before using it.
+       (Resume_Task): ditto.
+
+       * s-tasdeb.adb:
+       (Resume_All_Tasks): Lock the tasks list before using it.
+       (Suspend_All_Tasks): ditto.
+
+2001-10-26  Richard Kenner <kenner@gnat.com>
+
+       * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
+       Make constant variant of designated type for Is_Access_Constant.
+       Call update_pointer_to with main variant.
+
+       * trans.c (process_freeze_entity, process_type):
+       Call update_pointer_to on main variant.
+
+       * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
+       If main variant, update all other variants.
+
+       * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
+       TREE_STATIC.
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * prj-util.adb: Minor reformatting
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * prj-util.adb: Minor reformatting
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * prj-attr.adb: Minor reformatting throughout
+
+2001-10-26  Robert Dewar <dewar@gnat.com>
+
+       * prj-attr.ads: Minor reformatting
+       Add ??? comment (this whole spec has almost no comments)
+
+2001-10-26  Vincent Celier <celier@gnat.com>
+
+       * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
+        ("//") that precede the drive letter on Interix.
+
 2001-10-26  Geert Bosch <bosch@gnat.com>
 
        * gnat_rm.texi: Add GNAT Reference Manual.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
-       * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name 
+       * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
         is Error. Similar change for other renaming cases.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
 
-       * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array 
+       * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
         return Error rather than Empty so that analysis can proceed.
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
 
-       * sem_util.adb (Enter_Name): better handling of cascaded error 
+       * sem_util.adb (Enter_Name): better handling of cascaded error
         messages when a unit appears in its own context.
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
 
-       * sem_util.adb (Defining_Entity): in case of error, attach created 
+       * sem_util.adb (Defining_Entity): in case of error, attach created
         entity to specification, so that semantic analysis can proceed.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
-       * sem_util.adb 
+       * sem_util.adb
         (Defining_Entity): Deal with Error.
        (Process_End_Label): Deal with bad end label for.
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
 
-       * sem_elab.adb (Check_A_Call): refine message when call is in an 
+       * sem_elab.adb (Check_A_Call): refine message when call is in an
        instance but callee is not declared in the generic unit.
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
-       
-       * sem_elab.adb (Check_A_Call): check for renaming before finding the 
+
+       * sem_elab.adb (Check_A_Call): check for renaming before finding the
        enclosing unit, which may already be different from the calling unit.
 
 2001-10-25  Geert Bosch <bosch@gnat.com>
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
 
-       * sem_res.adb (Resolve_Call): if the call is actually an indexing 
-        operation on the result of a parameterless call, perform elaboration 
+       * sem_res.adb (Resolve_Call): if the call is actually an indexing
+        operation on the result of a parameterless call, perform elaboration
         check after the node has been properly rewritten.
-       
-       * sem_ch12.adb (Copy_Generic_Node): after the proper body has been 
-        inlined within the generic tree, the defining identifier is not a 
+
+       * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
+        inlined within the generic tree, the defining identifier is not a
         compilation_unit.
 
 2001-10-25  Ed Schonberg <schonber@gnat.com>
 
-       * sem_res.adb (Resolve): special-case resolution of Null in an 
+       * sem_res.adb (Resolve): special-case resolution of Null in an
          instance or an inlined body to avoid view conflicts.
-       
-       * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view 
+
+       * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
          compatibility by retrieving the access type of the generic copy.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
        (Analyze_Number_Declaration): Handle error expression.
        (Signed_Integer_Type_Declaration): Handle error bound.
        (Analyze_Subtype_Indication): Handle error range.
-       
+
        * sem_util.adb (Get_Index_Bounds): Check for Error.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
-       * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default 
+       * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
        in no run time mode.
 
 2001-10-25  Pascal Obry <obry@gnat.com>
 
-       * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet 
+       * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
         mode case for ALLOC case.
-       
-       * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on 
+
+       * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
         all platforms. Improvement of last change.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
 2001-10-25  Pascal Obry <obry@gnat.com>
 
-       * osint.adb (Read_Default_Search_Dirs): correctly detect relative 
+       * osint.adb (Read_Default_Search_Dirs): correctly detect relative
         pathnames in UNIX and DOS style with drive letter.
        (Is_Relative): new routine.
-       
+
        * osint.adb: Minor reformatting
-       
-       * osint.adb (Is_Relative): implementation using 
+
+       * osint.adb (Is_Relative): implementation using
         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
 
 2001-10-25  Pascal Obry <obry@gnat.com>
 
-       * g-dirope.adb (Basename): correctly compute offset between the 
+       * g-dirope.adb (Basename): correctly compute offset between the
         original Path and the translated one.
-       
+
        * g-dirope.adb: (Base_Name): add some comments.
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
-       * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use 
+       * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
         in HIE mode, avoids compilation abandoned message
-       
+
        * exp_imgv.adb: Correct typo in previous change
-       
+
        * exp_imgv.adb: Correct typo in previous change (not my day!)
 
 2001-10-25  Robert Dewar <dewar@gnat.com>
 
 2001-10-25  Pascal Obry <obry@gnat.com>
 
-       * g-awk.ads: Move all pragma inlines next to the routine 
+       * g-awk.ads: Move all pragma inlines next to the routine
         declarations. This is more uniform with other GNAT spec.
 
 2001-10-22  Geert Bosch  <bosch@gnat.com>
 
 2001-10-11  Ed Schonberg  <schonber@gnat.com>
 
-       * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in 
+       * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
        renaming of discriminant for mutable record type.
 
 2001-10-11  Robert Dewar  <dewar@gnat.com>
        * validsw.adb: Properly save -gnatVn status.
 
 2001-10-11  Robert Dewar <dewar@gnat.com>
-       
+
        * usage.adb: Add lines for V switch.
 
-       * gnatcmd.adb (COMPILE): Revise translations for -gnatV 
+       * gnatcmd.adb (COMPILE): Revise translations for -gnatV
        (/VALIDITY_CHECKING).
 
 2001-10-11  Ed Schonberg <schonber@gnat.com>
 
-       * sem_type.adb (Add_One_Interp): an operator for a type declared in 
+       * sem_type.adb (Add_One_Interp): an operator for a type declared in
        an extension of System is known to be visible.
 
 2001-10-11  Ed Schonberg <schonber@gnat.com>
 
-       * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal 
+       * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
        properly. Fixes regression on ACATS C34005G.
 
 2001-10-11  Robert Dewar <dewar@gnat.com>
 
-       * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null 
+       * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
        loop in generic instance, since this is likely not very useful.
 
 2001-10-11  Robert Dewar <dewar@gnat.com>
 
-       * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize 
+       * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
        the error message for high integrity mode.
-       
-       * rtsfind.adb (RTE): Give message if we try to find an entity that 
+
+       * rtsfind.adb (RTE): Give message if we try to find an entity that
        is not available in high integrity mode.
-       
+
        * rtsfind.ads:
        (OK_To_Use_In_HIE_Mode): New array.
        (RTE): May return Empty in high integrity mode.
-       
-       * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for 
-       OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx. 
-       
-       * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined 
-       unit if not inlined always and in no runtime mode. Fixes problem 
+
+       * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
+       OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
+       unit if not inlined always and in no runtime mode. Fixes problem
        caused by new Rtsfind changes.
-       
-       * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if 
+
+       * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
        body is deleted.
-       
-       * rtsfind.adb (RTE): Make sure we do not try to load unit after 
+
+       * rtsfind.adb (RTE): Make sure we do not try to load unit after
        giving message for entity not available in high integrity mode.
 
 2001-10-11  Pascal Obry <obry@gnat.com>
-       
+
        * impunit.adb: Add GNAT.CRC32.
 
 2001-10-11  Ed Schonberg <schonber@gnat.com>
 
-       * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle 
-       properly the case where one universal operand in a non-static 
+       * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
+       properly the case where one universal operand in a non-static
        exponentiation of a real literal.
 
 2001-10-11  Ed Schonberg <schonber@gnat.com>
 
-       * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type 
-       clause, return the gobal finalization list, for lack of anthing else. 
+       * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
+       clause, return the gobal finalization list, for lack of anthing else.
 
 2001-10-11  Ed Schonberg <schonber@gnat.com>
 
-       * exp_ch7.adb (Make_Transient_Block): if statement is within 
-       exception handler, always use new transient scope to place Clean 
+       * exp_ch7.adb (Make_Transient_Block): if statement is within
+       exception handler, always use new transient scope to place Clean
        procedure.
 
 2001-10-11  Pascal Obry <obry@gnat.com>
        (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
        (GNATLS_RTL_OBJS): add g-crc32.o
        (GNATMAKE_RTL_OBJS): add g-crc32.o
-       
+
        * ali-util.adb:
        (CRC_Match): new function.
-       (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit 
+       (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
        instead of the previous simple checksum algorithm.
        (Time_Stamp_Mismatch): use CRC_Match for comparison.
        (Set_Source_Table): idem.
-       
+
        * ali-util.ads:
-       (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC 
+       (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
        instead of simple checksum.
        (CRC_Match): new function.
        (CRC_Error): new constant.
-       
-       * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling 
-       a CRC now and not a simple checksum. A CRC uses lower-case hex 
+
+       * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
+       a CRC now and not a simple checksum. A CRC uses lower-case hex
        letters, fixes ambiguity in parsing.
-       
-       * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this 
+
+       * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
        is what this variable will store.
-       
+
        * bcheck.adb: Change reference to chechsum in comments by CRC.
-       (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC. 
-       rename All_Checksum_Match to All_CRC_Match. Change due to API 
-       renaming since now GNAT does not use a simple checksum but a 
+       (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
+       rename All_Checksum_Match to All_CRC_Match. Change due to API
+       renaming since now GNAT does not use a simple checksum but a
        CRC using GNAT.CRC32.
-       
-       * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC 
+
+       * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
        now and not anymore a simple checksum.
-       
-       * lib-load.adb: Use Source_CRC instead of Source_Checksum in many 
+
+       * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
        places.
-       
+
        * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
-       
+
        * scans.adb:
        (Restore_Scan_State): rename Checksum to CRC.
        (Save_Scan_State): idem.
-       
+
        * scans.ads:
        With GNAT.CRC32.
        (Checksum): rename to CRC.
        (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
-       
-       * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from 
+
+       * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
        GNAT.CRC32).  Update copyright notice.
-       
-       * scn-slit.adb: Rename many Accumulate_Checksum to Update (from 
+
+       * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
        GNAT.CRC32).  Update copyright notice.
-       
+
        * scn.adb:
        (Accumulate_Checksum): removed.
        (Update): new procedure. Add a wide-character into the CRC.
-       
+
        * sinput-l.adb:
        (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
-       (Load_File): fix initialization of S (change Source_Checksum to 
+       (Load_File): fix initialization of S (change Source_Checksum to
        Source_CRC)
-       
-       * sinput-p.adb (Load_Project_File): rename Source_Checksum to 
+
+       * sinput-p.adb (Load_Project_File): rename Source_Checksum to
        Source_CRC in S initialization.
-       
+
        * sinput.adb (Source_Checksum): renamed to Source_CRC.
-       
+
        * sinput.ads (Source_Checksum): renamed to Source_CRC.
        Update comments for the CRC.
-       
+
        * types.adb (Hex): Use lowercase for the letter part.
-       
-       * types.ads (Get_Hex_String): Returns the hexadecimal representation 
-       for a word. This is currently used only for CRC. In previous version, 
-       the checksum was using a representation with all letter being 
-       upper-case. With the new implementation (using CRC) we do not remove 
-       the 32th bit of the CRC, so we can have an upper-case starting letter 
-       in the CRC. This is not possible to parse in Scan_ALI (ali.adb). 
-       It is ambigous since the CRC was optional and could be followed by 
-       options like EB, EE. So now this routines uses lower-case letter for 
-       the hexadecimal representation. Strange enough only lower case letters 
+
+       * types.ads (Get_Hex_String): Returns the hexadecimal representation
+       for a word. This is currently used only for CRC. In previous version,
+       the checksum was using a representation with all letter being
+       upper-case. With the new implementation (using CRC) we do not remove
+       the 32th bit of the CRC, so we can have an upper-case starting letter
+       in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
+       It is ambigous since the CRC was optional and could be followed by
+       options like EB, EE. So now this routines uses lower-case letter for
+       the hexadecimal representation. Strange enough only lower case letters
        where checked in Scan_ALI (even if this was not a possible case).
-       
+
        * gnatvsn.ads (Library_Version): changed to 3.15a.
-       
-       * s-crc32.ads: Initial version from GNAT.CRC32. This is the version 
+
+       * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
        for the compiler.
-       
-       * s-crc32.adb: Initial version from GNAT.CRC32. This is the version 
+
+       * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
        for the compiler.
-       
+
        * ali-util.adb: Redo previous change to avoid using word CRC everywhere
        Add 2001 to copyright notice
        (Accumulate_Checksum): Modify to use System.CRC32.
-       
-       * ali-util.ads: Redo changes of previous revision to continue to use 
+
+       * ali-util.ads: Redo changes of previous revision to continue to use
        the word Checksum. Add 2001 to copyright notice.
-       
+
        * ali.adb: Undo some of previous changes, not needed.
        Keep the change for lower case letters in the checksum.
-       
+
        * ali.ads: Undo previous change not needed.
 
        * bcheck.adb: Undo most of previous change, not needed.
        But do use Checksums_Match for checksum comparison.
-       
+
        * gnatls.adb: Undo most of previous change, not needed.
        But do use Checksums_Match for comparing checksums.
-       
+
        * lib-load.adb: Undo previous change, not needed.
-       
+
        * lib-writ.adb: Undo previous change, not needed.
-       
-       * lib-writ.ads: Document that checksums use lower case, 
+
+       * lib-writ.ads: Document that checksums use lower case,
        not upper case letters.
-       
+
        * scans.adb: Undo previous change, not needed
-       
+
        * scans.ads: Undo previous change, not needed.
-       
+
        * scn-nlit.adb: Undo previous changes, not needed.
-       
+
        * scn-slit.adb: Undo previous change, not needed.  Fix header format.
-       
+
        * scn.adb:
        (Accumulate_Checksum): Use System.CRC32.
        (Initialize_Checksum): New procedure.
        Remove other changes of previous revision.
-       
+
        * sinput-p.adb: Undo previous change, not needed.
-       
+
        * sinput.adb: Undo previous change, not needed.
 
        * sinput-l.adb: Undo previous change, not needed.
-       
-       * sinput.ads: Undo previous change, not needed.  Keep only comment 
+
+       * sinput.ads: Undo previous change, not needed.  Keep only comment
        on new checksum algorithm
-       
+
        * Makefile.in: Add s-crc32 as needed, remove g-crc32.
        Also remove a-tags and a-stream from GNAT sources.
-       
+
        * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
-       
+
        * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
 
 2001-10-11  Geert Bosch  <bosch@gnat.com>
 2001-10-10  Geert Bosch  <bosch@gnat.com>
 
        * gnat-style.texi: New file describing coding guidelines for Ada.
-       
+
 2001-10-10  Ed Schonberg <schonber@gnat.com>
 
-       * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required 
+       * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
        is Flag174.
 
 2001-10-10  Geert Bosch  <bosch@gnat.com>
        Switches indexed by the file name.
        (Collect_Arguments_And_Compile): Idem.
        Reflect the attribute name changes.
-       
+
        * prj-attr.adb:
        (Initialisation_Data): Change the names of some packages and
        attributes.
        (Initialize): process case insensitive associative arrays.
-       
+
        * prj-attr.ads:
        (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
-       
+
        * prj-dect.adb:
        (Parse_Attribute_Declaration): For case insensitive associative
         arrays, set the index string to lower case.
-       
+
        * prj-env.adb:
        Reflect the changes of the project attributes.
-       
+
        * prj-nmsc.adb:
        Replace Check_Naming_Scheme by Ada_Check and
        Language_Independent_Check.
-       
+
        * prj-nmsc.ads:
        Replaced Check_Naming_Scheme by 2 procedures:
        Ada_Check and Language_Independent_Check.
-       
+
        * prj-proc.adb:
        (Process_Declarative_Items): For case-insensitive associative
        arrays, set the index string to lower case.
        (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
        Prj.Nmsc.Check_Naming_Scheme.
-       
+
        * prj-tree.adb:
        (Case_Insensitive): New function
        (Set_Case_Insensitive): New procedure
-       
+
        * prj-tree.ads:
        (Case_Insensitive): New function
        (Set_Case_Insensitive): New procedure
        (Project_Node_Record): New flag Case_Insensitive.
-       
+
        * prj-util.adb:
        (Value_Of): new function to get the string value of a single
        string variable or attribute.
-       
+
        * prj-util.ads:
        (Value_Of): new function to get the string value of a single
        string variable or attribute.
-       
+
        * prj.adb:
        (Ada_Default_Spec_Suffix): New function
        (Ada_Default_Impl_Suffix): New function
        Change definitions of several constants to reflect
        new components of record types.
-       
+
        * prj.ads:
        (Naming_Data): Change several components to reflect new
        elements of naming schemes.
        Language_Independent_Checked.
        (Ada_Default_Spec_Suffix): New function.
        (Ada_Default_Impl_Suffix): New function.
-       
+
        * snames.ads:
        Modification of predefined names for project manager: added
        Implementation, Specification_Exceptions, Implementation_Exceptions,
        Finder. Removed Body_Part, Specification_Append, Body_Append,
        Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
        Gnatlink.
-       
+
        * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
        Add comments.
-       
+
        * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
        not that it is Nil_Variable_Value.
-       
+
        * prj.ads: Add ??? for uncommented declarations
 
 2001-10-10  Ed Schonberg <schonber@gnat.com>
 
-       * sem_prag.adb: (Analyze_Pragma, case External): If entity is a 
-       constant, do not indicate possible modification, so that gigi can 
+       * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
+       constant, do not indicate possible modification, so that gigi can
        treat it as a bona fide constant.
 
 2001-10-10  Robert Dewar <dewar@gnat.com>
 
        * sem_prag.adb: Add processing for pragma External.
-       
+
        * snames.ads: Add entry for pragma External.
-       
+
        * par-prag.adb: Add pragma External.
-       
+
        * snames.adb: Updated to match snames.ads.
 
 2001-10-10  Ed Schonberg <schonber@gnat.com>
        * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
        a dynamic task if the allocator appears in an indexed assignment
        or selected component assignment.
-       
-       * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image): 
-       For a dynamic task in an assignment statement, use target of 
+
+       * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
+       For a dynamic task in an assignment statement, use target of
        assignment to generate meaningful name.
 
 2001-10-10  Ed Schonberg <schonber@gnat.com>
 
-       * einfo.adb (Write_Field19_Name): Body_Entity is also defined for 
+       * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
        a generic package.
 
        * einfo.ads: Body_Entity is also defined for generic package.
        Documentation change only
-       
-       * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an 
-       others_choice for a discriminated component initialization, 
-       convert discriminant references into the corresponding discriminals. 
-       
-       * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate 
-       only if original type is private and expression has to be wrapped 
+
+       * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
+       others_choice for a discriminated component initialization,
+       convert discriminant references into the corresponding discriminals.
+
+       * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
+       only if original type is private and expression has to be wrapped
        in a conversion.
-       
-       * checks.adb: 
-       (Apply_Constraint_Check): Do not perform length check 
+
+       * checks.adb:
+       (Apply_Constraint_Check): Do not perform length check
        if expression is an aggregate with only an others_choice.
-       (Length_N_Cond): two references to the same in_parameter 
+       (Length_N_Cond): two references to the same in_parameter
        (typically the discriminal in an init_proc) denote the same value.
        Two useful optimization uncovered by bugfixes above.
 
 2001-10-10  Robert Dewar <dewar@gnat.com>
 
-       * xeinfo.adb: Change int to char in translation of enumeration types. 
+       * xeinfo.adb: Change int to char in translation of enumeration types.
        This fixes a problem in the C representation of component alignment.
        Add 2001 to copyright notice
 
 2001-10-10  Richard Kenner <kenner@gnat.com>
 
-       * decl.c: (validate_size): Do check size of object of integral type 
+       * decl.c: (validate_size): Do check size of object of integral type
        if it is a packed array type.
 
 2001-10-10  Richard Kenner <kenner@gnat.com>
 
-       * decl.c: (gnat_to_gnu_entity, case object): Also materialize 
+       * decl.c: (gnat_to_gnu_entity, case object): Also materialize
        VAR_DECL for constant if not Is_Public but -O0.
 
 2001-10-10  Richard Kenner  <kenner@gnat.com>
 
 2001-10-10  Geert Bosch  <bosch@gnat.com>
 
-       * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer 
+       * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
        use '/' as switch character, allowing for absolute file names.
 
 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>