aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog
blob: 59151ebdb0809452843b9f2a8f401a06c7014208 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
2001-10-11  Pascal Obry <obry@gnat.com>
	
	* impunit.adb: Add GNAT.CRC32.

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle 
	properly the case where one universal operand in a non-static 
	exponentiation of a real literal.

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* exp_ch7.adb (Find_Final_List): for a type appearing in a with_type 
	clause, return the gobal finalization list, for lack of anthing else. 

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* exp_ch7.adb (Make_Transient_Block): if statement is within 
	exception handler, always use new transient scope to place Clean 
	procedure.

2001-10-11  Pascal Obry <obry@gnat.com>

	* Makefile.in:
	(GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
	(GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
	(GNATLS_RTL_OBJS): add g-crc32.o
	(GNATMAKE_RTL_OBJS): add g-crc32.o
	
	* ali-util.adb:
	(CRC_Match): new function.
	(Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit 
	instead of the previous simple checksum algorithm.
	(Time_Stamp_Mismatch): use CRC_Match for comparison.
	(Set_Source_Table): idem.
	
	* ali-util.ads:
	(Get_File_Checksum): renamed Get_File_CRC as now we compute CRC 
	instead of simple checksum.
	(CRC_Match): new function.
	(CRC_Error): new constant.
	
	* ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling 
	a CRC now and not a simple checksum. A CRC uses lower-case hex 
	letters, fixes ambiguity in parsing.
	
	* ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this 
	is what this variable will store.
	
	* bcheck.adb: Change reference to chechsum in comments by CRC.
	(Check_Consistency): Rename Get_File_Checksum to Get_File_CRC. 
	rename All_Checksum_Match to All_CRC_Match. Change due to API 
	renaming since now GNAT does not use a simple checksum but a 
	CRC using GNAT.CRC32.
	
	* gnatls.adb: Rename Checksum to CRC in many places, we use a CRC 
	now and not anymore a simple checksum.
	
	* lib-load.adb: Use Source_CRC instead of Source_Checksum in many 
	places.
	
	* lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
	
	* scans.adb:
	(Restore_Scan_State): rename Checksum to CRC.
	(Save_Scan_State): idem.
	
	* scans.ads:
	With GNAT.CRC32.
	(Checksum): rename to CRC.
	(Saved_Scan_State): Save_Checksum field renamed to Save_CRC
	
	* scn-nlit.adb: Rename many Accumulate_Checksum to Update (from 
	GNAT.CRC32).  Update copyright notice.
	
	* scn-slit.adb: Rename many Accumulate_Checksum to Update (from 
	GNAT.CRC32).  Update copyright notice.
	
	* scn.adb:
	(Accumulate_Checksum): removed.
	(Update): new procedure. Add a wide-character into the CRC.
	
	* sinput-l.adb:
	(Complete_Source_File_Entry): use CRC32 instead of simple checksum.
	(Load_File): fix initialization of S (change Source_Checksum to 
	Source_CRC)
	
	* sinput-p.adb (Load_Project_File): rename Source_Checksum to 
	Source_CRC in S initialization.
	
	* sinput.adb (Source_Checksum): renamed to Source_CRC.
	
	* sinput.ads (Source_Checksum): renamed to Source_CRC.
	Update comments for the CRC.
	
	* types.adb (Hex): Use lowercase for the letter part.
	
	* types.ads (Get_Hex_String): Returns the hexadecimal representation 
	for a word. This is currently used only for CRC. In previous version, 
	the checksum was using a representation with all letter being 
	upper-case. With the new implementation (using CRC) we do not remove 
	the 32th bit of the CRC, so we can have an upper-case starting letter 
	in the CRC. This is not possible to parse in Scan_ALI (ali.adb). 
	It is ambigous since the CRC was optional and could be followed by 
	options like EB, EE. So now this routines uses lower-case letter for 
	the hexadecimal representation. Strange enough only lower case letters 
	where checked in Scan_ALI (even if this was not a possible case).
	
	* gnatvsn.ads (Library_Version): changed to 3.15a.
	
	* s-crc32.ads: Initial version from GNAT.CRC32. This is the version 
	for the compiler.
	
	* s-crc32.adb: Initial version from GNAT.CRC32. This is the version 
	for the compiler.
	
	* ali-util.adb: Redo previous change to avoid using word CRC everywhere
	Add 2001 to copyright notice
	(Accumulate_Checksum): Modify to use System.CRC32.
	
	* ali-util.ads: Redo changes of previous revision to continue to use 
	the word Checksum. Add 2001 to copyright notice.
	
	* ali.adb: Undo some of previous changes, not needed.
	Keep the change for lower case letters in the checksum.
	
	* ali.ads: Undo previous change not needed.

	* bcheck.adb: Undo most of previous change, not needed.
	But do use Checksums_Match for checksum comparison.
	
	* gnatls.adb: Undo most of previous change, not needed.
	But do use Checksums_Match for comparing checksums.
	
	* lib-load.adb: Undo previous change, not needed.
	
	* lib-writ.adb: Undo previous change, not needed.
	
	* lib-writ.ads: Document that checksums use lower case, 
	not upper case letters.
	
	* scans.adb: Undo previous change, not needed
	
	* scans.ads: Undo previous change, not needed.
	
	* scn-nlit.adb: Undo previous changes, not needed.
	
	* scn-slit.adb: Undo previous change, not needed.  Fix header format.
	
	* scn.adb:
	(Accumulate_Checksum): Use System.CRC32.
	(Initialize_Checksum): New procedure.
	Remove other changes of previous revision.
	
	* sinput-p.adb: Undo previous change, not needed.
	
	* sinput.adb: Undo previous change, not needed.

	* sinput-l.adb: Undo previous change, not needed.
	
	* sinput.ads: Undo previous change, not needed.  Keep only comment 
	on new checksum algorithm
	
	* Makefile.in: Add s-crc32 as needed, remove g-crc32.
	Also remove a-tags and a-stream from GNAT sources.
	
	* ali.adb (Scan_ALI): fix typo introduce in latest check-in.
	
	* Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.

2001-10-11  Geert Bosch  <bosch@gnat.com>

	* einfo.h: Regenerate.

	* nmake.ads: Regenerate.

	* nmake.adb: Regenerate.

	* sinfo.h: Regenerate.

	* treeprs.adb: Regenerate.

2001-10-10  Geert Bosch  <bosch@gnat.com>

	* gnat-style.texi: New file describing coding guidelines for Ada.
	
2001-10-10  Ed Schonberg <schonber@gnat.com>

	* einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required 
	is Flag174.

2001-10-10  Geert Bosch  <bosch@gnat.com>

	* snames.ads: Add new names for project facility.

	* snames.adb: Update to reflect snames.ads changes.

	* snames.h: Update to reflect snames.ads changes.

2001-10-10  Vincent Celier <celier@gnat.com>

	* make.adb:
	(Add_Switches): reflect the changes for the switches attributes
	Default_Switches indexed by the programming language,
	Switches indexed by the file name.
	(Collect_Arguments_And_Compile): Idem.
	Reflect the attribute name changes.
	
	* prj-attr.adb:
	(Initialisation_Data): Change the names of some packages and
	attributes.
	(Initialize): process case insensitive associative arrays.
	
	* prj-attr.ads:
	(Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
	
	* prj-dect.adb:
	(Parse_Attribute_Declaration): For case insensitive associative
	 arrays, set the index string to lower case.
	
	* prj-env.adb:
	Reflect the changes of the project attributes.
	
	* prj-nmsc.adb:
	Replace Check_Naming_Scheme by Ada_Check and
	Language_Independent_Check.
	
	* prj-nmsc.ads:
	Replaced Check_Naming_Scheme by 2 procedures:
	Ada_Check and Language_Independent_Check.
	
	* prj-proc.adb:
	(Process_Declarative_Items): For case-insensitive associative
	arrays, set the index string to lower case.
	(Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
	Prj.Nmsc.Check_Naming_Scheme.
	
	* prj-tree.adb:
	(Case_Insensitive): New function
	(Set_Case_Insensitive): New procedure
	
	* prj-tree.ads:
	(Case_Insensitive): New function
	(Set_Case_Insensitive): New procedure
	(Project_Node_Record): New flag Case_Insensitive.
	
	* prj-util.adb:
	(Value_Of): new function to get the string value of a single
	string variable or attribute.
	
	* prj-util.ads:
	(Value_Of): new function to get the string value of a single
	string variable or attribute.
	
	* prj.adb:
	(Ada_Default_Spec_Suffix): New function
	(Ada_Default_Impl_Suffix): New function
	Change definitions of several constants to reflect
	new components of record types.
	
	* prj.ads:
	(Naming_Data): Change several components to reflect new
	elements of naming schemes.
	(Project_Data): New flags Sources_Present and
	Language_Independent_Checked.
	(Ada_Default_Spec_Suffix): New function.
	(Ada_Default_Impl_Suffix): New function.
	
	* snames.ads:
	Modification of predefined names for project manager: added
	Implementation, Specification_Exceptions, Implementation_Exceptions,
	Specification_Suffix, Implementation_Suffix, Separate_Suffix,
	Default_Switches, _Languages, Builder, Cross_Reference,
	Finder. Removed Body_Part, Specification_Append, Body_Append,
	Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
	Gnatlink.
	
	* prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
	Add comments.
	
	* prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
	not that it is Nil_Variable_Value.
	
	* prj.ads: Add ??? for uncommented declarations

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* sem_prag.adb: (Analyze_Pragma, case External): If entity is a 
	constant, do not indicate possible modification, so that gigi can 
	treat it as a bona fide constant.

2001-10-10  Robert Dewar <dewar@gnat.com>

	* sem_prag.adb: Add processing for pragma External.
	
	* snames.ads: Add entry for pragma External.
	
	* par-prag.adb: Add pragma External.
	
	* snames.adb: Updated to match snames.ads.

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
	a dynamic task if the allocator appears in an indexed assignment
	or selected component assignment.
	
	* exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image): 
	For a dynamic task in an assignment statement, use target of 
	assignment to generate meaningful name.

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* einfo.adb (Write_Field19_Name): Body_Entity is also defined for 
	a generic package.

	* einfo.ads: Body_Entity is also defined for generic package.
	Documentation change only
	
	* exp_aggr.adb (Build_Array_Aggr_Code): When expanding an 
	others_choice for a discriminated component initialization, 
	convert discriminant references into the corresponding discriminals. 
	
	* exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate 
	only if original type is private and expression has to be wrapped 
	in a conversion.
	
	* checks.adb: 
	(Apply_Constraint_Check): Do not perform length check 
	if expression is an aggregate with only an others_choice.
	(Length_N_Cond): two references to the same in_parameter 
	(typically the discriminal in an init_proc) denote the same value.
	Two useful optimization uncovered by bugfixes above.

2001-10-10  Robert Dewar <dewar@gnat.com>

	* xeinfo.adb: Change int to char in translation of enumeration types. 
	This fixes a problem in the C representation of component alignment.
	Add 2001 to copyright notice

2001-10-10  Richard Kenner <kenner@gnat.com>

	* decl.c: (validate_size): Do check size of object of integral type 
	if it is a packed array type.

2001-10-10  Richard Kenner <kenner@gnat.com>

	* decl.c: (gnat_to_gnu_entity, case object): Also materialize 
	VAR_DECL for constant if not Is_Public but -O0.

2001-10-10  Richard Kenner  <kenner@gnat.com>

	* misc.c (struct lang_hooks): Add new initializer to match GCC change.

2001-10-10  Geert Bosch  <bosch@gnat.com>

	* xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer 
	use '/' as switch character, allowing for absolute file names.

2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>

	* 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
	FSF address.

2001-10-08  Geert Bosch  <bosch@gnat.com>

	* Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
	Automatically build utilities when files need to be regenerated.

2001-10-08  Geert Bosch  <bosch@gnat.com>

	* xsnames.adb: New utility for updating snames.ads and snames.adb

2001-10-08  Zack Weinberg  <zack@codesourcery.com>

	* Make-lang.in (ADAFLAGS): Add -W -Wall.
	(ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
	(gnat1): Also depend on attribs.o.
	(gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
	* Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
	(ADAC): Set to @ADAC@ in stage1, $(CC) later.
	(ADAFLAGS): Add -W -Wall.
	(ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
	take out CFLAGS.

	(.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
	s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
	s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
	Use $(ADAC), not $(CC), as compilation command.

	(gnattools): Depend directly on tools to build, don't use
	recursive make.
	(gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.

	* einfo.h, sinfo.h: New files (autogenerated).

2001-10-08  Richard Henderson  <rth@redhat.com>

	* comperr.adb (Abort_In_Progress): New.
	(Compiler_Abort): Use it to prevent recursion.

2001-10-08  Robert Dewar <dewar@gnat.com>

	* atree.adb: Set Error_Posted in Error node, helps error recovery.

	* par-endh.adb (Output_End_Expected): We should also not test
	Error_Posted on the Error node, since now it is always set.

	* cstand.adb (Create_Standard): Set Etype of Error to Any_Type
	to help error recovery. Part of general work on 9407-004.

	* par.adb: Add ??? for misuse of error

	* sem_res.adb:
	(Resolve): Defend against Error, fixes 9407-003.
	(Resolve_Discrete_Subtype_Indication): Defend against Error.

	* sinfo.ads (N_Error): Now has Etype field (which will be set
	to Any_Type to help error recovery).

2001-10-08  Richard Kenner (kenner@gnat.com)

	* misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
	Consistently set MEM attributes from expression; fixes
	bootstrap failure on x86.

2001-10-08  Geert Bosch  (bosch@gnat.com)

	* 5oosinte.adb: Add 2001 to copyright notice.

2001-10-08  Geert Bosch  (bosch@gnat.com)

	* ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].

	* csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* 5oosinte.adb: Fix spelling error of "separate" as "seperate".

2001-10-05  Geert Bosch  (bosch@gnat.com)

	* adaint.h: Small formatting fix.

2001-10-04  Geert Bosch  <bosch@gnat.com>

	* sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
	Arg is int, not FILE *, in dummy version of functions.

	* adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
	Arg is int, not FILE *.

2001-10-04  Geert Bosch  <bosch@gnat.com>

	* 3lsoccon.ads: Added file, missed with initial check ins.

	* 4lintnam.ads: Fix header format.
	Change Linux to GNU/Linux.

	* 5iosinte.adb: Change Linux to GNU/Linux.

	* 5iosinte.ads: Change Linux to GNU/Linux.

	* 5itaprop.adb: Change Linux to GNU/Linux.

	* 5itaspri.ads: Change Linux to GNU/Linux.
	Update copyright notice.

	* 5lintman.adb: Change Linux to GNU/Linux.

	* 5lml-tgt.adb: Change Linux to GNU/Linux.

	* 5losinte.ads: Change Linux to GNU/Linux.

	* 5lsystem.ads: Change Linux to GNU/Linux.

	* 5qosinte.adb: Change Linux to GNU/Linux.

	* 5qosinte.ads: Change Linux to GNU/Linux.

	* 5qparame.ads: Change Linux to GNU/Linux.

	* 5qtaprop.adb: Change Linux to GNU/Linux.

	* 5qtaspri.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.

	* 5vintman.ads: Change Linux to GNU/Linux.
	Fix header format.  Add 2001 to copyright notice.

	* g-soccon.ads: Change Linux to GNU/Linux.

	* g-trasym.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.

	* memtrack.adb: Change Linux to GNU/Linux.

	* s-intman.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.  Fix header format.

	* s-stache.adb: Change Linux to GNU/Linux.

	* adaint.c: Change Linux to GNU/Linux.

	* cio.c: Change Linux to GNU/Linux.

	* cstreams.c: Change Linux to GNU/Linux.

	* init.c: Change Linux to GNU/Linux.

	* gmem.c: Change Linux to GNU/Linux.

	* tracebak.c: Change Linux to GNU/Linux.


2001-10-02  Geert Bosch  <bosch@gnat.com>

	* misc.c (insert_default_attributes): Add dummy version.