1 2002-03-07 Geert Bosch <bosch@gnat.com>
3 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
4 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
5 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
6 switch-m.adb, switch-m.ads : New files.
8 2002-03-07 Geert Bosch <bosch@gnat.com>
10 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
11 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
12 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
13 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
14 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
15 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
16 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
17 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
18 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
19 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
20 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
21 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
22 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
23 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
24 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
25 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
26 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
27 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
28 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
29 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
30 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
31 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
32 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
33 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
34 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
35 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
36 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
37 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
38 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
39 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
40 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
41 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
42 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
43 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
44 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
45 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
46 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
47 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
48 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
49 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
50 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
51 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
52 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
53 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
54 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
55 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
56 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
57 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
58 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
59 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
60 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
61 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
62 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
63 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
64 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
65 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
66 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
67 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
68 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
69 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
70 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
71 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
72 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
73 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
74 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
75 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
76 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
77 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
78 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
79 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
80 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
81 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
82 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
83 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
84 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
85 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
86 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
87 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
88 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
89 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
90 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
91 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
92 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
93 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
94 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
95 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
96 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
97 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
98 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
99 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
100 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
101 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
102 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
103 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
104 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
105 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
106 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
108 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
109 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
110 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
111 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
113 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
114 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
116 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
117 to mdll-fil.ad[bs] and mdll-util.ad[bs]
119 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
120 from mdllfile.ad[bs] and mdlltool.ad[bs]
122 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
124 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
125 lieu of explicit sizeof/sizeof.
127 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
129 * misc.c (copy_lang_decl): Remove.
131 2002-02-27 Zack Weinberg <zack@codesourcery.com>
133 * misc.c: Delete traditional-mode-related code copied from the
134 C front end but not used, or used only to permit the compiler
137 2002-02-07 Richard Henderson <rth@redhat.com>
139 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
140 * adaint.h (__gnat_to_gm_time): Update prototype.
142 2002-01-30 Richard Henderson <rth@redhat.com>
144 * trans.c (tree_transform) [N_Loop_Statement]: Use
145 expand_exit_loop_top_cond.
147 2001-12-23 Richard Henderson <rth@redhat.com>
149 * utils.c (end_subprog_body): Push GC context around
150 rest_of_compilation for nested functions.
152 2001-12-23 Richard Henderson <rth@redhat.com>
154 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
156 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
158 * gnat-style.texi (Declarations and Types): Remove ancient style
159 rule which was mandated by code generation issues.
161 * gnat-style.texi (header): Add @dircategory, @direntry.
162 (title page): Remove date.
163 (general) Add @./@: where approriate, and two spaces after the
164 full stop at the end of a sentence. Use @samp markup when
165 referring concrete lexical entities (keywords, attribute names
166 etc.), and @syntax for ARM grammar elements. Use @r for English
167 text in comments. Use @emph for emphasis. Change "if-statements"
168 etc. to "if statements" (without @samp). Break long lines. Make
169 casing of section names consistent.
170 (Identifiers): Use @samp markup for variable names.
171 (Comments): Use @samp markup for comment characters. Line-end
172 comments may follow any Ada code, not just statements. Fix
173 misspelling of "Integer" as "integer".
174 (Loop statements): Do not use variable name "I", use "J".
175 (Subprogram Declarations): Document alignment.
176 (Subprogram Bodies, Block statements): Document empty line before
179 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
181 * make.adb (Add_Switch): Make Generic_Position a procedure. The
182 function approach did not work well because of a side effect (the
183 function call could reallocate the table which was being indexed
184 using its result). Fixes ada/4851.
186 2001-12-19 Robert Dewar <dewar@gnat.com>
188 * bindgen.adb: Minor reformatting
190 * cstand.adb: Minor reformatting
192 * fmap.adb: Minor reformatting
193 Change name from Add for Add_To_File_Map (Add is much too generic)
194 Change Path_Name_Of to Mapped_Path_Name
195 Change File_Name_Of to Mapped_File_Name
196 Fix copyright dates in header
199 Change name from Add for Add_To_File_Map (Add is much too generic)
200 Change Path_Name_Of to Mapped_Path_Name
201 Change File_Name_Of to Mapped_File_Name
202 Fix copyright dates in header
204 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
205 Add use clause for Fmap.
207 * make.adb: Minor reformatting
209 * osint.adb: Minor reformatting. Change of names in Fmap.
210 Add use clause for Fmap.
212 * prj-env.adb: Minor reformatting
214 * prj-env.ads: Minor reformatting
216 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
217 error found (there were odd exceptions to this general rule in
218 -gnatec/-gnatem processing)
220 2001-12-19 Olivier Hainque <hainque@gnat.com>
222 * raise.c (__gnat_eh_personality): Exception handling personality
223 routine for Ada. Still in rough state, inspired from the C++ version
224 and still containing a bunch of debugging artifacts.
225 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
226 inspired from the C++ library.
228 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
229 exception handling integration.
231 2001-12-19 Arnaud Charlet <charlet@gnat.com>
233 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
234 (HIE_SOURCES): Add s-secsta.ad{s,b}.
235 (HIE_OBJS): Add s-fat*.o
236 (RAVEN_SOURCES): Remove files that are no longer required. Add
237 interrupt handling files.
238 (RAVEN_MOD): Removed, no longer needed.
240 2001-12-19 Robert Dewar <dewar@gnat.com>
242 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
243 Add 2001 to copyright date
245 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
246 need to force universal inlining for these cases.
248 2001-12-19 Arnaud Charlet <charlet@gnat.com>
250 * s-taprob.adb: Minor clean ups so that this unit can be used in
253 * exp_ch7.adb: Allow use of secondary stack in HI mode.
254 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
256 2001-12-19 Vincent Celier <celier@gnat.com>
258 * prj-tree.ads (Project_Node_Record): Add comments for components
259 Pkg_Id and Case_Insensitive.
261 2001-12-19 Pascal Obry <obry@gnat.com>
263 * g-socket.adb: Minor reformatting. Found while reading code.
265 2001-12-19 Robert Dewar <dewar@gnat.com>
267 * prj-tree.ads: Minor reformatting
269 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
271 * config-lang.in (diff_excludes): Remove.
273 2001-12-17 Ed Schonberg <schonber@gnat.com>
275 * sem_res.adb (Resolve_Selected_Component): do not generate a
276 discriminant check if the selected component is a component of
277 the argument of an initialization procedure.
279 * trans.c (tree_transform, case of arithmetic operators): If result
280 type is private, the gnu_type is the base type of the full view,
281 given that the full view itself may be a subtype.
283 2001-12-17 Robert Dewar <dewar@gnat.com>
285 * sem_res.adb: Minor reformatting
287 * trans.c (tree_transform, case N_Real_Literal): Add missing third
288 parameter in call to Machine (unknown horrible effects from this
291 * urealp.h: Add definition of Round_Even for call to Machine
292 Add third parameter for Machine
294 2001-12-17 Ed Schonberg <schonber@gnat.com>
296 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
297 predefined units in No_Run_Time mode.
299 2001-12-17 Richard Kenner <kenner@gnat.com>
301 * misc.c (insn-codes.h): Now include.
303 2001-12-17 Olivier Hainque <hainque@gnat.com>
305 * a-except.adb: Preparation work for future integration of the GCC 3
306 exception handling mechanism
307 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
308 to factorize previous code sequences and make them externally callable,
309 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
310 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
311 Use the new notification routines.
313 2001-12-17 Emmanuel Briot <briot@gnat.com>
315 * prj-tree.ads (First_Choice_Of): Document the when others case
317 2001-12-17 Arnaud Charlet <charlet@gnat.com>
319 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
320 HI-E mode, in order to support Ravenscar profile properly.
322 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
323 mode on 32 bits targets.
325 2001-12-17 Vincent Celier <celier@gnat.com>
327 * fmap.adb: Initial version.
329 * fmap.ads: Initial version.
331 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
332 If search is successfully done, add to mapping.
334 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
337 (Gnatmake): Add new local variable Mapping_File_Name.
338 Create mapping file when using project file(s).
339 Delete mapping file before exiting.
341 * opt.ads (Mapping_File_Name): New variable
343 * osint.adb (Find_File): Use path name found in mapping, if any.
345 * prj-env.adb (Create_Mapping_File): New procedure
347 * prj-env.ads (Create_Mapping_File): New procedure.
349 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
352 * usage.adb: Add entry for new switch -gnatem.
354 * Makefile.in: Add dependencies for fmap.o.
356 2001-12-17 Ed Schonberg <schonber@gnat.com>
358 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
359 is a package instantiation rewritten as a package body.
360 (Install_Withed_Unit): Undo previous change, now redundant.
362 2001-12-17 Gary Dismukes <dismukes@gnat.com>
365 (Compute_Length): Move conversion to Unsigned to callers.
366 (Get_Max_Size): Convert Len expression to Unsigned after calls to
367 Compute_Length and Determine_Range.
368 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
369 Compute_Length and Determine_Range.
370 Above changes fix problem with length computation for supernull arrays
371 where Max (Len, 0) wasn't getting applied due to the Unsigned
372 conversion used by Compute_Length.
374 2001-12-17 Arnaud Charlet <charlet@gnat.com>
377 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
378 System.Secondary_Stack.
379 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
381 Remove unused entity RE_Exception_Data.
383 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
385 * rident.ads (No_Secondary_Stack): New restriction.
387 2001-12-17 Joel Brobecker <brobecke@gnat.com>
389 * gnat_rm.texi: Fix minor typos. Found while reading the section
390 regarding "Bit_Order Clauses" that was sent to a customer.
391 Very interesting documentation!
393 2001-12-17 Robert Dewar <dewar@gnat.com>
395 * sem_case.adb (Choice_Image): Avoid creating improper character
396 literal names by using the routine Set_Character_Literal_Name. This
397 fixes bombs in certain error message cases.
399 2001-12-17 Arnaud Charlet <charlet@gnat.com>
401 * a-reatim.adb: Minor reformatting.
403 2001-12-17 Ed Schonberg <schonber@gnat.com>
405 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
406 case where the formal is an extension of another formal in the current
407 unit or in a parent generic unit.
409 2001-12-17 Arnaud Charlet <charlet@gnat.com>
411 * s-tposen.adb: Update comments. Minor reformatting.
414 * s-tarest.adb: Update comments. Minor code reorganization.
416 2001-12-17 Gary Dismukes <dismukes@gnat.com>
418 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
421 2001-12-17 Robert Dewar <dewar@gnat.com>
423 * exp_attr.adb: Minor reformatting
425 2001-12-17 Ed Schonberg <schonber@gnat.com>
427 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
428 derivations nested within a child unit: verify that the parent
429 type is declared in an outer scope.
431 2001-12-17 Robert Dewar <dewar@gnat.com>
433 * sem_ch12.adb: Minor reformatting
435 2001-12-17 Ed Schonberg <schonber@gnat.com>
437 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
438 warning if current unit is a predefined one, from which bodies may
441 2001-12-17 Robert Dewar <dewar@gnat.com>
443 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
444 Fix header format. Add 2001 to copyright date.
446 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
447 which caused CE during compilation if checks were enabled.
449 2001-12-17 Vincent Celier <celier@gnat.com>
452 (Switches_Of): New function
453 (Test_If_Relative_Path): New procedure
454 (Add_Switches): Use new function Switches_Of
455 (Collect_Arguments_And_Compile): Use new function Switches_Of.
456 When using a project file, test if there are any relative
457 search path. Fail if there are any.
458 (Gnatmake): Only add switches for the primary directory when not using
459 a project file. When using a project file, change directory to the
460 object directory of the main project file. When using a project file,
461 test if there are any relative search path. Fail if there are any.
462 When using a project file, fail if specified executable is relative
463 path with directory information, and prepend executable, if not
464 specified as an absolute path, with the exec directory. Make sure
465 that only one -o switch is transmitted to the linker.
467 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
470 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
471 when using a non standard naming scheme.
472 (Check_Ada_Naming_Scheme): Make sure that error messages
473 do not raise exceptions.
474 (Is_Illegal_Append): Return True if there is no dot in the suffix.
475 (Language_Independent_Check): Check the exec directory.
477 * prj.adb (Project_Empty): Add new component Exec_Directory
480 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
481 (Project_Data): Add component Exec_Directory
483 * snames.adb: Updated to match snames.ads revision 1.215
485 * snames.ads: Added Exec_Dir
487 2001-12-17 Robert Dewar <dewar@gnat.com>
489 * make.adb: Minor reformatting
491 * prj-nmsc.adb: Minor reformatting
493 * snames.adb: Updated to match snames.ads
495 * snames.ads: Alphebetize entries for project file
497 2001-12-17 Ed Schonberg <schonber@gnat.com>
499 * trans.c (process_freeze_entity): Do nothing if the entity is a
500 subprogram that was already elaborated.
502 2001-12-17 Richard Kenner <kenner@gnat.com>
504 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
505 and Esize if object is referenced via pointer.
507 2001-12-17 Ed Schonberg <schonber@gnat.com>
509 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
510 is discrete before analyzing choices.
512 2001-12-17 Joel Brobecker <brobecke@gnat.com>
514 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
515 containing the name of the Ada Main Program. This string is mainly
516 intended for the debugger.
517 (Gen_Output_File_C): Do the equivalent change when generating a C file.
519 2001-12-17 Robert Dewar <dewar@gnat.com>
521 * ali.adb: Set new Dummy_Entry field in dependency entry
523 * ali.ads: Add Dummy_Entry field to source dependency table
525 * bcheck.adb (Check_Consistency): Ignore dummy D lines
527 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
529 * lib-writ.ads: Document dummy D lines for missing files.
531 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
533 2001-12-17 Robert Dewar <dewar@gnat.com>
535 * ali.adb: Type reference does not reset current file.
537 * ali.adb: Recognize and scan renaming reference
539 * ali.ads: Add spec for storing renaming references.
541 * lib-xref.ads: Add documentation for handling of renaming references
543 * lib-xref.adb: Implement output of renaming reference.
546 (Determine_Range): Document local variables
547 (Determine_Range): Make sure Hbound is initialized. It looks as though
548 there could be a real problem here with an uninitialized reference
549 to Hbound, but no actual example of failure has been found.
551 2001-12-17 Laurent Pautet <pautet@gnat.com>
554 Fix comment of Shutdown_Socket and Close_Socket. These functions
555 should not fail silently because if they are called twice, this
556 probably means that there is a race condition in the user program.
557 Anyway, this behaviour is consistent with the rest of this unit.
558 When an error occurs, an exception is raised with the error message
559 as exception message.
561 2001-12-17 Robert Dewar <dewar@gnat.com>
563 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
564 that it happens before modification of Sloc values for -gnatD.
566 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
567 so that it happens before modification of Sloc values for -gnatD.
569 * switch.adb: Minor reformatting
571 2001-12-15 Richard Henderson <rth@redhat.com>
573 * sem_ch7.adb: Wrap comment.
575 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
577 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
578 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
579 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
580 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
581 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
582 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
583 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
584 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
585 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
586 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
587 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
588 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
589 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
590 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
591 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
592 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
593 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
594 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
595 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
596 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
597 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
598 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
599 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
600 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
603 2001-12-14 Vincent Celier <celier@gnat.com>
605 * osint.adb(Create_Debug_File): When an object file is specified,
606 put the .dg file in the same directory as the object file.
608 2001-12-14 Robert Dewar <dewar@gnat.com>
610 * osint.adb: Minor reformatting
612 * lib-xref.adb (Output_Instantiation): New procedure to generate
613 instantiation references.
615 * lib-xref.ads: Add documentation of handling of generic references.
617 * ali.adb (Read_Instantiation_Ref): New procedure to read
618 instantiation references
620 * ali.ads: Add spec for storing instantiation references
622 * bindusg.adb: Minor reformatting
624 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
626 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
628 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
630 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
634 Add 2001 to copyright date
635 Add entry for Latin-5 (Cyrillic ISO-8859-5)
637 2001-12-14 Matt Gingell <gingell@gnat.com>
639 * adaint.c: mktemp is a macro on Lynx and can not be used as an
642 2001-12-14 Richard Kenner <kenner@gnat.com>
644 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
645 if operand is CONSTRUCTOR.
647 2001-12-14 Ed Schonberg <schonber@gnat.com>
649 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
650 before emiting check on right-hand side, so that exception information
653 2001-12-14 Richard Kenner <kenner@gnat.com>
655 * utils.c (create_var_decl): Throw away initializing expression
656 if just annotating types and non-constant.
658 2001-12-14 Vincent Celier <celier@gnat.com>
660 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
663 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
665 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
667 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
669 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
671 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
673 * ChangeLog: Remove piece of diff output.
675 2001-12-14 Geert Bosch <bosch@gnat.com>
677 * config-lang.in: Update copyright notice
679 * layout.adb: Remove commented out code.
681 * mdllfile.ads: Update copyright notice. Fix header format.
683 * sem_case.ads: Likewise.
685 * sem_ch3.adb: Minor reformatting.
687 2001-12-12 Geert Bosch <bosch@gnat.com>
689 * freeze.ads: Update copyright date.
691 * g-comlin.ads: Minor reformatting.
693 * gnat-style.texi: Fix typo.
695 2001-12-12 Geert Bosch <bosch@gnat.com>
697 * einfo.h: Regenerate.
699 2001-12-12 Ed Schonberg <schonber@gnat.com>
701 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
702 on known node types, rather than untyped fields. Further cleanups.
704 2001-12-12 Robert Dewar <dewar@gnat.com>
707 (Save_Entity_Descendant): Minor comment update.
708 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
709 of an N_Attribute_Reference node. As per note below, this does not
710 eliminate need for Associated_Node in attribute ref nodes.
711 (Associated_Node): Documentation explicitly mentions attribute
712 reference nodes, since this field is used in such nodes.
714 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
716 2001-12-12 Robert Dewar <dewar@gnat.com>
718 * s-stalib.adb: Add more comments on with statements being needed
720 * par-ch12.adb: Minor reformatting
722 * prj-dect.ads: Fix copyright header
724 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
725 inputs fit in 32 bits, but the result still overflows.
727 * s-fatgen.ads: Minor comment improvement
729 2001-12-12 Ed Schonberg <schonber@gnat.com>
731 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
732 formal derived type, look for an inherited component from the full
733 view of the parent, if any.
735 2001-12-12 Robert Dewar <dewar@gnat.com>
737 * checks.ads (Apply_Alignment_Check): New procedure.
739 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
740 ensure that the alignment of objects with address clauses is
741 appropriate, and raise PE if not.
743 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
744 Exp_Pakd.Known_Aligned_Enough
746 * mdllfile.ads: Minor reformatting
748 * mlib-fil.ads: Minor reformatting
750 2001-12-12 Ed Schonberg <schonber@gnat.com>
752 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
753 fix to any component reference if enclosing record has non-standard
756 2001-12-12 Vincent Celier <celier@gnat.com>
758 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
761 2001-12-12 Ed Schonberg <schonber@gnat.com>
763 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
766 2001-12-12 Robert Dewar <dewar@gnat.com>
768 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
770 2001-12-12 Emmanuel Briot <briot@gnat.com>
772 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
773 and it adds dependencies to system.io.
775 2001-12-12 Pascal Obry <obry@gnat.com>
777 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
780 2001-12-11 Ed Schonberg <schonber@gnat.com>
782 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
783 that is the parent of other generics, the instance body replaces the
784 instance node. Retrieve the instance of the spec, which is the one
785 that is visible in clients and within the body.
787 2001-12-11 Vincent Celier <celier@gnat.com>
789 * gnatmain.adb: Initial version.
791 * gnatmain.ads: Initial version.
793 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
795 * snames.adb: Updated to match snames.ads.
797 * snames.ads: Added Gnatstub.
799 2001-12-11 Vincent Celier <celier@gnat.com>
801 * prj-attr.adb (Initialization_Data): Change name from
804 2001-12-11 Emmanuel Briot <briot@gnat.com>
806 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
807 + and * applied to backslashed expressions like \r.
809 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
811 * g-os_lib.ads: String_List type added, Argument_List type is now
812 subtype of String_List.
814 2001-12-11 Robert Dewar <dewar@gnat.com>
816 * g-os_lib.ads: Change copyright to FSF
817 Add comments for String_List type
819 2001-12-11 Vincent Celier <celier@gnat.com>
821 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
822 string to the buffer).
824 2001-12-11 Ed Schonberg <schonber@gnat.com>
826 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
829 * sem_attr.adb: Simplify previous fix for Address.
830 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
831 to avoid anomalies where the bound of the type appears to raise
834 2001-12-11 Robert Dewar <dewar@gnat.com>
836 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
839 2001-12-11 Ed Schonberg <schonber@gnat.com>
841 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
842 renamed unit before checking for recursive instantiations.
844 2001-12-11 Emmanuel Briot <briot@gnat.com>
846 * prj.ads: Add comments for some of the fields.
848 2001-12-11 Robert Dewar <dewar@gnat.com>
850 * lib-xref.adb (Output_Refs): Don't output type references outside
851 the main unit if they are not otherwise referenced.
853 2001-12-11 Ed Schonberg <schonber@gnat.com>
855 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
856 code and diagnose additional illegal uses
858 * sem_util.adb (Is_Object_Reference): An indexed component is an
859 object only if the prefix is.
861 2001-12-11 Vincent Celier <celier@gnat.com>
863 * g-diopit.adb: Initial version.
865 * g-diopit.ads: Initial version.
868 (Expand_Path): Avoid use of Unbounded_String
869 (Find, Wildcard_Iterator): Moved to child package Iteration
871 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
873 2001-12-11 Robert Dewar <dewar@gnat.com>
875 * sem_attr.adb: Minor reformatting
877 2001-12-11 Ed Schonberg <schonber@gnat.com>
879 * sem_ch3.adb: Clarify some ???.
881 2001-12-11 Robert Dewar <dewar@gnat.com>
883 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
884 Exp_Pakd.Known_Aligned_Enough
886 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
887 version is moved to Exp_Ch13.
889 2001-12-11 Robert Dewar <dewar@gnat.com>
891 * einfo.ads: Minor reformatting
893 * exp_ch5.adb: Add comment for previous.change
895 * ali.adb: New interface for extended typeref stuff.
897 * ali.ads: New interface for typeref stuff.
899 * checks.adb (Apply_Alignment_Check): New procedure.
901 * debug.adb: Add -gnatdM for modified ALI output
903 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
905 * lib-xref.adb: Extend generation of <..> notation to cover
906 subtype/object types. Note that this is a complete rewrite,
907 getting rid of the very nasty quadratic algorithm previously
908 used for derived type output.
910 * lib-xref.ads: Extend description of <..> notation to cover
911 subtype/object types. Uses {..} for these other cases.
912 Also use (..) for pointer types.
914 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
916 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
917 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
919 2001-12-11 Vincent Celier <celier@gnat.com>
922 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
923 Changed /BIND_ONLY to /ACTIONS=BIND
924 Changed /LINK_ONLY to /ACTIONS=LINK
926 2001-12-11 Ed Schonberg <schonber@gnat.com>
928 * sem_ch8.adb (Find_Selected_Component): improved search for a
929 candidate package in case of error.
931 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
932 chain back on scope stack before reinstalling use clauses.
934 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
935 is enabled, do not kill the code for the condition, to preserve
938 2001-12-11 Robert Dewar <dewar@gnat.com>
940 * checks.adb (Insert_Valid_Check): Apply validity check to expression
941 of conversion, not to result of conversion.
943 2001-12-11 Ed Schonberg <schonber@gnat.com>
945 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
946 before freezing parent. If the declarations are mutually recursive,
947 an access to the current record type may be frozen before the
948 derivation is complete.
950 2001-12-05 Vincent Celier <celier@gnat.com>
952 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
953 -c /COMPILE_ONLY, -l /LINK_ONLY
956 (Bind_Only): New Flag
957 (Link_Only): New flag
959 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
962 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
965 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
966 (Gnatmake): Set the step flags. Only perform a step if the
967 corresponding step flag is True.
968 (Scan_Make_Arg): Reset the bind and link step flags when -u
969 or -gnatc has been specified.
971 2001-12-05 Ed Schonberg <schonber@gnat.com>
973 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
974 get bounds from right operand.
976 * sem_eval.adb: Minor reformatting
978 * exp_util.adb (Make_Literal_Range): use bound of literal rather
979 than Index'First, its lower bound may be different from 1.
981 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
984 2001-12-05 Vincent Celier <celier@gnat.com>
986 * prj-nmsc.adb Minor reformatting
988 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
989 set and libraries are not supported.
991 2001-12-05 Ed Schonberg <schonber@gnat.com>
993 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
994 private view explicitly, so the back-end can treat as a global
997 2001-12-05 Ed Schonberg <schonber@gnat.com>
999 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
1000 unit, always replace instance node with new body, for ASIS use.
1002 2001-12-05 Vincent Celier <celier@gnat.com>
1004 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
1005 libraries are not supported and both attributes Library_Name and
1006 Library_Dir are specified.
1008 * prj-proc.adb (Expression): Set location of Result to location of
1011 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
1012 (prj-nmsc is now importing MLib.Tgt)
1014 * prj-proc.adb: Put the change indicated above that was forgotten.
1016 2001-12-05 Robert Dewar <dewar@gnat.com>
1018 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
1020 2001-12-05 Ed Schonberg <schonber@gnat.com>
1022 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
1023 constraint, introduce explicit subtype declaration and derive from it.
1025 * sem_ch3.adb: Minor reformatting
1027 2001-12-05 Robert Dewar <dewar@gnat.com>
1029 * checks.adb (Determine_Range): Increase cache size for checks.
1032 * exp_ch6.adb: Minor reformatting
1033 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
1034 a parameter whose root type is System.Address, since treating such
1035 subprograms as pure in the code generator is almost surely a mistake
1036 that will lead to unexpected results.
1038 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
1039 change handling of conversions.
1041 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
1043 2001-12-05 Ed Schonberg <schonber@gnat.com>
1045 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
1046 aggregate with static wrong size, attach generated Raise node to
1049 2001-12-05 Robert Dewar <dewar@gnat.com>
1051 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
1052 Fixes compilation abandoned bomb in B24009B.
1054 2001-12-05 Ed Schonberg <schonber@gnat.com>
1057 Document use of Associated_Node on Selected_Components.
1058 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
1059 to clarify use of untyped descendant fields.
1061 2001-12-05 Robert Dewar <dewar@gnat.com>
1063 * prj-dect.ads: Add ??? comment
1064 Add 2001 to copyright notice (was not done in after all)
1066 * prj-part.adb: Minor reformatting. Reword one awkward error message.
1068 * prj.ads: Minor reformatting throughout, and add some ??? comments
1070 * snames.ads: Minor reformatting
1072 2001-12-05 Geert Bosch <bosch@gnat.com>
1074 * snames.adb: Autoupdate
1076 2001-12-05 Vincent Celier <celier@gnat.com>
1078 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
1080 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
1082 * prj-env.adb: Minor comment changes (modifying -> extends).
1084 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
1086 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
1089 * prj.adb (Initialize): Change Modifying to Extends.
1091 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
1093 * prj.ads: Minor comment change (Modifying -> extending).
1095 * snames.ads: Change modifying to extends.
1097 2001-12-05 Robert Dewar <dewar@gnat.com>
1099 * sem_warn.adb: Remove stuff for conditionals, we are not going to
1102 * sem_warn.ads: Remove stuff for conditionals, we are not going to
1103 do this after all. Add 2001 to copyright notice
1105 2001-12-04 Geert Bosch <bosch@gnat.com>
1107 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
1109 2001-12-04 Robert Dewar <dewar@gnat.com>
1111 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
1112 location if we already have errors. Stops some cases of cascaded
1115 * errout.adb: Improve comment.
1117 2001-12-04 Robert Dewar <dewar@gnat.com>
1120 (Analyze_Formal_Type_Definition): Defend against Error.
1121 (Analyze_Formal_Subprogram): Defend against Error.
1123 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
1124 remove following semicolon if present. Removes cascaded error.
1126 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
1129 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
1130 exceptions equals 0.
1131 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
1132 Fixes PIWG E tests (which have to be run with -gnatL).
1134 2001-12-04 Robert Dewar <dewar@gnat.com>
1136 * einfo.ads: Minor reformatting
1138 2001-12-04 Ed Schonberg <schonber@gnat.com>
1140 * einfo.ads: Block_Node points to the identifier of the block, not to
1141 the block node itself, to preserve the link when the block is
1142 rewritten, e.g. within an if-statement with a static condition.
1144 * inline.adb (Cleanup_Scopes): recover block statement from block
1145 entity using new meaning of Block_Node.
1147 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
1148 identifier of block node, rather than to node itself.
1150 2001-12-04 Gary Dismukes <dismukes@gnat.com>
1153 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
1154 (Discrimify): Go back to setting the Etypes of the selected component
1155 because the Vname component does not exist at this point and will
1156 fail name resolution. Also set Analyzed.
1157 Remove with and use of Sem_Res.
1159 2001-12-04 Arnaud Charlet <charlet@gnat.com>
1161 * Makefile.in: (HIE_SOURCES): add s-fat*.
1163 2001-12-04 Robert Dewar <dewar@gnat.com>
1166 (Compile_Time_Known_Attribute): New procedure.
1167 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
1170 2001-12-04 Ed Schonberg <schonber@gnat.com>
1172 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
1173 processing discriminants to diagnose illegal default values.
1175 2001-12-04 Ed Schonberg <schonber@gnat.com>
1177 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
1178 access discriminant within a type extension that constrains its
1179 parent discriminants.
1181 2001-12-04 Ed Schonberg <schonber@gnat.com>
1183 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
1184 is malformed, use instance of Any_Id to allow analysis to proceed.
1186 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
1187 type definition is illegal.
1188 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
1191 2001-12-04 Ed Schonberg <schonber@gnat.com>
1193 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
1196 2001-12-04 Robert Dewar <dewar@gnat.com>
1198 * errout.adb: Minor reformatting
1200 2001-12-04 Robert Dewar <dewar@gnat.com>
1202 * exp_util.adb: Minor reformatting from last change
1204 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
1205 which is a rewriting of an expression, traverse the original
1206 expression to remove warnings that may have been posted on it.
1208 2001-12-04 Ed Schonberg <schonber@gnat.com>
1210 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
1211 record that has other packed components.
1213 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
1215 * adaint.c: Minor cleanups.
1217 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
1219 * adaint.c: Do not use utime.h on vxworks.
1221 2001-12-04 Arnaud Charlet <charlet@gnat.com>
1223 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
1224 more confusion than it solves.
1226 2001-12-04 Geert bosch <bosch@gnat.com>
1228 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
1230 2001-12-04 Geert Bosch <bosch@gnat.com>
1232 * Makefile.in (update-sources): New target.
1233 For use by gcc_release script.
1235 2001-12-04 Ed Schonberg <schonber@gnat.com>
1237 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
1238 a configuration pragma, it is now legal wherever a pragma can appear.
1240 2001-12-04 Zack Weinberg <zack@codesourcery.com>
1242 * Makefile.in: Don't set ALL. Delete @cross_defines@,
1243 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
1244 is now @CROSS@ -DIN_GCC; update comment.
1246 2001-12-04 Robert Dewar <dewar@gnat.com>
1248 * einfo.adb (Has_Pragma_Pure_Function): New flag.
1249 Fix problem that stopped ceinfo from working
1251 * einfo.ads (Has_Pragma_Pure_Function): New flag.
1253 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
1255 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
1258 (File_Time_Stamp): New procedure.
1259 (Preserve_Mode): New boolean.
1260 (Write_Unit): Pass time stamp.
1261 Implement -p switch (preserve time stamps).
1263 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
1265 * gnatchop.adb: Do usage info for -p switch
1267 * adaint.h (__gnat_set_file_time_name): New function
1269 * adaint.c (__gnat_set_file_time_name): Implement
1271 * adaint.h: Fix typo
1273 2001-12-03 Robert Dewar <dewar@gnat.com>
1275 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
1276 have Associated_Node.
1278 2001-12-03 Robert Dewar <dewar@gnat.com>
1280 * prj-proc.adb: Minor reformatting
1282 * make.adb: Minor reformatting
1284 2001-12-03 Geert Bosch <bosch@gnat.com>
1286 * make.adb: Minor reformatting.
1288 2001-12-03 Robert Dewar <dewar@gnat.com>
1290 * sem_ch12.adb: Minor reformatting
1292 2001-12-03 Ed Schonberg <schonber@gnat.com>
1294 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
1295 push Standard on the stack before analyzing the instance body,
1296 in order to have a clean visibility environment.
1298 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
1300 2001-12-03 Ed Schonberg <schonber@gnat.com>
1302 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
1303 instantiation of a body that contains an inlined body.
1305 2001-12-03 Ed Schonberg <schonber@gnat.com>
1308 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
1309 to prevent freezing within formal packages.
1310 (Freeze_Subprogram_Body): If body comes from another instance that
1311 appeared before its own body, place freeze node at end of current
1312 declarative part, to prevent a back-end crash.
1313 (Inline_Instance_Body): Handle properly a package instance within
1314 a subprogram instance that is a child unit.
1316 2001-12-01 Graham Stott <grahams@redhat.com>
1318 * Makefile.in (misc.o): Add missing $(srcdir) prefix
1319 and add optabs.h dependency.
1321 * misc.c: Include optabs.h
1322 (gnat_tree_code_type): Make static and const.
1323 (gnat_tree_code_length): Likewise.
1324 (gnat_tree_code_name): Likewise.
1325 (update_setjmp_buf): Obtain operands mode from insn_data.
1327 2001-11-29 Richard Henderson <rth@redhat.com>
1329 * init.c: Remove obsolete dwarf2 frame.h section.
1331 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
1333 * Make-lang.in (ada.generated-manpages): New dummy target.
1335 2001-11-29 Ed Schonberg <schonber@gnat.com>
1337 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
1338 into Command, an array conversion is illegal here. Uncovered by
1341 2001/11/28 Geert Bosch <bosch@gnat.com>
1343 * init.c: Minor whitespace changes.
1345 2001-11-28 Doug Rupp <rupp@gnat.com>
1347 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
1350 2001-11-28 Zack Weinberg <zack@codesourcery.com>
1352 * misc.c (gnat_expand_constant): Move declaration above
1353 definition of lang_hooks.
1354 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
1355 (gnat_init): lang_expand_constant no longer exists.
1357 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
1358 always have vprintf.
1359 (gnat_init): Always call set_internal_error_function.
1361 2001-11-27 Andreas Jaeger <aj@suse.de>
1363 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
1365 2001-11-27 Laurent Guerby <guerby@acm.org>
1367 * Makefile.in: Regenerate Ada dependencies.
1369 2001-11-26 Richard Henderson <rth@redhat.com>
1371 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
1372 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
1373 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
1375 2001-11-25 Laurent Guerby <guerby@acm.org>
1377 * sysdep.c (rts_get_*): Fix style.
1379 2001-11-19 Laurent Guerby <guerby@acm.org>
1381 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
1382 since it is of no apparent use and cause warnings.
1384 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
1386 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
1388 (gnat_init): Don't return NULL.
1389 (finish_parse): Remove.
1391 2001-11-17 Laurent Guerby <guerby@acm.org>
1393 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
1394 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
1395 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
1396 * lang-spec.h: Add missing struct field to silence warnings.
1397 * sysdep.c (rts_get_*): Provide K&R prototype.
1398 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
1399 * traceback.c (Unlock_Task, Lock_Task): Likewise.
1400 * tracebak.c (__gnat_backtrace): Remove unused variable.
1401 * utils.c (end_subprog_body): Move to K&R style.
1403 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1405 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
1407 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
1409 * misc.c (gnat_init): Change prototype. Include the
1410 functionality of the old init_parse and init_decl_processing.
1411 (gnat_init_decl_processing): New prototype.
1412 (init_parse): Remove.
1413 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
1415 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1417 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
1418 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
1419 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
1420 set_yydebug): Remove.
1422 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1424 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
1425 (struct lang_hooks): Constify.
1426 (language_string, lang_identify): Remove.
1427 * utils.c (init_decl_processing): Update.
1429 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1431 * misc.c: Include langhooks-def.h.
1432 * Makefile.in: Update.
1434 2001-10-30 Robert Dewar <dewar@gnat.com>
1437 (Check_Identifier): Rewrite circuit to be compatible with use of letters
1438 in the upper half of ASCII.
1439 (Check_Identifier): Minor reformatting
1441 2001-10-30 Geert Bosch <bosch@gnat.com>
1443 * (Associated_Node, Set_Associated_Node): Do not check for
1446 2001-10-30 Robert Dewar <dewar@gnat.com>
1448 * a-reatim.ads: Minor reformatting
1450 2001-10-30 Robert Dewar <dewar@gnat.com>
1452 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
1453 undocumented declarations.
1455 2001-10-30 Pascal Obry <obry@gnat.com>
1457 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
1458 to the binder and linker.
1461 * mdll.ads: Fix layout. Update copyright notice.
1463 * mdll.adb: Fix layout. Update copyright notice.
1465 2001-10-30 Robert Dewar <dewar@gnat.com>
1467 * usage.adb: Minor fix to output for -gnaty.
1469 2001-10-30 Ed Schonberg <schonber@gnat.com>
1471 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
1472 to accommodate all its possible values.
1474 * a-reatim.adb (Split): Special-case handling of Time_Span_First
1475 and of small absolute values of T.
1477 2001-10-30 Richard Kenner <kenner@gnat.com>
1479 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
1480 set_mem_attributes since not needed and wrong if RESULT if a REG;
1481 fixes ACATS failures.
1483 2001-10-30 Geert Bosch <bosch@gnat.com>
1485 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
1486 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
1488 2001-10-30 Robert Dewar <dewar@gnat.com>
1490 * bindusg.adb: Undocument -f switch.
1492 * gnatcmd.adb: Remove /FULL_ELABORATION.
1494 * opt.ads (Force_RM_Elaboration_Order): Document that this is
1497 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
1499 * gnatbind.adb: Minor update of warning msg.
1501 2001-10-30 Vincent Celier <celier@gnat.com>
1503 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
1504 for project file switches (-P (/PROJECT_FILE=),
1505 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
1508 2001-10-30 Geert Bosch <bosch@gnat.com>
1510 * decl.c: Minor whitespace fixes.
1512 2001-10-30 Richard Kenner <kenner@gnat.com>
1514 * utils2.c (build_allocator): Test for SIZE overflow in array case too
1516 2001-10-30 Geert Bosch <bosch@gnat.com>
1518 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
1519 Found due to GCC 3.0 warning of using uninitialized value.
1522 (Get_Max_Size): Use variant record for tracking value/expression.
1523 Makes logic clearer and prevents warnings for uninitialized variables.
1524 (Layout_Array_Type): Use variant record for tracking value/expression.
1525 Makes logic clearer and prevents warnings for uninitialized variables.
1527 2001-10-30 Robert Dewar <dewar@gnat.com>
1529 * lib.adb: Minor reformatting
1531 * s-taprop.ads: Minor reformatting
1533 2001-10-29 Laurent Guerby <guerby@acm.org>
1536 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
1538 (_gnat_error_handler): Make MSG const.
1540 2001-10-29 Richard Kenner <kenner@gnat.com>
1542 * sysdep.c: Fix localtime_r problem on LynxOS.
1543 Also remove #elif to avoid warnings.
1545 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
1548 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
1550 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
1552 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
1553 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
1554 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
1555 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
1556 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
1557 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
1558 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
1559 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
1560 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
1561 types.ads, urealp.adb: Fix spelling errors.
1563 2001-10-27 Laurent Guerby <guerby@acm.org>
1565 * trans.c (gigi): Fix non determinism leading to bootstrap
1566 comparison failures for debugging information.
1568 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
1570 * gnat_rm.texi: Use @./@: where appropriate.
1572 2001-10-26 Robert Dewar <dewar@gnat.com>
1574 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
1576 2001-10-26 Richard Kenner <kenner@gnat.com>
1578 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
1580 2001-10-26 Richard Kenner <kenner@gnat.com>
1582 * decl.c (validate_size): Modify message for bad size to avoid
1583 implication that compiler is modifying the size.
1585 2001-10-26 Robert Dewar <dewar@gnat.com>
1587 * prj-util.adb: Minor reformatting. Fix bad header format.
1589 2001-10-26 Robert Dewar <dewar@gnat.com>
1591 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
1593 * sinfo.ads: Clarify use of Associated_Node (documentation only).
1595 * sem_ch12.adb: Change Node4 to Associated_Node. Change
1596 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
1597 much more narrowly in places where needed. These are cleanups.
1599 2001-10-26 Joel Brobecker <brobecke@gnat.com>
1601 * 5zosinte.ads (null_pthread): new constant.
1604 (Initialize_TCB): Initialize thread ID to null, to be able to verify
1605 later that this field has been set.
1606 (Finalize_TCB): ditto.
1607 (Suspend_Task): Verify that the thread ID is not null before using it.
1608 (Resume_Task): ditto.
1611 (Resume_All_Tasks): Lock the tasks list before using it.
1612 (Suspend_All_Tasks): ditto.
1614 2001-10-26 Richard Kenner <kenner@gnat.com>
1616 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
1617 Make constant variant of designated type for Is_Access_Constant.
1618 Call update_pointer_to with main variant.
1620 * trans.c (process_freeze_entity, process_type):
1621 Call update_pointer_to on main variant.
1623 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
1624 If main variant, update all other variants.
1626 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
1629 2001-10-26 Robert Dewar <dewar@gnat.com>
1631 * prj-util.adb: Minor reformatting
1633 2001-10-26 Robert Dewar <dewar@gnat.com>
1635 * prj-util.adb: Minor reformatting
1637 2001-10-26 Robert Dewar <dewar@gnat.com>
1639 * prj-attr.adb: Minor reformatting throughout
1641 2001-10-26 Robert Dewar <dewar@gnat.com>
1643 * prj-attr.ads: Minor reformatting
1644 Add ??? comment (this whole spec has almost no comments)
1646 2001-10-26 Vincent Celier <celier@gnat.com>
1648 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
1649 ("//") that precede the drive letter on Interix.
1651 2001-10-26 Geert Bosch <bosch@gnat.com>
1653 * gnat_rm.texi: Add GNAT Reference Manual.
1655 2001-10-25 Robert Dewar <dewar@gnat.com>
1657 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
1658 is Error. Similar change for other renaming cases.
1660 2001-10-25 Robert Dewar <dewar@gnat.com>
1662 * s-atacco.ads: Add pragma Inline_Always for functions.
1663 Fix header format. Add copyright 2001
1665 2001-10-25 Ed Schonberg <schonber@gnat.com>
1667 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
1668 return Error rather than Empty so that analysis can proceed.
1670 2001-10-25 Ed Schonberg <schonber@gnat.com>
1672 * sem_util.adb (Enter_Name): better handling of cascaded error
1673 messages when a unit appears in its own context.
1675 2001-10-25 Ed Schonberg <schonber@gnat.com>
1677 * sem_util.adb (Defining_Entity): in case of error, attach created
1678 entity to specification, so that semantic analysis can proceed.
1680 2001-10-25 Robert Dewar <dewar@gnat.com>
1683 (Defining_Entity): Deal with Error.
1684 (Process_End_Label): Deal with bad end label for.
1686 2001-10-25 Ed Schonberg <schonber@gnat.com>
1688 * sem_elab.adb (Check_A_Call): refine message when call is in an
1689 instance but callee is not declared in the generic unit.
1691 2001-10-25 Ed Schonberg <schonber@gnat.com>
1693 * sem_elab.adb (Check_A_Call): check for renaming before finding the
1694 enclosing unit, which may already be different from the calling unit.
1696 2001-10-25 Geert Bosch <bosch@gnat.com>
1698 * 4gintnam.ads: fix header format.
1700 2001-10-25 Ed Schonberg <schonber@gnat.com>
1702 * sem_res.adb (Resolve_Call): if the call is actually an indexing
1703 operation on the result of a parameterless call, perform elaboration
1704 check after the node has been properly rewritten.
1706 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
1707 inlined within the generic tree, the defining identifier is not a
1710 2001-10-25 Ed Schonberg <schonber@gnat.com>
1712 * sem_res.adb (Resolve): special-case resolution of Null in an
1713 instance or an inlined body to avoid view conflicts.
1715 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
1716 compatibility by retrieving the access type of the generic copy.
1718 2001-10-25 Robert Dewar <dewar@gnat.com>
1721 (Analyze_Number_Declaration): Handle error expression.
1722 (Signed_Integer_Type_Declaration): Handle error bound.
1723 (Analyze_Subtype_Indication): Handle error range.
1725 * sem_util.adb (Get_Index_Bounds): Check for Error.
1727 2001-10-25 Robert Dewar <dewar@gnat.com>
1729 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
1730 in no run time mode.
1732 2001-10-25 Pascal Obry <obry@gnat.com>
1734 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
1735 mode case for ALLOC case.
1737 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
1738 all platforms. Improvement of last change.
1740 2001-10-25 Robert Dewar <dewar@gnat.com>
1742 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
1744 2001-10-25 Geert Bosch <bosch@gnat.com>
1746 * osint.adb (Is_Relative): Remove duplicate.
1748 2001-10-25 Pascal Obry <obry@gnat.com>
1750 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
1751 pathnames in UNIX and DOS style with drive letter.
1752 (Is_Relative): new routine.
1754 * osint.adb: Minor reformatting
1756 * osint.adb (Is_Relative): implementation using
1757 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
1759 2001-10-25 Pascal Obry <obry@gnat.com>
1761 * g-dirope.adb (Basename): correctly compute offset between the
1762 original Path and the translated one.
1764 * g-dirope.adb: (Base_Name): add some comments.
1766 2001-10-25 Robert Dewar <dewar@gnat.com>
1768 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
1769 in HIE mode, avoids compilation abandoned message
1771 * exp_imgv.adb: Correct typo in previous change
1773 * exp_imgv.adb: Correct typo in previous change (not my day!)
1775 2001-10-25 Robert Dewar <dewar@gnat.com>
1777 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
1779 2001-10-25 Pascal Obry <obry@gnat.com>
1781 * g-awk.ads: Move all pragma inlines next to the routine
1782 declarations. This is more uniform with other GNAT spec.
1784 2001-10-22 Geert Bosch <bosch@gnat.com>
1786 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
1788 2001-10-19 Geert Bosch <bosch@gnat.com>
1790 * Makefile.in (tools, gnattools): Remove gnatmem.
1792 2001-10-17 Richard Henderson <rth@redhat.com>
1794 * Makefile.in (misc.o): Depend on langhooks.h.
1795 * misc.c: Include it.
1796 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
1797 (LANG_HOOKS_DECODE_OPTION): New.
1798 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
1800 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
1802 * trans.c (tree_transform): Adjust to recent change in
1803 expand_asm_operands to implement named asm operands.
1805 2001-10-11 Ed Schonberg <schonber@gnat.com>
1807 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
1808 renaming of discriminant for mutable record type.
1810 2001-10-11 Robert Dewar <dewar@gnat.com>
1812 * validsw.adb: Properly save -gnatVn status.
1814 2001-10-11 Robert Dewar <dewar@gnat.com>
1816 * usage.adb: Add lines for V switch.
1818 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
1819 (/VALIDITY_CHECKING).
1821 2001-10-11 Ed Schonberg <schonber@gnat.com>
1823 * sem_type.adb (Add_One_Interp): an operator for a type declared in
1824 an extension of System is known to be visible.
1826 2001-10-11 Ed Schonberg <schonber@gnat.com>
1828 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
1829 properly. Fixes regression on ACATS C34005G.
1831 2001-10-11 Robert Dewar <dewar@gnat.com>
1833 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
1834 loop in generic instance, since this is likely not very useful.
1836 2001-10-11 Robert Dewar <dewar@gnat.com>
1838 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
1839 the error message for high integrity mode.
1841 * rtsfind.adb (RTE): Give message if we try to find an entity that
1842 is not available in high integrity mode.
1845 (OK_To_Use_In_HIE_Mode): New array.
1846 (RTE): May return Empty in high integrity mode.
1848 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
1849 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
1851 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
1852 unit if not inlined always and in no runtime mode. Fixes problem
1853 caused by new Rtsfind changes.
1855 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
1858 * rtsfind.adb (RTE): Make sure we do not try to load unit after
1859 giving message for entity not available in high integrity mode.
1861 2001-10-11 Pascal Obry <obry@gnat.com>
1863 * impunit.adb: Add GNAT.CRC32.
1865 2001-10-11 Ed Schonberg <schonber@gnat.com>
1867 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
1868 properly the case where one universal operand in a non-static
1869 exponentiation of a real literal.
1871 2001-10-11 Ed Schonberg <schonber@gnat.com>
1873 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
1874 clause, return the gobal finalization list, for lack of anthing else.
1876 2001-10-11 Ed Schonberg <schonber@gnat.com>
1878 * exp_ch7.adb (Make_Transient_Block): if statement is within
1879 exception handler, always use new transient scope to place Clean
1882 2001-10-11 Pascal Obry <obry@gnat.com>
1885 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1886 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1887 (GNATLS_RTL_OBJS): add g-crc32.o
1888 (GNATMAKE_RTL_OBJS): add g-crc32.o
1891 (CRC_Match): new function.
1892 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
1893 instead of the previous simple checksum algorithm.
1894 (Time_Stamp_Mismatch): use CRC_Match for comparison.
1895 (Set_Source_Table): idem.
1898 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
1899 instead of simple checksum.
1900 (CRC_Match): new function.
1901 (CRC_Error): new constant.
1903 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
1904 a CRC now and not a simple checksum. A CRC uses lower-case hex
1905 letters, fixes ambiguity in parsing.
1907 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
1908 is what this variable will store.
1910 * bcheck.adb: Change reference to chechsum in comments by CRC.
1911 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
1912 rename All_Checksum_Match to All_CRC_Match. Change due to API
1913 renaming since now GNAT does not use a simple checksum but a
1914 CRC using GNAT.CRC32.
1916 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
1917 now and not anymore a simple checksum.
1919 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
1922 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
1925 (Restore_Scan_State): rename Checksum to CRC.
1926 (Save_Scan_State): idem.
1930 (Checksum): rename to CRC.
1931 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
1933 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
1934 GNAT.CRC32). Update copyright notice.
1936 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
1937 GNAT.CRC32). Update copyright notice.
1940 (Accumulate_Checksum): removed.
1941 (Update): new procedure. Add a wide-character into the CRC.
1944 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
1945 (Load_File): fix initialization of S (change Source_Checksum to
1948 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
1949 Source_CRC in S initialization.
1951 * sinput.adb (Source_Checksum): renamed to Source_CRC.
1953 * sinput.ads (Source_Checksum): renamed to Source_CRC.
1954 Update comments for the CRC.
1956 * types.adb (Hex): Use lowercase for the letter part.
1958 * types.ads (Get_Hex_String): Returns the hexadecimal representation
1959 for a word. This is currently used only for CRC. In previous version,
1960 the checksum was using a representation with all letter being
1961 upper-case. With the new implementation (using CRC) we do not remove
1962 the 32th bit of the CRC, so we can have an upper-case starting letter
1963 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
1964 It is ambigous since the CRC was optional and could be followed by
1965 options like EB, EE. So now this routines uses lower-case letter for
1966 the hexadecimal representation. Strange enough only lower case letters
1967 where checked in Scan_ALI (even if this was not a possible case).
1969 * gnatvsn.ads (Library_Version): changed to 3.15a.
1971 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
1974 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
1977 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
1978 Add 2001 to copyright notice
1979 (Accumulate_Checksum): Modify to use System.CRC32.
1981 * ali-util.ads: Redo changes of previous revision to continue to use
1982 the word Checksum. Add 2001 to copyright notice.
1984 * ali.adb: Undo some of previous changes, not needed.
1985 Keep the change for lower case letters in the checksum.
1987 * ali.ads: Undo previous change not needed.
1989 * bcheck.adb: Undo most of previous change, not needed.
1990 But do use Checksums_Match for checksum comparison.
1992 * gnatls.adb: Undo most of previous change, not needed.
1993 But do use Checksums_Match for comparing checksums.
1995 * lib-load.adb: Undo previous change, not needed.
1997 * lib-writ.adb: Undo previous change, not needed.
1999 * lib-writ.ads: Document that checksums use lower case,
2000 not upper case letters.
2002 * scans.adb: Undo previous change, not needed
2004 * scans.ads: Undo previous change, not needed.
2006 * scn-nlit.adb: Undo previous changes, not needed.
2008 * scn-slit.adb: Undo previous change, not needed. Fix header format.
2011 (Accumulate_Checksum): Use System.CRC32.
2012 (Initialize_Checksum): New procedure.
2013 Remove other changes of previous revision.
2015 * sinput-p.adb: Undo previous change, not needed.
2017 * sinput.adb: Undo previous change, not needed.
2019 * sinput-l.adb: Undo previous change, not needed.
2021 * sinput.ads: Undo previous change, not needed. Keep only comment
2022 on new checksum algorithm
2024 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
2025 Also remove a-tags and a-stream from GNAT sources.
2027 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
2029 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
2031 2001-10-11 Geert Bosch <bosch@gnat.com>
2033 * einfo.h: Regenerate.
2035 * nmake.ads: Regenerate.
2037 * nmake.adb: Regenerate.
2039 * sinfo.h: Regenerate.
2041 * treeprs.adb: Regenerate.
2043 2001-10-10 Geert Bosch <bosch@gnat.com>
2045 * gnat-style.texi: New file describing coding guidelines for Ada.
2047 2001-10-10 Ed Schonberg <schonber@gnat.com>
2049 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
2052 2001-10-10 Geert Bosch <bosch@gnat.com>
2054 * snames.ads: Add new names for project facility.
2056 * snames.adb: Update to reflect snames.ads changes.
2058 * snames.h: Update to reflect snames.ads changes.
2060 2001-10-10 Vincent Celier <celier@gnat.com>
2063 (Add_Switches): reflect the changes for the switches attributes
2064 Default_Switches indexed by the programming language,
2065 Switches indexed by the file name.
2066 (Collect_Arguments_And_Compile): Idem.
2067 Reflect the attribute name changes.
2070 (Initialisation_Data): Change the names of some packages and
2072 (Initialize): process case insensitive associative arrays.
2075 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
2078 (Parse_Attribute_Declaration): For case insensitive associative
2079 arrays, set the index string to lower case.
2082 Reflect the changes of the project attributes.
2085 Replace Check_Naming_Scheme by Ada_Check and
2086 Language_Independent_Check.
2089 Replaced Check_Naming_Scheme by 2 procedures:
2090 Ada_Check and Language_Independent_Check.
2093 (Process_Declarative_Items): For case-insensitive associative
2094 arrays, set the index string to lower case.
2095 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
2096 Prj.Nmsc.Check_Naming_Scheme.
2099 (Case_Insensitive): New function
2100 (Set_Case_Insensitive): New procedure
2103 (Case_Insensitive): New function
2104 (Set_Case_Insensitive): New procedure
2105 (Project_Node_Record): New flag Case_Insensitive.
2108 (Value_Of): new function to get the string value of a single
2109 string variable or attribute.
2112 (Value_Of): new function to get the string value of a single
2113 string variable or attribute.
2116 (Ada_Default_Spec_Suffix): New function
2117 (Ada_Default_Impl_Suffix): New function
2118 Change definitions of several constants to reflect
2119 new components of record types.
2122 (Naming_Data): Change several components to reflect new
2123 elements of naming schemes.
2124 (Project_Data): New flags Sources_Present and
2125 Language_Independent_Checked.
2126 (Ada_Default_Spec_Suffix): New function.
2127 (Ada_Default_Impl_Suffix): New function.
2130 Modification of predefined names for project manager: added
2131 Implementation, Specification_Exceptions, Implementation_Exceptions,
2132 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
2133 Default_Switches, _Languages, Builder, Cross_Reference,
2134 Finder. Removed Body_Part, Specification_Append, Body_Append,
2135 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
2138 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
2141 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
2142 not that it is Nil_Variable_Value.
2144 * prj.ads: Add ??? for uncommented declarations
2146 2001-10-10 Ed Schonberg <schonber@gnat.com>
2148 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
2149 constant, do not indicate possible modification, so that gigi can
2150 treat it as a bona fide constant.
2152 2001-10-10 Robert Dewar <dewar@gnat.com>
2154 * sem_prag.adb: Add processing for pragma External.
2156 * snames.ads: Add entry for pragma External.
2158 * par-prag.adb: Add pragma External.
2160 * snames.adb: Updated to match snames.ads.
2162 2001-10-10 Ed Schonberg <schonber@gnat.com>
2164 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
2165 a dynamic task if the allocator appears in an indexed assignment
2166 or selected component assignment.
2168 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
2169 For a dynamic task in an assignment statement, use target of
2170 assignment to generate meaningful name.
2172 2001-10-10 Ed Schonberg <schonber@gnat.com>
2174 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
2177 * einfo.ads: Body_Entity is also defined for generic package.
2178 Documentation change only
2180 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
2181 others_choice for a discriminated component initialization,
2182 convert discriminant references into the corresponding discriminals.
2184 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
2185 only if original type is private and expression has to be wrapped
2189 (Apply_Constraint_Check): Do not perform length check
2190 if expression is an aggregate with only an others_choice.
2191 (Length_N_Cond): two references to the same in_parameter
2192 (typically the discriminal in an init_proc) denote the same value.
2193 Two useful optimization uncovered by bugfixes above.
2195 2001-10-10 Robert Dewar <dewar@gnat.com>
2197 * xeinfo.adb: Change int to char in translation of enumeration types.
2198 This fixes a problem in the C representation of component alignment.
2199 Add 2001 to copyright notice
2201 2001-10-10 Richard Kenner <kenner@gnat.com>
2203 * decl.c: (validate_size): Do check size of object of integral type
2204 if it is a packed array type.
2206 2001-10-10 Richard Kenner <kenner@gnat.com>
2208 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
2209 VAR_DECL for constant if not Is_Public but -O0.
2211 2001-10-10 Richard Kenner <kenner@gnat.com>
2213 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
2215 2001-10-10 Geert Bosch <bosch@gnat.com>
2217 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
2218 use '/' as switch character, allowing for absolute file names.
2220 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
2222 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
2225 2001-10-08 Geert Bosch <bosch@gnat.com>
2227 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
2228 Automatically build utilities when files need to be regenerated.
2230 2001-10-08 Geert Bosch <bosch@gnat.com>
2232 * xsnames.adb: New utility for updating snames.ads and snames.adb
2234 2001-10-08 Zack Weinberg <zack@codesourcery.com>
2236 * Make-lang.in (ADAFLAGS): Add -W -Wall.
2237 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
2238 (gnat1): Also depend on attribs.o.
2239 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
2240 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
2241 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
2242 (ADAFLAGS): Add -W -Wall.
2243 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
2246 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
2247 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
2248 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
2249 Use $(ADAC), not $(CC), as compilation command.
2251 (gnattools): Depend directly on tools to build, don't use
2253 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
2255 * einfo.h, sinfo.h: New files (autogenerated).
2257 2001-10-08 Richard Henderson <rth@redhat.com>
2259 * comperr.adb (Abort_In_Progress): New.
2260 (Compiler_Abort): Use it to prevent recursion.
2262 2001-10-08 Robert Dewar <dewar@gnat.com>
2264 * atree.adb: Set Error_Posted in Error node, helps error recovery.
2266 * par-endh.adb (Output_End_Expected): We should also not test
2267 Error_Posted on the Error node, since now it is always set.
2269 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
2270 to help error recovery. Part of general work on 9407-004.
2272 * par.adb: Add ??? for misuse of error
2275 (Resolve): Defend against Error, fixes 9407-003.
2276 (Resolve_Discrete_Subtype_Indication): Defend against Error.
2278 * sinfo.ads (N_Error): Now has Etype field (which will be set
2279 to Any_Type to help error recovery).
2281 2001-10-08 Richard Kenner (kenner@gnat.com)
2283 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
2284 Consistently set MEM attributes from expression; fixes
2285 bootstrap failure on x86.
2287 2001-10-08 Geert Bosch (bosch@gnat.com)
2289 * 5oosinte.adb: Add 2001 to copyright notice.
2291 2001-10-08 Geert Bosch (bosch@gnat.com)
2293 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
2295 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
2297 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
2299 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
2301 2001-10-05 Geert Bosch (bosch@gnat.com)
2303 * adaint.h: Small formatting fix.
2305 2001-10-04 Geert Bosch <bosch@gnat.com>
2307 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
2308 Arg is int, not FILE *, in dummy version of functions.
2310 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
2311 Arg is int, not FILE *.
2313 2001-10-04 Geert Bosch <bosch@gnat.com>
2315 * 3lsoccon.ads: Added file, missed with initial check ins.
2317 * 4lintnam.ads: Fix header format.
2318 Change Linux to GNU/Linux.
2320 * 5iosinte.adb: Change Linux to GNU/Linux.
2322 * 5iosinte.ads: Change Linux to GNU/Linux.
2324 * 5itaprop.adb: Change Linux to GNU/Linux.
2326 * 5itaspri.ads: Change Linux to GNU/Linux.
2327 Update copyright notice.
2329 * 5lintman.adb: Change Linux to GNU/Linux.
2331 * 5lml-tgt.adb: Change Linux to GNU/Linux.
2333 * 5losinte.ads: Change Linux to GNU/Linux.
2335 * 5lsystem.ads: Change Linux to GNU/Linux.
2337 * 5qosinte.adb: Change Linux to GNU/Linux.
2339 * 5qosinte.ads: Change Linux to GNU/Linux.
2341 * 5qparame.ads: Change Linux to GNU/Linux.
2343 * 5qtaprop.adb: Change Linux to GNU/Linux.
2345 * 5qtaspri.ads: Change Linux to GNU/Linux.
2346 Add 2001 to copyright notice.
2348 * 5vintman.ads: Change Linux to GNU/Linux.
2349 Fix header format. Add 2001 to copyright notice.
2351 * g-soccon.ads: Change Linux to GNU/Linux.
2353 * g-trasym.ads: Change Linux to GNU/Linux.
2354 Add 2001 to copyright notice.
2356 * memtrack.adb: Change Linux to GNU/Linux.
2358 * s-intman.ads: Change Linux to GNU/Linux.
2359 Add 2001 to copyright notice. Fix header format.
2361 * s-stache.adb: Change Linux to GNU/Linux.
2363 * adaint.c: Change Linux to GNU/Linux.
2365 * cio.c: Change Linux to GNU/Linux.
2367 * cstreams.c: Change Linux to GNU/Linux.
2369 * init.c: Change Linux to GNU/Linux.
2371 * gmem.c: Change Linux to GNU/Linux.
2373 * tracebak.c: Change Linux to GNU/Linux.
2376 2001-10-02 Geert Bosch <bosch@gnat.com>
2378 * misc.c (insert_default_attributes): Add dummy version.