]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
parse.y (patch_if_else_statement): If the condition is constant, optimize away the...
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
cfac6e9f
PO
12001-10-11 Pascal Obry <obry@gnat.com>
2
3 * Makefile.in:
4 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
5 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
6 (GNATLS_RTL_OBJS): add g-crc32.o
7 (GNATMAKE_RTL_OBJS): add g-crc32.o
8
9 * ali-util.adb:
10 (CRC_Match): new function.
11 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
12 instead of the previous simple checksum algorithm.
13 (Time_Stamp_Mismatch): use CRC_Match for comparison.
14 (Set_Source_Table): idem.
15
16 * ali-util.ads:
17 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
18 instead of simple checksum.
19 (CRC_Match): new function.
20 (CRC_Error): new constant.
21
22 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
23 a CRC now and not a simple checksum. A CRC uses lower-case hex
24 letters, fixes ambiguity in parsing.
25
26 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
27 is what this variable will store.
28
29 * bcheck.adb: Change reference to chechsum in comments by CRC.
30 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
31 rename All_Checksum_Match to All_CRC_Match. Change due to API
32 renaming since now GNAT does not use a simple checksum but a
33 CRC using GNAT.CRC32.
34
35 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
36 now and not anymore a simple checksum.
37
38 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
39 places.
40
41 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
42
43 * scans.adb:
44 (Restore_Scan_State): rename Checksum to CRC.
45 (Save_Scan_State): idem.
46
47 * scans.ads:
48 With GNAT.CRC32.
49 (Checksum): rename to CRC.
50 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
51
52 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
53 GNAT.CRC32). Update copyright notice.
54
55 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
56 GNAT.CRC32). Update copyright notice.
57
58 * scn.adb:
59 (Accumulate_Checksum): removed.
60 (Update): new procedure. Add a wide-character into the CRC.
61
62 * sinput-l.adb:
63 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
64 (Load_File): fix initialization of S (change Source_Checksum to
65 Source_CRC)
66
67 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
68 Source_CRC in S initialization.
69
70 * sinput.adb (Source_Checksum): renamed to Source_CRC.
71
72 * sinput.ads (Source_Checksum): renamed to Source_CRC.
73 Update comments for the CRC.
74
75 * types.adb (Hex): Use lowercase for the letter part.
76
77 * types.ads (Get_Hex_String): Returns the hexadecimal representation
78 for a word. This is currently used only for CRC. In previous version,
79 the checksum was using a representation with all letter being
80 upper-case. With the new implementation (using CRC) we do not remove
81 the 32th bit of the CRC, so we can have an upper-case starting letter
82 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
83 It is ambigous since the CRC was optional and could be followed by
84 options like EB, EE. So now this routines uses lower-case letter for
85 the hexadecimal representation. Strange enough only lower case letters
86 where checked in Scan_ALI (even if this was not a possible case).
87
88 * gnatvsn.ads (Library_Version): changed to 3.15a.
89
90 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
91 for the compiler.
92
93 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
94 for the compiler.
95
96 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
97 Add 2001 to copyright notice
98 (Accumulate_Checksum): Modify to use System.CRC32.
99
100 * ali-util.ads: Redo changes of previous revision to continue to use
101 the word Checksum. Add 2001 to copyright notice.
102
103 * ali.adb: Undo some of previous changes, not needed.
104 Keep the change for lower case letters in the checksum.
105
106 * ali.ads: Undo previous change not needed.
107
108 * bcheck.adb: Undo most of previous change, not needed.
109 But do use Checksums_Match for checksum comparison.
110
111 * gnatls.adb: Undo most of previous change, not needed.
112 But do use Checksums_Match for comparing checksums.
113
114 * lib-load.adb: Undo previous change, not needed.
115
116 * lib-writ.adb: Undo previous change, not needed.
117
118 * lib-writ.ads: Document that checksums use lower case,
119 not upper case letters.
120
121 * scans.adb: Undo previous change, not needed
122
123 * scans.ads: Undo previous change, not needed.
124
125 * scn-nlit.adb: Undo previous changes, not needed.
126
127 * scn-slit.adb: Undo previous change, not needed. Fix header format.
128
129 * scn.adb:
130 (Accumulate_Checksum): Use System.CRC32.
131 (Initialize_Checksum): New procedure.
132 Remove other changes of previous revision.
133
134 * sinput-p.adb: Undo previous change, not needed.
135
136 * sinput.adb: Undo previous change, not needed.
137
138 * sinput-l.adb: Undo previous change, not needed.
139
140 * sinput.ads: Undo previous change, not needed. Keep only comment
141 on new checksum algorithm
142
143 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
144 Also remove a-tags and a-stream from GNAT sources.
145
146 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
147
148 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
149
4d6d06a5
GB
1502001-10-11 Geert Bosch <bosch@gnat.com>
151
152 * einfo.h: Regenerate.
153
154 * nmake.ads: Regenerate.
155
156 * nmake.adb: Regenerate.
157
158 * sinfo.h: Regenerate.
159
160 * treeprs.adb: Regenerate.
161
c97412e2
GB
1622001-10-10 Geert Bosch <bosch@gnat.com>
163
164 * gnat-style.texi: New file describing coding guidelines for Ada.
165
b83018ca
ES
1662001-10-10 Ed Schonberg <schonber@gnat.com>
167
168 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
169 is Flag174.
170
e834fe1f
GB
1712001-10-10 Geert Bosch <bosch@gnat.com>
172
173 * snames.ads: Add new names for project facility.
174
175 * snames.adb: Update to reflect snames.ads changes.
176
177 * snames.h: Update to reflect snames.ads changes.
178
b30668b7
VC
1792001-10-10 Vincent Celier <celier@gnat.com>
180
181 * make.adb:
182 (Add_Switches): reflect the changes for the switches attributes
183 Default_Switches indexed by the programming language,
184 Switches indexed by the file name.
185 (Collect_Arguments_And_Compile): Idem.
186 Reflect the attribute name changes.
187
188 * prj-attr.adb:
189 (Initialisation_Data): Change the names of some packages and
190 attributes.
191 (Initialize): process case insensitive associative arrays.
192
193 * prj-attr.ads:
194 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
195
196 * prj-dect.adb:
197 (Parse_Attribute_Declaration): For case insensitive associative
198 arrays, set the index string to lower case.
199
200 * prj-env.adb:
201 Reflect the changes of the project attributes.
202
203 * prj-nmsc.adb:
204 Replace Check_Naming_Scheme by Ada_Check and
205 Language_Independent_Check.
206
207 * prj-nmsc.ads:
208 Replaced Check_Naming_Scheme by 2 procedures:
209 Ada_Check and Language_Independent_Check.
210
211 * prj-proc.adb:
212 (Process_Declarative_Items): For case-insensitive associative
213 arrays, set the index string to lower case.
214 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
215 Prj.Nmsc.Check_Naming_Scheme.
216
217 * prj-tree.adb:
218 (Case_Insensitive): New function
219 (Set_Case_Insensitive): New procedure
220
221 * prj-tree.ads:
222 (Case_Insensitive): New function
223 (Set_Case_Insensitive): New procedure
224 (Project_Node_Record): New flag Case_Insensitive.
225
226 * prj-util.adb:
227 (Value_Of): new function to get the string value of a single
228 string variable or attribute.
229
230 * prj-util.ads:
231 (Value_Of): new function to get the string value of a single
232 string variable or attribute.
233
234 * prj.adb:
235 (Ada_Default_Spec_Suffix): New function
236 (Ada_Default_Impl_Suffix): New function
237 Change definitions of several constants to reflect
238 new components of record types.
239
240 * prj.ads:
241 (Naming_Data): Change several components to reflect new
242 elements of naming schemes.
243 (Project_Data): New flags Sources_Present and
244 Language_Independent_Checked.
245 (Ada_Default_Spec_Suffix): New function.
246 (Ada_Default_Impl_Suffix): New function.
247
248 * snames.ads:
249 Modification of predefined names for project manager: added
250 Implementation, Specification_Exceptions, Implementation_Exceptions,
251 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
252 Default_Switches, _Languages, Builder, Cross_Reference,
253 Finder. Removed Body_Part, Specification_Append, Body_Append,
254 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
255 Gnatlink.
256
257 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
258 Add comments.
259
260 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
261 not that it is Nil_Variable_Value.
262
263 * prj.ads: Add ??? for uncommented declarations
264
662e57b4
ES
2652001-10-10 Ed Schonberg <schonber@gnat.com>
266
267 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
268 constant, do not indicate possible modification, so that gigi can
269 treat it as a bona fide constant.
270
72e4357f
RD
2712001-10-10 Robert Dewar <dewar@gnat.com>
272
273 * sem_prag.adb: Add processing for pragma External.
274
275 * snames.ads: Add entry for pragma External.
276
277 * par-prag.adb: Add pragma External.
278
279 * snames.adb: Updated to match snames.ads.
280
7bc1c7df
ES
2812001-10-10 Ed Schonberg <schonber@gnat.com>
282
283 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
284 a dynamic task if the allocator appears in an indexed assignment
285 or selected component assignment.
286
287 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
288 For a dynamic task in an assignment statement, use target of
289 assignment to generate meaningful name.
290
c84700e7
ES
2912001-10-10 Ed Schonberg <schonber@gnat.com>
292
293 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
294 a generic package.
295
296 * einfo.ads: Body_Entity is also defined for generic package.
297 Documentation change only
298
299 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
300 others_choice for a discriminated component initialization,
301 convert discriminant references into the corresponding discriminals.
302
303 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
304 only if original type is private and expression has to be wrapped
305 in a conversion.
306
307 * checks.adb:
308 (Apply_Constraint_Check): Do not perform length check
309 if expression is an aggregate with only an others_choice.
310 (Length_N_Cond): two references to the same in_parameter
311 (typically the discriminal in an init_proc) denote the same value.
312 Two useful optimization uncovered by bugfixes above.
313
d8d80dcd
RD
3142001-10-10 Robert Dewar <dewar@gnat.com>
315
316 * xeinfo.adb: Change int to char in translation of enumeration types.
317 This fixes a problem in the C representation of component alignment.
318 Add 2001 to copyright notice
319
a8fee948
RK
3202001-10-10 Richard Kenner <kenner@gnat.com>
321
322 * decl.c: (validate_size): Do check size of object of integral type
323 if it is a packed array type.
324
c2d7fe59
RK
3252001-10-10 Richard Kenner <kenner@gnat.com>
326
327 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
328 VAR_DECL for constant if not Is_Public but -O0.
329
fb75e100
RK
3302001-10-10 Richard Kenner <kenner@gnat.com>
331
332 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
333
1724557a
GB
3342001-10-10 Geert Bosch <bosch@gnat.com>
335
336 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
337 use '/' as switch character, allowing for absolute file names.
338
9f2f9eb6
JM
3392001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
340
341 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
342 FSF address.
343
8fecf41d
GB
3442001-10-08 Geert Bosch <bosch@gnat.com>
345
346 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
347 Automatically build utilities when files need to be regenerated.
348
589f1edf
GB
3492001-10-08 Geert Bosch <bosch@gnat.com>
350
351 * xsnames.adb: New utility for updating snames.ads and snames.adb
352
67f28219
ZW
3532001-10-08 Zack Weinberg <zack@codesourcery.com>
354
355 * Make-lang.in (ADAFLAGS): Add -W -Wall.
356 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
357 (gnat1): Also depend on attribs.o.
358 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
359 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
360 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
361 (ADAFLAGS): Add -W -Wall.
362 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
363 take out CFLAGS.
364
365 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
366 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
367 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
368 Use $(ADAC), not $(CC), as compilation command.
369
370 (gnattools): Depend directly on tools to build, don't use
371 recursive make.
372 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
373
374 * einfo.h, sinfo.h: New files (autogenerated).
375
295ef2bb
RH
3762001-10-08 Richard Henderson <rth@redhat.com>
377
378 * comperr.adb (Abort_In_Progress): New.
379 (Compiler_Abort): Use it to prevent recursion.
380
5c736541
RD
3812001-10-08 Robert Dewar <dewar@gnat.com>
382
383 * atree.adb: Set Error_Posted in Error node, helps error recovery.
67f28219
ZW
384
385 * par-endh.adb (Output_End_Expected): We should also not test
5c736541 386 Error_Posted on the Error node, since now it is always set.
67f28219
ZW
387
388 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
5c736541 389 to help error recovery. Part of general work on 9407-004.
67f28219 390
5c736541 391 * par.adb: Add ??? for misuse of error
67f28219 392
5c736541
RD
393 * sem_res.adb:
394 (Resolve): Defend against Error, fixes 9407-003.
395 (Resolve_Discrete_Subtype_Indication): Defend against Error.
67f28219
ZW
396
397 * sinfo.ads (N_Error): Now has Etype field (which will be set
5c736541
RD
398 to Any_Type to help error recovery).
399
a153ae15
RK
4002001-10-08 Richard Kenner (kenner@gnat.com)
401
402 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
403 Consistently set MEM attributes from expression; fixes
404 bootstrap failure on x86.
405
743f3c7b
GB
4062001-10-08 Geert Bosch (bosch@gnat.com)
407
408 * 5oosinte.adb: Add 2001 to copyright notice.
409
210c4ef4
GB
4102001-10-08 Geert Bosch (bosch@gnat.com)
411
412 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
413
414 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
415
cc712abf
JM
4162001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
417
418 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
419
4c4abc0f
GB
4202001-10-05 Geert Bosch (bosch@gnat.com)
421
422 * adaint.h: Small formatting fix.
423
7f50e2e3
GB
4242001-10-04 Geert Bosch <bosch@gnat.com>
425
426 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
427 Arg is int, not FILE *, in dummy version of functions.
67f28219 428
7f50e2e3
GB
429 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
430 Arg is int, not FILE *.
431
5d1a9698
GB
4322001-10-04 Geert Bosch <bosch@gnat.com>
433
434 * 3lsoccon.ads: Added file, missed with initial check ins.
67f28219 435
5d1a9698
GB
436 * 4lintnam.ads: Fix header format.
437 Change Linux to GNU/Linux.
67f28219 438
5d1a9698
GB
439 * 5iosinte.adb: Change Linux to GNU/Linux.
440
441 * 5iosinte.ads: Change Linux to GNU/Linux.
67f28219 442
5d1a9698 443 * 5itaprop.adb: Change Linux to GNU/Linux.
67f28219 444
5d1a9698
GB
445 * 5itaspri.ads: Change Linux to GNU/Linux.
446 Update copyright notice.
67f28219 447
5d1a9698 448 * 5lintman.adb: Change Linux to GNU/Linux.
67f28219 449
5d1a9698 450 * 5lml-tgt.adb: Change Linux to GNU/Linux.
67f28219 451
5d1a9698 452 * 5losinte.ads: Change Linux to GNU/Linux.
67f28219 453
5d1a9698 454 * 5lsystem.ads: Change Linux to GNU/Linux.
67f28219 455
5d1a9698 456 * 5qosinte.adb: Change Linux to GNU/Linux.
67f28219 457
5d1a9698 458 * 5qosinte.ads: Change Linux to GNU/Linux.
67f28219 459
5d1a9698 460 * 5qparame.ads: Change Linux to GNU/Linux.
67f28219 461
5d1a9698 462 * 5qtaprop.adb: Change Linux to GNU/Linux.
67f28219 463
5d1a9698
GB
464 * 5qtaspri.ads: Change Linux to GNU/Linux.
465 Add 2001 to copyright notice.
67f28219 466
5d1a9698
GB
467 * 5vintman.ads: Change Linux to GNU/Linux.
468 Fix header format. Add 2001 to copyright notice.
67f28219 469
5d1a9698 470 * g-soccon.ads: Change Linux to GNU/Linux.
67f28219 471
5d1a9698
GB
472 * g-trasym.ads: Change Linux to GNU/Linux.
473 Add 2001 to copyright notice.
67f28219 474
5d1a9698 475 * memtrack.adb: Change Linux to GNU/Linux.
67f28219 476
5d1a9698
GB
477 * s-intman.ads: Change Linux to GNU/Linux.
478 Add 2001 to copyright notice. Fix header format.
67f28219 479
5d1a9698 480 * s-stache.adb: Change Linux to GNU/Linux.
67f28219 481
5d1a9698 482 * adaint.c: Change Linux to GNU/Linux.
67f28219 483
5d1a9698 484 * cio.c: Change Linux to GNU/Linux.
67f28219 485
5d1a9698 486 * cstreams.c: Change Linux to GNU/Linux.
67f28219 487
5d1a9698 488 * init.c: Change Linux to GNU/Linux.
67f28219 489
5d1a9698 490 * gmem.c: Change Linux to GNU/Linux.
67f28219 491
5d1a9698
GB
492 * tracebak.c: Change Linux to GNU/Linux.
493
494
c25ca2d7
GB
4952001-10-02 Geert Bosch <bosch@gnat.com>
496
497 * misc.c (insert_default_attributes): Add dummy version.