1 2001-12-12 Robert Dewar <dewar@gnat.com>
3 * s-stalib.adb: Add more comments on with statements being needed
5 * par-ch12.adb: Minor reformatting
7 * prj-dect.ads: Fix copyright header
9 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
10 inputs fit in 32 bits, but the result still overflows.
12 * s-fatgen.ads: Minor comment improvement
14 2001-12-12 Ed Schonberg <schonber@gnat.com>
16 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
17 formal derived type, look for an inherited component from the full
18 view of the parent, if any.
20 2001-12-12 Robert Dewar <dewar@gnat.com>
22 * checks.ads (Apply_Alignment_Check): New procedure.
24 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
25 ensure that the alignment of objects with address clauses is
26 appropriate, and raise PE if not.
28 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
29 Exp_Pakd.Known_Aligned_Enough
31 * mdllfile.ads: Minor reformatting
33 * mlib-fil.ads: Minor reformatting
35 2001-12-12 Ed Schonberg <schonber@gnat.com>
37 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
38 fix to any component reference if enclosing record has non-standard
41 2001-12-12 Vincent Celier <celier@gnat.com>
43 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
46 2001-12-12 Ed Schonberg <schonber@gnat.com>
48 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
51 2001-12-12 Robert Dewar <dewar@gnat.com>
53 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
55 2001-12-12 Emmanuel Briot <briot@gnat.com>
57 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
58 and it adds dependencies to system.io.
60 2001-12-12 Pascal Obry <obry@gnat.com>
62 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
65 *** s-stalib.adb 2001/09/03 15:24:33 1.17
66 --- s-stalib.adb 2001/10/16 13:14:46 1.18
69 -- elaboration circularities with Ada.Exceptions if polling is on.
71 with System.Soft_Links;
72 ! -- Referenced directly from generated code
73 ! -- Also referenced from exception handling routines.
74 -- This is needed for programs that don't use exceptions explicitely but
75 -- direct calls to Ada.Exceptions are generated by gigi (for example,
76 -- by calling __gnat_raise_constraint_error directly).
79 ! -- Referenced directly from generated code
81 package body System.Standard_Library is
84 -- elaboration circularities with Ada.Exceptions if polling is on.
86 with System.Soft_Links;
87 ! -- Referenced directly from generated code using external symbols so it
88 ! -- must always be present in a build, even if no unit has a direct with
89 ! -- of this unit. Also referenced from exception handling routines.
90 -- This is needed for programs that don't use exceptions explicitely but
91 -- direct calls to Ada.Exceptions are generated by gigi (for example,
92 -- by calling __gnat_raise_constraint_error directly).
95 ! -- Referenced directly from generated code using external symbols, so it
96 ! -- must always be present in a build, even if no unit has a direct with
99 package body System.Standard_Library is
102 *** par-ch12.adb 2001/10/19 15:22:18 1.48
103 --- par-ch12.adb 2001/10/19 15:24:48 1.49
106 if Def_Node /= Error then
107 Set_Formal_Type_Definition (Decl_Node, Def_Node);
112 if Token = Tok_Semicolon then
113 - -- Avoid further cascaded errors.
120 end P_Formal_Type_Declaration;
122 if Def_Node /= Error then
123 Set_Formal_Type_Definition (Decl_Node, Def_Node);
129 + -- If we have semicolon, skip it to avoid cascaded errors
131 if Token = Tok_Semicolon then
137 end P_Formal_Type_Declaration;
139 *** prj-dect.ads 2001/10/20 10:28:13 1.4
140 --- prj-dect.ads 2001/10/20 11:43:56 1.5
146 ! -- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
148 -- GNAT is free software; you can redistribute it and/or modify it under --
149 -- terms of the GNU General Public License as published by the Free Soft- --
154 ! -- Copyright (C) 2001 Free Software Foundation, Inc. --
156 -- GNAT is free software; you can redistribute it and/or modify it under --
157 -- terms of the GNU General Public License as published by the Free Soft- --
159 *** s-arit64.adb 2001/02/09 15:10:29 1.16
160 --- s-arit64.adb 2001/10/20 14:50:39 1.17
180 ! elsif Yhi /= 0 then
183 ! else -- Yhi = Xhi = 0
187 + -- Here we have T2 set to the contribution to the upper half
188 + -- of the result from the upper halves of the input values.
193 *** s-fatgen.ads 2001/07/20 00:59:34 1.9
194 --- s-fatgen.ads 2001/10/20 18:37:39 1.10
198 function Unbiased_Rounding (X : T) return T;
200 ! function Valid (X : access T) return Boolean;
201 ! -- The argument must be passed by reference here, as T may be
202 ! -- an abnormal value that can be passed in a floating point register.
205 pragma Inline (Machine);
208 function Unbiased_Rounding (X : T) return T;
210 ! function Valid (X : access T) return Boolean;
211 ! -- This function checks if the object of type T referenced by X
212 ! -- is valid, and returns True/False accordingly. The parameter is
213 ! -- passed by reference (access) here, as the object of type T may
214 ! -- be an abnormal value that cannot be passed in a floating-point
215 ! -- register, and the whole point of 'Valid is to prevent exceptions.
218 pragma Inline (Machine);
220 *** sem_ch4.adb 2001/09/24 22:32:31 1.511
221 --- sem_ch4.adb 2001/10/21 17:41:52 1.512
226 Check_Misspelled_Selector (Entity_List, Sel);
228 + elsif Is_Generic_Type (Prefix_Type)
229 + and then Ekind (Prefix_Type) = E_Record_Type_With_Private
230 + and then Is_Record_Type (Etype (Prefix_Type))
232 + -- If this is a derived formal type, the parent may have a
233 + -- different visibility at this point. Try for an inherited
234 + -- component before reporting an error.
236 + Set_Etype (Prefix (N), Etype (Prefix_Type));
237 + Analyze_Selected_Component (N);
241 if Ekind (Prefix_Type) = E_Record_Subtype then
244 *** checks.ads 2001/07/16 01:26:04 1.55
245 --- checks.ads 2001/10/28 15:13:02 1.56
249 -- the object denoted by the access parameter is not deeper than the
250 -- level of the type Typ. Program_Error is raised if the check fails.
252 + procedure Apply_Alignment_Check (E : Entity_Id; N : Node_Id);
253 + -- E is the entity for an object. If there is an address clause for
254 + -- this entity, and checks are enabled, then this procedure generates
255 + -- a check that the specified address has an alignment consistent with
256 + -- the alignment of the object, raising PE if this is not the case. The
257 + -- resulting check (if one is generated) is inserted before node N.
259 procedure Apply_Array_Size_Check (N : Node_Id; Typ : Entity_Id);
260 -- N is the node for an object declaration that declares an object of
261 -- array type Typ. This routine generates, if necessary, a check that
263 *** exp_ch13.adb 2001/07/16 21:21:29 1.76
264 --- exp_ch13.adb 2001/10/28 15:13:25 1.77
268 ------------------------------------------------------------------------------
270 with Atree; use Atree;
271 + with Checks; use Checks;
272 with Einfo; use Einfo;
273 with Exp_Ch3; use Exp_Ch3;
274 with Exp_Ch6; use Exp_Ch6;
280 ! if not Is_Type (E) and then not Is_Subprogram (E) then
284 E_Scope := Scope (E);
286 -- If we are freezing entities defined in protected types, they
291 ! -- For object, with address clause, check alignment is OK
293 ! if Is_Object (E) then
294 ! Apply_Alignment_Check (E, N);
296 ! -- Only other items requiring any front end action are
297 ! -- types and subprograms.
299 ! elsif not Is_Type (E) and then not Is_Subprogram (E) then
303 + -- Here E is a type or a subprogram
305 E_Scope := Scope (E);
307 -- If we are freezing entities defined in protected types, they
311 elsif Is_Subprogram (E) then
312 Freeze_Subprogram (N);
314 - -- No other entities require any front end freeze actions
320 -- Analyze actions generated by freezing. The init_proc contains
323 *** exp_util.ads 2001/07/23 10:05:17 1.112
324 --- exp_util.ads 2001/10/28 15:14:04 1.113
327 -- routine is to help avoid generating troublesome temporaries that
328 -- intefere with the stack checking mechanism.
330 - function Must_Be_Aligned (Obj : Node_Id) return Boolean;
331 - -- Given an object reference, determines whether or not the object
332 - -- is required to be aligned according to its type'alignment value.
333 - -- Normally, objects are required to be aligned, and the result will
334 - -- be True. The situation in which this is not the case is if the
335 - -- object reference involves a component of a packed array, where
336 - -- the type of the component is not required to have strict alignment.
337 - -- In this case, false will be returned.
339 procedure Remove_Side_Effects
341 Name_Req : Boolean := False;
344 *** mdllfile.ads 2001/10/29 02:06:24 1.2
345 --- mdllfile.ads 2001/10/29 02:50:12 1.3
349 ------------------------------------------------------------------------------
351 ! -- Simple services used by GNATDLL to deal with Filename extension.
353 package MDLL.Files is
355 No_Ext : constant String := "";
357 ! function Get_Ext (Filename : in String)
359 ! -- return filename's extension.
361 ! function Is_Ali (Filename : in String)
363 ! -- test if Filename is an Ada library file (.ali).
365 ! function Is_Obj (Filename : in String)
367 ! -- test if Filename is an object file (.o or .obj).
369 ! function Ext_To (Filename : in String;
370 ! New_Ext : in String := No_Ext)
372 ! -- return Filename with the extension change to New_Ext.
377 ------------------------------------------------------------------------------
379 ! -- Simple services used by GNATDLL to deal with Filename extension
381 package MDLL.Files is
383 No_Ext : constant String := "";
384 + -- Used to mark the absence of an extension
386 ! function Get_Ext (Filename : String) return String;
387 ! -- Return extension of Filename
389 ! function Is_Ali (Filename : String) return Boolean;
390 ! -- Test if Filename is an Ada library file (.ali).
392 ! function Is_Obj (Filename : String) return Boolean;
393 ! -- Test if Filename is an object file (.o or .obj)
396 ! (Filename : String;
397 ! New_Ext : String := No_Ext)
399 ! -- Return Filename with the extension change to New_Ext
403 *** mlib-fil.ads 2001/10/29 02:06:26 1.3
404 --- mlib-fil.ads 2001/10/29 02:51:28 1.4
408 -- Return Filename with the extension change to New_Ext.
410 ! function Get_Ext (Filename : in String) return String;
411 -- Return extension of filename.
413 function Is_Archive (Filename : String) return Boolean;
414 -- Test if filename is an archive
416 ! function Is_C (Filename : in String) return Boolean;
417 -- Test if Filename is a C file
419 ! function Is_Obj (Filename : in String) return Boolean;
420 -- Test if Filename is an object file
425 -- Return Filename with the extension change to New_Ext.
427 ! function Get_Ext (Filename : String) return String;
428 -- Return extension of filename.
430 function Is_Archive (Filename : String) return Boolean;
431 -- Test if filename is an archive
433 ! function Is_C (Filename : String) return Boolean;
434 -- Test if Filename is a C file
436 ! function Is_Obj (Filename : String) return Boolean;
437 -- Test if Filename is an object file
441 *** exp_ch8.adb 2001/10/03 02:17:32 1.30
442 --- exp_ch8.adb 2001/10/29 17:32:24 1.31
445 -- of the renamed object. The cases in which this is not true are when
446 -- this address is not computable, since it involves extraction of a
447 -- packed array element, or of a record component to which a component
448 ! -- clause applies (that can specify an arbitrary bit boundary).
450 -- In these two cases, we pre-evaluate the renaming expression, by
451 -- extracting and freezing the values of any subscripts, and then we
453 -- of the renamed object. The cases in which this is not true are when
454 -- this address is not computable, since it involves extraction of a
455 -- packed array element, or of a record component to which a component
456 ! -- clause applies (that can specify an arbitrary bit boundary), or where
457 ! -- the enclosing record itself has a non-standard representation.
459 -- In these two cases, we pre-evaluate the renaming expression, by
460 -- extracting and freezing the values of any subscripts, and then we
465 elsif Nkind (Nam) = N_Selected_Component then
466 ! if Present (Component_Clause (Entity (Selector_Name (Nam)))) then
469 ! elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
470 ! and then Is_Record_Type (Etype (Prefix (Nam)))
471 ! and then not Is_Concurrent_Record_Type (Etype (Prefix (Nam)))
476 ! return Evaluation_Required (Prefix (Nam));
484 elsif Nkind (Nam) = N_Selected_Component then
486 ! Rec_Type : Entity_Id := Etype (Prefix (Nam));
489 ! if Present (Component_Clause (Entity (Selector_Name (Nam))))
490 ! or else Has_Non_Standard_Rep (Rec_Type)
494 ! elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
495 ! and then Is_Record_Type (Rec_Type)
496 ! and then not Is_Concurrent_Record_Type (Rec_Type)
501 ! return Evaluation_Required (Prefix (Nam));
508 *** g-dirope.ads 2001/08/27 09:48:38 1.12
509 --- g-dirope.ads 2001/10/29 19:18:13 1.13
513 -- can be treated as a file, using open and close routines, and a scanning
514 -- routine is provided for iterating through the entries in a directory.
516 + -- See also child package GNAT.Directory_Operations.Iteration
518 + with Ada.Strings.Maps;
520 package GNAT.Directory_Operations is
522 subtype Dir_Name_Str is String;
525 -- returned in target-OS form. Raises Directory_Error if Dir has not
526 -- be opened (Dir = Null_Dir).
529 - with procedure Action
532 - Quit : in out Boolean);
533 - procedure Wildcard_Iterator (Path : Path_Name);
534 - -- Calls Action for each path matching Path. Path can include wildcards '*'
535 - -- and '?' and [...]. The rules are:
537 - -- * can be replaced by any sequence of characters
538 - -- ? can be replaced by a single character
539 - -- [a-z] match one character in the range 'a' through 'z'
540 - -- [abc] match either character 'a', 'b' or 'c'
542 - -- Item is the filename that has been matched. Index is set to one for the
543 - -- first call and is incremented by one at each call. The iterator's
544 - -- termination can be controlled by setting Quit to True. It is by default
547 - -- For example, if we have the following directory structure:
560 - -- A call with expression "/s*/file/*" will call Action for the following
562 - -- /sed/file/foo.ads
563 - -- /sid/file/foo.ads
566 - with procedure Action
569 - Quit : in out Boolean);
571 - (Root_Directory : Dir_Name_Str;
572 - File_Pattern : String);
573 - -- Recursively searches the directory structure rooted at Root_Directory.
574 - -- This provides functionality similar to the UNIX 'find' command.
575 - -- Action will be called for every item matching the regular expression
576 - -- File_Pattern (see GNAT.Regexp). Item is the full pathname to the file
577 - -- starting with Root_Directory that has been matched. Index is set to one
578 - -- for the first call and is incremented by one at each call. The iterator
579 - -- will pass in the value False on each call to Action. The iterator will
580 - -- terminate after passing the last matched path to Action or after
581 - -- returning from a call to Action which sets Quit to True.
582 - -- Raises GNAT.Regexp.Error_In_Regexp if File_Pattern is ill formed.
584 function Read_Is_Thread_Safe return Boolean;
585 -- Indicates if procedure Read is thread safe. On systems where the
586 -- target system supports this functionality, Read is thread safe,
591 Null_Dir : constant Dir_Type := null;
593 pragma Import (C, Dir_Separator, "__gnat_dir_separator");
595 + Dir_Seps : constant Ada.Strings.Maps.Character_Set :=
596 + Ada.Strings.Maps.To_Set ("/\");
597 + -- UNIX and DOS style directory separators.
599 end GNAT.Directory_Operations;
601 *** freeze.ads 2001/10/29 02:06:04 1.15
602 --- freeze.ads 2001/10/30 01:36:24 1.16
606 -- so need to be similarly treated. Freeze_Expression takes care of
607 -- determining the proper insertion point for generated freeze actions.
609 + procedure Freeze_Fixed_Point_Type (Typ : Entity_Id);
610 + -- Freeze fixed point type. For fixed-point types, we have to defer
611 + -- setting the size and bounds till the freeze point, since they are
612 + -- potentially affected by the presence of size and small clauses.
614 procedure Freeze_Itype (T : Entity_Id; N : Node_Id);
615 -- This routine is called when an Itype is created and must be frozen
616 -- immediately at the point of creation (for the sake of the expansion
618 *** impunit.adb 2001/09/26 07:14:11 1.14
619 --- impunit.adb 2001/10/30 04:33:45 1.15
623 "g-curexc", -- GNAT.Current_Exception
624 "g-debpoo", -- GNAT.Debug_Pools
625 "g-debuti", -- GNAT.Debug_Utilities
626 + "g-diopit", -- GNAT.Directory_Operations.Iteration
627 "g-dirope", -- GNAT.Directory_Operations
628 "g-dyntab", -- GNAT.Dynamic_Tables
629 "g-exctra", -- GNAT.Exception_Traces
631 *** g-regexp.adb 2001/10/21 11:04:16 1.28
632 --- g-regexp.adb 2001/10/30 15:25:04 1.29
636 ------------------------------------------------------------------------------
639 with Unchecked_Deallocation;
646 -- Deterministic finite-state machine
648 - Debug : constant Boolean := False;
649 - -- When True, the primary and secondary tables will be printed.
650 - -- Gnat does not generate any code if this variable is False;
652 -----------------------
653 -- Local Subprograms --
654 -----------------------
658 pragma No_Return (Raise_Exception);
659 -- Raise an exception, indicating an error at character Index in S.
661 - procedure Print_Table
662 - (Table : Regexp_Array;
663 - Num_States : State_Index;
664 - Is_Primary : Boolean := True);
665 - -- Print a table for debugging purposes
677 - System.IO.New_Line;
678 - System.IO.Put_Line ("Secondary table : ");
679 - Print_Table (R.States, Nb_State, False);
682 return (Ada.Finalization.Controlled with R => R);
684 end Create_Secondary_Table;
690 - procedure Print_Table
691 - (Table : Regexp_Array;
692 - Num_States : State_Index;
693 - Is_Primary : Boolean := True)
695 - function Reverse_Mapping (N : Column_Index) return Character;
696 - -- Return the character corresponding to a column in the mapping
698 - ---------------------
699 - -- Reverse_Mapping --
700 - ---------------------
702 - function Reverse_Mapping (N : Column_Index) return Character is
704 - for Column in Map'Range loop
705 - if Map (Column) = N then
711 - end Reverse_Mapping;
713 - -- Start of processing for Print_Table
716 - -- Print the header line
718 - System.IO.Put (" [*] ");
720 - for Column in 1 .. Alphabet_Size loop
722 - (String'(1 .. 1 => Reverse_Mapping (Column)) & " ");
726 - System.IO.Put ("closure....");
729 - System.IO.New_Line;
731 - -- Print every line
733 - for State in 1 .. Num_States loop
734 - System.IO.Put (State'Img);
736 - for K in 1 .. 3 - State'Img'Length loop
737 - System.IO.Put (" ");
740 - for K in 0 .. Alphabet_Size loop
741 - System.IO.Put (Table (State, K)'Img & " ");
744 - for K in Alphabet_Size + 1 .. Table'Last (2) loop
745 - if Table (State, K) /= 0 then
746 - System.IO.Put (Table (State, K)'Img & ",");
750 - System.IO.New_Line;
755 ---------------------
756 -- Raise_Exception --
757 ---------------------
761 (Table, Num_States, Start_State, End_State);
765 - Print_Table (Table.all, Num_States);
766 - System.IO.Put_Line ("Start_State : " & Start_State'Img);
767 - System.IO.Put_Line ("End_State : " & End_State'Img);
770 -- Creates the secondary table
772 R := Create_Secondary_Table
776 New_Table := new Regexp_Array (Table'First (1) .. New_Lines,
777 Table'First (2) .. New_Columns);
778 New_Table.all := (others => (others => 0));
781 - System.IO.Put_Line ("Reallocating table: Lines from "
782 - & State_Index'Image (Table'Last (1))
784 - & State_Index'Image (New_Lines));
785 - System.IO.Put_Line (" and columns from "
786 - & Column_Index'Image (Table'Last (2))
788 - & Column_Index'Image (New_Columns));
791 for J in Table'Range (1) loop
792 for K in Table'Range (2) loop
795 *** g-dirope.adb 2001/10/31 21:36:04 1.20
796 --- g-dirope.adb 2001/11/01 16:39:33 1.21
802 ! exit Var_Name when E = Path'Last;
804 if Characters.Handling.Is_Letter (Path (E))
805 or else Characters.Handling.Is_Digit (Path (E))
815 Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
820 ! exit Var_Name when E > Path'Last;
822 if Characters.Handling.Is_Letter (Path (E))
823 or else Characters.Handling.Is_Digit (Path (E))
834 Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
835 2001-12-11 Ed Schonberg <schonber@gnat.com>
837 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
838 that is the parent of other generics, the instance body replaces the
839 instance node. Retrieve the instance of the spec, which is the one
840 that is visible in clients and within the body.
842 2001-12-11 Vincent Celier <celier@gnat.com>
844 * gnatmain.adb: Initial version.
846 * gnatmain.ads: Initial version.
848 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
850 * snames.adb: Updated to match snames.ads.
852 * snames.ads: Added Gnatstub.
854 2001-12-11 Vincent Celier <celier@gnat.com>
856 * prj-attr.adb (Initialization_Data): Change name from
859 2001-12-11 Emmanuel Briot <briot@gnat.com>
861 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
862 + and * applied to backslashed expressions like \r.
864 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
866 * g-os_lib.ads: String_List type added, Argument_List type is now
867 subtype of String_List.
869 2001-12-11 Robert Dewar <dewar@gnat.com>
871 * g-os_lib.ads: Change copyright to FSF
872 Add comments for String_List type
874 2001-12-11 Vincent Celier <celier@gnat.com>
876 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
877 string to the buffer).
879 2001-12-11 Ed Schonberg <schonber@gnat.com>
881 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
884 * sem_attr.adb: Simplify previous fix for Address.
885 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
886 to avoid anomalies where the bound of the type appears to raise
889 2001-12-11 Robert Dewar <dewar@gnat.com>
891 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
894 2001-12-11 Ed Schonberg <schonber@gnat.com>
896 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
897 renamed unit before checking for recursive instantiations.
899 2001-12-11 Emmanuel Briot <briot@gnat.com>
901 * prj.ads: Add comments for some of the fields.
903 2001-12-11 Robert Dewar <dewar@gnat.com>
905 * lib-xref.adb (Output_Refs): Don't output type references outside
906 the main unit if they are not otherwise referenced.
908 2001-12-11 Ed Schonberg <schonber@gnat.com>
910 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
911 code and diagnose additional illegal uses
913 * sem_util.adb (Is_Object_Reference): An indexed component is an
914 object only if the prefix is.
916 2001-12-11 Vincent Celier <celier@gnat.com>
918 * g-diopit.adb: Initial version.
920 * g-diopit.ads: Initial version.
923 (Expand_Path): Avoid use of Unbounded_String
924 (Find, Wildcard_Iterator): Moved to child package Iteration
926 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
928 2001-12-11 Robert Dewar <dewar@gnat.com>
930 * sem_attr.adb: Minor reformatting
932 2001-12-11 Ed Schonberg <schonber@gnat.com>
934 * sem_ch3.adb: Clarify some ???.
936 2001-12-11 Robert Dewar <dewar@gnat.com>
938 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
939 Exp_Pakd.Known_Aligned_Enough
941 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
942 version is moved to Exp_Ch13.
944 2001-12-11 Robert Dewar <dewar@gnat.com>
946 * einfo.ads: Minor reformatting
948 * exp_ch5.adb: Add comment for previous.change
950 * ali.adb: New interface for extended typeref stuff.
952 * ali.ads: New interface for typeref stuff.
954 * checks.adb (Apply_Alignment_Check): New procedure.
956 * debug.adb: Add -gnatdM for modified ALI output
958 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
960 * lib-xref.adb: Extend generation of <..> notation to cover
961 subtype/object types. Note that this is a complete rewrite,
962 getting rid of the very nasty quadratic algorithm previously
963 used for derived type output.
965 * lib-xref.ads: Extend description of <..> notation to cover
966 subtype/object types. Uses {..} for these other cases.
967 Also use (..) for pointer types.
969 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
971 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
972 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
974 2001-12-11 Vincent Celier <celier@gnat.com>
977 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
978 Changed /BIND_ONLY to /ACTIONS=BIND
979 Changed /LINK_ONLY to /ACTIONS=LINK
981 2001-12-11 Ed Schonberg <schonber@gnat.com>
983 * sem_ch8.adb (Find_Selected_Component): improved search for a
984 candidate package in case of error.
986 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
987 chain back on scope stack before reinstalling use clauses.
989 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
990 is enabled, do not kill the code for the condition, to preserve
993 2001-12-11 Robert Dewar <dewar@gnat.com>
995 * checks.adb (Insert_Valid_Check): Apply validity check to expression
996 of conversion, not to result of conversion.
998 2001-12-11 Ed Schonberg <schonber@gnat.com>
1000 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
1001 before freezing parent. If the declarations are mutually recursive,
1002 an access to the current record type may be frozen before the
1003 derivation is complete.
1005 2001-12-05 Vincent Celier <celier@gnat.com>
1007 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
1008 -c /COMPILE_ONLY, -l /LINK_ONLY
1011 (Bind_Only): New Flag
1012 (Link_Only): New flag
1014 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
1017 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
1020 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
1021 (Gnatmake): Set the step flags. Only perform a step if the
1022 corresponding step flag is True.
1023 (Scan_Make_Arg): Reset the bind and link step flags when -u
1024 or -gnatc has been specified.
1026 2001-12-05 Ed Schonberg <schonber@gnat.com>
1028 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
1029 get bounds from right operand.
1031 * sem_eval.adb: Minor reformatting
1033 * exp_util.adb (Make_Literal_Range): use bound of literal rather
1034 than Index'First, its lower bound may be different from 1.
1036 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
1039 2001-12-05 Vincent Celier <celier@gnat.com>
1041 * prj-nmsc.adb Minor reformatting
1043 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
1044 set and libraries are not supported.
1046 2001-12-05 Ed Schonberg <schonber@gnat.com>
1048 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
1049 private view explicitly, so the back-end can treat as a global
1052 2001-12-05 Ed Schonberg <schonber@gnat.com>
1054 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
1055 unit, always replace instance node with new body, for ASIS use.
1057 2001-12-05 Vincent Celier <celier@gnat.com>
1059 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
1060 libraries are not supported and both attributes Library_Name and
1061 Library_Dir are specified.
1063 * prj-proc.adb (Expression): Set location of Result to location of
1066 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
1067 (prj-nmsc is now importing MLib.Tgt)
1069 * prj-proc.adb: Put the change indicated above that was forgotten.
1071 2001-12-05 Robert Dewar <dewar@gnat.com>
1073 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
1075 2001-12-05 Ed Schonberg <schonber@gnat.com>
1077 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
1078 constraint, introduce explicit subtype declaration and derive from it.
1080 * sem_ch3.adb: Minor reformatting
1082 2001-12-05 Robert Dewar <dewar@gnat.com>
1084 * checks.adb (Determine_Range): Increase cache size for checks.
1087 * exp_ch6.adb: Minor reformatting
1088 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
1089 a parameter whose root type is System.Address, since treating such
1090 subprograms as pure in the code generator is almost surely a mistake
1091 that will lead to unexpected results.
1093 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
1094 change handling of conversions.
1096 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
1098 2001-12-05 Ed Schonberg <schonber@gnat.com>
1100 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
1101 aggregate with static wrong size, attach generated Raise node to
1104 2001-12-05 Robert Dewar <dewar@gnat.com>
1106 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
1107 Fixes compilation abandoned bomb in B24009B.
1109 2001-12-05 Ed Schonberg <schonber@gnat.com>
1112 Document use of Associated_Node on Selected_Components.
1113 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
1114 to clarify use of untyped descendant fields.
1116 2001-12-05 Robert Dewar <dewar@gnat.com>
1118 * prj-dect.ads: Add ??? comment
1119 Add 2001 to copyright notice (was not done in after all)
1121 * prj-part.adb: Minor reformatting. Reword one awkward error message.
1123 * prj.ads: Minor reformatting throughout, and add some ??? comments
1125 * snames.ads: Minor reformatting
1127 2001-12-05 Geert Bosch <bosch@gnat.com>
1129 * snames.adb: Autoupdate
1131 2001-12-05 Vincent Celier <celier@gnat.com>
1133 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
1135 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
1137 * prj-env.adb: Minor comment changes (modifying -> extends).
1139 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
1141 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
1144 * prj.adb (Initialize): Change Modifying to Extends.
1146 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
1148 * prj.ads: Minor comment change (Modifying -> extending).
1150 * snames.ads: Change modifying to extends.
1152 2001-12-05 Robert Dewar <dewar@gnat.com>
1154 * sem_warn.adb: Remove stuff for conditionals, we are not going to
1157 * sem_warn.ads: Remove stuff for conditionals, we are not going to
1158 do this after all. Add 2001 to copyright notice
1160 2001-12-04 Geert Bosch <bosch@gnat.com>
1162 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
1164 2001-12-04 Robert Dewar <dewar@gnat.com>
1166 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
1167 location if we already have errors. Stops some cases of cascaded
1170 * errout.adb: Improve comment.
1172 2001-12-04 Robert Dewar <dewar@gnat.com>
1175 (Analyze_Formal_Type_Definition): Defend against Error.
1176 (Analyze_Formal_Subprogram): Defend against Error.
1178 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
1179 remove following semicolon if present. Removes cascaded error.
1181 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
1184 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
1185 exceptions equals 0.
1186 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
1187 Fixes PIWG E tests (which have to be run with -gnatL).
1189 2001-12-04 Robert Dewar <dewar@gnat.com>
1191 * einfo.ads: Minor reformatting
1193 2001-12-04 Ed Schonberg <schonber@gnat.com>
1195 * einfo.ads: Block_Node points to the identifier of the block, not to
1196 the block node itself, to preserve the link when the block is
1197 rewritten, e.g. within an if-statement with a static condition.
1199 * inline.adb (Cleanup_Scopes): recover block statement from block
1200 entity using new meaning of Block_Node.
1202 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
1203 identifier of block node, rather than to node itself.
1205 2001-12-04 Gary Dismukes <dismukes@gnat.com>
1208 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
1209 (Discrimify): Go back to setting the Etypes of the selected component
1210 because the Vname component does not exist at this point and will
1211 fail name resolution. Also set Analyzed.
1212 Remove with and use of Sem_Res.
1214 2001-12-04 Arnaud Charlet <charlet@gnat.com>
1216 * Makefile.in: (HIE_SOURCES): add s-fat*.
1218 2001-12-04 Robert Dewar <dewar@gnat.com>
1221 (Compile_Time_Known_Attribute): New procedure.
1222 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
1225 2001-12-04 Ed Schonberg <schonber@gnat.com>
1227 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
1228 processing discriminants to diagnose illegal default values.
1230 2001-12-04 Ed Schonberg <schonber@gnat.com>
1232 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
1233 access discriminant within a type extension that constrains its
1234 parent discriminants.
1236 2001-12-04 Ed Schonberg <schonber@gnat.com>
1238 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
1239 is malformed, use instance of Any_Id to allow analysis to proceed.
1241 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
1242 type definition is illegal.
1243 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
1246 2001-12-04 Ed Schonberg <schonber@gnat.com>
1248 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
1251 2001-12-04 Robert Dewar <dewar@gnat.com>
1253 * errout.adb: Minor reformatting
1255 2001-12-04 Robert Dewar <dewar@gnat.com>
1257 * exp_util.adb: Minor reformatting from last change
1259 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
1260 which is a rewriting of an expression, traverse the original
1261 expression to remove warnings that may have been posted on it.
1263 2001-12-04 Ed Schonberg <schonber@gnat.com>
1265 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
1266 record that has other packed components.
1268 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
1270 * adaint.c: Minor cleanups.
1272 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
1274 * adaint.c: Do not use utime.h on vxworks.
1276 2001-12-04 Arnaud Charlet <charlet@gnat.com>
1278 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
1279 more confusion than it solves.
1281 2001-12-04 Geert bosch <bosch@gnat.com>
1283 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
1285 2001-12-04 Geert Bosch <bosch@gnat.com>
1287 * Makefile.in (update-sources): New target.
1288 For use by gcc_release script.
1290 2001-12-04 Ed Schonberg <schonber@gnat.com>
1292 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
1293 a configuration pragma, it is now legal wherever a pragma can appear.
1295 2001-12-04 Zack Weinberg <zack@codesourcery.com>
1297 * Makefile.in: Don't set ALL. Delete @cross_defines@,
1298 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
1299 is now @CROSS@ -DIN_GCC; update comment.
1301 2001-12-04 Robert Dewar <dewar@gnat.com>
1303 * einfo.adb (Has_Pragma_Pure_Function): New flag.
1304 Fix problem that stopped ceinfo from working
1306 * einfo.ads (Has_Pragma_Pure_Function): New flag.
1308 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
1310 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
1313 (File_Time_Stamp): New procedure.
1314 (Preserve_Mode): New boolean.
1315 (Write_Unit): Pass time stamp.
1316 Implement -p switch (preserve time stamps).
1318 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
1320 * gnatchop.adb: Do usage info for -p switch
1322 * adaint.h (__gnat_set_file_time_name): New function
1324 * adaint.c (__gnat_set_file_time_name): Implement
1326 * adaint.h: Fix typo
1328 2001-12-03 Robert Dewar <dewar@gnat.com>
1330 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
1331 have Associated_Node.
1333 2001-12-03 Robert Dewar <dewar@gnat.com>
1335 * prj-proc.adb: Minor reformatting
1337 * make.adb: Minor reformatting
1339 2001-12-03 Geert Bosch <bosch@gnat.com>
1341 * make.adb: Minor reformatting.
1343 2001-12-03 Robert Dewar <dewar@gnat.com>
1345 * sem_ch12.adb: Minor reformatting
1347 2001-12-03 Ed Schonberg <schonber@gnat.com>
1349 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
1350 push Standard on the stack before analyzing the instance body,
1351 in order to have a clean visibility environment.
1353 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
1355 2001-12-03 Ed Schonberg <schonber@gnat.com>
1357 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
1358 instantiation of a body that contains an inlined body.
1360 2001-12-03 Ed Schonberg <schonber@gnat.com>
1363 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
1364 to prevent freezing within formal packages.
1365 (Freeze_Subprogram_Body): If body comes from another instance that
1366 appeared before its own body, place freeze node at end of current
1367 declarative part, to prevent a back-end crash.
1368 (Inline_Instance_Body): Handle properly a package instance within
1369 a subprogram instance that is a child unit.
1371 2001-12-01 Graham Stott <grahams@redhat.com>
1373 * Makefile.in (misc.o): Add missing $(srcdir) prefix
1374 and add optabs.h dependency.
1376 * misc.c: Include optabs.h
1377 (gnat_tree_code_type): Make static and const.
1378 (gnat_tree_code_length): Likewise.
1379 (gnat_tree_code_name): Likewise.
1380 (update_setjmp_buf): Obtain operands mode from insn_data.
1382 2001-11-29 Richard Henderson <rth@redhat.com>
1384 * init.c: Remove obsolete dwarf2 frame.h section.
1386 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
1388 * Make-lang.in (ada.generated-manpages): New dummy target.
1390 2001-11-29 Ed Schonberg <schonber@gnat.com>
1392 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
1393 into Command, an array conversion is illegal here. Uncovered by
1396 2001/11/28 Geert Bosch <bosch@gnat.com>
1398 * init.c: Minor whitespace changes.
1400 2001-11-28 Doug Rupp <rupp@gnat.com>
1402 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
1405 2001-11-28 Zack Weinberg <zack@codesourcery.com>
1407 * misc.c (gnat_expand_constant): Move declaration above
1408 definition of lang_hooks.
1409 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
1410 (gnat_init): lang_expand_constant no longer exists.
1412 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
1413 always have vprintf.
1414 (gnat_init): Always call set_internal_error_function.
1416 2001-11-27 Andreas Jaeger <aj@suse.de>
1418 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
1420 2001-11-27 Laurent Guerby <guerby@acm.org>
1422 * Makefile.in: Regenerate Ada dependencies.
1424 2001-11-26 Richard Henderson <rth@redhat.com>
1426 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
1427 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
1428 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
1430 2001-11-25 Laurent Guerby <guerby@acm.org>
1432 * sysdep.c (rts_get_*): Fix style.
1434 2001-11-19 Laurent Guerby <guerby@acm.org>
1436 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
1437 since it is of no apparent use and cause warnings.
1439 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
1441 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
1443 (gnat_init): Don't return NULL.
1444 (finish_parse): Remove.
1446 2001-11-17 Laurent Guerby <guerby@acm.org>
1448 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
1449 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
1450 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
1451 * lang-spec.h: Add missing struct field to silence warnings.
1452 * sysdep.c (rts_get_*): Provide K&R prototype.
1453 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
1454 * traceback.c (Unlock_Task, Lock_Task): Likewise.
1455 * tracebak.c (__gnat_backtrace): Remove unused variable.
1456 * utils.c (end_subprog_body): Move to K&R style.
1458 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1460 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
1462 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
1464 * misc.c (gnat_init): Change prototype. Include the
1465 functionality of the old init_parse and init_decl_processing.
1466 (gnat_init_decl_processing): New prototype.
1467 (init_parse): Remove.
1468 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
1470 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1472 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
1473 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
1474 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
1475 set_yydebug): Remove.
1477 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1479 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
1480 (struct lang_hooks): Constify.
1481 (language_string, lang_identify): Remove.
1482 * utils.c (init_decl_processing): Update.
1484 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1486 * misc.c: Include langhooks-def.h.
1487 * Makefile.in: Update.
1489 2001-10-30 Robert Dewar <dewar@gnat.com>
1492 (Check_Identifier): Rewrite circuit to be compatible with use of letters
1493 in the upper half of ASCII.
1494 (Check_Identifier): Minor reformatting
1496 2001-10-30 Geert Bosch <bosch@gnat.com>
1498 * (Associated_Node, Set_Associated_Node): Do not check for
1501 2001-10-30 Robert Dewar <dewar@gnat.com>
1503 * a-reatim.ads: Minor reformatting
1505 2001-10-30 Robert Dewar <dewar@gnat.com>
1507 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
1508 undocumented declarations.
1510 2001-10-30 Pascal Obry <obry@gnat.com>
1512 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
1513 to the binder and linker.
1516 * mdll.ads: Fix layout. Update copyright notice.
1518 * mdll.adb: Fix layout. Update copyright notice.
1520 2001-10-30 Robert Dewar <dewar@gnat.com>
1522 * usage.adb: Minor fix to output for -gnaty.
1524 2001-10-30 Ed Schonberg <schonber@gnat.com>
1526 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
1527 to accommodate all its possible values.
1529 * a-reatim.adb (Split): Special-case handling of Time_Span_First
1530 and of small absolute values of T.
1532 2001-10-30 Richard Kenner <kenner@gnat.com>
1534 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
1535 set_mem_attributes since not needed and wrong if RESULT if a REG;
1536 fixes ACATS failures.
1538 2001-10-30 Geert Bosch <bosch@gnat.com>
1540 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
1541 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
1543 2001-10-30 Robert Dewar <dewar@gnat.com>
1545 * bindusg.adb: Undocument -f switch.
1547 * gnatcmd.adb: Remove /FULL_ELABORATION.
1549 * opt.ads (Force_RM_Elaboration_Order): Document that this is
1552 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
1554 * gnatbind.adb: Minor update of warning msg.
1556 2001-10-30 Vincent Celier <celier@gnat.com>
1558 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
1559 for project file switches (-P (/PROJECT_FILE=),
1560 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
1563 2001-10-30 Geert Bosch <bosch@gnat.com>
1565 * decl.c: Minor whitespace fixes.
1567 2001-10-30 Richard Kenner <kenner@gnat.com>
1569 * utils2.c (build_allocator): Test for SIZE overflow in array case too
1571 2001-10-30 Geert Bosch <bosch@gnat.com>
1573 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
1574 Found due to GCC 3.0 warning of using uninitialized value.
1577 (Get_Max_Size): Use variant record for tracking value/expression.
1578 Makes logic clearer and prevents warnings for uninitialized variables.
1579 (Layout_Array_Type): Use variant record for tracking value/expression.
1580 Makes logic clearer and prevents warnings for uninitialized variables.
1582 2001-10-30 Robert Dewar <dewar@gnat.com>
1584 * lib.adb: Minor reformatting
1586 * s-taprop.ads: Minor reformatting
1588 2001-10-29 Laurent Guerby <guerby@acm.org>
1591 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
1593 (_gnat_error_handler): Make MSG const.
1595 2001-10-29 Richard Kenner <kenner@gnat.com>
1597 * sysdep.c: Fix localtime_r problem on LynxOS.
1598 Also remove #elif to avoid warnings.
1600 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
1603 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
1605 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
1607 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
1608 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
1609 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
1610 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
1611 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
1612 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
1613 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
1614 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
1615 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
1616 types.ads, urealp.adb: Fix spelling errors.
1618 2001-10-27 Laurent Guerby <guerby@acm.org>
1620 * trans.c (gigi): Fix non determinism leading to bootstrap
1621 comparison failures for debugging information.
1623 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
1625 * gnat_rm.texi: Use @./@: where appropriate.
1627 2001-10-26 Robert Dewar <dewar@gnat.com>
1629 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
1631 2001-10-26 Richard Kenner <kenner@gnat.com>
1633 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
1635 2001-10-26 Richard Kenner <kenner@gnat.com>
1637 * decl.c (validate_size): Modify message for bad size to avoid
1638 implication that compiler is modifying the size.
1640 2001-10-26 Robert Dewar <dewar@gnat.com>
1642 * prj-util.adb: Minor reformatting. Fix bad header format.
1644 2001-10-26 Robert Dewar <dewar@gnat.com>
1646 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
1648 * sinfo.ads: Clarify use of Associated_Node (documentation only).
1650 * sem_ch12.adb: Change Node4 to Associated_Node. Change
1651 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
1652 much more narrowly in places where needed. These are cleanups.
1654 2001-10-26 Joel Brobecker <brobecke@gnat.com>
1656 * 5zosinte.ads (null_pthread): new constant.
1659 (Initialize_TCB): Initialize thread ID to null, to be able to verify
1660 later that this field has been set.
1661 (Finalize_TCB): ditto.
1662 (Suspend_Task): Verify that the thread ID is not null before using it.
1663 (Resume_Task): ditto.
1666 (Resume_All_Tasks): Lock the tasks list before using it.
1667 (Suspend_All_Tasks): ditto.
1669 2001-10-26 Richard Kenner <kenner@gnat.com>
1671 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
1672 Make constant variant of designated type for Is_Access_Constant.
1673 Call update_pointer_to with main variant.
1675 * trans.c (process_freeze_entity, process_type):
1676 Call update_pointer_to on main variant.
1678 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
1679 If main variant, update all other variants.
1681 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
1684 2001-10-26 Robert Dewar <dewar@gnat.com>
1686 * prj-util.adb: Minor reformatting
1688 2001-10-26 Robert Dewar <dewar@gnat.com>
1690 * prj-util.adb: Minor reformatting
1692 2001-10-26 Robert Dewar <dewar@gnat.com>
1694 * prj-attr.adb: Minor reformatting throughout
1696 2001-10-26 Robert Dewar <dewar@gnat.com>
1698 * prj-attr.ads: Minor reformatting
1699 Add ??? comment (this whole spec has almost no comments)
1701 2001-10-26 Vincent Celier <celier@gnat.com>
1703 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
1704 ("//") that precede the drive letter on Interix.
1706 2001-10-26 Geert Bosch <bosch@gnat.com>
1708 * gnat_rm.texi: Add GNAT Reference Manual.
1710 2001-10-25 Robert Dewar <dewar@gnat.com>
1712 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
1713 is Error. Similar change for other renaming cases.
1715 2001-10-25 Robert Dewar <dewar@gnat.com>
1717 * s-atacco.ads: Add pragma Inline_Always for functions.
1718 Fix header format. Add copyright 2001
1720 2001-10-25 Ed Schonberg <schonber@gnat.com>
1722 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
1723 return Error rather than Empty so that analysis can proceed.
1725 2001-10-25 Ed Schonberg <schonber@gnat.com>
1727 * sem_util.adb (Enter_Name): better handling of cascaded error
1728 messages when a unit appears in its own context.
1730 2001-10-25 Ed Schonberg <schonber@gnat.com>
1732 * sem_util.adb (Defining_Entity): in case of error, attach created
1733 entity to specification, so that semantic analysis can proceed.
1735 2001-10-25 Robert Dewar <dewar@gnat.com>
1738 (Defining_Entity): Deal with Error.
1739 (Process_End_Label): Deal with bad end label for.
1741 2001-10-25 Ed Schonberg <schonber@gnat.com>
1743 * sem_elab.adb (Check_A_Call): refine message when call is in an
1744 instance but callee is not declared in the generic unit.
1746 2001-10-25 Ed Schonberg <schonber@gnat.com>
1748 * sem_elab.adb (Check_A_Call): check for renaming before finding the
1749 enclosing unit, which may already be different from the calling unit.
1751 2001-10-25 Geert Bosch <bosch@gnat.com>
1753 * 4gintnam.ads: fix header format.
1755 2001-10-25 Ed Schonberg <schonber@gnat.com>
1757 * sem_res.adb (Resolve_Call): if the call is actually an indexing
1758 operation on the result of a parameterless call, perform elaboration
1759 check after the node has been properly rewritten.
1761 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
1762 inlined within the generic tree, the defining identifier is not a
1765 2001-10-25 Ed Schonberg <schonber@gnat.com>
1767 * sem_res.adb (Resolve): special-case resolution of Null in an
1768 instance or an inlined body to avoid view conflicts.
1770 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
1771 compatibility by retrieving the access type of the generic copy.
1773 2001-10-25 Robert Dewar <dewar@gnat.com>
1776 (Analyze_Number_Declaration): Handle error expression.
1777 (Signed_Integer_Type_Declaration): Handle error bound.
1778 (Analyze_Subtype_Indication): Handle error range.
1780 * sem_util.adb (Get_Index_Bounds): Check for Error.
1782 2001-10-25 Robert Dewar <dewar@gnat.com>
1784 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
1785 in no run time mode.
1787 2001-10-25 Pascal Obry <obry@gnat.com>
1789 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
1790 mode case for ALLOC case.
1792 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
1793 all platforms. Improvement of last change.
1795 2001-10-25 Robert Dewar <dewar@gnat.com>
1797 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
1799 2001-10-25 Geert Bosch <bosch@gnat.com>
1801 * osint.adb (Is_Relative): Remove duplicate.
1803 2001-10-25 Pascal Obry <obry@gnat.com>
1805 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
1806 pathnames in UNIX and DOS style with drive letter.
1807 (Is_Relative): new routine.
1809 * osint.adb: Minor reformatting
1811 * osint.adb (Is_Relative): implementation using
1812 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
1814 2001-10-25 Pascal Obry <obry@gnat.com>
1816 * g-dirope.adb (Basename): correctly compute offset between the
1817 original Path and the translated one.
1819 * g-dirope.adb: (Base_Name): add some comments.
1821 2001-10-25 Robert Dewar <dewar@gnat.com>
1823 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
1824 in HIE mode, avoids compilation abandoned message
1826 * exp_imgv.adb: Correct typo in previous change
1828 * exp_imgv.adb: Correct typo in previous change (not my day!)
1830 2001-10-25 Robert Dewar <dewar@gnat.com>
1832 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
1834 2001-10-25 Pascal Obry <obry@gnat.com>
1836 * g-awk.ads: Move all pragma inlines next to the routine
1837 declarations. This is more uniform with other GNAT spec.
1839 2001-10-22 Geert Bosch <bosch@gnat.com>
1841 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
1843 2001-10-19 Geert Bosch <bosch@gnat.com>
1845 * Makefile.in (tools, gnattools): Remove gnatmem.
1847 2001-10-17 Richard Henderson <rth@redhat.com>
1849 * Makefile.in (misc.o): Depend on langhooks.h.
1850 * misc.c: Include it.
1851 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
1852 (LANG_HOOKS_DECODE_OPTION): New.
1853 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
1855 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
1857 * trans.c (tree_transform): Adjust to recent change in
1858 expand_asm_operands to implement named asm operands.
1860 2001-10-11 Ed Schonberg <schonber@gnat.com>
1862 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
1863 renaming of discriminant for mutable record type.
1865 2001-10-11 Robert Dewar <dewar@gnat.com>
1867 * validsw.adb: Properly save -gnatVn status.
1869 2001-10-11 Robert Dewar <dewar@gnat.com>
1871 * usage.adb: Add lines for V switch.
1873 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
1874 (/VALIDITY_CHECKING).
1876 2001-10-11 Ed Schonberg <schonber@gnat.com>
1878 * sem_type.adb (Add_One_Interp): an operator for a type declared in
1879 an extension of System is known to be visible.
1881 2001-10-11 Ed Schonberg <schonber@gnat.com>
1883 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
1884 properly. Fixes regression on ACATS C34005G.
1886 2001-10-11 Robert Dewar <dewar@gnat.com>
1888 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
1889 loop in generic instance, since this is likely not very useful.
1891 2001-10-11 Robert Dewar <dewar@gnat.com>
1893 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
1894 the error message for high integrity mode.
1896 * rtsfind.adb (RTE): Give message if we try to find an entity that
1897 is not available in high integrity mode.
1900 (OK_To_Use_In_HIE_Mode): New array.
1901 (RTE): May return Empty in high integrity mode.
1903 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
1904 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
1906 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
1907 unit if not inlined always and in no runtime mode. Fixes problem
1908 caused by new Rtsfind changes.
1910 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
1913 * rtsfind.adb (RTE): Make sure we do not try to load unit after
1914 giving message for entity not available in high integrity mode.
1916 2001-10-11 Pascal Obry <obry@gnat.com>
1918 * impunit.adb: Add GNAT.CRC32.
1920 2001-10-11 Ed Schonberg <schonber@gnat.com>
1922 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
1923 properly the case where one universal operand in a non-static
1924 exponentiation of a real literal.
1926 2001-10-11 Ed Schonberg <schonber@gnat.com>
1928 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
1929 clause, return the gobal finalization list, for lack of anthing else.
1931 2001-10-11 Ed Schonberg <schonber@gnat.com>
1933 * exp_ch7.adb (Make_Transient_Block): if statement is within
1934 exception handler, always use new transient scope to place Clean
1937 2001-10-11 Pascal Obry <obry@gnat.com>
1940 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1941 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1942 (GNATLS_RTL_OBJS): add g-crc32.o
1943 (GNATMAKE_RTL_OBJS): add g-crc32.o
1946 (CRC_Match): new function.
1947 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
1948 instead of the previous simple checksum algorithm.
1949 (Time_Stamp_Mismatch): use CRC_Match for comparison.
1950 (Set_Source_Table): idem.
1953 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
1954 instead of simple checksum.
1955 (CRC_Match): new function.
1956 (CRC_Error): new constant.
1958 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
1959 a CRC now and not a simple checksum. A CRC uses lower-case hex
1960 letters, fixes ambiguity in parsing.
1962 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
1963 is what this variable will store.
1965 * bcheck.adb: Change reference to chechsum in comments by CRC.
1966 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
1967 rename All_Checksum_Match to All_CRC_Match. Change due to API
1968 renaming since now GNAT does not use a simple checksum but a
1969 CRC using GNAT.CRC32.
1971 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
1972 now and not anymore a simple checksum.
1974 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
1977 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
1980 (Restore_Scan_State): rename Checksum to CRC.
1981 (Save_Scan_State): idem.
1985 (Checksum): rename to CRC.
1986 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
1988 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
1989 GNAT.CRC32). Update copyright notice.
1991 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
1992 GNAT.CRC32). Update copyright notice.
1995 (Accumulate_Checksum): removed.
1996 (Update): new procedure. Add a wide-character into the CRC.
1999 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
2000 (Load_File): fix initialization of S (change Source_Checksum to
2003 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
2004 Source_CRC in S initialization.
2006 * sinput.adb (Source_Checksum): renamed to Source_CRC.
2008 * sinput.ads (Source_Checksum): renamed to Source_CRC.
2009 Update comments for the CRC.
2011 * types.adb (Hex): Use lowercase for the letter part.
2013 * types.ads (Get_Hex_String): Returns the hexadecimal representation
2014 for a word. This is currently used only for CRC. In previous version,
2015 the checksum was using a representation with all letter being
2016 upper-case. With the new implementation (using CRC) we do not remove
2017 the 32th bit of the CRC, so we can have an upper-case starting letter
2018 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
2019 It is ambigous since the CRC was optional and could be followed by
2020 options like EB, EE. So now this routines uses lower-case letter for
2021 the hexadecimal representation. Strange enough only lower case letters
2022 where checked in Scan_ALI (even if this was not a possible case).
2024 * gnatvsn.ads (Library_Version): changed to 3.15a.
2026 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
2029 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
2032 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
2033 Add 2001 to copyright notice
2034 (Accumulate_Checksum): Modify to use System.CRC32.
2036 * ali-util.ads: Redo changes of previous revision to continue to use
2037 the word Checksum. Add 2001 to copyright notice.
2039 * ali.adb: Undo some of previous changes, not needed.
2040 Keep the change for lower case letters in the checksum.
2042 * ali.ads: Undo previous change not needed.
2044 * bcheck.adb: Undo most of previous change, not needed.
2045 But do use Checksums_Match for checksum comparison.
2047 * gnatls.adb: Undo most of previous change, not needed.
2048 But do use Checksums_Match for comparing checksums.
2050 * lib-load.adb: Undo previous change, not needed.
2052 * lib-writ.adb: Undo previous change, not needed.
2054 * lib-writ.ads: Document that checksums use lower case,
2055 not upper case letters.
2057 * scans.adb: Undo previous change, not needed
2059 * scans.ads: Undo previous change, not needed.
2061 * scn-nlit.adb: Undo previous changes, not needed.
2063 * scn-slit.adb: Undo previous change, not needed. Fix header format.
2066 (Accumulate_Checksum): Use System.CRC32.
2067 (Initialize_Checksum): New procedure.
2068 Remove other changes of previous revision.
2070 * sinput-p.adb: Undo previous change, not needed.
2072 * sinput.adb: Undo previous change, not needed.
2074 * sinput-l.adb: Undo previous change, not needed.
2076 * sinput.ads: Undo previous change, not needed. Keep only comment
2077 on new checksum algorithm
2079 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
2080 Also remove a-tags and a-stream from GNAT sources.
2082 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
2084 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
2086 2001-10-11 Geert Bosch <bosch@gnat.com>
2088 * einfo.h: Regenerate.
2090 * nmake.ads: Regenerate.
2092 * nmake.adb: Regenerate.
2094 * sinfo.h: Regenerate.
2096 * treeprs.adb: Regenerate.
2098 2001-10-10 Geert Bosch <bosch@gnat.com>
2100 * gnat-style.texi: New file describing coding guidelines for Ada.
2102 2001-10-10 Ed Schonberg <schonber@gnat.com>
2104 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
2107 2001-10-10 Geert Bosch <bosch@gnat.com>
2109 * snames.ads: Add new names for project facility.
2111 * snames.adb: Update to reflect snames.ads changes.
2113 * snames.h: Update to reflect snames.ads changes.
2115 2001-10-10 Vincent Celier <celier@gnat.com>
2118 (Add_Switches): reflect the changes for the switches attributes
2119 Default_Switches indexed by the programming language,
2120 Switches indexed by the file name.
2121 (Collect_Arguments_And_Compile): Idem.
2122 Reflect the attribute name changes.
2125 (Initialisation_Data): Change the names of some packages and
2127 (Initialize): process case insensitive associative arrays.
2130 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
2133 (Parse_Attribute_Declaration): For case insensitive associative
2134 arrays, set the index string to lower case.
2137 Reflect the changes of the project attributes.
2140 Replace Check_Naming_Scheme by Ada_Check and
2141 Language_Independent_Check.
2144 Replaced Check_Naming_Scheme by 2 procedures:
2145 Ada_Check and Language_Independent_Check.
2148 (Process_Declarative_Items): For case-insensitive associative
2149 arrays, set the index string to lower case.
2150 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
2151 Prj.Nmsc.Check_Naming_Scheme.
2154 (Case_Insensitive): New function
2155 (Set_Case_Insensitive): New procedure
2158 (Case_Insensitive): New function
2159 (Set_Case_Insensitive): New procedure
2160 (Project_Node_Record): New flag Case_Insensitive.
2163 (Value_Of): new function to get the string value of a single
2164 string variable or attribute.
2167 (Value_Of): new function to get the string value of a single
2168 string variable or attribute.
2171 (Ada_Default_Spec_Suffix): New function
2172 (Ada_Default_Impl_Suffix): New function
2173 Change definitions of several constants to reflect
2174 new components of record types.
2177 (Naming_Data): Change several components to reflect new
2178 elements of naming schemes.
2179 (Project_Data): New flags Sources_Present and
2180 Language_Independent_Checked.
2181 (Ada_Default_Spec_Suffix): New function.
2182 (Ada_Default_Impl_Suffix): New function.
2185 Modification of predefined names for project manager: added
2186 Implementation, Specification_Exceptions, Implementation_Exceptions,
2187 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
2188 Default_Switches, _Languages, Builder, Cross_Reference,
2189 Finder. Removed Body_Part, Specification_Append, Body_Append,
2190 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
2193 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
2196 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
2197 not that it is Nil_Variable_Value.
2199 * prj.ads: Add ??? for uncommented declarations
2201 2001-10-10 Ed Schonberg <schonber@gnat.com>
2203 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
2204 constant, do not indicate possible modification, so that gigi can
2205 treat it as a bona fide constant.
2207 2001-10-10 Robert Dewar <dewar@gnat.com>
2209 * sem_prag.adb: Add processing for pragma External.
2211 * snames.ads: Add entry for pragma External.
2213 * par-prag.adb: Add pragma External.
2215 * snames.adb: Updated to match snames.ads.
2217 2001-10-10 Ed Schonberg <schonber@gnat.com>
2219 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
2220 a dynamic task if the allocator appears in an indexed assignment
2221 or selected component assignment.
2223 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
2224 For a dynamic task in an assignment statement, use target of
2225 assignment to generate meaningful name.
2227 2001-10-10 Ed Schonberg <schonber@gnat.com>
2229 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
2232 * einfo.ads: Body_Entity is also defined for generic package.
2233 Documentation change only
2235 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
2236 others_choice for a discriminated component initialization,
2237 convert discriminant references into the corresponding discriminals.
2239 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
2240 only if original type is private and expression has to be wrapped
2244 (Apply_Constraint_Check): Do not perform length check
2245 if expression is an aggregate with only an others_choice.
2246 (Length_N_Cond): two references to the same in_parameter
2247 (typically the discriminal in an init_proc) denote the same value.
2248 Two useful optimization uncovered by bugfixes above.
2250 2001-10-10 Robert Dewar <dewar@gnat.com>
2252 * xeinfo.adb: Change int to char in translation of enumeration types.
2253 This fixes a problem in the C representation of component alignment.
2254 Add 2001 to copyright notice
2256 2001-10-10 Richard Kenner <kenner@gnat.com>
2258 * decl.c: (validate_size): Do check size of object of integral type
2259 if it is a packed array type.
2261 2001-10-10 Richard Kenner <kenner@gnat.com>
2263 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
2264 VAR_DECL for constant if not Is_Public but -O0.
2266 2001-10-10 Richard Kenner <kenner@gnat.com>
2268 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
2270 2001-10-10 Geert Bosch <bosch@gnat.com>
2272 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
2273 use '/' as switch character, allowing for absolute file names.
2275 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
2277 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
2280 2001-10-08 Geert Bosch <bosch@gnat.com>
2282 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
2283 Automatically build utilities when files need to be regenerated.
2285 2001-10-08 Geert Bosch <bosch@gnat.com>
2287 * xsnames.adb: New utility for updating snames.ads and snames.adb
2289 2001-10-08 Zack Weinberg <zack@codesourcery.com>
2291 * Make-lang.in (ADAFLAGS): Add -W -Wall.
2292 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
2293 (gnat1): Also depend on attribs.o.
2294 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
2295 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
2296 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
2297 (ADAFLAGS): Add -W -Wall.
2298 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
2301 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
2302 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
2303 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
2304 Use $(ADAC), not $(CC), as compilation command.
2306 (gnattools): Depend directly on tools to build, don't use
2308 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
2310 * einfo.h, sinfo.h: New files (autogenerated).
2312 2001-10-08 Richard Henderson <rth@redhat.com>
2314 * comperr.adb (Abort_In_Progress): New.
2315 (Compiler_Abort): Use it to prevent recursion.
2317 2001-10-08 Robert Dewar <dewar@gnat.com>
2319 * atree.adb: Set Error_Posted in Error node, helps error recovery.
2321 * par-endh.adb (Output_End_Expected): We should also not test
2322 Error_Posted on the Error node, since now it is always set.
2324 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
2325 to help error recovery. Part of general work on 9407-004.
2327 * par.adb: Add ??? for misuse of error
2330 (Resolve): Defend against Error, fixes 9407-003.
2331 (Resolve_Discrete_Subtype_Indication): Defend against Error.
2333 * sinfo.ads (N_Error): Now has Etype field (which will be set
2334 to Any_Type to help error recovery).
2336 2001-10-08 Richard Kenner (kenner@gnat.com)
2338 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
2339 Consistently set MEM attributes from expression; fixes
2340 bootstrap failure on x86.
2342 2001-10-08 Geert Bosch (bosch@gnat.com)
2344 * 5oosinte.adb: Add 2001 to copyright notice.
2346 2001-10-08 Geert Bosch (bosch@gnat.com)
2348 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
2350 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
2352 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
2354 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
2356 2001-10-05 Geert Bosch (bosch@gnat.com)
2358 * adaint.h: Small formatting fix.
2360 2001-10-04 Geert Bosch <bosch@gnat.com>
2362 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
2363 Arg is int, not FILE *, in dummy version of functions.
2365 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
2366 Arg is int, not FILE *.
2368 2001-10-04 Geert Bosch <bosch@gnat.com>
2370 * 3lsoccon.ads: Added file, missed with initial check ins.
2372 * 4lintnam.ads: Fix header format.
2373 Change Linux to GNU/Linux.
2375 * 5iosinte.adb: Change Linux to GNU/Linux.
2377 * 5iosinte.ads: Change Linux to GNU/Linux.
2379 * 5itaprop.adb: Change Linux to GNU/Linux.
2381 * 5itaspri.ads: Change Linux to GNU/Linux.
2382 Update copyright notice.
2384 * 5lintman.adb: Change Linux to GNU/Linux.
2386 * 5lml-tgt.adb: Change Linux to GNU/Linux.
2388 * 5losinte.ads: Change Linux to GNU/Linux.
2390 * 5lsystem.ads: Change Linux to GNU/Linux.
2392 * 5qosinte.adb: Change Linux to GNU/Linux.
2394 * 5qosinte.ads: Change Linux to GNU/Linux.
2396 * 5qparame.ads: Change Linux to GNU/Linux.
2398 * 5qtaprop.adb: Change Linux to GNU/Linux.
2400 * 5qtaspri.ads: Change Linux to GNU/Linux.
2401 Add 2001 to copyright notice.
2403 * 5vintman.ads: Change Linux to GNU/Linux.
2404 Fix header format. Add 2001 to copyright notice.
2406 * g-soccon.ads: Change Linux to GNU/Linux.
2408 * g-trasym.ads: Change Linux to GNU/Linux.
2409 Add 2001 to copyright notice.
2411 * memtrack.adb: Change Linux to GNU/Linux.
2413 * s-intman.ads: Change Linux to GNU/Linux.
2414 Add 2001 to copyright notice. Fix header format.
2416 * s-stache.adb: Change Linux to GNU/Linux.
2418 * adaint.c: Change Linux to GNU/Linux.
2420 * cio.c: Change Linux to GNU/Linux.
2422 * cstreams.c: Change Linux to GNU/Linux.
2424 * init.c: Change Linux to GNU/Linux.
2426 * gmem.c: Change Linux to GNU/Linux.
2428 * tracebak.c: Change Linux to GNU/Linux.
2431 2001-10-02 Geert Bosch <bosch@gnat.com>
2433 * misc.c (insert_default_attributes): Add dummy version.