]> gcc.gnu.org Git - gcc.git/blob - gcc/ada/ChangeLog
* g++.dg/template/unify2.C: New test.
[gcc.git] / gcc / ada / ChangeLog
1 2001-10-11 Ed Schonberg <schonber@gnat.com>
2
3 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
4 renaming of discriminant for mutable record type.
5
6 2001-10-11 Robert Dewar <dewar@gnat.com>
7
8 * validsw.adb: Properly save -gnatVn status.
9
10 2001-10-11 Robert Dewar <dewar@gnat.com>
11
12 * usage.adb: Add lines for V switch.
13
14 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
15 (/VALIDITY_CHECKING).
16
17 2001-10-11 Ed Schonberg <schonber@gnat.com>
18
19 * sem_type.adb (Add_One_Interp): an operator for a type declared in
20 an extension of System is known to be visible.
21
22 2001-10-11 Ed Schonberg <schonber@gnat.com>
23
24 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
25 properly. Fixes regression on ACATS C34005G.
26
27 2001-10-11 Robert Dewar <dewar@gnat.com>
28
29 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
30 loop in generic instance, since this is likely not very useful.
31
32 2001-10-11 Robert Dewar <dewar@gnat.com>
33
34 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
35 the error message for high integrity mode.
36
37 * rtsfind.adb (RTE): Give message if we try to find an entity that
38 is not available in high integrity mode.
39
40 * rtsfind.ads:
41 (OK_To_Use_In_HIE_Mode): New array.
42 (RTE): May return Empty in high integrity mode.
43
44 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
45 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
46
47 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
48 unit if not inlined always and in no runtime mode. Fixes problem
49 caused by new Rtsfind changes.
50
51 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
52 body is deleted.
53
54 * rtsfind.adb (RTE): Make sure we do not try to load unit after
55 giving message for entity not available in high integrity mode.
56
57 2001-10-11 Pascal Obry <obry@gnat.com>
58
59 * impunit.adb: Add GNAT.CRC32.
60
61 2001-10-11 Ed Schonberg <schonber@gnat.com>
62
63 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
64 properly the case where one universal operand in a non-static
65 exponentiation of a real literal.
66
67 2001-10-11 Ed Schonberg <schonber@gnat.com>
68
69 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
70 clause, return the gobal finalization list, for lack of anthing else.
71
72 2001-10-11 Ed Schonberg <schonber@gnat.com>
73
74 * exp_ch7.adb (Make_Transient_Block): if statement is within
75 exception handler, always use new transient scope to place Clean
76 procedure.
77
78 2001-10-11 Pascal Obry <obry@gnat.com>
79
80 * Makefile.in:
81 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
82 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
83 (GNATLS_RTL_OBJS): add g-crc32.o
84 (GNATMAKE_RTL_OBJS): add g-crc32.o
85
86 * ali-util.adb:
87 (CRC_Match): new function.
88 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
89 instead of the previous simple checksum algorithm.
90 (Time_Stamp_Mismatch): use CRC_Match for comparison.
91 (Set_Source_Table): idem.
92
93 * ali-util.ads:
94 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
95 instead of simple checksum.
96 (CRC_Match): new function.
97 (CRC_Error): new constant.
98
99 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
100 a CRC now and not a simple checksum. A CRC uses lower-case hex
101 letters, fixes ambiguity in parsing.
102
103 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
104 is what this variable will store.
105
106 * bcheck.adb: Change reference to chechsum in comments by CRC.
107 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
108 rename All_Checksum_Match to All_CRC_Match. Change due to API
109 renaming since now GNAT does not use a simple checksum but a
110 CRC using GNAT.CRC32.
111
112 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
113 now and not anymore a simple checksum.
114
115 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
116 places.
117
118 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
119
120 * scans.adb:
121 (Restore_Scan_State): rename Checksum to CRC.
122 (Save_Scan_State): idem.
123
124 * scans.ads:
125 With GNAT.CRC32.
126 (Checksum): rename to CRC.
127 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
128
129 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
130 GNAT.CRC32). Update copyright notice.
131
132 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
133 GNAT.CRC32). Update copyright notice.
134
135 * scn.adb:
136 (Accumulate_Checksum): removed.
137 (Update): new procedure. Add a wide-character into the CRC.
138
139 * sinput-l.adb:
140 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
141 (Load_File): fix initialization of S (change Source_Checksum to
142 Source_CRC)
143
144 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
145 Source_CRC in S initialization.
146
147 * sinput.adb (Source_Checksum): renamed to Source_CRC.
148
149 * sinput.ads (Source_Checksum): renamed to Source_CRC.
150 Update comments for the CRC.
151
152 * types.adb (Hex): Use lowercase for the letter part.
153
154 * types.ads (Get_Hex_String): Returns the hexadecimal representation
155 for a word. This is currently used only for CRC. In previous version,
156 the checksum was using a representation with all letter being
157 upper-case. With the new implementation (using CRC) we do not remove
158 the 32th bit of the CRC, so we can have an upper-case starting letter
159 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
160 It is ambigous since the CRC was optional and could be followed by
161 options like EB, EE. So now this routines uses lower-case letter for
162 the hexadecimal representation. Strange enough only lower case letters
163 where checked in Scan_ALI (even if this was not a possible case).
164
165 * gnatvsn.ads (Library_Version): changed to 3.15a.
166
167 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
168 for the compiler.
169
170 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
171 for the compiler.
172
173 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
174 Add 2001 to copyright notice
175 (Accumulate_Checksum): Modify to use System.CRC32.
176
177 * ali-util.ads: Redo changes of previous revision to continue to use
178 the word Checksum. Add 2001 to copyright notice.
179
180 * ali.adb: Undo some of previous changes, not needed.
181 Keep the change for lower case letters in the checksum.
182
183 * ali.ads: Undo previous change not needed.
184
185 * bcheck.adb: Undo most of previous change, not needed.
186 But do use Checksums_Match for checksum comparison.
187
188 * gnatls.adb: Undo most of previous change, not needed.
189 But do use Checksums_Match for comparing checksums.
190
191 * lib-load.adb: Undo previous change, not needed.
192
193 * lib-writ.adb: Undo previous change, not needed.
194
195 * lib-writ.ads: Document that checksums use lower case,
196 not upper case letters.
197
198 * scans.adb: Undo previous change, not needed
199
200 * scans.ads: Undo previous change, not needed.
201
202 * scn-nlit.adb: Undo previous changes, not needed.
203
204 * scn-slit.adb: Undo previous change, not needed. Fix header format.
205
206 * scn.adb:
207 (Accumulate_Checksum): Use System.CRC32.
208 (Initialize_Checksum): New procedure.
209 Remove other changes of previous revision.
210
211 * sinput-p.adb: Undo previous change, not needed.
212
213 * sinput.adb: Undo previous change, not needed.
214
215 * sinput-l.adb: Undo previous change, not needed.
216
217 * sinput.ads: Undo previous change, not needed. Keep only comment
218 on new checksum algorithm
219
220 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
221 Also remove a-tags and a-stream from GNAT sources.
222
223 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
224
225 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
226
227 2001-10-11 Geert Bosch <bosch@gnat.com>
228
229 * einfo.h: Regenerate.
230
231 * nmake.ads: Regenerate.
232
233 * nmake.adb: Regenerate.
234
235 * sinfo.h: Regenerate.
236
237 * treeprs.adb: Regenerate.
238
239 2001-10-10 Geert Bosch <bosch@gnat.com>
240
241 * gnat-style.texi: New file describing coding guidelines for Ada.
242
243 2001-10-10 Ed Schonberg <schonber@gnat.com>
244
245 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
246 is Flag174.
247
248 2001-10-10 Geert Bosch <bosch@gnat.com>
249
250 * snames.ads: Add new names for project facility.
251
252 * snames.adb: Update to reflect snames.ads changes.
253
254 * snames.h: Update to reflect snames.ads changes.
255
256 2001-10-10 Vincent Celier <celier@gnat.com>
257
258 * make.adb:
259 (Add_Switches): reflect the changes for the switches attributes
260 Default_Switches indexed by the programming language,
261 Switches indexed by the file name.
262 (Collect_Arguments_And_Compile): Idem.
263 Reflect the attribute name changes.
264
265 * prj-attr.adb:
266 (Initialisation_Data): Change the names of some packages and
267 attributes.
268 (Initialize): process case insensitive associative arrays.
269
270 * prj-attr.ads:
271 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
272
273 * prj-dect.adb:
274 (Parse_Attribute_Declaration): For case insensitive associative
275 arrays, set the index string to lower case.
276
277 * prj-env.adb:
278 Reflect the changes of the project attributes.
279
280 * prj-nmsc.adb:
281 Replace Check_Naming_Scheme by Ada_Check and
282 Language_Independent_Check.
283
284 * prj-nmsc.ads:
285 Replaced Check_Naming_Scheme by 2 procedures:
286 Ada_Check and Language_Independent_Check.
287
288 * prj-proc.adb:
289 (Process_Declarative_Items): For case-insensitive associative
290 arrays, set the index string to lower case.
291 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
292 Prj.Nmsc.Check_Naming_Scheme.
293
294 * prj-tree.adb:
295 (Case_Insensitive): New function
296 (Set_Case_Insensitive): New procedure
297
298 * prj-tree.ads:
299 (Case_Insensitive): New function
300 (Set_Case_Insensitive): New procedure
301 (Project_Node_Record): New flag Case_Insensitive.
302
303 * prj-util.adb:
304 (Value_Of): new function to get the string value of a single
305 string variable or attribute.
306
307 * prj-util.ads:
308 (Value_Of): new function to get the string value of a single
309 string variable or attribute.
310
311 * prj.adb:
312 (Ada_Default_Spec_Suffix): New function
313 (Ada_Default_Impl_Suffix): New function
314 Change definitions of several constants to reflect
315 new components of record types.
316
317 * prj.ads:
318 (Naming_Data): Change several components to reflect new
319 elements of naming schemes.
320 (Project_Data): New flags Sources_Present and
321 Language_Independent_Checked.
322 (Ada_Default_Spec_Suffix): New function.
323 (Ada_Default_Impl_Suffix): New function.
324
325 * snames.ads:
326 Modification of predefined names for project manager: added
327 Implementation, Specification_Exceptions, Implementation_Exceptions,
328 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
329 Default_Switches, _Languages, Builder, Cross_Reference,
330 Finder. Removed Body_Part, Specification_Append, Body_Append,
331 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
332 Gnatlink.
333
334 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
335 Add comments.
336
337 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
338 not that it is Nil_Variable_Value.
339
340 * prj.ads: Add ??? for uncommented declarations
341
342 2001-10-10 Ed Schonberg <schonber@gnat.com>
343
344 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
345 constant, do not indicate possible modification, so that gigi can
346 treat it as a bona fide constant.
347
348 2001-10-10 Robert Dewar <dewar@gnat.com>
349
350 * sem_prag.adb: Add processing for pragma External.
351
352 * snames.ads: Add entry for pragma External.
353
354 * par-prag.adb: Add pragma External.
355
356 * snames.adb: Updated to match snames.ads.
357
358 2001-10-10 Ed Schonberg <schonber@gnat.com>
359
360 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
361 a dynamic task if the allocator appears in an indexed assignment
362 or selected component assignment.
363
364 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
365 For a dynamic task in an assignment statement, use target of
366 assignment to generate meaningful name.
367
368 2001-10-10 Ed Schonberg <schonber@gnat.com>
369
370 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
371 a generic package.
372
373 * einfo.ads: Body_Entity is also defined for generic package.
374 Documentation change only
375
376 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
377 others_choice for a discriminated component initialization,
378 convert discriminant references into the corresponding discriminals.
379
380 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
381 only if original type is private and expression has to be wrapped
382 in a conversion.
383
384 * checks.adb:
385 (Apply_Constraint_Check): Do not perform length check
386 if expression is an aggregate with only an others_choice.
387 (Length_N_Cond): two references to the same in_parameter
388 (typically the discriminal in an init_proc) denote the same value.
389 Two useful optimization uncovered by bugfixes above.
390
391 2001-10-10 Robert Dewar <dewar@gnat.com>
392
393 * xeinfo.adb: Change int to char in translation of enumeration types.
394 This fixes a problem in the C representation of component alignment.
395 Add 2001 to copyright notice
396
397 2001-10-10 Richard Kenner <kenner@gnat.com>
398
399 * decl.c: (validate_size): Do check size of object of integral type
400 if it is a packed array type.
401
402 2001-10-10 Richard Kenner <kenner@gnat.com>
403
404 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
405 VAR_DECL for constant if not Is_Public but -O0.
406
407 2001-10-10 Richard Kenner <kenner@gnat.com>
408
409 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
410
411 2001-10-10 Geert Bosch <bosch@gnat.com>
412
413 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
414 use '/' as switch character, allowing for absolute file names.
415
416 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
417
418 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
419 FSF address.
420
421 2001-10-08 Geert Bosch <bosch@gnat.com>
422
423 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
424 Automatically build utilities when files need to be regenerated.
425
426 2001-10-08 Geert Bosch <bosch@gnat.com>
427
428 * xsnames.adb: New utility for updating snames.ads and snames.adb
429
430 2001-10-08 Zack Weinberg <zack@codesourcery.com>
431
432 * Make-lang.in (ADAFLAGS): Add -W -Wall.
433 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
434 (gnat1): Also depend on attribs.o.
435 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
436 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
437 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
438 (ADAFLAGS): Add -W -Wall.
439 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
440 take out CFLAGS.
441
442 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
443 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
444 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
445 Use $(ADAC), not $(CC), as compilation command.
446
447 (gnattools): Depend directly on tools to build, don't use
448 recursive make.
449 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
450
451 * einfo.h, sinfo.h: New files (autogenerated).
452
453 2001-10-08 Richard Henderson <rth@redhat.com>
454
455 * comperr.adb (Abort_In_Progress): New.
456 (Compiler_Abort): Use it to prevent recursion.
457
458 2001-10-08 Robert Dewar <dewar@gnat.com>
459
460 * atree.adb: Set Error_Posted in Error node, helps error recovery.
461
462 * par-endh.adb (Output_End_Expected): We should also not test
463 Error_Posted on the Error node, since now it is always set.
464
465 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
466 to help error recovery. Part of general work on 9407-004.
467
468 * par.adb: Add ??? for misuse of error
469
470 * sem_res.adb:
471 (Resolve): Defend against Error, fixes 9407-003.
472 (Resolve_Discrete_Subtype_Indication): Defend against Error.
473
474 * sinfo.ads (N_Error): Now has Etype field (which will be set
475 to Any_Type to help error recovery).
476
477 2001-10-08 Richard Kenner (kenner@gnat.com)
478
479 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
480 Consistently set MEM attributes from expression; fixes
481 bootstrap failure on x86.
482
483 2001-10-08 Geert Bosch (bosch@gnat.com)
484
485 * 5oosinte.adb: Add 2001 to copyright notice.
486
487 2001-10-08 Geert Bosch (bosch@gnat.com)
488
489 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
490
491 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
492
493 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
494
495 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
496
497 2001-10-05 Geert Bosch (bosch@gnat.com)
498
499 * adaint.h: Small formatting fix.
500
501 2001-10-04 Geert Bosch <bosch@gnat.com>
502
503 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
504 Arg is int, not FILE *, in dummy version of functions.
505
506 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
507 Arg is int, not FILE *.
508
509 2001-10-04 Geert Bosch <bosch@gnat.com>
510
511 * 3lsoccon.ads: Added file, missed with initial check ins.
512
513 * 4lintnam.ads: Fix header format.
514 Change Linux to GNU/Linux.
515
516 * 5iosinte.adb: Change Linux to GNU/Linux.
517
518 * 5iosinte.ads: Change Linux to GNU/Linux.
519
520 * 5itaprop.adb: Change Linux to GNU/Linux.
521
522 * 5itaspri.ads: Change Linux to GNU/Linux.
523 Update copyright notice.
524
525 * 5lintman.adb: Change Linux to GNU/Linux.
526
527 * 5lml-tgt.adb: Change Linux to GNU/Linux.
528
529 * 5losinte.ads: Change Linux to GNU/Linux.
530
531 * 5lsystem.ads: Change Linux to GNU/Linux.
532
533 * 5qosinte.adb: Change Linux to GNU/Linux.
534
535 * 5qosinte.ads: Change Linux to GNU/Linux.
536
537 * 5qparame.ads: Change Linux to GNU/Linux.
538
539 * 5qtaprop.adb: Change Linux to GNU/Linux.
540
541 * 5qtaspri.ads: Change Linux to GNU/Linux.
542 Add 2001 to copyright notice.
543
544 * 5vintman.ads: Change Linux to GNU/Linux.
545 Fix header format. Add 2001 to copyright notice.
546
547 * g-soccon.ads: Change Linux to GNU/Linux.
548
549 * g-trasym.ads: Change Linux to GNU/Linux.
550 Add 2001 to copyright notice.
551
552 * memtrack.adb: Change Linux to GNU/Linux.
553
554 * s-intman.ads: Change Linux to GNU/Linux.
555 Add 2001 to copyright notice. Fix header format.
556
557 * s-stache.adb: Change Linux to GNU/Linux.
558
559 * adaint.c: Change Linux to GNU/Linux.
560
561 * cio.c: Change Linux to GNU/Linux.
562
563 * cstreams.c: Change Linux to GNU/Linux.
564
565 * init.c: Change Linux to GNU/Linux.
566
567 * gmem.c: Change Linux to GNU/Linux.
568
569 * tracebak.c: Change Linux to GNU/Linux.
570
571
572 2001-10-02 Geert Bosch <bosch@gnat.com>
573
574 * misc.c (insert_default_attributes): Add dummy version.
This page took 0.074585 seconds and 6 git commands to generate.