1 2001-12-17 Robert Dewar <dewar@gnat.com>
3 * ali.adb: Type reference does not reset current file.
5 * ali.adb: Recognize and scan renaming reference
7 * ali.ads: Add spec for storing renaming references.
9 * lib-xref.ads: Add documentation for handling of renaming references
11 * lib-xref.adb: Implement output of renaming reference.
14 (Determine_Range): Document local variables
15 (Determine_Range): Make sure Hbound is initialized. It looks as though
16 there could be a real problem here with an uninitialized reference
17 to Hbound, but no actual example of failure has been found.
19 2001-12-17 Laurent Pautet <pautet@gnat.com>
22 Fix comment of Shutdown_Socket and Close_Socket. These functions
23 should not fail silently because if they are called twice, this
24 probably means that there is a race condition in the user program.
25 Anyway, this behaviour is consistent with the rest of this unit.
26 When an error occurs, an exception is raised with the error message
29 2001-12-17 Robert Dewar <dewar@gnat.com>
31 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
32 that it happens before modification of Sloc values for -gnatD.
34 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
35 so that it happens before modification of Sloc values for -gnatD.
37 * switch.adb: Minor reformatting
39 2001-12-15 Richard Henderson <rth@redhat.com>
41 * sem_ch7.adb: Wrap comment.
43 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
45 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
46 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
47 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
48 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
49 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
50 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
51 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
52 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
53 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
54 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
55 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
56 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
57 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
58 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
59 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
60 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
61 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
62 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
63 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
64 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
65 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
66 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
67 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
68 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
71 2001-12-14 Vincent Celier <celier@gnat.com>
73 * osint.adb(Create_Debug_File): When an object file is specified,
74 put the .dg file in the same directory as the object file.
76 2001-12-14 Robert Dewar <dewar@gnat.com>
78 * osint.adb: Minor reformatting
80 * lib-xref.adb (Output_Instantiation): New procedure to generate
81 instantiation references.
83 * lib-xref.ads: Add documentation of handling of generic references.
85 * ali.adb (Read_Instantiation_Ref): New procedure to read
86 instantiation references
88 * ali.ads: Add spec for storing instantiation references
90 * bindusg.adb: Minor reformatting
92 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
94 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
96 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
98 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
102 Add 2001 to copyright date
103 Add entry for Latin-5 (Cyrillic ISO-8859-5)
105 2001-12-14 Matt Gingell <gingell@gnat.com>
107 * adaint.c: mktemp is a macro on Lynx and can not be used as an
110 2001-12-14 Richard Kenner <kenner@gnat.com>
112 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
113 if operand is CONSTRUCTOR.
115 2001-12-14 Ed Schonberg <schonber@gnat.com>
117 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
118 before emiting check on right-hand side, so that exception information
121 2001-12-14 Richard Kenner <kenner@gnat.com>
123 * utils.c (create_var_decl): Throw away initializing expression
124 if just annotating types and non-constant.
126 2001-12-14 Vincent Celier <celier@gnat.com>
128 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
131 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
133 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
135 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
137 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
139 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
141 * ChangeLog: Remove piece of diff output.
143 2001-12-14 Geert Bosch <bosch@gnat.com>
145 * config-lang.in: Update copyright notice
147 * layout.adb: Remove commented out code.
149 * mdllfile.ads: Update copyright notice. Fix header format.
151 * sem_case.ads: Likewise.
153 * sem_ch3.adb: Minor reformatting.
155 2001-12-12 Geert Bosch <bosch@gnat.com>
157 * freeze.ads: Update copyright date.
159 * g-comlin.ads: Minor reformatting.
161 * gnat-style.texi: Fix typo.
163 2001-12-12 Geert Bosch <bosch@gnat.com>
165 * einfo.h: Regenerate.
167 2001-12-12 Ed Schonberg <schonber@gnat.com>
169 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
170 on known node types, rather than untyped fields. Further cleanups.
172 2001-12-12 Robert Dewar <dewar@gnat.com>
175 (Save_Entity_Descendant): Minor comment update.
176 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
177 of an N_Attribute_Reference node. As per note below, this does not
178 eliminate need for Associated_Node in attribute ref nodes.
179 (Associated_Node): Documentation explicitly mentions attribute
180 reference nodes, since this field is used in such nodes.
182 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
184 2001-12-12 Robert Dewar <dewar@gnat.com>
186 * s-stalib.adb: Add more comments on with statements being needed
188 * par-ch12.adb: Minor reformatting
190 * prj-dect.ads: Fix copyright header
192 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
193 inputs fit in 32 bits, but the result still overflows.
195 * s-fatgen.ads: Minor comment improvement
197 2001-12-12 Ed Schonberg <schonber@gnat.com>
199 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
200 formal derived type, look for an inherited component from the full
201 view of the parent, if any.
203 2001-12-12 Robert Dewar <dewar@gnat.com>
205 * checks.ads (Apply_Alignment_Check): New procedure.
207 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
208 ensure that the alignment of objects with address clauses is
209 appropriate, and raise PE if not.
211 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
212 Exp_Pakd.Known_Aligned_Enough
214 * mdllfile.ads: Minor reformatting
216 * mlib-fil.ads: Minor reformatting
218 2001-12-12 Ed Schonberg <schonber@gnat.com>
220 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
221 fix to any component reference if enclosing record has non-standard
224 2001-12-12 Vincent Celier <celier@gnat.com>
226 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
229 2001-12-12 Ed Schonberg <schonber@gnat.com>
231 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
234 2001-12-12 Robert Dewar <dewar@gnat.com>
236 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
238 2001-12-12 Emmanuel Briot <briot@gnat.com>
240 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
241 and it adds dependencies to system.io.
243 2001-12-12 Pascal Obry <obry@gnat.com>
245 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
248 2001-12-11 Ed Schonberg <schonber@gnat.com>
250 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
251 that is the parent of other generics, the instance body replaces the
252 instance node. Retrieve the instance of the spec, which is the one
253 that is visible in clients and within the body.
255 2001-12-11 Vincent Celier <celier@gnat.com>
257 * gnatmain.adb: Initial version.
259 * gnatmain.ads: Initial version.
261 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
263 * snames.adb: Updated to match snames.ads.
265 * snames.ads: Added Gnatstub.
267 2001-12-11 Vincent Celier <celier@gnat.com>
269 * prj-attr.adb (Initialization_Data): Change name from
272 2001-12-11 Emmanuel Briot <briot@gnat.com>
274 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
275 + and * applied to backslashed expressions like \r.
277 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
279 * g-os_lib.ads: String_List type added, Argument_List type is now
280 subtype of String_List.
282 2001-12-11 Robert Dewar <dewar@gnat.com>
284 * g-os_lib.ads: Change copyright to FSF
285 Add comments for String_List type
287 2001-12-11 Vincent Celier <celier@gnat.com>
289 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
290 string to the buffer).
292 2001-12-11 Ed Schonberg <schonber@gnat.com>
294 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
297 * sem_attr.adb: Simplify previous fix for Address.
298 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
299 to avoid anomalies where the bound of the type appears to raise
302 2001-12-11 Robert Dewar <dewar@gnat.com>
304 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
307 2001-12-11 Ed Schonberg <schonber@gnat.com>
309 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
310 renamed unit before checking for recursive instantiations.
312 2001-12-11 Emmanuel Briot <briot@gnat.com>
314 * prj.ads: Add comments for some of the fields.
316 2001-12-11 Robert Dewar <dewar@gnat.com>
318 * lib-xref.adb (Output_Refs): Don't output type references outside
319 the main unit if they are not otherwise referenced.
321 2001-12-11 Ed Schonberg <schonber@gnat.com>
323 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
324 code and diagnose additional illegal uses
326 * sem_util.adb (Is_Object_Reference): An indexed component is an
327 object only if the prefix is.
329 2001-12-11 Vincent Celier <celier@gnat.com>
331 * g-diopit.adb: Initial version.
333 * g-diopit.ads: Initial version.
336 (Expand_Path): Avoid use of Unbounded_String
337 (Find, Wildcard_Iterator): Moved to child package Iteration
339 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
341 2001-12-11 Robert Dewar <dewar@gnat.com>
343 * sem_attr.adb: Minor reformatting
345 2001-12-11 Ed Schonberg <schonber@gnat.com>
347 * sem_ch3.adb: Clarify some ???.
349 2001-12-11 Robert Dewar <dewar@gnat.com>
351 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
352 Exp_Pakd.Known_Aligned_Enough
354 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
355 version is moved to Exp_Ch13.
357 2001-12-11 Robert Dewar <dewar@gnat.com>
359 * einfo.ads: Minor reformatting
361 * exp_ch5.adb: Add comment for previous.change
363 * ali.adb: New interface for extended typeref stuff.
365 * ali.ads: New interface for typeref stuff.
367 * checks.adb (Apply_Alignment_Check): New procedure.
369 * debug.adb: Add -gnatdM for modified ALI output
371 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
373 * lib-xref.adb: Extend generation of <..> notation to cover
374 subtype/object types. Note that this is a complete rewrite,
375 getting rid of the very nasty quadratic algorithm previously
376 used for derived type output.
378 * lib-xref.ads: Extend description of <..> notation to cover
379 subtype/object types. Uses {..} for these other cases.
380 Also use (..) for pointer types.
382 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
384 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
385 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
387 2001-12-11 Vincent Celier <celier@gnat.com>
390 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
391 Changed /BIND_ONLY to /ACTIONS=BIND
392 Changed /LINK_ONLY to /ACTIONS=LINK
394 2001-12-11 Ed Schonberg <schonber@gnat.com>
396 * sem_ch8.adb (Find_Selected_Component): improved search for a
397 candidate package in case of error.
399 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
400 chain back on scope stack before reinstalling use clauses.
402 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
403 is enabled, do not kill the code for the condition, to preserve
406 2001-12-11 Robert Dewar <dewar@gnat.com>
408 * checks.adb (Insert_Valid_Check): Apply validity check to expression
409 of conversion, not to result of conversion.
411 2001-12-11 Ed Schonberg <schonber@gnat.com>
413 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
414 before freezing parent. If the declarations are mutually recursive,
415 an access to the current record type may be frozen before the
416 derivation is complete.
418 2001-12-05 Vincent Celier <celier@gnat.com>
420 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
421 -c /COMPILE_ONLY, -l /LINK_ONLY
424 (Bind_Only): New Flag
425 (Link_Only): New flag
427 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
430 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
433 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
434 (Gnatmake): Set the step flags. Only perform a step if the
435 corresponding step flag is True.
436 (Scan_Make_Arg): Reset the bind and link step flags when -u
437 or -gnatc has been specified.
439 2001-12-05 Ed Schonberg <schonber@gnat.com>
441 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
442 get bounds from right operand.
444 * sem_eval.adb: Minor reformatting
446 * exp_util.adb (Make_Literal_Range): use bound of literal rather
447 than Index'First, its lower bound may be different from 1.
449 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
452 2001-12-05 Vincent Celier <celier@gnat.com>
454 * prj-nmsc.adb Minor reformatting
456 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
457 set and libraries are not supported.
459 2001-12-05 Ed Schonberg <schonber@gnat.com>
461 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
462 private view explicitly, so the back-end can treat as a global
465 2001-12-05 Ed Schonberg <schonber@gnat.com>
467 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
468 unit, always replace instance node with new body, for ASIS use.
470 2001-12-05 Vincent Celier <celier@gnat.com>
472 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
473 libraries are not supported and both attributes Library_Name and
474 Library_Dir are specified.
476 * prj-proc.adb (Expression): Set location of Result to location of
479 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
480 (prj-nmsc is now importing MLib.Tgt)
482 * prj-proc.adb: Put the change indicated above that was forgotten.
484 2001-12-05 Robert Dewar <dewar@gnat.com>
486 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
488 2001-12-05 Ed Schonberg <schonber@gnat.com>
490 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
491 constraint, introduce explicit subtype declaration and derive from it.
493 * sem_ch3.adb: Minor reformatting
495 2001-12-05 Robert Dewar <dewar@gnat.com>
497 * checks.adb (Determine_Range): Increase cache size for checks.
500 * exp_ch6.adb: Minor reformatting
501 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
502 a parameter whose root type is System.Address, since treating such
503 subprograms as pure in the code generator is almost surely a mistake
504 that will lead to unexpected results.
506 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
507 change handling of conversions.
509 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
511 2001-12-05 Ed Schonberg <schonber@gnat.com>
513 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
514 aggregate with static wrong size, attach generated Raise node to
517 2001-12-05 Robert Dewar <dewar@gnat.com>
519 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
520 Fixes compilation abandoned bomb in B24009B.
522 2001-12-05 Ed Schonberg <schonber@gnat.com>
525 Document use of Associated_Node on Selected_Components.
526 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
527 to clarify use of untyped descendant fields.
529 2001-12-05 Robert Dewar <dewar@gnat.com>
531 * prj-dect.ads: Add ??? comment
532 Add 2001 to copyright notice (was not done in after all)
534 * prj-part.adb: Minor reformatting. Reword one awkward error message.
536 * prj.ads: Minor reformatting throughout, and add some ??? comments
538 * snames.ads: Minor reformatting
540 2001-12-05 Geert Bosch <bosch@gnat.com>
542 * snames.adb: Autoupdate
544 2001-12-05 Vincent Celier <celier@gnat.com>
546 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
548 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
550 * prj-env.adb: Minor comment changes (modifying -> extends).
552 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
554 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
557 * prj.adb (Initialize): Change Modifying to Extends.
559 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
561 * prj.ads: Minor comment change (Modifying -> extending).
563 * snames.ads: Change modifying to extends.
565 2001-12-05 Robert Dewar <dewar@gnat.com>
567 * sem_warn.adb: Remove stuff for conditionals, we are not going to
570 * sem_warn.ads: Remove stuff for conditionals, we are not going to
571 do this after all. Add 2001 to copyright notice
573 2001-12-04 Geert Bosch <bosch@gnat.com>
575 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
577 2001-12-04 Robert Dewar <dewar@gnat.com>
579 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
580 location if we already have errors. Stops some cases of cascaded
583 * errout.adb: Improve comment.
585 2001-12-04 Robert Dewar <dewar@gnat.com>
588 (Analyze_Formal_Type_Definition): Defend against Error.
589 (Analyze_Formal_Subprogram): Defend against Error.
591 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
592 remove following semicolon if present. Removes cascaded error.
594 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
597 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
599 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
600 Fixes PIWG E tests (which have to be run with -gnatL).
602 2001-12-04 Robert Dewar <dewar@gnat.com>
604 * einfo.ads: Minor reformatting
606 2001-12-04 Ed Schonberg <schonber@gnat.com>
608 * einfo.ads: Block_Node points to the identifier of the block, not to
609 the block node itself, to preserve the link when the block is
610 rewritten, e.g. within an if-statement with a static condition.
612 * inline.adb (Cleanup_Scopes): recover block statement from block
613 entity using new meaning of Block_Node.
615 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
616 identifier of block node, rather than to node itself.
618 2001-12-04 Gary Dismukes <dismukes@gnat.com>
621 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
622 (Discrimify): Go back to setting the Etypes of the selected component
623 because the Vname component does not exist at this point and will
624 fail name resolution. Also set Analyzed.
625 Remove with and use of Sem_Res.
627 2001-12-04 Arnaud Charlet <charlet@gnat.com>
629 * Makefile.in: (HIE_SOURCES): add s-fat*.
631 2001-12-04 Robert Dewar <dewar@gnat.com>
634 (Compile_Time_Known_Attribute): New procedure.
635 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
638 2001-12-04 Ed Schonberg <schonber@gnat.com>
640 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
641 processing discriminants to diagnose illegal default values.
643 2001-12-04 Ed Schonberg <schonber@gnat.com>
645 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
646 access discriminant within a type extension that constrains its
647 parent discriminants.
649 2001-12-04 Ed Schonberg <schonber@gnat.com>
651 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
652 is malformed, use instance of Any_Id to allow analysis to proceed.
654 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
655 type definition is illegal.
656 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
659 2001-12-04 Ed Schonberg <schonber@gnat.com>
661 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
664 2001-12-04 Robert Dewar <dewar@gnat.com>
666 * errout.adb: Minor reformatting
668 2001-12-04 Robert Dewar <dewar@gnat.com>
670 * exp_util.adb: Minor reformatting from last change
672 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
673 which is a rewriting of an expression, traverse the original
674 expression to remove warnings that may have been posted on it.
676 2001-12-04 Ed Schonberg <schonber@gnat.com>
678 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
679 record that has other packed components.
681 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
683 * adaint.c: Minor cleanups.
685 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
687 * adaint.c: Do not use utime.h on vxworks.
689 2001-12-04 Arnaud Charlet <charlet@gnat.com>
691 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
692 more confusion than it solves.
694 2001-12-04 Geert bosch <bosch@gnat.com>
696 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
698 2001-12-04 Geert Bosch <bosch@gnat.com>
700 * Makefile.in (update-sources): New target.
701 For use by gcc_release script.
703 2001-12-04 Ed Schonberg <schonber@gnat.com>
705 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
706 a configuration pragma, it is now legal wherever a pragma can appear.
708 2001-12-04 Zack Weinberg <zack@codesourcery.com>
710 * Makefile.in: Don't set ALL. Delete @cross_defines@,
711 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
712 is now @CROSS@ -DIN_GCC; update comment.
714 2001-12-04 Robert Dewar <dewar@gnat.com>
716 * einfo.adb (Has_Pragma_Pure_Function): New flag.
717 Fix problem that stopped ceinfo from working
719 * einfo.ads (Has_Pragma_Pure_Function): New flag.
721 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
723 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
726 (File_Time_Stamp): New procedure.
727 (Preserve_Mode): New boolean.
728 (Write_Unit): Pass time stamp.
729 Implement -p switch (preserve time stamps).
731 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
733 * gnatchop.adb: Do usage info for -p switch
735 * adaint.h (__gnat_set_file_time_name): New function
737 * adaint.c (__gnat_set_file_time_name): Implement
741 2001-12-03 Robert Dewar <dewar@gnat.com>
743 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
744 have Associated_Node.
746 2001-12-03 Robert Dewar <dewar@gnat.com>
748 * prj-proc.adb: Minor reformatting
750 * make.adb: Minor reformatting
752 2001-12-03 Geert Bosch <bosch@gnat.com>
754 * make.adb: Minor reformatting.
756 2001-12-03 Robert Dewar <dewar@gnat.com>
758 * sem_ch12.adb: Minor reformatting
760 2001-12-03 Ed Schonberg <schonber@gnat.com>
762 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
763 push Standard on the stack before analyzing the instance body,
764 in order to have a clean visibility environment.
766 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
768 2001-12-03 Ed Schonberg <schonber@gnat.com>
770 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
771 instantiation of a body that contains an inlined body.
773 2001-12-03 Ed Schonberg <schonber@gnat.com>
776 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
777 to prevent freezing within formal packages.
778 (Freeze_Subprogram_Body): If body comes from another instance that
779 appeared before its own body, place freeze node at end of current
780 declarative part, to prevent a back-end crash.
781 (Inline_Instance_Body): Handle properly a package instance within
782 a subprogram instance that is a child unit.
784 2001-12-01 Graham Stott <grahams@redhat.com>
786 * Makefile.in (misc.o): Add missing $(srcdir) prefix
787 and add optabs.h dependency.
789 * misc.c: Include optabs.h
790 (gnat_tree_code_type): Make static and const.
791 (gnat_tree_code_length): Likewise.
792 (gnat_tree_code_name): Likewise.
793 (update_setjmp_buf): Obtain operands mode from insn_data.
795 2001-11-29 Richard Henderson <rth@redhat.com>
797 * init.c: Remove obsolete dwarf2 frame.h section.
799 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
801 * Make-lang.in (ada.generated-manpages): New dummy target.
803 2001-11-29 Ed Schonberg <schonber@gnat.com>
805 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
806 into Command, an array conversion is illegal here. Uncovered by
809 2001/11/28 Geert Bosch <bosch@gnat.com>
811 * init.c: Minor whitespace changes.
813 2001-11-28 Doug Rupp <rupp@gnat.com>
815 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
818 2001-11-28 Zack Weinberg <zack@codesourcery.com>
820 * misc.c (gnat_expand_constant): Move declaration above
821 definition of lang_hooks.
822 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
823 (gnat_init): lang_expand_constant no longer exists.
825 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
827 (gnat_init): Always call set_internal_error_function.
829 2001-11-27 Andreas Jaeger <aj@suse.de>
831 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
833 2001-11-27 Laurent Guerby <guerby@acm.org>
835 * Makefile.in: Regenerate Ada dependencies.
837 2001-11-26 Richard Henderson <rth@redhat.com>
839 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
840 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
841 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
843 2001-11-25 Laurent Guerby <guerby@acm.org>
845 * sysdep.c (rts_get_*): Fix style.
847 2001-11-19 Laurent Guerby <guerby@acm.org>
849 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
850 since it is of no apparent use and cause warnings.
852 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
854 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
856 (gnat_init): Don't return NULL.
857 (finish_parse): Remove.
859 2001-11-17 Laurent Guerby <guerby@acm.org>
861 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
862 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
863 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
864 * lang-spec.h: Add missing struct field to silence warnings.
865 * sysdep.c (rts_get_*): Provide K&R prototype.
866 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
867 * traceback.c (Unlock_Task, Lock_Task): Likewise.
868 * tracebak.c (__gnat_backtrace): Remove unused variable.
869 * utils.c (end_subprog_body): Move to K&R style.
871 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
873 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
875 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
877 * misc.c (gnat_init): Change prototype. Include the
878 functionality of the old init_parse and init_decl_processing.
879 (gnat_init_decl_processing): New prototype.
880 (init_parse): Remove.
881 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
883 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
885 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
886 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
887 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
888 set_yydebug): Remove.
890 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
892 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
893 (struct lang_hooks): Constify.
894 (language_string, lang_identify): Remove.
895 * utils.c (init_decl_processing): Update.
897 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
899 * misc.c: Include langhooks-def.h.
900 * Makefile.in: Update.
902 2001-10-30 Robert Dewar <dewar@gnat.com>
905 (Check_Identifier): Rewrite circuit to be compatible with use of letters
906 in the upper half of ASCII.
907 (Check_Identifier): Minor reformatting
909 2001-10-30 Geert Bosch <bosch@gnat.com>
911 * (Associated_Node, Set_Associated_Node): Do not check for
914 2001-10-30 Robert Dewar <dewar@gnat.com>
916 * a-reatim.ads: Minor reformatting
918 2001-10-30 Robert Dewar <dewar@gnat.com>
920 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
921 undocumented declarations.
923 2001-10-30 Pascal Obry <obry@gnat.com>
925 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
926 to the binder and linker.
929 * mdll.ads: Fix layout. Update copyright notice.
931 * mdll.adb: Fix layout. Update copyright notice.
933 2001-10-30 Robert Dewar <dewar@gnat.com>
935 * usage.adb: Minor fix to output for -gnaty.
937 2001-10-30 Ed Schonberg <schonber@gnat.com>
939 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
940 to accommodate all its possible values.
942 * a-reatim.adb (Split): Special-case handling of Time_Span_First
943 and of small absolute values of T.
945 2001-10-30 Richard Kenner <kenner@gnat.com>
947 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
948 set_mem_attributes since not needed and wrong if RESULT if a REG;
949 fixes ACATS failures.
951 2001-10-30 Geert Bosch <bosch@gnat.com>
953 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
954 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
956 2001-10-30 Robert Dewar <dewar@gnat.com>
958 * bindusg.adb: Undocument -f switch.
960 * gnatcmd.adb: Remove /FULL_ELABORATION.
962 * opt.ads (Force_RM_Elaboration_Order): Document that this is
965 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
967 * gnatbind.adb: Minor update of warning msg.
969 2001-10-30 Vincent Celier <celier@gnat.com>
971 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
972 for project file switches (-P (/PROJECT_FILE=),
973 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
976 2001-10-30 Geert Bosch <bosch@gnat.com>
978 * decl.c: Minor whitespace fixes.
980 2001-10-30 Richard Kenner <kenner@gnat.com>
982 * utils2.c (build_allocator): Test for SIZE overflow in array case too
984 2001-10-30 Geert Bosch <bosch@gnat.com>
986 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
987 Found due to GCC 3.0 warning of using uninitialized value.
990 (Get_Max_Size): Use variant record for tracking value/expression.
991 Makes logic clearer and prevents warnings for uninitialized variables.
992 (Layout_Array_Type): Use variant record for tracking value/expression.
993 Makes logic clearer and prevents warnings for uninitialized variables.
995 2001-10-30 Robert Dewar <dewar@gnat.com>
997 * lib.adb: Minor reformatting
999 * s-taprop.ads: Minor reformatting
1001 2001-10-29 Laurent Guerby <guerby@acm.org>
1004 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
1006 (_gnat_error_handler): Make MSG const.
1008 2001-10-29 Richard Kenner <kenner@gnat.com>
1010 * sysdep.c: Fix localtime_r problem on LynxOS.
1011 Also remove #elif to avoid warnings.
1013 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
1016 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
1018 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
1020 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
1021 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
1022 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
1023 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
1024 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
1025 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
1026 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
1027 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
1028 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
1029 types.ads, urealp.adb: Fix spelling errors.
1031 2001-10-27 Laurent Guerby <guerby@acm.org>
1033 * trans.c (gigi): Fix non determinism leading to bootstrap
1034 comparison failures for debugging information.
1036 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
1038 * gnat_rm.texi: Use @./@: where appropriate.
1040 2001-10-26 Robert Dewar <dewar@gnat.com>
1042 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
1044 2001-10-26 Richard Kenner <kenner@gnat.com>
1046 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
1048 2001-10-26 Richard Kenner <kenner@gnat.com>
1050 * decl.c (validate_size): Modify message for bad size to avoid
1051 implication that compiler is modifying the size.
1053 2001-10-26 Robert Dewar <dewar@gnat.com>
1055 * prj-util.adb: Minor reformatting. Fix bad header format.
1057 2001-10-26 Robert Dewar <dewar@gnat.com>
1059 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
1061 * sinfo.ads: Clarify use of Associated_Node (documentation only).
1063 * sem_ch12.adb: Change Node4 to Associated_Node. Change
1064 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
1065 much more narrowly in places where needed. These are cleanups.
1067 2001-10-26 Joel Brobecker <brobecke@gnat.com>
1069 * 5zosinte.ads (null_pthread): new constant.
1072 (Initialize_TCB): Initialize thread ID to null, to be able to verify
1073 later that this field has been set.
1074 (Finalize_TCB): ditto.
1075 (Suspend_Task): Verify that the thread ID is not null before using it.
1076 (Resume_Task): ditto.
1079 (Resume_All_Tasks): Lock the tasks list before using it.
1080 (Suspend_All_Tasks): ditto.
1082 2001-10-26 Richard Kenner <kenner@gnat.com>
1084 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
1085 Make constant variant of designated type for Is_Access_Constant.
1086 Call update_pointer_to with main variant.
1088 * trans.c (process_freeze_entity, process_type):
1089 Call update_pointer_to on main variant.
1091 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
1092 If main variant, update all other variants.
1094 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
1097 2001-10-26 Robert Dewar <dewar@gnat.com>
1099 * prj-util.adb: Minor reformatting
1101 2001-10-26 Robert Dewar <dewar@gnat.com>
1103 * prj-util.adb: Minor reformatting
1105 2001-10-26 Robert Dewar <dewar@gnat.com>
1107 * prj-attr.adb: Minor reformatting throughout
1109 2001-10-26 Robert Dewar <dewar@gnat.com>
1111 * prj-attr.ads: Minor reformatting
1112 Add ??? comment (this whole spec has almost no comments)
1114 2001-10-26 Vincent Celier <celier@gnat.com>
1116 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
1117 ("//") that precede the drive letter on Interix.
1119 2001-10-26 Geert Bosch <bosch@gnat.com>
1121 * gnat_rm.texi: Add GNAT Reference Manual.
1123 2001-10-25 Robert Dewar <dewar@gnat.com>
1125 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
1126 is Error. Similar change for other renaming cases.
1128 2001-10-25 Robert Dewar <dewar@gnat.com>
1130 * s-atacco.ads: Add pragma Inline_Always for functions.
1131 Fix header format. Add copyright 2001
1133 2001-10-25 Ed Schonberg <schonber@gnat.com>
1135 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
1136 return Error rather than Empty so that analysis can proceed.
1138 2001-10-25 Ed Schonberg <schonber@gnat.com>
1140 * sem_util.adb (Enter_Name): better handling of cascaded error
1141 messages when a unit appears in its own context.
1143 2001-10-25 Ed Schonberg <schonber@gnat.com>
1145 * sem_util.adb (Defining_Entity): in case of error, attach created
1146 entity to specification, so that semantic analysis can proceed.
1148 2001-10-25 Robert Dewar <dewar@gnat.com>
1151 (Defining_Entity): Deal with Error.
1152 (Process_End_Label): Deal with bad end label for.
1154 2001-10-25 Ed Schonberg <schonber@gnat.com>
1156 * sem_elab.adb (Check_A_Call): refine message when call is in an
1157 instance but callee is not declared in the generic unit.
1159 2001-10-25 Ed Schonberg <schonber@gnat.com>
1161 * sem_elab.adb (Check_A_Call): check for renaming before finding the
1162 enclosing unit, which may already be different from the calling unit.
1164 2001-10-25 Geert Bosch <bosch@gnat.com>
1166 * 4gintnam.ads: fix header format.
1168 2001-10-25 Ed Schonberg <schonber@gnat.com>
1170 * sem_res.adb (Resolve_Call): if the call is actually an indexing
1171 operation on the result of a parameterless call, perform elaboration
1172 check after the node has been properly rewritten.
1174 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
1175 inlined within the generic tree, the defining identifier is not a
1178 2001-10-25 Ed Schonberg <schonber@gnat.com>
1180 * sem_res.adb (Resolve): special-case resolution of Null in an
1181 instance or an inlined body to avoid view conflicts.
1183 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
1184 compatibility by retrieving the access type of the generic copy.
1186 2001-10-25 Robert Dewar <dewar@gnat.com>
1189 (Analyze_Number_Declaration): Handle error expression.
1190 (Signed_Integer_Type_Declaration): Handle error bound.
1191 (Analyze_Subtype_Indication): Handle error range.
1193 * sem_util.adb (Get_Index_Bounds): Check for Error.
1195 2001-10-25 Robert Dewar <dewar@gnat.com>
1197 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
1198 in no run time mode.
1200 2001-10-25 Pascal Obry <obry@gnat.com>
1202 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
1203 mode case for ALLOC case.
1205 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
1206 all platforms. Improvement of last change.
1208 2001-10-25 Robert Dewar <dewar@gnat.com>
1210 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
1212 2001-10-25 Geert Bosch <bosch@gnat.com>
1214 * osint.adb (Is_Relative): Remove duplicate.
1216 2001-10-25 Pascal Obry <obry@gnat.com>
1218 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
1219 pathnames in UNIX and DOS style with drive letter.
1220 (Is_Relative): new routine.
1222 * osint.adb: Minor reformatting
1224 * osint.adb (Is_Relative): implementation using
1225 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
1227 2001-10-25 Pascal Obry <obry@gnat.com>
1229 * g-dirope.adb (Basename): correctly compute offset between the
1230 original Path and the translated one.
1232 * g-dirope.adb: (Base_Name): add some comments.
1234 2001-10-25 Robert Dewar <dewar@gnat.com>
1236 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
1237 in HIE mode, avoids compilation abandoned message
1239 * exp_imgv.adb: Correct typo in previous change
1241 * exp_imgv.adb: Correct typo in previous change (not my day!)
1243 2001-10-25 Robert Dewar <dewar@gnat.com>
1245 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
1247 2001-10-25 Pascal Obry <obry@gnat.com>
1249 * g-awk.ads: Move all pragma inlines next to the routine
1250 declarations. This is more uniform with other GNAT spec.
1252 2001-10-22 Geert Bosch <bosch@gnat.com>
1254 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
1256 2001-10-19 Geert Bosch <bosch@gnat.com>
1258 * Makefile.in (tools, gnattools): Remove gnatmem.
1260 2001-10-17 Richard Henderson <rth@redhat.com>
1262 * Makefile.in (misc.o): Depend on langhooks.h.
1263 * misc.c: Include it.
1264 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
1265 (LANG_HOOKS_DECODE_OPTION): New.
1266 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
1268 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
1270 * trans.c (tree_transform): Adjust to recent change in
1271 expand_asm_operands to implement named asm operands.
1273 2001-10-11 Ed Schonberg <schonber@gnat.com>
1275 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
1276 renaming of discriminant for mutable record type.
1278 2001-10-11 Robert Dewar <dewar@gnat.com>
1280 * validsw.adb: Properly save -gnatVn status.
1282 2001-10-11 Robert Dewar <dewar@gnat.com>
1284 * usage.adb: Add lines for V switch.
1286 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
1287 (/VALIDITY_CHECKING).
1289 2001-10-11 Ed Schonberg <schonber@gnat.com>
1291 * sem_type.adb (Add_One_Interp): an operator for a type declared in
1292 an extension of System is known to be visible.
1294 2001-10-11 Ed Schonberg <schonber@gnat.com>
1296 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
1297 properly. Fixes regression on ACATS C34005G.
1299 2001-10-11 Robert Dewar <dewar@gnat.com>
1301 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
1302 loop in generic instance, since this is likely not very useful.
1304 2001-10-11 Robert Dewar <dewar@gnat.com>
1306 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
1307 the error message for high integrity mode.
1309 * rtsfind.adb (RTE): Give message if we try to find an entity that
1310 is not available in high integrity mode.
1313 (OK_To_Use_In_HIE_Mode): New array.
1314 (RTE): May return Empty in high integrity mode.
1316 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
1317 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
1319 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
1320 unit if not inlined always and in no runtime mode. Fixes problem
1321 caused by new Rtsfind changes.
1323 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
1326 * rtsfind.adb (RTE): Make sure we do not try to load unit after
1327 giving message for entity not available in high integrity mode.
1329 2001-10-11 Pascal Obry <obry@gnat.com>
1331 * impunit.adb: Add GNAT.CRC32.
1333 2001-10-11 Ed Schonberg <schonber@gnat.com>
1335 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
1336 properly the case where one universal operand in a non-static
1337 exponentiation of a real literal.
1339 2001-10-11 Ed Schonberg <schonber@gnat.com>
1341 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
1342 clause, return the gobal finalization list, for lack of anthing else.
1344 2001-10-11 Ed Schonberg <schonber@gnat.com>
1346 * exp_ch7.adb (Make_Transient_Block): if statement is within
1347 exception handler, always use new transient scope to place Clean
1350 2001-10-11 Pascal Obry <obry@gnat.com>
1353 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1354 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1355 (GNATLS_RTL_OBJS): add g-crc32.o
1356 (GNATMAKE_RTL_OBJS): add g-crc32.o
1359 (CRC_Match): new function.
1360 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
1361 instead of the previous simple checksum algorithm.
1362 (Time_Stamp_Mismatch): use CRC_Match for comparison.
1363 (Set_Source_Table): idem.
1366 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
1367 instead of simple checksum.
1368 (CRC_Match): new function.
1369 (CRC_Error): new constant.
1371 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
1372 a CRC now and not a simple checksum. A CRC uses lower-case hex
1373 letters, fixes ambiguity in parsing.
1375 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
1376 is what this variable will store.
1378 * bcheck.adb: Change reference to chechsum in comments by CRC.
1379 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
1380 rename All_Checksum_Match to All_CRC_Match. Change due to API
1381 renaming since now GNAT does not use a simple checksum but a
1382 CRC using GNAT.CRC32.
1384 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
1385 now and not anymore a simple checksum.
1387 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
1390 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
1393 (Restore_Scan_State): rename Checksum to CRC.
1394 (Save_Scan_State): idem.
1398 (Checksum): rename to CRC.
1399 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
1401 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
1402 GNAT.CRC32). Update copyright notice.
1404 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
1405 GNAT.CRC32). Update copyright notice.
1408 (Accumulate_Checksum): removed.
1409 (Update): new procedure. Add a wide-character into the CRC.
1412 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
1413 (Load_File): fix initialization of S (change Source_Checksum to
1416 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
1417 Source_CRC in S initialization.
1419 * sinput.adb (Source_Checksum): renamed to Source_CRC.
1421 * sinput.ads (Source_Checksum): renamed to Source_CRC.
1422 Update comments for the CRC.
1424 * types.adb (Hex): Use lowercase for the letter part.
1426 * types.ads (Get_Hex_String): Returns the hexadecimal representation
1427 for a word. This is currently used only for CRC. In previous version,
1428 the checksum was using a representation with all letter being
1429 upper-case. With the new implementation (using CRC) we do not remove
1430 the 32th bit of the CRC, so we can have an upper-case starting letter
1431 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
1432 It is ambigous since the CRC was optional and could be followed by
1433 options like EB, EE. So now this routines uses lower-case letter for
1434 the hexadecimal representation. Strange enough only lower case letters
1435 where checked in Scan_ALI (even if this was not a possible case).
1437 * gnatvsn.ads (Library_Version): changed to 3.15a.
1439 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
1442 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
1445 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
1446 Add 2001 to copyright notice
1447 (Accumulate_Checksum): Modify to use System.CRC32.
1449 * ali-util.ads: Redo changes of previous revision to continue to use
1450 the word Checksum. Add 2001 to copyright notice.
1452 * ali.adb: Undo some of previous changes, not needed.
1453 Keep the change for lower case letters in the checksum.
1455 * ali.ads: Undo previous change not needed.
1457 * bcheck.adb: Undo most of previous change, not needed.
1458 But do use Checksums_Match for checksum comparison.
1460 * gnatls.adb: Undo most of previous change, not needed.
1461 But do use Checksums_Match for comparing checksums.
1463 * lib-load.adb: Undo previous change, not needed.
1465 * lib-writ.adb: Undo previous change, not needed.
1467 * lib-writ.ads: Document that checksums use lower case,
1468 not upper case letters.
1470 * scans.adb: Undo previous change, not needed
1472 * scans.ads: Undo previous change, not needed.
1474 * scn-nlit.adb: Undo previous changes, not needed.
1476 * scn-slit.adb: Undo previous change, not needed. Fix header format.
1479 (Accumulate_Checksum): Use System.CRC32.
1480 (Initialize_Checksum): New procedure.
1481 Remove other changes of previous revision.
1483 * sinput-p.adb: Undo previous change, not needed.
1485 * sinput.adb: Undo previous change, not needed.
1487 * sinput-l.adb: Undo previous change, not needed.
1489 * sinput.ads: Undo previous change, not needed. Keep only comment
1490 on new checksum algorithm
1492 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
1493 Also remove a-tags and a-stream from GNAT sources.
1495 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
1497 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
1499 2001-10-11 Geert Bosch <bosch@gnat.com>
1501 * einfo.h: Regenerate.
1503 * nmake.ads: Regenerate.
1505 * nmake.adb: Regenerate.
1507 * sinfo.h: Regenerate.
1509 * treeprs.adb: Regenerate.
1511 2001-10-10 Geert Bosch <bosch@gnat.com>
1513 * gnat-style.texi: New file describing coding guidelines for Ada.
1515 2001-10-10 Ed Schonberg <schonber@gnat.com>
1517 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
1520 2001-10-10 Geert Bosch <bosch@gnat.com>
1522 * snames.ads: Add new names for project facility.
1524 * snames.adb: Update to reflect snames.ads changes.
1526 * snames.h: Update to reflect snames.ads changes.
1528 2001-10-10 Vincent Celier <celier@gnat.com>
1531 (Add_Switches): reflect the changes for the switches attributes
1532 Default_Switches indexed by the programming language,
1533 Switches indexed by the file name.
1534 (Collect_Arguments_And_Compile): Idem.
1535 Reflect the attribute name changes.
1538 (Initialisation_Data): Change the names of some packages and
1540 (Initialize): process case insensitive associative arrays.
1543 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
1546 (Parse_Attribute_Declaration): For case insensitive associative
1547 arrays, set the index string to lower case.
1550 Reflect the changes of the project attributes.
1553 Replace Check_Naming_Scheme by Ada_Check and
1554 Language_Independent_Check.
1557 Replaced Check_Naming_Scheme by 2 procedures:
1558 Ada_Check and Language_Independent_Check.
1561 (Process_Declarative_Items): For case-insensitive associative
1562 arrays, set the index string to lower case.
1563 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
1564 Prj.Nmsc.Check_Naming_Scheme.
1567 (Case_Insensitive): New function
1568 (Set_Case_Insensitive): New procedure
1571 (Case_Insensitive): New function
1572 (Set_Case_Insensitive): New procedure
1573 (Project_Node_Record): New flag Case_Insensitive.
1576 (Value_Of): new function to get the string value of a single
1577 string variable or attribute.
1580 (Value_Of): new function to get the string value of a single
1581 string variable or attribute.
1584 (Ada_Default_Spec_Suffix): New function
1585 (Ada_Default_Impl_Suffix): New function
1586 Change definitions of several constants to reflect
1587 new components of record types.
1590 (Naming_Data): Change several components to reflect new
1591 elements of naming schemes.
1592 (Project_Data): New flags Sources_Present and
1593 Language_Independent_Checked.
1594 (Ada_Default_Spec_Suffix): New function.
1595 (Ada_Default_Impl_Suffix): New function.
1598 Modification of predefined names for project manager: added
1599 Implementation, Specification_Exceptions, Implementation_Exceptions,
1600 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
1601 Default_Switches, _Languages, Builder, Cross_Reference,
1602 Finder. Removed Body_Part, Specification_Append, Body_Append,
1603 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
1606 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
1609 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
1610 not that it is Nil_Variable_Value.
1612 * prj.ads: Add ??? for uncommented declarations
1614 2001-10-10 Ed Schonberg <schonber@gnat.com>
1616 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
1617 constant, do not indicate possible modification, so that gigi can
1618 treat it as a bona fide constant.
1620 2001-10-10 Robert Dewar <dewar@gnat.com>
1622 * sem_prag.adb: Add processing for pragma External.
1624 * snames.ads: Add entry for pragma External.
1626 * par-prag.adb: Add pragma External.
1628 * snames.adb: Updated to match snames.ads.
1630 2001-10-10 Ed Schonberg <schonber@gnat.com>
1632 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
1633 a dynamic task if the allocator appears in an indexed assignment
1634 or selected component assignment.
1636 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
1637 For a dynamic task in an assignment statement, use target of
1638 assignment to generate meaningful name.
1640 2001-10-10 Ed Schonberg <schonber@gnat.com>
1642 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
1645 * einfo.ads: Body_Entity is also defined for generic package.
1646 Documentation change only
1648 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
1649 others_choice for a discriminated component initialization,
1650 convert discriminant references into the corresponding discriminals.
1652 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
1653 only if original type is private and expression has to be wrapped
1657 (Apply_Constraint_Check): Do not perform length check
1658 if expression is an aggregate with only an others_choice.
1659 (Length_N_Cond): two references to the same in_parameter
1660 (typically the discriminal in an init_proc) denote the same value.
1661 Two useful optimization uncovered by bugfixes above.
1663 2001-10-10 Robert Dewar <dewar@gnat.com>
1665 * xeinfo.adb: Change int to char in translation of enumeration types.
1666 This fixes a problem in the C representation of component alignment.
1667 Add 2001 to copyright notice
1669 2001-10-10 Richard Kenner <kenner@gnat.com>
1671 * decl.c: (validate_size): Do check size of object of integral type
1672 if it is a packed array type.
1674 2001-10-10 Richard Kenner <kenner@gnat.com>
1676 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
1677 VAR_DECL for constant if not Is_Public but -O0.
1679 2001-10-10 Richard Kenner <kenner@gnat.com>
1681 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
1683 2001-10-10 Geert Bosch <bosch@gnat.com>
1685 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
1686 use '/' as switch character, allowing for absolute file names.
1688 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
1690 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
1693 2001-10-08 Geert Bosch <bosch@gnat.com>
1695 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
1696 Automatically build utilities when files need to be regenerated.
1698 2001-10-08 Geert Bosch <bosch@gnat.com>
1700 * xsnames.adb: New utility for updating snames.ads and snames.adb
1702 2001-10-08 Zack Weinberg <zack@codesourcery.com>
1704 * Make-lang.in (ADAFLAGS): Add -W -Wall.
1705 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
1706 (gnat1): Also depend on attribs.o.
1707 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
1708 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
1709 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
1710 (ADAFLAGS): Add -W -Wall.
1711 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
1714 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
1715 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
1716 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
1717 Use $(ADAC), not $(CC), as compilation command.
1719 (gnattools): Depend directly on tools to build, don't use
1721 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
1723 * einfo.h, sinfo.h: New files (autogenerated).
1725 2001-10-08 Richard Henderson <rth@redhat.com>
1727 * comperr.adb (Abort_In_Progress): New.
1728 (Compiler_Abort): Use it to prevent recursion.
1730 2001-10-08 Robert Dewar <dewar@gnat.com>
1732 * atree.adb: Set Error_Posted in Error node, helps error recovery.
1734 * par-endh.adb (Output_End_Expected): We should also not test
1735 Error_Posted on the Error node, since now it is always set.
1737 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
1738 to help error recovery. Part of general work on 9407-004.
1740 * par.adb: Add ??? for misuse of error
1743 (Resolve): Defend against Error, fixes 9407-003.
1744 (Resolve_Discrete_Subtype_Indication): Defend against Error.
1746 * sinfo.ads (N_Error): Now has Etype field (which will be set
1747 to Any_Type to help error recovery).
1749 2001-10-08 Richard Kenner (kenner@gnat.com)
1751 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
1752 Consistently set MEM attributes from expression; fixes
1753 bootstrap failure on x86.
1755 2001-10-08 Geert Bosch (bosch@gnat.com)
1757 * 5oosinte.adb: Add 2001 to copyright notice.
1759 2001-10-08 Geert Bosch (bosch@gnat.com)
1761 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
1763 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
1765 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1767 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
1769 2001-10-05 Geert Bosch (bosch@gnat.com)
1771 * adaint.h: Small formatting fix.
1773 2001-10-04 Geert Bosch <bosch@gnat.com>
1775 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
1776 Arg is int, not FILE *, in dummy version of functions.
1778 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
1779 Arg is int, not FILE *.
1781 2001-10-04 Geert Bosch <bosch@gnat.com>
1783 * 3lsoccon.ads: Added file, missed with initial check ins.
1785 * 4lintnam.ads: Fix header format.
1786 Change Linux to GNU/Linux.
1788 * 5iosinte.adb: Change Linux to GNU/Linux.
1790 * 5iosinte.ads: Change Linux to GNU/Linux.
1792 * 5itaprop.adb: Change Linux to GNU/Linux.
1794 * 5itaspri.ads: Change Linux to GNU/Linux.
1795 Update copyright notice.
1797 * 5lintman.adb: Change Linux to GNU/Linux.
1799 * 5lml-tgt.adb: Change Linux to GNU/Linux.
1801 * 5losinte.ads: Change Linux to GNU/Linux.
1803 * 5lsystem.ads: Change Linux to GNU/Linux.
1805 * 5qosinte.adb: Change Linux to GNU/Linux.
1807 * 5qosinte.ads: Change Linux to GNU/Linux.
1809 * 5qparame.ads: Change Linux to GNU/Linux.
1811 * 5qtaprop.adb: Change Linux to GNU/Linux.
1813 * 5qtaspri.ads: Change Linux to GNU/Linux.
1814 Add 2001 to copyright notice.
1816 * 5vintman.ads: Change Linux to GNU/Linux.
1817 Fix header format. Add 2001 to copyright notice.
1819 * g-soccon.ads: Change Linux to GNU/Linux.
1821 * g-trasym.ads: Change Linux to GNU/Linux.
1822 Add 2001 to copyright notice.
1824 * memtrack.adb: Change Linux to GNU/Linux.
1826 * s-intman.ads: Change Linux to GNU/Linux.
1827 Add 2001 to copyright notice. Fix header format.
1829 * s-stache.adb: Change Linux to GNU/Linux.
1831 * adaint.c: Change Linux to GNU/Linux.
1833 * cio.c: Change Linux to GNU/Linux.
1835 * cstreams.c: Change Linux to GNU/Linux.
1837 * init.c: Change Linux to GNU/Linux.
1839 * gmem.c: Change Linux to GNU/Linux.
1841 * tracebak.c: Change Linux to GNU/Linux.
1844 2001-10-02 Geert Bosch <bosch@gnat.com>
1846 * misc.c (insert_default_attributes): Add dummy version.